blob: 62d34ddebb23f86ce7ae3381e66541be1666ae87 [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 {
2059 "name" : "FabricIngress.forwarding.set_next_id_acl",
Charles Chancf696e52018-08-16 16:25:13 -07002060 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002061 "runtime_data" : [
2062 {
2063 "name" : "next_id",
2064 "bitwidth" : 32
2065 }
2066 ],
2067 "primitives" : [
2068 {
2069 "op" : "assign",
2070 "parameters" : [
2071 {
2072 "type" : "field",
2073 "value" : ["scalars", "fabric_metadata_t.next_id"]
2074 },
2075 {
2076 "type" : "runtime_data",
2077 "value" : 0
2078 }
2079 ],
2080 "source_info" : {
2081 "filename" : "include/control/forwarding.p4",
2082 "line" : 105,
2083 "column" : 8,
2084 "source_fragment" : "fabric_metadata.next_id = next_id"
2085 }
2086 }
2087 ]
2088 },
2089 {
2090 "name" : "FabricIngress.forwarding.punt_to_cpu",
Charles Chancf696e52018-08-16 16:25:13 -07002091 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002092 "runtime_data" : [],
2093 "primitives" : [
2094 {
2095 "op" : "assign",
2096 "parameters" : [
2097 {
2098 "type" : "field",
2099 "value" : ["standard_metadata", "egress_spec"]
2100 },
2101 {
2102 "type" : "hexstr",
2103 "value" : "0x00ff"
2104 }
2105 ],
2106 "source_info" : {
2107 "filename" : "include/control/forwarding.p4",
2108 "line" : 111,
2109 "column" : 8,
2110 "source_fragment" : "standard_metadata.egress_spec = 255"
2111 }
2112 },
2113 {
2114 "op" : "exit",
2115 "parameters" : [],
2116 "source_info" : {
2117 "filename" : "include/control/forwarding.p4",
2118 "line" : 113,
2119 "column" : 8,
2120 "source_fragment" : "exit"
2121 }
2122 }
2123 ]
2124 },
2125 {
2126 "name" : "FabricIngress.forwarding.clone_to_cpu",
Charles Chancf696e52018-08-16 16:25:13 -07002127 "id" : 21,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002128 "runtime_data" : [],
2129 "primitives" : [
2130 {
2131 "op" : "assign",
2132 "parameters" : [
2133 {
2134 "type" : "field",
2135 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2136 },
2137 {
2138 "type" : "expression",
2139 "value" : {
2140 "type" : "expression",
2141 "value" : {
2142 "op" : "b2d",
2143 "left" : null,
2144 "right" : {
2145 "type" : "bool",
2146 "value" : true
2147 }
2148 }
2149 }
2150 }
2151 ],
2152 "source_info" : {
2153 "filename" : "include/control/forwarding.p4",
2154 "line" : 118,
2155 "column" : 8,
2156 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2157 }
2158 }
2159 ]
2160 },
2161 {
2162 "name" : "FabricIngress.forwarding.drop",
Charles Chancf696e52018-08-16 16:25:13 -07002163 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002164 "runtime_data" : [],
2165 "primitives" : [
2166 {
2167 "op" : "drop",
2168 "parameters" : [],
2169 "source_info" : {
2170 "filename" : "include/control/forwarding.p4",
2171 "line" : 123,
2172 "column" : 8,
2173 "source_fragment" : "mark_to_drop()"
2174 }
2175 }
2176 ]
2177 },
2178 {
Charles Chancf696e52018-08-16 16:25:13 -07002179 "name" : "FabricIngress.forwarding.nop_acl",
2180 "id" : 23,
2181 "runtime_data" : [],
2182 "primitives" : []
2183 },
2184 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002185 "name" : "FabricIngress.next.set_vlan",
2186 "id" : 24,
2187 "runtime_data" : [
2188 {
2189 "name" : "new_vlan_id",
2190 "bitwidth" : 12
2191 }
2192 ],
2193 "primitives" : [
2194 {
2195 "op" : "assign",
2196 "parameters" : [
2197 {
2198 "type" : "field",
2199 "value" : ["vlan_tag", "vlan_id"]
2200 },
2201 {
2202 "type" : "runtime_data",
2203 "value" : 0
2204 }
2205 ],
2206 "source_info" : {
2207 "filename" : "include/control/next.p4",
2208 "line" : 61,
2209 "column" : 8,
2210 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2211 }
2212 }
2213 ]
2214 },
2215 {
2216 "name" : "FabricIngress.next.output_simple",
2217 "id" : 25,
2218 "runtime_data" : [
2219 {
2220 "name" : "port_num",
2221 "bitwidth" : 9
2222 }
2223 ],
2224 "primitives" : [
2225 {
2226 "op" : "assign",
2227 "parameters" : [
2228 {
2229 "type" : "field",
2230 "value" : ["standard_metadata", "egress_spec"]
2231 },
2232 {
2233 "type" : "runtime_data",
2234 "value" : 0
2235 }
2236 ],
2237 "source_info" : {
2238 "filename" : "include/control/next.p4",
2239 "line" : 85,
2240 "column" : 8,
2241 "source_fragment" : "standard_metadata.egress_spec = port_num"
2242 }
2243 }
2244 ]
2245 },
2246 {
2247 "name" : "FabricIngress.next.set_vlan_output",
2248 "id" : 26,
2249 "runtime_data" : [
2250 {
2251 "name" : "new_vlan_id",
2252 "bitwidth" : 12
2253 },
2254 {
2255 "name" : "port_num",
2256 "bitwidth" : 9
2257 }
2258 ],
2259 "primitives" : [
2260 {
2261 "op" : "assign",
2262 "parameters" : [
2263 {
2264 "type" : "field",
2265 "value" : ["vlan_tag", "vlan_id"]
2266 },
2267 {
2268 "type" : "runtime_data",
2269 "value" : 0
2270 }
2271 ],
2272 "source_info" : {
2273 "filename" : "include/control/next.p4",
2274 "line" : 90,
2275 "column" : 8,
2276 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2277 }
2278 },
2279 {
2280 "op" : "assign",
2281 "parameters" : [
2282 {
2283 "type" : "field",
2284 "value" : ["standard_metadata", "egress_spec"]
2285 },
2286 {
2287 "type" : "runtime_data",
2288 "value" : 1
2289 }
2290 ],
2291 "source_info" : {
2292 "filename" : "include/control/next.p4",
2293 "line" : 85,
2294 "column" : 8,
2295 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2296 }
2297 }
2298 ]
2299 },
2300 {
2301 "name" : "FabricIngress.next.l3_routing_simple",
2302 "id" : 27,
2303 "runtime_data" : [
2304 {
2305 "name" : "port_num",
2306 "bitwidth" : 9
2307 },
2308 {
2309 "name" : "smac",
2310 "bitwidth" : 48
2311 },
2312 {
2313 "name" : "dmac",
2314 "bitwidth" : 48
2315 }
2316 ],
2317 "primitives" : [
2318 {
2319 "op" : "assign",
2320 "parameters" : [
2321 {
2322 "type" : "field",
2323 "value" : ["ethernet", "src_addr"]
2324 },
2325 {
2326 "type" : "runtime_data",
2327 "value" : 1
2328 }
2329 ],
2330 "source_info" : {
2331 "filename" : "include/control/next.p4",
2332 "line" : 37,
2333 "column" : 8,
2334 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2335 }
2336 },
2337 {
2338 "op" : "assign",
2339 "parameters" : [
2340 {
2341 "type" : "field",
2342 "value" : ["ethernet", "dst_addr"]
2343 },
2344 {
2345 "type" : "runtime_data",
2346 "value" : 2
2347 }
2348 ],
2349 "source_info" : {
2350 "filename" : "include/control/next.p4",
2351 "line" : 41,
2352 "column" : 8,
2353 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2354 }
2355 },
2356 {
2357 "op" : "assign",
2358 "parameters" : [
2359 {
2360 "type" : "field",
2361 "value" : ["standard_metadata", "egress_spec"]
2362 },
2363 {
2364 "type" : "runtime_data",
2365 "value" : 0
2366 }
2367 ],
2368 "source_info" : {
2369 "filename" : "include/control/next.p4",
2370 "line" : 85,
2371 "column" : 8,
2372 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2373 }
2374 }
2375 ]
2376 },
2377 {
2378 "name" : "FabricIngress.next.mpls_routing_v4_simple",
2379 "id" : 28,
2380 "runtime_data" : [
2381 {
2382 "name" : "port_num",
2383 "bitwidth" : 9
2384 },
2385 {
2386 "name" : "smac",
2387 "bitwidth" : 48
2388 },
2389 {
2390 "name" : "dmac",
2391 "bitwidth" : 48
2392 },
2393 {
2394 "name" : "label",
2395 "bitwidth" : 20
2396 }
2397 ],
2398 "primitives" : [
2399 {
2400 "op" : "assign",
2401 "parameters" : [
2402 {
2403 "type" : "field",
2404 "value" : ["ethernet", "src_addr"]
2405 },
2406 {
2407 "type" : "runtime_data",
2408 "value" : 1
2409 }
2410 ],
2411 "source_info" : {
2412 "filename" : "include/control/next.p4",
2413 "line" : 37,
2414 "column" : 8,
2415 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2416 }
2417 },
2418 {
2419 "op" : "assign",
2420 "parameters" : [
2421 {
2422 "type" : "field",
2423 "value" : ["ethernet", "dst_addr"]
2424 },
2425 {
2426 "type" : "runtime_data",
2427 "value" : 2
2428 }
2429 ],
2430 "source_info" : {
2431 "filename" : "include/control/next.p4",
2432 "line" : 41,
2433 "column" : 8,
2434 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2435 }
2436 },
2437 {
2438 "op" : "assign",
2439 "parameters" : [
2440 {
2441 "type" : "field",
2442 "value" : ["standard_metadata", "egress_spec"]
2443 },
2444 {
2445 "type" : "runtime_data",
2446 "value" : 0
2447 }
2448 ],
2449 "source_info" : {
2450 "filename" : "include/control/next.p4",
2451 "line" : 85,
2452 "column" : 8,
2453 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2454 }
2455 },
2456 {
2457 "op" : "add_header",
2458 "parameters" : [
2459 {
2460 "type" : "header",
2461 "value" : "mpls"
2462 }
2463 ],
2464 "source_info" : {
2465 "filename" : "include/control/next.p4",
2466 "line" : 46,
2467 "column" : 8,
2468 "source_fragment" : "hdr.mpls.setValid()"
2469 }
2470 },
2471 {
2472 "op" : "assign",
2473 "parameters" : [
2474 {
2475 "type" : "field",
2476 "value" : ["vlan_tag", "ether_type"]
2477 },
2478 {
2479 "type" : "hexstr",
2480 "value" : "0x8847"
2481 }
2482 ],
2483 "source_info" : {
2484 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002485 "line" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002486 "column" : 31,
2487 "source_fragment" : "0x8847; ..."
2488 }
2489 },
2490 {
2491 "op" : "assign",
2492 "parameters" : [
2493 {
2494 "type" : "field",
2495 "value" : ["mpls", "label"]
2496 },
2497 {
2498 "type" : "runtime_data",
2499 "value" : 3
2500 }
2501 ],
2502 "source_info" : {
2503 "filename" : "include/control/next.p4",
2504 "line" : 48,
2505 "column" : 8,
2506 "source_fragment" : "hdr.mpls.label = label; ..."
2507 }
2508 },
2509 {
2510 "op" : "assign",
2511 "parameters" : [
2512 {
2513 "type" : "field",
2514 "value" : ["mpls", "tc"]
2515 },
2516 {
2517 "type" : "hexstr",
2518 "value" : "0x00"
2519 }
2520 ],
2521 "source_info" : {
2522 "filename" : "include/control/next.p4",
2523 "line" : 49,
2524 "column" : 8,
2525 "source_fragment" : "hdr.mpls.tc = tc; ..."
2526 }
2527 },
2528 {
2529 "op" : "assign",
2530 "parameters" : [
2531 {
2532 "type" : "field",
2533 "value" : ["mpls", "bos"]
2534 },
2535 {
2536 "type" : "hexstr",
2537 "value" : "0x01"
2538 }
2539 ],
2540 "source_info" : {
2541 "filename" : "include/control/next.p4",
2542 "line" : 50,
2543 "column" : 8,
2544 "source_fragment" : "hdr.mpls.bos = 1w1"
2545 }
2546 },
2547 {
2548 "op" : "assign",
2549 "parameters" : [
2550 {
2551 "type" : "field",
2552 "value" : ["mpls", "ttl"]
2553 },
2554 {
2555 "type" : "hexstr",
2556 "value" : "0x40"
2557 }
2558 ],
2559 "source_info" : {
2560 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002561 "line" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002562 "column" : 32,
2563 "source_fragment" : "64; ..."
2564 }
2565 }
2566 ]
2567 },
2568 {
2569 "name" : "FabricIngress.next.mpls_routing_v6_simple",
2570 "id" : 29,
2571 "runtime_data" : [
2572 {
2573 "name" : "port_num",
2574 "bitwidth" : 9
2575 },
2576 {
2577 "name" : "smac",
2578 "bitwidth" : 48
2579 },
2580 {
2581 "name" : "dmac",
2582 "bitwidth" : 48
2583 },
2584 {
2585 "name" : "label",
2586 "bitwidth" : 20
2587 }
2588 ],
2589 "primitives" : [
2590 {
2591 "op" : "assign",
2592 "parameters" : [
2593 {
2594 "type" : "field",
2595 "value" : ["ethernet", "src_addr"]
2596 },
2597 {
2598 "type" : "runtime_data",
2599 "value" : 1
2600 }
2601 ],
2602 "source_info" : {
2603 "filename" : "include/control/next.p4",
2604 "line" : 37,
2605 "column" : 8,
2606 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2607 }
2608 },
2609 {
2610 "op" : "assign",
2611 "parameters" : [
2612 {
2613 "type" : "field",
2614 "value" : ["ethernet", "dst_addr"]
2615 },
2616 {
2617 "type" : "runtime_data",
2618 "value" : 2
2619 }
2620 ],
2621 "source_info" : {
2622 "filename" : "include/control/next.p4",
2623 "line" : 41,
2624 "column" : 8,
2625 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2626 }
2627 },
2628 {
2629 "op" : "assign",
2630 "parameters" : [
2631 {
2632 "type" : "field",
2633 "value" : ["standard_metadata", "egress_spec"]
2634 },
2635 {
2636 "type" : "runtime_data",
2637 "value" : 0
2638 }
2639 ],
2640 "source_info" : {
2641 "filename" : "include/control/next.p4",
2642 "line" : 85,
2643 "column" : 8,
2644 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2645 }
2646 },
2647 {
2648 "op" : "add_header",
2649 "parameters" : [
2650 {
2651 "type" : "header",
2652 "value" : "mpls"
2653 }
2654 ],
2655 "source_info" : {
2656 "filename" : "include/control/next.p4",
2657 "line" : 46,
2658 "column" : 8,
2659 "source_fragment" : "hdr.mpls.setValid()"
2660 }
2661 },
2662 {
2663 "op" : "assign",
2664 "parameters" : [
2665 {
2666 "type" : "field",
2667 "value" : ["vlan_tag", "ether_type"]
2668 },
2669 {
2670 "type" : "hexstr",
2671 "value" : "0x8847"
2672 }
2673 ],
2674 "source_info" : {
2675 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002676 "line" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002677 "column" : 31,
2678 "source_fragment" : "0x8847; ..."
2679 }
2680 },
2681 {
2682 "op" : "assign",
2683 "parameters" : [
2684 {
2685 "type" : "field",
2686 "value" : ["mpls", "label"]
2687 },
2688 {
2689 "type" : "runtime_data",
2690 "value" : 3
2691 }
2692 ],
2693 "source_info" : {
2694 "filename" : "include/control/next.p4",
2695 "line" : 48,
2696 "column" : 8,
2697 "source_fragment" : "hdr.mpls.label = label; ..."
2698 }
2699 },
2700 {
2701 "op" : "assign",
2702 "parameters" : [
2703 {
2704 "type" : "field",
2705 "value" : ["mpls", "tc"]
2706 },
2707 {
2708 "type" : "hexstr",
2709 "value" : "0x00"
2710 }
2711 ],
2712 "source_info" : {
2713 "filename" : "include/control/next.p4",
2714 "line" : 49,
2715 "column" : 8,
2716 "source_fragment" : "hdr.mpls.tc = tc; ..."
2717 }
2718 },
2719 {
2720 "op" : "assign",
2721 "parameters" : [
2722 {
2723 "type" : "field",
2724 "value" : ["mpls", "bos"]
2725 },
2726 {
2727 "type" : "hexstr",
2728 "value" : "0x01"
2729 }
2730 ],
2731 "source_info" : {
2732 "filename" : "include/control/next.p4",
2733 "line" : 50,
2734 "column" : 8,
2735 "source_fragment" : "hdr.mpls.bos = 1w1"
2736 }
2737 },
2738 {
2739 "op" : "assign",
2740 "parameters" : [
2741 {
2742 "type" : "field",
2743 "value" : ["mpls", "ttl"]
2744 },
2745 {
2746 "type" : "hexstr",
2747 "value" : "0x40"
2748 }
2749 ],
2750 "source_info" : {
2751 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002752 "line" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002753 "column" : 32,
2754 "source_fragment" : "64; ..."
2755 }
2756 }
2757 ]
2758 },
2759 {
2760 "name" : "FabricIngress.next.l3_routing_vlan",
2761 "id" : 30,
2762 "runtime_data" : [
2763 {
2764 "name" : "port_num",
2765 "bitwidth" : 9
2766 },
2767 {
2768 "name" : "smac",
2769 "bitwidth" : 48
2770 },
2771 {
2772 "name" : "dmac",
2773 "bitwidth" : 48
2774 },
2775 {
2776 "name" : "new_vlan_id",
2777 "bitwidth" : 12
2778 }
2779 ],
2780 "primitives" : [
2781 {
2782 "op" : "assign",
2783 "parameters" : [
2784 {
2785 "type" : "field",
2786 "value" : ["ethernet", "src_addr"]
2787 },
2788 {
2789 "type" : "runtime_data",
2790 "value" : 1
2791 }
2792 ],
2793 "source_info" : {
2794 "filename" : "include/control/next.p4",
2795 "line" : 37,
2796 "column" : 8,
2797 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2798 }
2799 },
2800 {
2801 "op" : "assign",
2802 "parameters" : [
2803 {
2804 "type" : "field",
2805 "value" : ["ethernet", "dst_addr"]
2806 },
2807 {
2808 "type" : "runtime_data",
2809 "value" : 2
2810 }
2811 ],
2812 "source_info" : {
2813 "filename" : "include/control/next.p4",
2814 "line" : 41,
2815 "column" : 8,
2816 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2817 }
2818 },
2819 {
2820 "op" : "assign",
2821 "parameters" : [
2822 {
2823 "type" : "field",
2824 "value" : ["vlan_tag", "vlan_id"]
2825 },
2826 {
2827 "type" : "runtime_data",
2828 "value" : 3
2829 }
2830 ],
2831 "source_info" : {
2832 "filename" : "include/control/next.p4",
2833 "line" : 90,
2834 "column" : 8,
2835 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
2836 }
2837 },
2838 {
2839 "op" : "assign",
2840 "parameters" : [
2841 {
2842 "type" : "field",
2843 "value" : ["standard_metadata", "egress_spec"]
2844 },
2845 {
2846 "type" : "runtime_data",
2847 "value" : 0
2848 }
2849 ],
2850 "source_info" : {
2851 "filename" : "include/control/next.p4",
2852 "line" : 85,
2853 "column" : 8,
2854 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2855 }
2856 }
2857 ]
2858 },
2859 {
2860 "name" : "FabricIngress.next.l3_routing_hashed",
2861 "id" : 31,
2862 "runtime_data" : [
2863 {
2864 "name" : "port_num",
2865 "bitwidth" : 9
2866 },
2867 {
2868 "name" : "smac",
2869 "bitwidth" : 48
2870 },
2871 {
2872 "name" : "dmac",
2873 "bitwidth" : 48
2874 }
2875 ],
2876 "primitives" : [
2877 {
2878 "op" : "assign",
2879 "parameters" : [
2880 {
2881 "type" : "field",
2882 "value" : ["ethernet", "src_addr"]
2883 },
2884 {
2885 "type" : "runtime_data",
2886 "value" : 1
2887 }
2888 ],
2889 "source_info" : {
2890 "filename" : "include/control/next.p4",
2891 "line" : 37,
2892 "column" : 8,
2893 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2894 }
2895 },
2896 {
2897 "op" : "assign",
2898 "parameters" : [
2899 {
2900 "type" : "field",
2901 "value" : ["ethernet", "dst_addr"]
2902 },
2903 {
2904 "type" : "runtime_data",
2905 "value" : 2
2906 }
2907 ],
2908 "source_info" : {
2909 "filename" : "include/control/next.p4",
2910 "line" : 41,
2911 "column" : 8,
2912 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2913 }
2914 },
2915 {
2916 "op" : "assign",
2917 "parameters" : [
2918 {
2919 "type" : "field",
2920 "value" : ["standard_metadata", "egress_spec"]
2921 },
2922 {
2923 "type" : "runtime_data",
2924 "value" : 0
2925 }
2926 ],
2927 "source_info" : {
2928 "filename" : "include/control/next.p4",
2929 "line" : 149,
2930 "column" : 8,
2931 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2932 }
2933 }
2934 ]
2935 },
2936 {
2937 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
2938 "id" : 32,
2939 "runtime_data" : [
2940 {
2941 "name" : "port_num",
2942 "bitwidth" : 9
2943 },
2944 {
2945 "name" : "smac",
2946 "bitwidth" : 48
2947 },
2948 {
2949 "name" : "dmac",
2950 "bitwidth" : 48
2951 },
2952 {
2953 "name" : "label",
2954 "bitwidth" : 20
2955 }
2956 ],
2957 "primitives" : [
2958 {
2959 "op" : "assign",
2960 "parameters" : [
2961 {
2962 "type" : "field",
2963 "value" : ["ethernet", "src_addr"]
2964 },
2965 {
2966 "type" : "runtime_data",
2967 "value" : 1
2968 }
2969 ],
2970 "source_info" : {
2971 "filename" : "include/control/next.p4",
2972 "line" : 37,
2973 "column" : 8,
2974 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2975 }
2976 },
2977 {
2978 "op" : "assign",
2979 "parameters" : [
2980 {
2981 "type" : "field",
2982 "value" : ["ethernet", "dst_addr"]
2983 },
2984 {
2985 "type" : "runtime_data",
2986 "value" : 2
2987 }
2988 ],
2989 "source_info" : {
2990 "filename" : "include/control/next.p4",
2991 "line" : 41,
2992 "column" : 8,
2993 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2994 }
2995 },
2996 {
2997 "op" : "assign",
2998 "parameters" : [
2999 {
3000 "type" : "field",
3001 "value" : ["standard_metadata", "egress_spec"]
3002 },
3003 {
3004 "type" : "runtime_data",
3005 "value" : 0
3006 }
3007 ],
3008 "source_info" : {
3009 "filename" : "include/control/next.p4",
3010 "line" : 149,
3011 "column" : 8,
3012 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3013 }
3014 },
3015 {
3016 "op" : "add_header",
3017 "parameters" : [
3018 {
3019 "type" : "header",
3020 "value" : "mpls"
3021 }
3022 ],
3023 "source_info" : {
3024 "filename" : "include/control/next.p4",
3025 "line" : 46,
3026 "column" : 8,
3027 "source_fragment" : "hdr.mpls.setValid()"
3028 }
3029 },
3030 {
3031 "op" : "assign",
3032 "parameters" : [
3033 {
3034 "type" : "field",
3035 "value" : ["vlan_tag", "ether_type"]
3036 },
3037 {
3038 "type" : "hexstr",
3039 "value" : "0x8847"
3040 }
3041 ],
3042 "source_info" : {
3043 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003044 "line" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003045 "column" : 31,
3046 "source_fragment" : "0x8847; ..."
3047 }
3048 },
3049 {
3050 "op" : "assign",
3051 "parameters" : [
3052 {
3053 "type" : "field",
3054 "value" : ["mpls", "label"]
3055 },
3056 {
3057 "type" : "runtime_data",
3058 "value" : 3
3059 }
3060 ],
3061 "source_info" : {
3062 "filename" : "include/control/next.p4",
3063 "line" : 48,
3064 "column" : 8,
3065 "source_fragment" : "hdr.mpls.label = label; ..."
3066 }
3067 },
3068 {
3069 "op" : "assign",
3070 "parameters" : [
3071 {
3072 "type" : "field",
3073 "value" : ["mpls", "tc"]
3074 },
3075 {
3076 "type" : "hexstr",
3077 "value" : "0x00"
3078 }
3079 ],
3080 "source_info" : {
3081 "filename" : "include/control/next.p4",
3082 "line" : 49,
3083 "column" : 8,
3084 "source_fragment" : "hdr.mpls.tc = tc; ..."
3085 }
3086 },
3087 {
3088 "op" : "assign",
3089 "parameters" : [
3090 {
3091 "type" : "field",
3092 "value" : ["mpls", "bos"]
3093 },
3094 {
3095 "type" : "hexstr",
3096 "value" : "0x01"
3097 }
3098 ],
3099 "source_info" : {
3100 "filename" : "include/control/next.p4",
3101 "line" : 50,
3102 "column" : 8,
3103 "source_fragment" : "hdr.mpls.bos = 1w1"
3104 }
3105 },
3106 {
3107 "op" : "assign",
3108 "parameters" : [
3109 {
3110 "type" : "field",
3111 "value" : ["mpls", "ttl"]
3112 },
3113 {
3114 "type" : "hexstr",
3115 "value" : "0x40"
3116 }
3117 ],
3118 "source_info" : {
3119 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003120 "line" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003121 "column" : 32,
3122 "source_fragment" : "64; ..."
3123 }
3124 }
3125 ]
3126 },
3127 {
3128 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
3129 "id" : 33,
3130 "runtime_data" : [
3131 {
3132 "name" : "port_num",
3133 "bitwidth" : 9
3134 },
3135 {
3136 "name" : "smac",
3137 "bitwidth" : 48
3138 },
3139 {
3140 "name" : "dmac",
3141 "bitwidth" : 48
3142 },
3143 {
3144 "name" : "label",
3145 "bitwidth" : 20
3146 }
3147 ],
3148 "primitives" : [
3149 {
3150 "op" : "assign",
3151 "parameters" : [
3152 {
3153 "type" : "field",
3154 "value" : ["ethernet", "src_addr"]
3155 },
3156 {
3157 "type" : "runtime_data",
3158 "value" : 1
3159 }
3160 ],
3161 "source_info" : {
3162 "filename" : "include/control/next.p4",
3163 "line" : 37,
3164 "column" : 8,
3165 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3166 }
3167 },
3168 {
3169 "op" : "assign",
3170 "parameters" : [
3171 {
3172 "type" : "field",
3173 "value" : ["ethernet", "dst_addr"]
3174 },
3175 {
3176 "type" : "runtime_data",
3177 "value" : 2
3178 }
3179 ],
3180 "source_info" : {
3181 "filename" : "include/control/next.p4",
3182 "line" : 41,
3183 "column" : 8,
3184 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3185 }
3186 },
3187 {
3188 "op" : "assign",
3189 "parameters" : [
3190 {
3191 "type" : "field",
3192 "value" : ["standard_metadata", "egress_spec"]
3193 },
3194 {
3195 "type" : "runtime_data",
3196 "value" : 0
3197 }
3198 ],
3199 "source_info" : {
3200 "filename" : "include/control/next.p4",
3201 "line" : 149,
3202 "column" : 8,
3203 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3204 }
3205 },
3206 {
3207 "op" : "add_header",
3208 "parameters" : [
3209 {
3210 "type" : "header",
3211 "value" : "mpls"
3212 }
3213 ],
3214 "source_info" : {
3215 "filename" : "include/control/next.p4",
3216 "line" : 46,
3217 "column" : 8,
3218 "source_fragment" : "hdr.mpls.setValid()"
3219 }
3220 },
3221 {
3222 "op" : "assign",
3223 "parameters" : [
3224 {
3225 "type" : "field",
3226 "value" : ["vlan_tag", "ether_type"]
3227 },
3228 {
3229 "type" : "hexstr",
3230 "value" : "0x8847"
3231 }
3232 ],
3233 "source_info" : {
3234 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003235 "line" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003236 "column" : 31,
3237 "source_fragment" : "0x8847; ..."
3238 }
3239 },
3240 {
3241 "op" : "assign",
3242 "parameters" : [
3243 {
3244 "type" : "field",
3245 "value" : ["mpls", "label"]
3246 },
3247 {
3248 "type" : "runtime_data",
3249 "value" : 3
3250 }
3251 ],
3252 "source_info" : {
3253 "filename" : "include/control/next.p4",
3254 "line" : 48,
3255 "column" : 8,
3256 "source_fragment" : "hdr.mpls.label = label; ..."
3257 }
3258 },
3259 {
3260 "op" : "assign",
3261 "parameters" : [
3262 {
3263 "type" : "field",
3264 "value" : ["mpls", "tc"]
3265 },
3266 {
3267 "type" : "hexstr",
3268 "value" : "0x00"
3269 }
3270 ],
3271 "source_info" : {
3272 "filename" : "include/control/next.p4",
3273 "line" : 49,
3274 "column" : 8,
3275 "source_fragment" : "hdr.mpls.tc = tc; ..."
3276 }
3277 },
3278 {
3279 "op" : "assign",
3280 "parameters" : [
3281 {
3282 "type" : "field",
3283 "value" : ["mpls", "bos"]
3284 },
3285 {
3286 "type" : "hexstr",
3287 "value" : "0x01"
3288 }
3289 ],
3290 "source_info" : {
3291 "filename" : "include/control/next.p4",
3292 "line" : 50,
3293 "column" : 8,
3294 "source_fragment" : "hdr.mpls.bos = 1w1"
3295 }
3296 },
3297 {
3298 "op" : "assign",
3299 "parameters" : [
3300 {
3301 "type" : "field",
3302 "value" : ["mpls", "ttl"]
3303 },
3304 {
3305 "type" : "hexstr",
3306 "value" : "0x40"
3307 }
3308 ],
3309 "source_info" : {
3310 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003311 "line" : 113,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003312 "column" : 32,
3313 "source_fragment" : "64; ..."
3314 }
3315 }
3316 ]
3317 },
3318 {
3319 "name" : "FabricIngress.next.set_mcast_group",
3320 "id" : 34,
3321 "runtime_data" : [
3322 {
3323 "name" : "gid",
3324 "bitwidth" : 16
3325 }
3326 ],
3327 "primitives" : [
3328 {
3329 "op" : "assign",
3330 "parameters" : [
3331 {
3332 "type" : "field",
3333 "value" : ["standard_metadata", "mcast_grp"]
3334 },
3335 {
3336 "type" : "runtime_data",
3337 "value" : 0
3338 }
3339 ],
3340 "source_info" : {
3341 "filename" : "include/control/next.p4",
3342 "line" : 202,
3343 "column" : 8,
3344 "source_fragment" : "standard_metadata.mcast_grp = gid"
3345 }
3346 },
3347 {
3348 "op" : "assign",
3349 "parameters" : [
3350 {
3351 "type" : "field",
3352 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
3353 },
3354 {
3355 "type" : "expression",
3356 "value" : {
3357 "type" : "expression",
3358 "value" : {
3359 "op" : "b2d",
3360 "left" : null,
3361 "right" : {
3362 "type" : "bool",
3363 "value" : true
3364 }
3365 }
3366 }
3367 }
3368 ],
3369 "source_info" : {
3370 "filename" : "include/control/next.p4",
3371 "line" : 203,
3372 "column" : 8,
3373 "source_fragment" : "fabric_metadata.is_multicast = true"
3374 }
3375 }
3376 ]
3377 },
3378 {
3379 "name" : "act",
3380 "id" : 35,
3381 "runtime_data" : [],
3382 "primitives" : [
3383 {
3384 "op" : "assign",
3385 "parameters" : [
3386 {
3387 "type" : "field",
3388 "value" : ["standard_metadata", "egress_spec"]
3389 },
3390 {
3391 "type" : "field",
3392 "value" : ["packet_out", "egress_port"]
3393 }
3394 ],
3395 "source_info" : {
3396 "filename" : "include/control/packetio.p4",
3397 "line" : 26,
3398 "column" : 12,
3399 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
3400 }
3401 },
3402 {
3403 "op" : "remove_header",
3404 "parameters" : [
3405 {
3406 "type" : "header",
3407 "value" : "packet_out"
3408 }
3409 ],
3410 "source_info" : {
3411 "filename" : "include/control/packetio.p4",
3412 "line" : 27,
3413 "column" : 12,
3414 "source_fragment" : "hdr.packet_out.setInvalid()"
3415 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07003416 },
3417 {
3418 "op" : "assign",
3419 "parameters" : [
3420 {
3421 "type" : "field",
3422 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
3423 },
3424 {
3425 "type" : "expression",
3426 "value" : {
3427 "type" : "expression",
3428 "value" : {
3429 "op" : "b2d",
3430 "left" : null,
3431 "right" : {
3432 "type" : "bool",
3433 "value" : true
3434 }
3435 }
3436 }
3437 }
3438 ],
3439 "source_info" : {
3440 "filename" : "include/control/packetio.p4",
3441 "line" : 28,
3442 "column" : 12,
3443 "source_fragment" : "fabric_metadata.is_controller_packet_out = true"
3444 }
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003445 }
3446 ]
3447 },
3448 {
3449 "name" : "act_0",
3450 "id" : 36,
3451 "runtime_data" : [],
3452 "primitives" : [
3453 {
3454 "op" : "assign",
3455 "parameters" : [
3456 {
3457 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003458 "value" : ["scalars", "filtering_tmp_0"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003459 },
3460 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003461 "type" : "expression",
3462 "value" : {
3463 "type" : "expression",
3464 "value" : {
3465 "op" : "b2d",
3466 "left" : null,
3467 "right" : {
3468 "type" : "bool",
3469 "value" : true
3470 }
3471 }
3472 }
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003473 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003474 ]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003475 }
3476 ]
3477 },
3478 {
3479 "name" : "act_1",
3480 "id" : 37,
3481 "runtime_data" : [],
3482 "primitives" : [
3483 {
3484 "op" : "assign",
3485 "parameters" : [
3486 {
3487 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003488 "value" : ["scalars", "filtering_tmp_0"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003489 },
3490 {
3491 "type" : "expression",
3492 "value" : {
3493 "type" : "expression",
3494 "value" : {
3495 "op" : "b2d",
3496 "left" : null,
3497 "right" : {
3498 "type" : "bool",
3499 "value" : false
3500 }
3501 }
3502 }
3503 }
3504 ]
3505 }
3506 ]
3507 },
3508 {
3509 "name" : "act_2",
3510 "id" : 38,
3511 "runtime_data" : [],
3512 "primitives" : [
3513 {
3514 "op" : "assign",
3515 "parameters" : [
3516 {
3517 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003518 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003519 },
3520 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003521 "type" : "hexstr",
3522 "value" : "0x07"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003523 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003524 ],
3525 "source_info" : {
3526 "filename" : "include/control/../define.p4",
3527 "line" : 109,
3528 "column" : 31,
3529 "source_fragment" : "7; ..."
3530 }
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003531 }
3532 ]
3533 },
3534 {
3535 "name" : "act_3",
3536 "id" : 39,
3537 "runtime_data" : [],
3538 "primitives" : [
3539 {
3540 "op" : "assign",
3541 "parameters" : [
3542 {
3543 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003544 "value" : ["vlan_tag", "ether_type"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003545 },
3546 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003547 "type" : "hexstr",
3548 "value" : "0x0800"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003549 }
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003550 ],
3551 "source_info" : {
3552 "filename" : "include/control/../define.p4",
3553 "line" : 92,
3554 "column" : 31,
3555 "source_fragment" : "0x0800; ..."
3556 }
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003557 }
3558 ]
3559 },
3560 {
3561 "name" : "act_4",
3562 "id" : 40,
3563 "runtime_data" : [],
3564 "primitives" : [
3565 {
3566 "op" : "assign",
3567 "parameters" : [
3568 {
3569 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003570 "value" : ["scalars", "next_hasReturned_0"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003571 },
3572 {
3573 "type" : "expression",
3574 "value" : {
3575 "type" : "expression",
3576 "value" : {
3577 "op" : "b2d",
3578 "left" : null,
3579 "right" : {
3580 "type" : "bool",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003581 "value" : false
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003582 }
3583 }
3584 }
3585 }
3586 ]
3587 }
3588 ]
3589 },
3590 {
3591 "name" : "act_5",
3592 "id" : 41,
3593 "runtime_data" : [],
3594 "primitives" : [
3595 {
3596 "op" : "assign",
3597 "parameters" : [
3598 {
3599 "type" : "field",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003600 "value" : ["scalars", "next_tmp_4"]
3601 },
3602 {
3603 "type" : "expression",
3604 "value" : {
3605 "type" : "expression",
3606 "value" : {
3607 "op" : "b2d",
3608 "left" : null,
3609 "right" : {
3610 "type" : "bool",
3611 "value" : true
3612 }
3613 }
3614 }
3615 }
3616 ]
3617 }
3618 ]
3619 },
3620 {
3621 "name" : "act_6",
3622 "id" : 42,
3623 "runtime_data" : [],
3624 "primitives" : [
3625 {
3626 "op" : "assign",
3627 "parameters" : [
3628 {
3629 "type" : "field",
3630 "value" : ["scalars", "next_tmp_4"]
3631 },
3632 {
3633 "type" : "expression",
3634 "value" : {
3635 "type" : "expression",
3636 "value" : {
3637 "op" : "b2d",
3638 "left" : null,
3639 "right" : {
3640 "type" : "bool",
3641 "value" : false
3642 }
3643 }
3644 }
3645 }
3646 ]
3647 }
3648 ]
3649 },
3650 {
3651 "name" : "act_7",
3652 "id" : 43,
3653 "runtime_data" : [],
3654 "primitives" : [
3655 {
3656 "op" : "assign",
3657 "parameters" : [
3658 {
3659 "type" : "field",
3660 "value" : ["scalars", "next_tmp_3"]
3661 },
3662 {
3663 "type" : "expression",
3664 "value" : {
3665 "type" : "expression",
3666 "value" : {
3667 "op" : "b2d",
3668 "left" : null,
3669 "right" : {
3670 "type" : "bool",
3671 "value" : true
3672 }
3673 }
3674 }
3675 }
3676 ]
3677 }
3678 ]
3679 },
3680 {
3681 "name" : "act_8",
3682 "id" : 44,
3683 "runtime_data" : [],
3684 "primitives" : [
3685 {
3686 "op" : "assign",
3687 "parameters" : [
3688 {
3689 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003690 "value" : ["scalars", "next_tmp_3"]
3691 },
3692 {
3693 "type" : "expression",
3694 "value" : {
3695 "type" : "expression",
3696 "value" : {
3697 "op" : "b2d",
3698 "left" : null,
3699 "right" : {
3700 "type" : "bool",
3701 "value" : false
3702 }
3703 }
3704 }
3705 }
3706 ]
3707 }
3708 ]
3709 },
3710 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003711 "name" : "act_9",
3712 "id" : 45,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003713 "runtime_data" : [],
3714 "primitives" : [
3715 {
3716 "op" : "assign",
3717 "parameters" : [
3718 {
3719 "type" : "field",
3720 "value" : ["scalars", "next_tmp_2"]
3721 },
3722 {
3723 "type" : "expression",
3724 "value" : {
3725 "type" : "expression",
3726 "value" : {
3727 "op" : "b2d",
3728 "left" : null,
3729 "right" : {
3730 "type" : "bool",
3731 "value" : true
3732 }
3733 }
3734 }
3735 }
3736 ]
3737 }
3738 ]
3739 },
3740 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003741 "name" : "act_10",
3742 "id" : 46,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003743 "runtime_data" : [],
3744 "primitives" : [
3745 {
3746 "op" : "assign",
3747 "parameters" : [
3748 {
3749 "type" : "field",
3750 "value" : ["scalars", "next_tmp_2"]
3751 },
3752 {
3753 "type" : "expression",
3754 "value" : {
3755 "type" : "expression",
3756 "value" : {
3757 "op" : "b2d",
3758 "left" : null,
3759 "right" : {
3760 "type" : "bool",
3761 "value" : false
3762 }
3763 }
3764 }
3765 }
3766 ]
3767 }
3768 ]
3769 },
3770 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003771 "name" : "act_11",
3772 "id" : 47,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003773 "runtime_data" : [],
3774 "primitives" : [
3775 {
3776 "op" : "assign",
3777 "parameters" : [
3778 {
3779 "type" : "field",
3780 "value" : ["scalars", "next_hasReturned_0"]
3781 },
3782 {
3783 "type" : "expression",
3784 "value" : {
3785 "type" : "expression",
3786 "value" : {
3787 "op" : "b2d",
3788 "left" : null,
3789 "right" : {
3790 "type" : "bool",
3791 "value" : true
3792 }
3793 }
3794 }
3795 }
3796 ],
3797 "source_info" : {
3798 "filename" : "include/control/next.p4",
3799 "line" : 223,
3800 "column" : 20,
3801 "source_fragment" : "return"
3802 }
3803 }
3804 ]
3805 },
3806 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003807 "name" : "act_12",
3808 "id" : 48,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003809 "runtime_data" : [],
3810 "primitives" : [
3811 {
3812 "op" : "assign",
3813 "parameters" : [
3814 {
3815 "type" : "field",
3816 "value" : ["ipv4", "ttl"]
3817 },
3818 {
3819 "type" : "expression",
3820 "value" : {
3821 "type" : "expression",
3822 "value" : {
3823 "op" : "&",
3824 "left" : {
3825 "type" : "expression",
3826 "value" : {
3827 "op" : "+",
3828 "left" : {
3829 "type" : "field",
3830 "value" : ["ipv4", "ttl"]
3831 },
3832 "right" : {
3833 "type" : "hexstr",
3834 "value" : "0xff"
3835 }
3836 }
3837 },
3838 "right" : {
3839 "type" : "hexstr",
3840 "value" : "0xff"
3841 }
3842 }
3843 }
3844 }
3845 ],
3846 "source_info" : {
3847 "filename" : "include/control/next.p4",
3848 "line" : 230,
3849 "column" : 16,
3850 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
3851 }
3852 }
3853 ]
3854 },
3855 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003856 "name" : "act_13",
3857 "id" : 49,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003858 "runtime_data" : [],
3859 "primitives" : [
3860 {
3861 "op" : "assign",
3862 "parameters" : [
3863 {
3864 "type" : "field",
3865 "value" : ["scalars", "tmp_3"]
3866 },
3867 {
3868 "type" : "expression",
3869 "value" : {
3870 "type" : "expression",
3871 "value" : {
3872 "op" : "&",
3873 "left" : {
3874 "type" : "field",
3875 "value" : ["standard_metadata", "egress_spec"]
3876 },
3877 "right" : {
3878 "type" : "hexstr",
3879 "value" : "0xffffffff"
3880 }
3881 }
3882 }
3883 }
3884 ],
3885 "source_info" : {
3886 "filename" : "include/control/port_counter.p4",
3887 "line" : 28,
3888 "column" : 38,
3889 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
3890 }
3891 },
3892 {
3893 "op" : "count",
3894 "parameters" : [
3895 {
3896 "type" : "counter_array",
3897 "value" : "FabricIngress.port_counters_control.egress_port_counter"
3898 },
3899 {
3900 "type" : "field",
3901 "value" : ["scalars", "tmp_3"]
3902 }
3903 ],
3904 "source_info" : {
3905 "filename" : "include/control/port_counter.p4",
3906 "line" : 28,
3907 "column" : 12,
3908 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
3909 }
3910 }
3911 ]
3912 },
3913 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003914 "name" : "act_14",
3915 "id" : 50,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003916 "runtime_data" : [],
3917 "primitives" : [
3918 {
3919 "op" : "assign",
3920 "parameters" : [
3921 {
3922 "type" : "field",
3923 "value" : ["scalars", "tmp_4"]
3924 },
3925 {
3926 "type" : "expression",
3927 "value" : {
3928 "type" : "expression",
3929 "value" : {
3930 "op" : "&",
3931 "left" : {
3932 "type" : "field",
3933 "value" : ["standard_metadata", "ingress_port"]
3934 },
3935 "right" : {
3936 "type" : "hexstr",
3937 "value" : "0xffffffff"
3938 }
3939 }
3940 }
3941 }
3942 ],
3943 "source_info" : {
3944 "filename" : "include/control/port_counter.p4",
3945 "line" : 31,
3946 "column" : 39,
3947 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
3948 }
3949 },
3950 {
3951 "op" : "count",
3952 "parameters" : [
3953 {
3954 "type" : "counter_array",
3955 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
3956 },
3957 {
3958 "type" : "field",
3959 "value" : ["scalars", "tmp_4"]
3960 }
3961 ],
3962 "source_info" : {
3963 "filename" : "include/control/port_counter.p4",
3964 "line" : 31,
3965 "column" : 12,
3966 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
3967 }
3968 }
3969 ]
3970 },
3971 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07003972 "name" : "act_15",
3973 "id" : 51,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003974 "runtime_data" : [],
3975 "primitives" : [
3976 {
3977 "op" : "clone_ingress_pkt_to_egress",
3978 "parameters" : [
3979 {
3980 "type" : "hexstr",
3981 "value" : "0x000001f4"
3982 },
3983 {
3984 "type" : "hexstr",
3985 "value" : "0x1"
3986 }
3987 ]
3988 }
3989 ]
3990 },
3991 {
3992 "name" : "NoAction",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003993 "id" : 52,
3994 "runtime_data" : [],
3995 "primitives" : []
3996 },
3997 {
3998 "name" : "NoAction",
3999 "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 {
4022 "name" : "nop",
4023 "id" : 57,
4024 "runtime_data" : [],
4025 "primitives" : []
4026 },
4027 {
4028 "name" : "drop_now",
4029 "id" : 58,
4030 "runtime_data" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004031 "primitives" : [
4032 {
4033 "op" : "drop",
4034 "parameters" : [],
4035 "source_info" : {
4036 "filename" : "include/control/../action.p4",
4037 "line" : 24,
4038 "column" : 4,
4039 "source_fragment" : "mark_to_drop()"
4040 }
4041 },
4042 {
4043 "op" : "exit",
4044 "parameters" : [],
4045 "source_info" : {
4046 "filename" : "include/control/../action.p4",
4047 "line" : 25,
4048 "column" : 4,
4049 "source_fragment" : "exit"
4050 }
4051 }
4052 ]
4053 },
4054 {
4055 "name" : "drop_now",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004056 "id" : 59,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004057 "runtime_data" : [],
4058 "primitives" : [
4059 {
4060 "op" : "drop",
4061 "parameters" : [],
4062 "source_info" : {
4063 "filename" : "include/control/../action.p4",
4064 "line" : 24,
4065 "column" : 4,
4066 "source_fragment" : "mark_to_drop()"
4067 }
4068 },
4069 {
4070 "op" : "exit",
4071 "parameters" : [],
4072 "source_info" : {
4073 "filename" : "include/control/../action.p4",
4074 "line" : 25,
4075 "column" : 4,
4076 "source_fragment" : "exit"
4077 }
4078 }
4079 ]
4080 },
4081 {
4082 "name" : "FabricEgress.process_int_source.int_source_dscp",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004083 "id" : 60,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004084 "runtime_data" : [
4085 {
4086 "name" : "max_hop",
4087 "bitwidth" : 8
4088 },
4089 {
4090 "name" : "ins_cnt",
4091 "bitwidth" : 5
4092 },
4093 {
4094 "name" : "ins_mask0003",
4095 "bitwidth" : 4
4096 },
4097 {
4098 "name" : "ins_mask0407",
4099 "bitwidth" : 4
4100 }
4101 ],
4102 "primitives" : [
4103 {
4104 "op" : "add_header",
4105 "parameters" : [
4106 {
4107 "type" : "header",
4108 "value" : "intl4_shim"
4109 }
4110 ],
4111 "source_info" : {
4112 "filename" : "include/int_source.p4",
4113 "line" : 31,
4114 "column" : 8,
4115 "source_fragment" : "hdr.intl4_shim.setValid()"
4116 }
4117 },
4118 {
4119 "op" : "assign",
4120 "parameters" : [
4121 {
4122 "type" : "field",
4123 "value" : ["intl4_shim", "int_type"]
4124 },
4125 {
4126 "type" : "hexstr",
4127 "value" : "0x01"
4128 }
4129 ],
4130 "source_info" : {
4131 "filename" : "include/int_source.p4",
4132 "line" : 33,
4133 "column" : 8,
4134 "source_fragment" : "hdr.intl4_shim.int_type = 1"
4135 }
4136 },
4137 {
4138 "op" : "assign",
4139 "parameters" : [
4140 {
4141 "type" : "field",
4142 "value" : ["intl4_shim", "len"]
4143 },
4144 {
4145 "type" : "hexstr",
4146 "value" : "0x04"
4147 }
4148 ],
4149 "source_info" : {
4150 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004151 "line" : 127,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004152 "column" : 35,
4153 "source_fragment" : "4; ..."
4154 }
4155 },
4156 {
4157 "op" : "add_header",
4158 "parameters" : [
4159 {
4160 "type" : "header",
4161 "value" : "int_header"
4162 }
4163 ],
4164 "source_info" : {
4165 "filename" : "include/int_source.p4",
4166 "line" : 37,
4167 "column" : 8,
4168 "source_fragment" : "hdr.int_header.setValid()"
4169 }
4170 },
4171 {
4172 "op" : "assign",
4173 "parameters" : [
4174 {
4175 "type" : "field",
4176 "value" : ["int_header", "ver"]
4177 },
4178 {
4179 "type" : "hexstr",
4180 "value" : "0x00"
4181 }
4182 ],
4183 "source_info" : {
4184 "filename" : "include/int_source.p4",
4185 "line" : 38,
4186 "column" : 8,
4187 "source_fragment" : "hdr.int_header.ver = 0"
4188 }
4189 },
4190 {
4191 "op" : "assign",
4192 "parameters" : [
4193 {
4194 "type" : "field",
4195 "value" : ["int_header", "rep"]
4196 },
4197 {
4198 "type" : "hexstr",
4199 "value" : "0x00"
4200 }
4201 ],
4202 "source_info" : {
4203 "filename" : "include/int_source.p4",
4204 "line" : 39,
4205 "column" : 8,
4206 "source_fragment" : "hdr.int_header.rep = 0"
4207 }
4208 },
4209 {
4210 "op" : "assign",
4211 "parameters" : [
4212 {
4213 "type" : "field",
4214 "value" : ["int_header", "c"]
4215 },
4216 {
4217 "type" : "hexstr",
4218 "value" : "0x00"
4219 }
4220 ],
4221 "source_info" : {
4222 "filename" : "include/int_source.p4",
4223 "line" : 40,
4224 "column" : 8,
4225 "source_fragment" : "hdr.int_header.c = 0"
4226 }
4227 },
4228 {
4229 "op" : "assign",
4230 "parameters" : [
4231 {
4232 "type" : "field",
4233 "value" : ["int_header", "e"]
4234 },
4235 {
4236 "type" : "hexstr",
4237 "value" : "0x00"
4238 }
4239 ],
4240 "source_info" : {
4241 "filename" : "include/int_source.p4",
4242 "line" : 41,
4243 "column" : 8,
4244 "source_fragment" : "hdr.int_header.e = 0"
4245 }
4246 },
4247 {
4248 "op" : "assign",
4249 "parameters" : [
4250 {
4251 "type" : "field",
4252 "value" : ["int_header", "rsvd1"]
4253 },
4254 {
4255 "type" : "hexstr",
4256 "value" : "0x00"
4257 }
4258 ],
4259 "source_info" : {
4260 "filename" : "include/int_source.p4",
4261 "line" : 42,
4262 "column" : 8,
4263 "source_fragment" : "hdr.int_header.rsvd1 = 0"
4264 }
4265 },
4266 {
4267 "op" : "assign",
4268 "parameters" : [
4269 {
4270 "type" : "field",
4271 "value" : ["int_header", "ins_cnt"]
4272 },
4273 {
4274 "type" : "runtime_data",
4275 "value" : 1
4276 }
4277 ],
4278 "source_info" : {
4279 "filename" : "include/int_source.p4",
4280 "line" : 43,
4281 "column" : 8,
4282 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
4283 }
4284 },
4285 {
4286 "op" : "assign",
4287 "parameters" : [
4288 {
4289 "type" : "field",
4290 "value" : ["int_header", "max_hop_cnt"]
4291 },
4292 {
4293 "type" : "runtime_data",
4294 "value" : 0
4295 }
4296 ],
4297 "source_info" : {
4298 "filename" : "include/int_source.p4",
4299 "line" : 44,
4300 "column" : 8,
4301 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
4302 }
4303 },
4304 {
4305 "op" : "assign",
4306 "parameters" : [
4307 {
4308 "type" : "field",
4309 "value" : ["int_header", "total_hop_cnt"]
4310 },
4311 {
4312 "type" : "hexstr",
4313 "value" : "0x00"
4314 }
4315 ],
4316 "source_info" : {
4317 "filename" : "include/int_source.p4",
4318 "line" : 45,
4319 "column" : 8,
4320 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
4321 }
4322 },
4323 {
4324 "op" : "assign",
4325 "parameters" : [
4326 {
4327 "type" : "field",
4328 "value" : ["int_header", "instruction_mask_0003"]
4329 },
4330 {
4331 "type" : "runtime_data",
4332 "value" : 2
4333 }
4334 ],
4335 "source_info" : {
4336 "filename" : "include/int_source.p4",
4337 "line" : 46,
4338 "column" : 8,
4339 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
4340 }
4341 },
4342 {
4343 "op" : "assign",
4344 "parameters" : [
4345 {
4346 "type" : "field",
4347 "value" : ["int_header", "instruction_mask_0407"]
4348 },
4349 {
4350 "type" : "runtime_data",
4351 "value" : 3
4352 }
4353 ],
4354 "source_info" : {
4355 "filename" : "include/int_source.p4",
4356 "line" : 47,
4357 "column" : 8,
4358 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
4359 }
4360 },
4361 {
4362 "op" : "assign",
4363 "parameters" : [
4364 {
4365 "type" : "field",
4366 "value" : ["int_header", "instruction_mask_0811"]
4367 },
4368 {
4369 "type" : "hexstr",
4370 "value" : "0x00"
4371 }
4372 ],
4373 "source_info" : {
4374 "filename" : "include/int_source.p4",
4375 "line" : 48,
4376 "column" : 8,
4377 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
4378 }
4379 },
4380 {
4381 "op" : "assign",
4382 "parameters" : [
4383 {
4384 "type" : "field",
4385 "value" : ["int_header", "instruction_mask_1215"]
4386 },
4387 {
4388 "type" : "hexstr",
4389 "value" : "0x00"
4390 }
4391 ],
4392 "source_info" : {
4393 "filename" : "include/int_source.p4",
4394 "line" : 49,
4395 "column" : 8,
4396 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
4397 }
4398 },
4399 {
4400 "op" : "add_header",
4401 "parameters" : [
4402 {
4403 "type" : "header",
4404 "value" : "intl4_tail"
4405 }
4406 ],
4407 "source_info" : {
4408 "filename" : "include/int_source.p4",
4409 "line" : 52,
4410 "column" : 8,
4411 "source_fragment" : "hdr.intl4_tail.setValid()"
4412 }
4413 },
4414 {
4415 "op" : "assign",
4416 "parameters" : [
4417 {
4418 "type" : "field",
4419 "value" : ["intl4_tail", "next_proto"]
4420 },
4421 {
4422 "type" : "field",
4423 "value" : ["ipv4", "protocol"]
4424 }
4425 ],
4426 "source_info" : {
4427 "filename" : "include/int_source.p4",
4428 "line" : 53,
4429 "column" : 8,
4430 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
4431 }
4432 },
4433 {
4434 "op" : "assign",
4435 "parameters" : [
4436 {
4437 "type" : "field",
4438 "value" : ["intl4_tail", "dest_port"]
4439 },
4440 {
4441 "type" : "field",
4442 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
4443 }
4444 ],
4445 "source_info" : {
4446 "filename" : "include/int_source.p4",
4447 "line" : 54,
4448 "column" : 8,
4449 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
4450 }
4451 },
4452 {
4453 "op" : "assign",
4454 "parameters" : [
4455 {
4456 "type" : "field",
4457 "value" : ["intl4_tail", "dscp"]
4458 },
4459 {
4460 "type" : "expression",
4461 "value" : {
4462 "type" : "expression",
4463 "value" : {
4464 "op" : "&",
4465 "left" : {
4466 "type" : "field",
4467 "value" : ["ipv4", "dscp"]
4468 },
4469 "right" : {
4470 "type" : "hexstr",
4471 "value" : "0xff"
4472 }
4473 }
4474 }
4475 }
4476 ],
4477 "source_info" : {
4478 "filename" : "include/int_source.p4",
4479 "line" : 55,
4480 "column" : 8,
4481 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
4482 }
4483 },
4484 {
4485 "op" : "assign",
4486 "parameters" : [
4487 {
4488 "type" : "field",
4489 "value" : ["ipv4", "total_len"]
4490 },
4491 {
4492 "type" : "expression",
4493 "value" : {
4494 "type" : "expression",
4495 "value" : {
4496 "op" : "&",
4497 "left" : {
4498 "type" : "expression",
4499 "value" : {
4500 "op" : "+",
4501 "left" : {
4502 "type" : "field",
4503 "value" : ["ipv4", "total_len"]
4504 },
4505 "right" : {
4506 "type" : "hexstr",
4507 "value" : "0x0010"
4508 }
4509 }
4510 },
4511 "right" : {
4512 "type" : "hexstr",
4513 "value" : "0xffff"
4514 }
4515 }
4516 }
4517 }
4518 ],
4519 "source_info" : {
4520 "filename" : "include/int_source.p4",
4521 "line" : 58,
4522 "column" : 8,
4523 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
4524 }
4525 },
4526 {
4527 "op" : "assign",
4528 "parameters" : [
4529 {
4530 "type" : "field",
4531 "value" : ["udp", "len"]
4532 },
4533 {
4534 "type" : "expression",
4535 "value" : {
4536 "type" : "expression",
4537 "value" : {
4538 "op" : "&",
4539 "left" : {
4540 "type" : "expression",
4541 "value" : {
4542 "op" : "+",
4543 "left" : {
4544 "type" : "field",
4545 "value" : ["udp", "len"]
4546 },
4547 "right" : {
4548 "type" : "hexstr",
4549 "value" : "0x0010"
4550 }
4551 }
4552 },
4553 "right" : {
4554 "type" : "hexstr",
4555 "value" : "0xffff"
4556 }
4557 }
4558 }
4559 }
4560 ],
4561 "source_info" : {
4562 "filename" : "include/int_source.p4",
4563 "line" : 59,
4564 "column" : 8,
4565 "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
4566 }
4567 },
4568 {
4569 "op" : "assign",
4570 "parameters" : [
4571 {
4572 "type" : "field",
4573 "value" : ["ipv4", "dscp"]
4574 },
4575 {
4576 "type" : "hexstr",
4577 "value" : "0x01"
4578 }
4579 ],
4580 "source_info" : {
4581 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004582 "line" : 125,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004583 "column" : 24,
4584 "source_fragment" : "0x1; ..."
4585 }
4586 }
4587 ]
4588 },
4589 {
4590 "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004591 "id" : 61,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004592 "runtime_data" : [],
4593 "primitives" : [
4594 {
4595 "op" : "assign",
4596 "parameters" : [
4597 {
4598 "type" : "field",
4599 "value" : ["int_header", "total_hop_cnt"]
4600 },
4601 {
4602 "type" : "expression",
4603 "value" : {
4604 "type" : "expression",
4605 "value" : {
4606 "op" : "&",
4607 "left" : {
4608 "type" : "expression",
4609 "value" : {
4610 "op" : "+",
4611 "left" : {
4612 "type" : "field",
4613 "value" : ["int_header", "total_hop_cnt"]
4614 },
4615 "right" : {
4616 "type" : "hexstr",
4617 "value" : "0x01"
4618 }
4619 }
4620 },
4621 "right" : {
4622 "type" : "hexstr",
4623 "value" : "0xff"
4624 }
4625 }
4626 }
4627 }
4628 ],
4629 "source_info" : {
4630 "filename" : "include/int_transit.p4",
4631 "line" : 30,
4632 "column" : 8,
4633 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
4634 }
4635 }
4636 ]
4637 },
4638 {
4639 "name" : "FabricEgress.process_int_transit.int_transit",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004640 "id" : 62,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004641 "runtime_data" : [
4642 {
4643 "name" : "switch_id",
4644 "bitwidth" : 32
4645 }
4646 ],
4647 "primitives" : [
4648 {
4649 "op" : "assign",
4650 "parameters" : [
4651 {
4652 "type" : "field",
4653 "value" : ["userMetadata.int_meta", "switch_id"]
4654 },
4655 {
4656 "type" : "runtime_data",
4657 "value" : 0
4658 }
4659 ],
4660 "source_info" : {
4661 "filename" : "include/int_transit.p4",
4662 "line" : 34,
4663 "column" : 8,
4664 "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
4665 }
4666 },
4667 {
4668 "op" : "assign",
4669 "parameters" : [
4670 {
4671 "type" : "field",
4672 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
4673 },
4674 {
4675 "type" : "expression",
4676 "value" : {
4677 "type" : "expression",
4678 "value" : {
4679 "op" : "&",
4680 "left" : {
4681 "type" : "expression",
4682 "value" : {
4683 "op" : "<<",
4684 "left" : {
4685 "type" : "expression",
4686 "value" : {
4687 "op" : "&",
4688 "left" : {
4689 "type" : "field",
4690 "value" : ["int_header", "ins_cnt"]
4691 },
4692 "right" : {
4693 "type" : "hexstr",
4694 "value" : "0xffff"
4695 }
4696 }
4697 },
4698 "right" : {
4699 "type" : "hexstr",
4700 "value" : "0x2"
4701 }
4702 }
4703 },
4704 "right" : {
4705 "type" : "hexstr",
4706 "value" : "0xffff"
4707 }
4708 }
4709 }
4710 }
4711 ],
4712 "source_info" : {
4713 "filename" : "include/int_transit.p4",
4714 "line" : 35,
4715 "column" : 8,
4716 "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
4717 }
4718 }
4719 ]
4720 },
4721 {
4722 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004723 "id" : 63,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004724 "runtime_data" : [],
4725 "primitives" : []
4726 },
4727 {
4728 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004729 "id" : 64,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004730 "runtime_data" : [],
4731 "primitives" : [
4732 {
4733 "op" : "add_header",
4734 "parameters" : [
4735 {
4736 "type" : "header",
4737 "value" : "int_q_occupancy"
4738 }
4739 ],
4740 "source_info" : {
4741 "filename" : "include/int_transit.p4",
4742 "line" : 57,
4743 "column" : 8,
4744 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4745 }
4746 },
4747 {
4748 "op" : "assign",
4749 "parameters" : [
4750 {
4751 "type" : "field",
4752 "value" : ["int_q_occupancy", "q_id"]
4753 },
4754 {
4755 "type" : "hexstr",
4756 "value" : "0x00"
4757 }
4758 ],
4759 "source_info" : {
4760 "filename" : "include/int_transit.p4",
4761 "line" : 58,
4762 "column" : 8,
4763 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
4764 }
4765 },
4766 {
4767 "op" : "assign",
4768 "parameters" : [
4769 {
4770 "type" : "field",
4771 "value" : ["int_q_occupancy", "q_occupancy"]
4772 },
4773 {
4774 "type" : "expression",
4775 "value" : {
4776 "type" : "expression",
4777 "value" : {
4778 "op" : "&",
4779 "left" : {
4780 "type" : "field",
4781 "value" : ["standard_metadata", "deq_qdepth"]
4782 },
4783 "right" : {
4784 "type" : "hexstr",
4785 "value" : "0xffffff"
4786 }
4787 }
4788 }
4789 }
4790 ],
4791 "source_info" : {
4792 "filename" : "include/int_transit.p4",
4793 "line" : 61,
4794 "column" : 8,
4795 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
4796 }
4797 }
4798 ]
4799 },
4800 {
4801 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004802 "id" : 65,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004803 "runtime_data" : [],
4804 "primitives" : [
4805 {
4806 "op" : "add_header",
4807 "parameters" : [
4808 {
4809 "type" : "header",
4810 "value" : "int_hop_latency"
4811 }
4812 ],
4813 "source_info" : {
4814 "filename" : "include/int_transit.p4",
4815 "line" : 51,
4816 "column" : 8,
4817 "source_fragment" : "hdr.int_hop_latency.setValid()"
4818 }
4819 },
4820 {
4821 "op" : "assign",
4822 "parameters" : [
4823 {
4824 "type" : "field",
4825 "value" : ["int_hop_latency", "hop_latency"]
4826 },
4827 {
4828 "type" : "field",
4829 "value" : ["standard_metadata", "deq_timedelta"]
4830 }
4831 ],
4832 "source_info" : {
4833 "filename" : "include/int_transit.p4",
4834 "line" : 52,
4835 "column" : 8,
4836 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
4837 }
4838 }
4839 ]
4840 },
4841 {
4842 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004843 "id" : 66,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004844 "runtime_data" : [],
4845 "primitives" : [
4846 {
4847 "op" : "add_header",
4848 "parameters" : [
4849 {
4850 "type" : "header",
4851 "value" : "int_q_occupancy"
4852 }
4853 ],
4854 "source_info" : {
4855 "filename" : "include/int_transit.p4",
4856 "line" : 57,
4857 "column" : 8,
4858 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4859 }
4860 },
4861 {
4862 "op" : "assign",
4863 "parameters" : [
4864 {
4865 "type" : "field",
4866 "value" : ["int_q_occupancy", "q_id"]
4867 },
4868 {
4869 "type" : "hexstr",
4870 "value" : "0x00"
4871 }
4872 ],
4873 "source_info" : {
4874 "filename" : "include/int_transit.p4",
4875 "line" : 58,
4876 "column" : 8,
4877 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
4878 }
4879 },
4880 {
4881 "op" : "assign",
4882 "parameters" : [
4883 {
4884 "type" : "field",
4885 "value" : ["int_q_occupancy", "q_occupancy"]
4886 },
4887 {
4888 "type" : "expression",
4889 "value" : {
4890 "type" : "expression",
4891 "value" : {
4892 "op" : "&",
4893 "left" : {
4894 "type" : "field",
4895 "value" : ["standard_metadata", "deq_qdepth"]
4896 },
4897 "right" : {
4898 "type" : "hexstr",
4899 "value" : "0xffffff"
4900 }
4901 }
4902 }
4903 }
4904 ],
4905 "source_info" : {
4906 "filename" : "include/int_transit.p4",
4907 "line" : 61,
4908 "column" : 8,
4909 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
4910 }
4911 },
4912 {
4913 "op" : "add_header",
4914 "parameters" : [
4915 {
4916 "type" : "header",
4917 "value" : "int_hop_latency"
4918 }
4919 ],
4920 "source_info" : {
4921 "filename" : "include/int_transit.p4",
4922 "line" : 51,
4923 "column" : 8,
4924 "source_fragment" : "hdr.int_hop_latency.setValid()"
4925 }
4926 },
4927 {
4928 "op" : "assign",
4929 "parameters" : [
4930 {
4931 "type" : "field",
4932 "value" : ["int_hop_latency", "hop_latency"]
4933 },
4934 {
4935 "type" : "field",
4936 "value" : ["standard_metadata", "deq_timedelta"]
4937 }
4938 ],
4939 "source_info" : {
4940 "filename" : "include/int_transit.p4",
4941 "line" : 52,
4942 "column" : 8,
4943 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
4944 }
4945 }
4946 ]
4947 },
4948 {
4949 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07004950 "id" : 67,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004951 "runtime_data" : [],
4952 "primitives" : [
4953 {
4954 "op" : "add_header",
4955 "parameters" : [
4956 {
4957 "type" : "header",
4958 "value" : "int_port_ids"
4959 }
4960 ],
4961 "source_info" : {
4962 "filename" : "include/int_transit.p4",
4963 "line" : 44,
4964 "column" : 8,
4965 "source_fragment" : "hdr.int_port_ids.setValid()"
4966 }
4967 },
4968 {
4969 "op" : "assign",
4970 "parameters" : [
4971 {
4972 "type" : "field",
4973 "value" : ["int_port_ids", "ingress_port_id"]
4974 },
4975 {
4976 "type" : "expression",
4977 "value" : {
4978 "type" : "expression",
4979 "value" : {
4980 "op" : "&",
4981 "left" : {
4982 "type" : "field",
4983 "value" : ["standard_metadata", "ingress_port"]
4984 },
4985 "right" : {
4986 "type" : "hexstr",
4987 "value" : "0xffff"
4988 }
4989 }
4990 }
4991 }
4992 ],
4993 "source_info" : {
4994 "filename" : "include/int_transit.p4",
4995 "line" : 45,
4996 "column" : 8,
4997 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
4998 }
4999 },
5000 {
5001 "op" : "assign",
5002 "parameters" : [
5003 {
5004 "type" : "field",
5005 "value" : ["int_port_ids", "egress_port_id"]
5006 },
5007 {
5008 "type" : "expression",
5009 "value" : {
5010 "type" : "expression",
5011 "value" : {
5012 "op" : "&",
5013 "left" : {
5014 "type" : "field",
5015 "value" : ["standard_metadata", "egress_port"]
5016 },
5017 "right" : {
5018 "type" : "hexstr",
5019 "value" : "0xffff"
5020 }
5021 }
5022 }
5023 }
5024 ],
5025 "source_info" : {
5026 "filename" : "include/int_transit.p4",
5027 "line" : 47,
5028 "column" : 8,
5029 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5030 }
5031 }
5032 ]
5033 },
5034 {
5035 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005036 "id" : 68,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005037 "runtime_data" : [],
5038 "primitives" : [
5039 {
5040 "op" : "add_header",
5041 "parameters" : [
5042 {
5043 "type" : "header",
5044 "value" : "int_q_occupancy"
5045 }
5046 ],
5047 "source_info" : {
5048 "filename" : "include/int_transit.p4",
5049 "line" : 57,
5050 "column" : 8,
5051 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5052 }
5053 },
5054 {
5055 "op" : "assign",
5056 "parameters" : [
5057 {
5058 "type" : "field",
5059 "value" : ["int_q_occupancy", "q_id"]
5060 },
5061 {
5062 "type" : "hexstr",
5063 "value" : "0x00"
5064 }
5065 ],
5066 "source_info" : {
5067 "filename" : "include/int_transit.p4",
5068 "line" : 58,
5069 "column" : 8,
5070 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
5071 }
5072 },
5073 {
5074 "op" : "assign",
5075 "parameters" : [
5076 {
5077 "type" : "field",
5078 "value" : ["int_q_occupancy", "q_occupancy"]
5079 },
5080 {
5081 "type" : "expression",
5082 "value" : {
5083 "type" : "expression",
5084 "value" : {
5085 "op" : "&",
5086 "left" : {
5087 "type" : "field",
5088 "value" : ["standard_metadata", "deq_qdepth"]
5089 },
5090 "right" : {
5091 "type" : "hexstr",
5092 "value" : "0xffffff"
5093 }
5094 }
5095 }
5096 }
5097 ],
5098 "source_info" : {
5099 "filename" : "include/int_transit.p4",
5100 "line" : 61,
5101 "column" : 8,
5102 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
5103 }
5104 },
5105 {
5106 "op" : "add_header",
5107 "parameters" : [
5108 {
5109 "type" : "header",
5110 "value" : "int_port_ids"
5111 }
5112 ],
5113 "source_info" : {
5114 "filename" : "include/int_transit.p4",
5115 "line" : 44,
5116 "column" : 8,
5117 "source_fragment" : "hdr.int_port_ids.setValid()"
5118 }
5119 },
5120 {
5121 "op" : "assign",
5122 "parameters" : [
5123 {
5124 "type" : "field",
5125 "value" : ["int_port_ids", "ingress_port_id"]
5126 },
5127 {
5128 "type" : "expression",
5129 "value" : {
5130 "type" : "expression",
5131 "value" : {
5132 "op" : "&",
5133 "left" : {
5134 "type" : "field",
5135 "value" : ["standard_metadata", "ingress_port"]
5136 },
5137 "right" : {
5138 "type" : "hexstr",
5139 "value" : "0xffff"
5140 }
5141 }
5142 }
5143 }
5144 ],
5145 "source_info" : {
5146 "filename" : "include/int_transit.p4",
5147 "line" : 45,
5148 "column" : 8,
5149 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5150 }
5151 },
5152 {
5153 "op" : "assign",
5154 "parameters" : [
5155 {
5156 "type" : "field",
5157 "value" : ["int_port_ids", "egress_port_id"]
5158 },
5159 {
5160 "type" : "expression",
5161 "value" : {
5162 "type" : "expression",
5163 "value" : {
5164 "op" : "&",
5165 "left" : {
5166 "type" : "field",
5167 "value" : ["standard_metadata", "egress_port"]
5168 },
5169 "right" : {
5170 "type" : "hexstr",
5171 "value" : "0xffff"
5172 }
5173 }
5174 }
5175 }
5176 ],
5177 "source_info" : {
5178 "filename" : "include/int_transit.p4",
5179 "line" : 47,
5180 "column" : 8,
5181 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5182 }
5183 }
5184 ]
5185 },
5186 {
5187 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005188 "id" : 69,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005189 "runtime_data" : [],
5190 "primitives" : [
5191 {
5192 "op" : "add_header",
5193 "parameters" : [
5194 {
5195 "type" : "header",
5196 "value" : "int_hop_latency"
5197 }
5198 ],
5199 "source_info" : {
5200 "filename" : "include/int_transit.p4",
5201 "line" : 51,
5202 "column" : 8,
5203 "source_fragment" : "hdr.int_hop_latency.setValid()"
5204 }
5205 },
5206 {
5207 "op" : "assign",
5208 "parameters" : [
5209 {
5210 "type" : "field",
5211 "value" : ["int_hop_latency", "hop_latency"]
5212 },
5213 {
5214 "type" : "field",
5215 "value" : ["standard_metadata", "deq_timedelta"]
5216 }
5217 ],
5218 "source_info" : {
5219 "filename" : "include/int_transit.p4",
5220 "line" : 52,
5221 "column" : 8,
5222 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
5223 }
5224 },
5225 {
5226 "op" : "add_header",
5227 "parameters" : [
5228 {
5229 "type" : "header",
5230 "value" : "int_port_ids"
5231 }
5232 ],
5233 "source_info" : {
5234 "filename" : "include/int_transit.p4",
5235 "line" : 44,
5236 "column" : 8,
5237 "source_fragment" : "hdr.int_port_ids.setValid()"
5238 }
5239 },
5240 {
5241 "op" : "assign",
5242 "parameters" : [
5243 {
5244 "type" : "field",
5245 "value" : ["int_port_ids", "ingress_port_id"]
5246 },
5247 {
5248 "type" : "expression",
5249 "value" : {
5250 "type" : "expression",
5251 "value" : {
5252 "op" : "&",
5253 "left" : {
5254 "type" : "field",
5255 "value" : ["standard_metadata", "ingress_port"]
5256 },
5257 "right" : {
5258 "type" : "hexstr",
5259 "value" : "0xffff"
5260 }
5261 }
5262 }
5263 }
5264 ],
5265 "source_info" : {
5266 "filename" : "include/int_transit.p4",
5267 "line" : 45,
5268 "column" : 8,
5269 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5270 }
5271 },
5272 {
5273 "op" : "assign",
5274 "parameters" : [
5275 {
5276 "type" : "field",
5277 "value" : ["int_port_ids", "egress_port_id"]
5278 },
5279 {
5280 "type" : "expression",
5281 "value" : {
5282 "type" : "expression",
5283 "value" : {
5284 "op" : "&",
5285 "left" : {
5286 "type" : "field",
5287 "value" : ["standard_metadata", "egress_port"]
5288 },
5289 "right" : {
5290 "type" : "hexstr",
5291 "value" : "0xffff"
5292 }
5293 }
5294 }
5295 }
5296 ],
5297 "source_info" : {
5298 "filename" : "include/int_transit.p4",
5299 "line" : 47,
5300 "column" : 8,
5301 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5302 }
5303 }
5304 ]
5305 },
5306 {
5307 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005308 "id" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005309 "runtime_data" : [],
5310 "primitives" : [
5311 {
5312 "op" : "add_header",
5313 "parameters" : [
5314 {
5315 "type" : "header",
5316 "value" : "int_q_occupancy"
5317 }
5318 ],
5319 "source_info" : {
5320 "filename" : "include/int_transit.p4",
5321 "line" : 57,
5322 "column" : 8,
5323 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5324 }
5325 },
5326 {
5327 "op" : "assign",
5328 "parameters" : [
5329 {
5330 "type" : "field",
5331 "value" : ["int_q_occupancy", "q_id"]
5332 },
5333 {
5334 "type" : "hexstr",
5335 "value" : "0x00"
5336 }
5337 ],
5338 "source_info" : {
5339 "filename" : "include/int_transit.p4",
5340 "line" : 58,
5341 "column" : 8,
5342 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
5343 }
5344 },
5345 {
5346 "op" : "assign",
5347 "parameters" : [
5348 {
5349 "type" : "field",
5350 "value" : ["int_q_occupancy", "q_occupancy"]
5351 },
5352 {
5353 "type" : "expression",
5354 "value" : {
5355 "type" : "expression",
5356 "value" : {
5357 "op" : "&",
5358 "left" : {
5359 "type" : "field",
5360 "value" : ["standard_metadata", "deq_qdepth"]
5361 },
5362 "right" : {
5363 "type" : "hexstr",
5364 "value" : "0xffffff"
5365 }
5366 }
5367 }
5368 }
5369 ],
5370 "source_info" : {
5371 "filename" : "include/int_transit.p4",
5372 "line" : 61,
5373 "column" : 8,
5374 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
5375 }
5376 },
5377 {
5378 "op" : "add_header",
5379 "parameters" : [
5380 {
5381 "type" : "header",
5382 "value" : "int_hop_latency"
5383 }
5384 ],
5385 "source_info" : {
5386 "filename" : "include/int_transit.p4",
5387 "line" : 51,
5388 "column" : 8,
5389 "source_fragment" : "hdr.int_hop_latency.setValid()"
5390 }
5391 },
5392 {
5393 "op" : "assign",
5394 "parameters" : [
5395 {
5396 "type" : "field",
5397 "value" : ["int_hop_latency", "hop_latency"]
5398 },
5399 {
5400 "type" : "field",
5401 "value" : ["standard_metadata", "deq_timedelta"]
5402 }
5403 ],
5404 "source_info" : {
5405 "filename" : "include/int_transit.p4",
5406 "line" : 52,
5407 "column" : 8,
5408 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
5409 }
5410 },
5411 {
5412 "op" : "add_header",
5413 "parameters" : [
5414 {
5415 "type" : "header",
5416 "value" : "int_port_ids"
5417 }
5418 ],
5419 "source_info" : {
5420 "filename" : "include/int_transit.p4",
5421 "line" : 44,
5422 "column" : 8,
5423 "source_fragment" : "hdr.int_port_ids.setValid()"
5424 }
5425 },
5426 {
5427 "op" : "assign",
5428 "parameters" : [
5429 {
5430 "type" : "field",
5431 "value" : ["int_port_ids", "ingress_port_id"]
5432 },
5433 {
5434 "type" : "expression",
5435 "value" : {
5436 "type" : "expression",
5437 "value" : {
5438 "op" : "&",
5439 "left" : {
5440 "type" : "field",
5441 "value" : ["standard_metadata", "ingress_port"]
5442 },
5443 "right" : {
5444 "type" : "hexstr",
5445 "value" : "0xffff"
5446 }
5447 }
5448 }
5449 }
5450 ],
5451 "source_info" : {
5452 "filename" : "include/int_transit.p4",
5453 "line" : 45,
5454 "column" : 8,
5455 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5456 }
5457 },
5458 {
5459 "op" : "assign",
5460 "parameters" : [
5461 {
5462 "type" : "field",
5463 "value" : ["int_port_ids", "egress_port_id"]
5464 },
5465 {
5466 "type" : "expression",
5467 "value" : {
5468 "type" : "expression",
5469 "value" : {
5470 "op" : "&",
5471 "left" : {
5472 "type" : "field",
5473 "value" : ["standard_metadata", "egress_port"]
5474 },
5475 "right" : {
5476 "type" : "hexstr",
5477 "value" : "0xffff"
5478 }
5479 }
5480 }
5481 }
5482 ],
5483 "source_info" : {
5484 "filename" : "include/int_transit.p4",
5485 "line" : 47,
5486 "column" : 8,
5487 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5488 }
5489 }
5490 ]
5491 },
5492 {
5493 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005494 "id" : 71,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005495 "runtime_data" : [],
5496 "primitives" : [
5497 {
5498 "op" : "add_header",
5499 "parameters" : [
5500 {
5501 "type" : "header",
5502 "value" : "int_switch_id"
5503 }
5504 ],
5505 "source_info" : {
5506 "filename" : "include/int_transit.p4",
5507 "line" : 40,
5508 "column" : 8,
5509 "source_fragment" : "hdr.int_switch_id.setValid()"
5510 }
5511 },
5512 {
5513 "op" : "assign",
5514 "parameters" : [
5515 {
5516 "type" : "field",
5517 "value" : ["int_switch_id", "switch_id"]
5518 },
5519 {
5520 "type" : "field",
5521 "value" : ["userMetadata.int_meta", "switch_id"]
5522 }
5523 ],
5524 "source_info" : {
5525 "filename" : "include/int_transit.p4",
5526 "line" : 41,
5527 "column" : 8,
5528 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5529 }
5530 }
5531 ]
5532 },
5533 {
5534 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005535 "id" : 72,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005536 "runtime_data" : [],
5537 "primitives" : [
5538 {
5539 "op" : "add_header",
5540 "parameters" : [
5541 {
5542 "type" : "header",
5543 "value" : "int_q_occupancy"
5544 }
5545 ],
5546 "source_info" : {
5547 "filename" : "include/int_transit.p4",
5548 "line" : 57,
5549 "column" : 8,
5550 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5551 }
5552 },
5553 {
5554 "op" : "assign",
5555 "parameters" : [
5556 {
5557 "type" : "field",
5558 "value" : ["int_q_occupancy", "q_id"]
5559 },
5560 {
5561 "type" : "hexstr",
5562 "value" : "0x00"
5563 }
5564 ],
5565 "source_info" : {
5566 "filename" : "include/int_transit.p4",
5567 "line" : 58,
5568 "column" : 8,
5569 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
5570 }
5571 },
5572 {
5573 "op" : "assign",
5574 "parameters" : [
5575 {
5576 "type" : "field",
5577 "value" : ["int_q_occupancy", "q_occupancy"]
5578 },
5579 {
5580 "type" : "expression",
5581 "value" : {
5582 "type" : "expression",
5583 "value" : {
5584 "op" : "&",
5585 "left" : {
5586 "type" : "field",
5587 "value" : ["standard_metadata", "deq_qdepth"]
5588 },
5589 "right" : {
5590 "type" : "hexstr",
5591 "value" : "0xffffff"
5592 }
5593 }
5594 }
5595 }
5596 ],
5597 "source_info" : {
5598 "filename" : "include/int_transit.p4",
5599 "line" : 61,
5600 "column" : 8,
5601 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
5602 }
5603 },
5604 {
5605 "op" : "add_header",
5606 "parameters" : [
5607 {
5608 "type" : "header",
5609 "value" : "int_switch_id"
5610 }
5611 ],
5612 "source_info" : {
5613 "filename" : "include/int_transit.p4",
5614 "line" : 40,
5615 "column" : 8,
5616 "source_fragment" : "hdr.int_switch_id.setValid()"
5617 }
5618 },
5619 {
5620 "op" : "assign",
5621 "parameters" : [
5622 {
5623 "type" : "field",
5624 "value" : ["int_switch_id", "switch_id"]
5625 },
5626 {
5627 "type" : "field",
5628 "value" : ["userMetadata.int_meta", "switch_id"]
5629 }
5630 ],
5631 "source_info" : {
5632 "filename" : "include/int_transit.p4",
5633 "line" : 41,
5634 "column" : 8,
5635 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5636 }
5637 }
5638 ]
5639 },
5640 {
5641 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005642 "id" : 73,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005643 "runtime_data" : [],
5644 "primitives" : [
5645 {
5646 "op" : "add_header",
5647 "parameters" : [
5648 {
5649 "type" : "header",
5650 "value" : "int_hop_latency"
5651 }
5652 ],
5653 "source_info" : {
5654 "filename" : "include/int_transit.p4",
5655 "line" : 51,
5656 "column" : 8,
5657 "source_fragment" : "hdr.int_hop_latency.setValid()"
5658 }
5659 },
5660 {
5661 "op" : "assign",
5662 "parameters" : [
5663 {
5664 "type" : "field",
5665 "value" : ["int_hop_latency", "hop_latency"]
5666 },
5667 {
5668 "type" : "field",
5669 "value" : ["standard_metadata", "deq_timedelta"]
5670 }
5671 ],
5672 "source_info" : {
5673 "filename" : "include/int_transit.p4",
5674 "line" : 52,
5675 "column" : 8,
5676 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
5677 }
5678 },
5679 {
5680 "op" : "add_header",
5681 "parameters" : [
5682 {
5683 "type" : "header",
5684 "value" : "int_switch_id"
5685 }
5686 ],
5687 "source_info" : {
5688 "filename" : "include/int_transit.p4",
5689 "line" : 40,
5690 "column" : 8,
5691 "source_fragment" : "hdr.int_switch_id.setValid()"
5692 }
5693 },
5694 {
5695 "op" : "assign",
5696 "parameters" : [
5697 {
5698 "type" : "field",
5699 "value" : ["int_switch_id", "switch_id"]
5700 },
5701 {
5702 "type" : "field",
5703 "value" : ["userMetadata.int_meta", "switch_id"]
5704 }
5705 ],
5706 "source_info" : {
5707 "filename" : "include/int_transit.p4",
5708 "line" : 41,
5709 "column" : 8,
5710 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5711 }
5712 }
5713 ]
5714 },
5715 {
5716 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005717 "id" : 74,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005718 "runtime_data" : [],
5719 "primitives" : [
5720 {
5721 "op" : "add_header",
5722 "parameters" : [
5723 {
5724 "type" : "header",
5725 "value" : "int_q_occupancy"
5726 }
5727 ],
5728 "source_info" : {
5729 "filename" : "include/int_transit.p4",
5730 "line" : 57,
5731 "column" : 8,
5732 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5733 }
5734 },
5735 {
5736 "op" : "assign",
5737 "parameters" : [
5738 {
5739 "type" : "field",
5740 "value" : ["int_q_occupancy", "q_id"]
5741 },
5742 {
5743 "type" : "hexstr",
5744 "value" : "0x00"
5745 }
5746 ],
5747 "source_info" : {
5748 "filename" : "include/int_transit.p4",
5749 "line" : 58,
5750 "column" : 8,
5751 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
5752 }
5753 },
5754 {
5755 "op" : "assign",
5756 "parameters" : [
5757 {
5758 "type" : "field",
5759 "value" : ["int_q_occupancy", "q_occupancy"]
5760 },
5761 {
5762 "type" : "expression",
5763 "value" : {
5764 "type" : "expression",
5765 "value" : {
5766 "op" : "&",
5767 "left" : {
5768 "type" : "field",
5769 "value" : ["standard_metadata", "deq_qdepth"]
5770 },
5771 "right" : {
5772 "type" : "hexstr",
5773 "value" : "0xffffff"
5774 }
5775 }
5776 }
5777 }
5778 ],
5779 "source_info" : {
5780 "filename" : "include/int_transit.p4",
5781 "line" : 61,
5782 "column" : 8,
5783 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
5784 }
5785 },
5786 {
5787 "op" : "add_header",
5788 "parameters" : [
5789 {
5790 "type" : "header",
5791 "value" : "int_hop_latency"
5792 }
5793 ],
5794 "source_info" : {
5795 "filename" : "include/int_transit.p4",
5796 "line" : 51,
5797 "column" : 8,
5798 "source_fragment" : "hdr.int_hop_latency.setValid()"
5799 }
5800 },
5801 {
5802 "op" : "assign",
5803 "parameters" : [
5804 {
5805 "type" : "field",
5806 "value" : ["int_hop_latency", "hop_latency"]
5807 },
5808 {
5809 "type" : "field",
5810 "value" : ["standard_metadata", "deq_timedelta"]
5811 }
5812 ],
5813 "source_info" : {
5814 "filename" : "include/int_transit.p4",
5815 "line" : 52,
5816 "column" : 8,
5817 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
5818 }
5819 },
5820 {
5821 "op" : "add_header",
5822 "parameters" : [
5823 {
5824 "type" : "header",
5825 "value" : "int_switch_id"
5826 }
5827 ],
5828 "source_info" : {
5829 "filename" : "include/int_transit.p4",
5830 "line" : 40,
5831 "column" : 8,
5832 "source_fragment" : "hdr.int_switch_id.setValid()"
5833 }
5834 },
5835 {
5836 "op" : "assign",
5837 "parameters" : [
5838 {
5839 "type" : "field",
5840 "value" : ["int_switch_id", "switch_id"]
5841 },
5842 {
5843 "type" : "field",
5844 "value" : ["userMetadata.int_meta", "switch_id"]
5845 }
5846 ],
5847 "source_info" : {
5848 "filename" : "include/int_transit.p4",
5849 "line" : 41,
5850 "column" : 8,
5851 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5852 }
5853 }
5854 ]
5855 },
5856 {
5857 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005858 "id" : 75,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005859 "runtime_data" : [],
5860 "primitives" : [
5861 {
5862 "op" : "add_header",
5863 "parameters" : [
5864 {
5865 "type" : "header",
5866 "value" : "int_port_ids"
5867 }
5868 ],
5869 "source_info" : {
5870 "filename" : "include/int_transit.p4",
5871 "line" : 44,
5872 "column" : 8,
5873 "source_fragment" : "hdr.int_port_ids.setValid()"
5874 }
5875 },
5876 {
5877 "op" : "assign",
5878 "parameters" : [
5879 {
5880 "type" : "field",
5881 "value" : ["int_port_ids", "ingress_port_id"]
5882 },
5883 {
5884 "type" : "expression",
5885 "value" : {
5886 "type" : "expression",
5887 "value" : {
5888 "op" : "&",
5889 "left" : {
5890 "type" : "field",
5891 "value" : ["standard_metadata", "ingress_port"]
5892 },
5893 "right" : {
5894 "type" : "hexstr",
5895 "value" : "0xffff"
5896 }
5897 }
5898 }
5899 }
5900 ],
5901 "source_info" : {
5902 "filename" : "include/int_transit.p4",
5903 "line" : 45,
5904 "column" : 8,
5905 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5906 }
5907 },
5908 {
5909 "op" : "assign",
5910 "parameters" : [
5911 {
5912 "type" : "field",
5913 "value" : ["int_port_ids", "egress_port_id"]
5914 },
5915 {
5916 "type" : "expression",
5917 "value" : {
5918 "type" : "expression",
5919 "value" : {
5920 "op" : "&",
5921 "left" : {
5922 "type" : "field",
5923 "value" : ["standard_metadata", "egress_port"]
5924 },
5925 "right" : {
5926 "type" : "hexstr",
5927 "value" : "0xffff"
5928 }
5929 }
5930 }
5931 }
5932 ],
5933 "source_info" : {
5934 "filename" : "include/int_transit.p4",
5935 "line" : 47,
5936 "column" : 8,
5937 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5938 }
5939 },
5940 {
5941 "op" : "add_header",
5942 "parameters" : [
5943 {
5944 "type" : "header",
5945 "value" : "int_switch_id"
5946 }
5947 ],
5948 "source_info" : {
5949 "filename" : "include/int_transit.p4",
5950 "line" : 40,
5951 "column" : 8,
5952 "source_fragment" : "hdr.int_switch_id.setValid()"
5953 }
5954 },
5955 {
5956 "op" : "assign",
5957 "parameters" : [
5958 {
5959 "type" : "field",
5960 "value" : ["int_switch_id", "switch_id"]
5961 },
5962 {
5963 "type" : "field",
5964 "value" : ["userMetadata.int_meta", "switch_id"]
5965 }
5966 ],
5967 "source_info" : {
5968 "filename" : "include/int_transit.p4",
5969 "line" : 41,
5970 "column" : 8,
5971 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5972 }
5973 }
5974 ]
5975 },
5976 {
5977 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07005978 "id" : 76,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005979 "runtime_data" : [],
5980 "primitives" : [
5981 {
5982 "op" : "add_header",
5983 "parameters" : [
5984 {
5985 "type" : "header",
5986 "value" : "int_q_occupancy"
5987 }
5988 ],
5989 "source_info" : {
5990 "filename" : "include/int_transit.p4",
5991 "line" : 57,
5992 "column" : 8,
5993 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5994 }
5995 },
5996 {
5997 "op" : "assign",
5998 "parameters" : [
5999 {
6000 "type" : "field",
6001 "value" : ["int_q_occupancy", "q_id"]
6002 },
6003 {
6004 "type" : "hexstr",
6005 "value" : "0x00"
6006 }
6007 ],
6008 "source_info" : {
6009 "filename" : "include/int_transit.p4",
6010 "line" : 58,
6011 "column" : 8,
6012 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6013 }
6014 },
6015 {
6016 "op" : "assign",
6017 "parameters" : [
6018 {
6019 "type" : "field",
6020 "value" : ["int_q_occupancy", "q_occupancy"]
6021 },
6022 {
6023 "type" : "expression",
6024 "value" : {
6025 "type" : "expression",
6026 "value" : {
6027 "op" : "&",
6028 "left" : {
6029 "type" : "field",
6030 "value" : ["standard_metadata", "deq_qdepth"]
6031 },
6032 "right" : {
6033 "type" : "hexstr",
6034 "value" : "0xffffff"
6035 }
6036 }
6037 }
6038 }
6039 ],
6040 "source_info" : {
6041 "filename" : "include/int_transit.p4",
6042 "line" : 61,
6043 "column" : 8,
6044 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6045 }
6046 },
6047 {
6048 "op" : "add_header",
6049 "parameters" : [
6050 {
6051 "type" : "header",
6052 "value" : "int_port_ids"
6053 }
6054 ],
6055 "source_info" : {
6056 "filename" : "include/int_transit.p4",
6057 "line" : 44,
6058 "column" : 8,
6059 "source_fragment" : "hdr.int_port_ids.setValid()"
6060 }
6061 },
6062 {
6063 "op" : "assign",
6064 "parameters" : [
6065 {
6066 "type" : "field",
6067 "value" : ["int_port_ids", "ingress_port_id"]
6068 },
6069 {
6070 "type" : "expression",
6071 "value" : {
6072 "type" : "expression",
6073 "value" : {
6074 "op" : "&",
6075 "left" : {
6076 "type" : "field",
6077 "value" : ["standard_metadata", "ingress_port"]
6078 },
6079 "right" : {
6080 "type" : "hexstr",
6081 "value" : "0xffff"
6082 }
6083 }
6084 }
6085 }
6086 ],
6087 "source_info" : {
6088 "filename" : "include/int_transit.p4",
6089 "line" : 45,
6090 "column" : 8,
6091 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6092 }
6093 },
6094 {
6095 "op" : "assign",
6096 "parameters" : [
6097 {
6098 "type" : "field",
6099 "value" : ["int_port_ids", "egress_port_id"]
6100 },
6101 {
6102 "type" : "expression",
6103 "value" : {
6104 "type" : "expression",
6105 "value" : {
6106 "op" : "&",
6107 "left" : {
6108 "type" : "field",
6109 "value" : ["standard_metadata", "egress_port"]
6110 },
6111 "right" : {
6112 "type" : "hexstr",
6113 "value" : "0xffff"
6114 }
6115 }
6116 }
6117 }
6118 ],
6119 "source_info" : {
6120 "filename" : "include/int_transit.p4",
6121 "line" : 47,
6122 "column" : 8,
6123 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6124 }
6125 },
6126 {
6127 "op" : "add_header",
6128 "parameters" : [
6129 {
6130 "type" : "header",
6131 "value" : "int_switch_id"
6132 }
6133 ],
6134 "source_info" : {
6135 "filename" : "include/int_transit.p4",
6136 "line" : 40,
6137 "column" : 8,
6138 "source_fragment" : "hdr.int_switch_id.setValid()"
6139 }
6140 },
6141 {
6142 "op" : "assign",
6143 "parameters" : [
6144 {
6145 "type" : "field",
6146 "value" : ["int_switch_id", "switch_id"]
6147 },
6148 {
6149 "type" : "field",
6150 "value" : ["userMetadata.int_meta", "switch_id"]
6151 }
6152 ],
6153 "source_info" : {
6154 "filename" : "include/int_transit.p4",
6155 "line" : 41,
6156 "column" : 8,
6157 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
6158 }
6159 }
6160 ]
6161 },
6162 {
6163 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006164 "id" : 77,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006165 "runtime_data" : [],
6166 "primitives" : [
6167 {
6168 "op" : "add_header",
6169 "parameters" : [
6170 {
6171 "type" : "header",
6172 "value" : "int_hop_latency"
6173 }
6174 ],
6175 "source_info" : {
6176 "filename" : "include/int_transit.p4",
6177 "line" : 51,
6178 "column" : 8,
6179 "source_fragment" : "hdr.int_hop_latency.setValid()"
6180 }
6181 },
6182 {
6183 "op" : "assign",
6184 "parameters" : [
6185 {
6186 "type" : "field",
6187 "value" : ["int_hop_latency", "hop_latency"]
6188 },
6189 {
6190 "type" : "field",
6191 "value" : ["standard_metadata", "deq_timedelta"]
6192 }
6193 ],
6194 "source_info" : {
6195 "filename" : "include/int_transit.p4",
6196 "line" : 52,
6197 "column" : 8,
6198 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6199 }
6200 },
6201 {
6202 "op" : "add_header",
6203 "parameters" : [
6204 {
6205 "type" : "header",
6206 "value" : "int_port_ids"
6207 }
6208 ],
6209 "source_info" : {
6210 "filename" : "include/int_transit.p4",
6211 "line" : 44,
6212 "column" : 8,
6213 "source_fragment" : "hdr.int_port_ids.setValid()"
6214 }
6215 },
6216 {
6217 "op" : "assign",
6218 "parameters" : [
6219 {
6220 "type" : "field",
6221 "value" : ["int_port_ids", "ingress_port_id"]
6222 },
6223 {
6224 "type" : "expression",
6225 "value" : {
6226 "type" : "expression",
6227 "value" : {
6228 "op" : "&",
6229 "left" : {
6230 "type" : "field",
6231 "value" : ["standard_metadata", "ingress_port"]
6232 },
6233 "right" : {
6234 "type" : "hexstr",
6235 "value" : "0xffff"
6236 }
6237 }
6238 }
6239 }
6240 ],
6241 "source_info" : {
6242 "filename" : "include/int_transit.p4",
6243 "line" : 45,
6244 "column" : 8,
6245 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6246 }
6247 },
6248 {
6249 "op" : "assign",
6250 "parameters" : [
6251 {
6252 "type" : "field",
6253 "value" : ["int_port_ids", "egress_port_id"]
6254 },
6255 {
6256 "type" : "expression",
6257 "value" : {
6258 "type" : "expression",
6259 "value" : {
6260 "op" : "&",
6261 "left" : {
6262 "type" : "field",
6263 "value" : ["standard_metadata", "egress_port"]
6264 },
6265 "right" : {
6266 "type" : "hexstr",
6267 "value" : "0xffff"
6268 }
6269 }
6270 }
6271 }
6272 ],
6273 "source_info" : {
6274 "filename" : "include/int_transit.p4",
6275 "line" : 47,
6276 "column" : 8,
6277 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6278 }
6279 },
6280 {
6281 "op" : "add_header",
6282 "parameters" : [
6283 {
6284 "type" : "header",
6285 "value" : "int_switch_id"
6286 }
6287 ],
6288 "source_info" : {
6289 "filename" : "include/int_transit.p4",
6290 "line" : 40,
6291 "column" : 8,
6292 "source_fragment" : "hdr.int_switch_id.setValid()"
6293 }
6294 },
6295 {
6296 "op" : "assign",
6297 "parameters" : [
6298 {
6299 "type" : "field",
6300 "value" : ["int_switch_id", "switch_id"]
6301 },
6302 {
6303 "type" : "field",
6304 "value" : ["userMetadata.int_meta", "switch_id"]
6305 }
6306 ],
6307 "source_info" : {
6308 "filename" : "include/int_transit.p4",
6309 "line" : 41,
6310 "column" : 8,
6311 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
6312 }
6313 }
6314 ]
6315 },
6316 {
6317 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006318 "id" : 78,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006319 "runtime_data" : [],
6320 "primitives" : [
6321 {
6322 "op" : "add_header",
6323 "parameters" : [
6324 {
6325 "type" : "header",
6326 "value" : "int_q_occupancy"
6327 }
6328 ],
6329 "source_info" : {
6330 "filename" : "include/int_transit.p4",
6331 "line" : 57,
6332 "column" : 8,
6333 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6334 }
6335 },
6336 {
6337 "op" : "assign",
6338 "parameters" : [
6339 {
6340 "type" : "field",
6341 "value" : ["int_q_occupancy", "q_id"]
6342 },
6343 {
6344 "type" : "hexstr",
6345 "value" : "0x00"
6346 }
6347 ],
6348 "source_info" : {
6349 "filename" : "include/int_transit.p4",
6350 "line" : 58,
6351 "column" : 8,
6352 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6353 }
6354 },
6355 {
6356 "op" : "assign",
6357 "parameters" : [
6358 {
6359 "type" : "field",
6360 "value" : ["int_q_occupancy", "q_occupancy"]
6361 },
6362 {
6363 "type" : "expression",
6364 "value" : {
6365 "type" : "expression",
6366 "value" : {
6367 "op" : "&",
6368 "left" : {
6369 "type" : "field",
6370 "value" : ["standard_metadata", "deq_qdepth"]
6371 },
6372 "right" : {
6373 "type" : "hexstr",
6374 "value" : "0xffffff"
6375 }
6376 }
6377 }
6378 }
6379 ],
6380 "source_info" : {
6381 "filename" : "include/int_transit.p4",
6382 "line" : 61,
6383 "column" : 8,
6384 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6385 }
6386 },
6387 {
6388 "op" : "add_header",
6389 "parameters" : [
6390 {
6391 "type" : "header",
6392 "value" : "int_hop_latency"
6393 }
6394 ],
6395 "source_info" : {
6396 "filename" : "include/int_transit.p4",
6397 "line" : 51,
6398 "column" : 8,
6399 "source_fragment" : "hdr.int_hop_latency.setValid()"
6400 }
6401 },
6402 {
6403 "op" : "assign",
6404 "parameters" : [
6405 {
6406 "type" : "field",
6407 "value" : ["int_hop_latency", "hop_latency"]
6408 },
6409 {
6410 "type" : "field",
6411 "value" : ["standard_metadata", "deq_timedelta"]
6412 }
6413 ],
6414 "source_info" : {
6415 "filename" : "include/int_transit.p4",
6416 "line" : 52,
6417 "column" : 8,
6418 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6419 }
6420 },
6421 {
6422 "op" : "add_header",
6423 "parameters" : [
6424 {
6425 "type" : "header",
6426 "value" : "int_port_ids"
6427 }
6428 ],
6429 "source_info" : {
6430 "filename" : "include/int_transit.p4",
6431 "line" : 44,
6432 "column" : 8,
6433 "source_fragment" : "hdr.int_port_ids.setValid()"
6434 }
6435 },
6436 {
6437 "op" : "assign",
6438 "parameters" : [
6439 {
6440 "type" : "field",
6441 "value" : ["int_port_ids", "ingress_port_id"]
6442 },
6443 {
6444 "type" : "expression",
6445 "value" : {
6446 "type" : "expression",
6447 "value" : {
6448 "op" : "&",
6449 "left" : {
6450 "type" : "field",
6451 "value" : ["standard_metadata", "ingress_port"]
6452 },
6453 "right" : {
6454 "type" : "hexstr",
6455 "value" : "0xffff"
6456 }
6457 }
6458 }
6459 }
6460 ],
6461 "source_info" : {
6462 "filename" : "include/int_transit.p4",
6463 "line" : 45,
6464 "column" : 8,
6465 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6466 }
6467 },
6468 {
6469 "op" : "assign",
6470 "parameters" : [
6471 {
6472 "type" : "field",
6473 "value" : ["int_port_ids", "egress_port_id"]
6474 },
6475 {
6476 "type" : "expression",
6477 "value" : {
6478 "type" : "expression",
6479 "value" : {
6480 "op" : "&",
6481 "left" : {
6482 "type" : "field",
6483 "value" : ["standard_metadata", "egress_port"]
6484 },
6485 "right" : {
6486 "type" : "hexstr",
6487 "value" : "0xffff"
6488 }
6489 }
6490 }
6491 }
6492 ],
6493 "source_info" : {
6494 "filename" : "include/int_transit.p4",
6495 "line" : 47,
6496 "column" : 8,
6497 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6498 }
6499 },
6500 {
6501 "op" : "add_header",
6502 "parameters" : [
6503 {
6504 "type" : "header",
6505 "value" : "int_switch_id"
6506 }
6507 ],
6508 "source_info" : {
6509 "filename" : "include/int_transit.p4",
6510 "line" : 40,
6511 "column" : 8,
6512 "source_fragment" : "hdr.int_switch_id.setValid()"
6513 }
6514 },
6515 {
6516 "op" : "assign",
6517 "parameters" : [
6518 {
6519 "type" : "field",
6520 "value" : ["int_switch_id", "switch_id"]
6521 },
6522 {
6523 "type" : "field",
6524 "value" : ["userMetadata.int_meta", "switch_id"]
6525 }
6526 ],
6527 "source_info" : {
6528 "filename" : "include/int_transit.p4",
6529 "line" : 41,
6530 "column" : 8,
6531 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
6532 }
6533 }
6534 ]
6535 },
6536 {
6537 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006538 "id" : 79,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006539 "runtime_data" : [],
6540 "primitives" : []
6541 },
6542 {
6543 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006544 "id" : 80,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006545 "runtime_data" : [],
6546 "primitives" : [
6547 {
6548 "op" : "add_header",
6549 "parameters" : [
6550 {
6551 "type" : "header",
6552 "value" : "int_egress_tx_util"
6553 }
6554 ],
6555 "source_info" : {
6556 "filename" : "include/int_transit.p4",
6557 "line" : 88,
6558 "column" : 8,
6559 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
6560 }
6561 },
6562 {
6563 "op" : "assign",
6564 "parameters" : [
6565 {
6566 "type" : "field",
6567 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
6568 },
6569 {
6570 "type" : "hexstr",
6571 "value" : "0x00000000"
6572 }
6573 ],
6574 "source_info" : {
6575 "filename" : "include/int_transit.p4",
6576 "line" : 89,
6577 "column" : 8,
6578 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
6579 }
6580 }
6581 ]
6582 },
6583 {
6584 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006585 "id" : 81,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006586 "runtime_data" : [],
6587 "primitives" : [
6588 {
6589 "op" : "add_header",
6590 "parameters" : [
6591 {
6592 "type" : "header",
6593 "value" : "int_q_congestion"
6594 }
6595 ],
6596 "source_info" : {
6597 "filename" : "include/int_transit.p4",
6598 "line" : 78,
6599 "column" : 8,
6600 "source_fragment" : "hdr.int_q_congestion.setValid()"
6601 }
6602 },
6603 {
6604 "op" : "assign",
6605 "parameters" : [
6606 {
6607 "type" : "field",
6608 "value" : ["int_q_congestion", "q_id"]
6609 },
6610 {
6611 "type" : "hexstr",
6612 "value" : "0x00"
6613 }
6614 ],
6615 "source_info" : {
6616 "filename" : "include/int_transit.p4",
6617 "line" : 79,
6618 "column" : 8,
6619 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
6620 }
6621 },
6622 {
6623 "op" : "assign",
6624 "parameters" : [
6625 {
6626 "type" : "field",
6627 "value" : ["int_q_congestion", "q_congestion"]
6628 },
6629 {
6630 "type" : "hexstr",
6631 "value" : "0x000000"
6632 }
6633 ],
6634 "source_info" : {
6635 "filename" : "include/int_transit.p4",
6636 "line" : 82,
6637 "column" : 8,
6638 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
6639 }
6640 }
6641 ]
6642 },
6643 {
6644 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006645 "id" : 82,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006646 "runtime_data" : [],
6647 "primitives" : [
6648 {
6649 "op" : "add_header",
6650 "parameters" : [
6651 {
6652 "type" : "header",
6653 "value" : "int_egress_tx_util"
6654 }
6655 ],
6656 "source_info" : {
6657 "filename" : "include/int_transit.p4",
6658 "line" : 88,
6659 "column" : 8,
6660 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
6661 }
6662 },
6663 {
6664 "op" : "assign",
6665 "parameters" : [
6666 {
6667 "type" : "field",
6668 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
6669 },
6670 {
6671 "type" : "hexstr",
6672 "value" : "0x00000000"
6673 }
6674 ],
6675 "source_info" : {
6676 "filename" : "include/int_transit.p4",
6677 "line" : 89,
6678 "column" : 8,
6679 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
6680 }
6681 },
6682 {
6683 "op" : "add_header",
6684 "parameters" : [
6685 {
6686 "type" : "header",
6687 "value" : "int_q_congestion"
6688 }
6689 ],
6690 "source_info" : {
6691 "filename" : "include/int_transit.p4",
6692 "line" : 78,
6693 "column" : 8,
6694 "source_fragment" : "hdr.int_q_congestion.setValid()"
6695 }
6696 },
6697 {
6698 "op" : "assign",
6699 "parameters" : [
6700 {
6701 "type" : "field",
6702 "value" : ["int_q_congestion", "q_id"]
6703 },
6704 {
6705 "type" : "hexstr",
6706 "value" : "0x00"
6707 }
6708 ],
6709 "source_info" : {
6710 "filename" : "include/int_transit.p4",
6711 "line" : 79,
6712 "column" : 8,
6713 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
6714 }
6715 },
6716 {
6717 "op" : "assign",
6718 "parameters" : [
6719 {
6720 "type" : "field",
6721 "value" : ["int_q_congestion", "q_congestion"]
6722 },
6723 {
6724 "type" : "hexstr",
6725 "value" : "0x000000"
6726 }
6727 ],
6728 "source_info" : {
6729 "filename" : "include/int_transit.p4",
6730 "line" : 82,
6731 "column" : 8,
6732 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
6733 }
6734 }
6735 ]
6736 },
6737 {
6738 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006739 "id" : 83,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006740 "runtime_data" : [],
6741 "primitives" : [
6742 {
6743 "op" : "add_header",
6744 "parameters" : [
6745 {
6746 "type" : "header",
6747 "value" : "int_egress_tstamp"
6748 }
6749 ],
6750 "source_info" : {
6751 "filename" : "include/int_transit.p4",
6752 "line" : 70,
6753 "column" : 8,
6754 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6755 }
6756 },
6757 {
6758 "op" : "assign",
6759 "parameters" : [
6760 {
6761 "type" : "field",
6762 "value" : ["int_egress_tstamp", "egress_tstamp"]
6763 },
6764 {
6765 "type" : "expression",
6766 "value" : {
6767 "type" : "expression",
6768 "value" : {
6769 "op" : "&",
6770 "left" : {
6771 "type" : "expression",
6772 "value" : {
6773 "op" : "+",
6774 "left" : {
6775 "type" : "field",
6776 "value" : ["standard_metadata", "enq_timestamp"]
6777 },
6778 "right" : {
6779 "type" : "field",
6780 "value" : ["standard_metadata", "deq_timedelta"]
6781 }
6782 }
6783 },
6784 "right" : {
6785 "type" : "hexstr",
6786 "value" : "0xffffffff"
6787 }
6788 }
6789 }
6790 }
6791 ],
6792 "source_info" : {
6793 "filename" : "include/int_transit.p4",
6794 "line" : 71,
6795 "column" : 8,
6796 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
6797 }
6798 }
6799 ]
6800 },
6801 {
6802 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006803 "id" : 84,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006804 "runtime_data" : [],
6805 "primitives" : [
6806 {
6807 "op" : "add_header",
6808 "parameters" : [
6809 {
6810 "type" : "header",
6811 "value" : "int_egress_tx_util"
6812 }
6813 ],
6814 "source_info" : {
6815 "filename" : "include/int_transit.p4",
6816 "line" : 88,
6817 "column" : 8,
6818 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
6819 }
6820 },
6821 {
6822 "op" : "assign",
6823 "parameters" : [
6824 {
6825 "type" : "field",
6826 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
6827 },
6828 {
6829 "type" : "hexstr",
6830 "value" : "0x00000000"
6831 }
6832 ],
6833 "source_info" : {
6834 "filename" : "include/int_transit.p4",
6835 "line" : 89,
6836 "column" : 8,
6837 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
6838 }
6839 },
6840 {
6841 "op" : "add_header",
6842 "parameters" : [
6843 {
6844 "type" : "header",
6845 "value" : "int_egress_tstamp"
6846 }
6847 ],
6848 "source_info" : {
6849 "filename" : "include/int_transit.p4",
6850 "line" : 70,
6851 "column" : 8,
6852 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6853 }
6854 },
6855 {
6856 "op" : "assign",
6857 "parameters" : [
6858 {
6859 "type" : "field",
6860 "value" : ["int_egress_tstamp", "egress_tstamp"]
6861 },
6862 {
6863 "type" : "expression",
6864 "value" : {
6865 "type" : "expression",
6866 "value" : {
6867 "op" : "&",
6868 "left" : {
6869 "type" : "expression",
6870 "value" : {
6871 "op" : "+",
6872 "left" : {
6873 "type" : "field",
6874 "value" : ["standard_metadata", "enq_timestamp"]
6875 },
6876 "right" : {
6877 "type" : "field",
6878 "value" : ["standard_metadata", "deq_timedelta"]
6879 }
6880 }
6881 },
6882 "right" : {
6883 "type" : "hexstr",
6884 "value" : "0xffffffff"
6885 }
6886 }
6887 }
6888 }
6889 ],
6890 "source_info" : {
6891 "filename" : "include/int_transit.p4",
6892 "line" : 71,
6893 "column" : 8,
6894 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
6895 }
6896 }
6897 ]
6898 },
6899 {
6900 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006901 "id" : 85,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09006902 "runtime_data" : [],
6903 "primitives" : [
6904 {
6905 "op" : "add_header",
6906 "parameters" : [
6907 {
6908 "type" : "header",
6909 "value" : "int_q_congestion"
6910 }
6911 ],
6912 "source_info" : {
6913 "filename" : "include/int_transit.p4",
6914 "line" : 78,
6915 "column" : 8,
6916 "source_fragment" : "hdr.int_q_congestion.setValid()"
6917 }
6918 },
6919 {
6920 "op" : "assign",
6921 "parameters" : [
6922 {
6923 "type" : "field",
6924 "value" : ["int_q_congestion", "q_id"]
6925 },
6926 {
6927 "type" : "hexstr",
6928 "value" : "0x00"
6929 }
6930 ],
6931 "source_info" : {
6932 "filename" : "include/int_transit.p4",
6933 "line" : 79,
6934 "column" : 8,
6935 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
6936 }
6937 },
6938 {
6939 "op" : "assign",
6940 "parameters" : [
6941 {
6942 "type" : "field",
6943 "value" : ["int_q_congestion", "q_congestion"]
6944 },
6945 {
6946 "type" : "hexstr",
6947 "value" : "0x000000"
6948 }
6949 ],
6950 "source_info" : {
6951 "filename" : "include/int_transit.p4",
6952 "line" : 82,
6953 "column" : 8,
6954 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
6955 }
6956 },
6957 {
6958 "op" : "add_header",
6959 "parameters" : [
6960 {
6961 "type" : "header",
6962 "value" : "int_egress_tstamp"
6963 }
6964 ],
6965 "source_info" : {
6966 "filename" : "include/int_transit.p4",
6967 "line" : 70,
6968 "column" : 8,
6969 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6970 }
6971 },
6972 {
6973 "op" : "assign",
6974 "parameters" : [
6975 {
6976 "type" : "field",
6977 "value" : ["int_egress_tstamp", "egress_tstamp"]
6978 },
6979 {
6980 "type" : "expression",
6981 "value" : {
6982 "type" : "expression",
6983 "value" : {
6984 "op" : "&",
6985 "left" : {
6986 "type" : "expression",
6987 "value" : {
6988 "op" : "+",
6989 "left" : {
6990 "type" : "field",
6991 "value" : ["standard_metadata", "enq_timestamp"]
6992 },
6993 "right" : {
6994 "type" : "field",
6995 "value" : ["standard_metadata", "deq_timedelta"]
6996 }
6997 }
6998 },
6999 "right" : {
7000 "type" : "hexstr",
7001 "value" : "0xffffffff"
7002 }
7003 }
7004 }
7005 }
7006 ],
7007 "source_info" : {
7008 "filename" : "include/int_transit.p4",
7009 "line" : 71,
7010 "column" : 8,
7011 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7012 }
7013 }
7014 ]
7015 },
7016 {
7017 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007018 "id" : 86,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007019 "runtime_data" : [],
7020 "primitives" : [
7021 {
7022 "op" : "add_header",
7023 "parameters" : [
7024 {
7025 "type" : "header",
7026 "value" : "int_egress_tx_util"
7027 }
7028 ],
7029 "source_info" : {
7030 "filename" : "include/int_transit.p4",
7031 "line" : 88,
7032 "column" : 8,
7033 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
7034 }
7035 },
7036 {
7037 "op" : "assign",
7038 "parameters" : [
7039 {
7040 "type" : "field",
7041 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
7042 },
7043 {
7044 "type" : "hexstr",
7045 "value" : "0x00000000"
7046 }
7047 ],
7048 "source_info" : {
7049 "filename" : "include/int_transit.p4",
7050 "line" : 89,
7051 "column" : 8,
7052 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
7053 }
7054 },
7055 {
7056 "op" : "add_header",
7057 "parameters" : [
7058 {
7059 "type" : "header",
7060 "value" : "int_q_congestion"
7061 }
7062 ],
7063 "source_info" : {
7064 "filename" : "include/int_transit.p4",
7065 "line" : 78,
7066 "column" : 8,
7067 "source_fragment" : "hdr.int_q_congestion.setValid()"
7068 }
7069 },
7070 {
7071 "op" : "assign",
7072 "parameters" : [
7073 {
7074 "type" : "field",
7075 "value" : ["int_q_congestion", "q_id"]
7076 },
7077 {
7078 "type" : "hexstr",
7079 "value" : "0x00"
7080 }
7081 ],
7082 "source_info" : {
7083 "filename" : "include/int_transit.p4",
7084 "line" : 79,
7085 "column" : 8,
7086 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
7087 }
7088 },
7089 {
7090 "op" : "assign",
7091 "parameters" : [
7092 {
7093 "type" : "field",
7094 "value" : ["int_q_congestion", "q_congestion"]
7095 },
7096 {
7097 "type" : "hexstr",
7098 "value" : "0x000000"
7099 }
7100 ],
7101 "source_info" : {
7102 "filename" : "include/int_transit.p4",
7103 "line" : 82,
7104 "column" : 8,
7105 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
7106 }
7107 },
7108 {
7109 "op" : "add_header",
7110 "parameters" : [
7111 {
7112 "type" : "header",
7113 "value" : "int_egress_tstamp"
7114 }
7115 ],
7116 "source_info" : {
7117 "filename" : "include/int_transit.p4",
7118 "line" : 70,
7119 "column" : 8,
7120 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7121 }
7122 },
7123 {
7124 "op" : "assign",
7125 "parameters" : [
7126 {
7127 "type" : "field",
7128 "value" : ["int_egress_tstamp", "egress_tstamp"]
7129 },
7130 {
7131 "type" : "expression",
7132 "value" : {
7133 "type" : "expression",
7134 "value" : {
7135 "op" : "&",
7136 "left" : {
7137 "type" : "expression",
7138 "value" : {
7139 "op" : "+",
7140 "left" : {
7141 "type" : "field",
7142 "value" : ["standard_metadata", "enq_timestamp"]
7143 },
7144 "right" : {
7145 "type" : "field",
7146 "value" : ["standard_metadata", "deq_timedelta"]
7147 }
7148 }
7149 },
7150 "right" : {
7151 "type" : "hexstr",
7152 "value" : "0xffffffff"
7153 }
7154 }
7155 }
7156 }
7157 ],
7158 "source_info" : {
7159 "filename" : "include/int_transit.p4",
7160 "line" : 71,
7161 "column" : 8,
7162 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7163 }
7164 }
7165 ]
7166 },
7167 {
7168 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007169 "id" : 87,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007170 "runtime_data" : [],
7171 "primitives" : [
7172 {
7173 "op" : "add_header",
7174 "parameters" : [
7175 {
7176 "type" : "header",
7177 "value" : "int_ingress_tstamp"
7178 }
7179 ],
7180 "source_info" : {
7181 "filename" : "include/int_transit.p4",
7182 "line" : 65,
7183 "column" : 8,
7184 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7185 }
7186 },
7187 {
7188 "op" : "assign",
7189 "parameters" : [
7190 {
7191 "type" : "field",
7192 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7193 },
7194 {
7195 "type" : "field",
7196 "value" : ["standard_metadata", "enq_timestamp"]
7197 }
7198 ],
7199 "source_info" : {
7200 "filename" : "include/int_transit.p4",
7201 "line" : 66,
7202 "column" : 8,
7203 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7204 }
7205 }
7206 ]
7207 },
7208 {
7209 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007210 "id" : 88,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007211 "runtime_data" : [],
7212 "primitives" : [
7213 {
7214 "op" : "add_header",
7215 "parameters" : [
7216 {
7217 "type" : "header",
7218 "value" : "int_egress_tx_util"
7219 }
7220 ],
7221 "source_info" : {
7222 "filename" : "include/int_transit.p4",
7223 "line" : 88,
7224 "column" : 8,
7225 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
7226 }
7227 },
7228 {
7229 "op" : "assign",
7230 "parameters" : [
7231 {
7232 "type" : "field",
7233 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
7234 },
7235 {
7236 "type" : "hexstr",
7237 "value" : "0x00000000"
7238 }
7239 ],
7240 "source_info" : {
7241 "filename" : "include/int_transit.p4",
7242 "line" : 89,
7243 "column" : 8,
7244 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
7245 }
7246 },
7247 {
7248 "op" : "add_header",
7249 "parameters" : [
7250 {
7251 "type" : "header",
7252 "value" : "int_ingress_tstamp"
7253 }
7254 ],
7255 "source_info" : {
7256 "filename" : "include/int_transit.p4",
7257 "line" : 65,
7258 "column" : 8,
7259 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7260 }
7261 },
7262 {
7263 "op" : "assign",
7264 "parameters" : [
7265 {
7266 "type" : "field",
7267 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7268 },
7269 {
7270 "type" : "field",
7271 "value" : ["standard_metadata", "enq_timestamp"]
7272 }
7273 ],
7274 "source_info" : {
7275 "filename" : "include/int_transit.p4",
7276 "line" : 66,
7277 "column" : 8,
7278 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7279 }
7280 }
7281 ]
7282 },
7283 {
7284 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007285 "id" : 89,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007286 "runtime_data" : [],
7287 "primitives" : [
7288 {
7289 "op" : "add_header",
7290 "parameters" : [
7291 {
7292 "type" : "header",
7293 "value" : "int_q_congestion"
7294 }
7295 ],
7296 "source_info" : {
7297 "filename" : "include/int_transit.p4",
7298 "line" : 78,
7299 "column" : 8,
7300 "source_fragment" : "hdr.int_q_congestion.setValid()"
7301 }
7302 },
7303 {
7304 "op" : "assign",
7305 "parameters" : [
7306 {
7307 "type" : "field",
7308 "value" : ["int_q_congestion", "q_id"]
7309 },
7310 {
7311 "type" : "hexstr",
7312 "value" : "0x00"
7313 }
7314 ],
7315 "source_info" : {
7316 "filename" : "include/int_transit.p4",
7317 "line" : 79,
7318 "column" : 8,
7319 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
7320 }
7321 },
7322 {
7323 "op" : "assign",
7324 "parameters" : [
7325 {
7326 "type" : "field",
7327 "value" : ["int_q_congestion", "q_congestion"]
7328 },
7329 {
7330 "type" : "hexstr",
7331 "value" : "0x000000"
7332 }
7333 ],
7334 "source_info" : {
7335 "filename" : "include/int_transit.p4",
7336 "line" : 82,
7337 "column" : 8,
7338 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
7339 }
7340 },
7341 {
7342 "op" : "add_header",
7343 "parameters" : [
7344 {
7345 "type" : "header",
7346 "value" : "int_ingress_tstamp"
7347 }
7348 ],
7349 "source_info" : {
7350 "filename" : "include/int_transit.p4",
7351 "line" : 65,
7352 "column" : 8,
7353 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7354 }
7355 },
7356 {
7357 "op" : "assign",
7358 "parameters" : [
7359 {
7360 "type" : "field",
7361 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7362 },
7363 {
7364 "type" : "field",
7365 "value" : ["standard_metadata", "enq_timestamp"]
7366 }
7367 ],
7368 "source_info" : {
7369 "filename" : "include/int_transit.p4",
7370 "line" : 66,
7371 "column" : 8,
7372 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7373 }
7374 }
7375 ]
7376 },
7377 {
7378 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007379 "id" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007380 "runtime_data" : [],
7381 "primitives" : [
7382 {
7383 "op" : "add_header",
7384 "parameters" : [
7385 {
7386 "type" : "header",
7387 "value" : "int_egress_tx_util"
7388 }
7389 ],
7390 "source_info" : {
7391 "filename" : "include/int_transit.p4",
7392 "line" : 88,
7393 "column" : 8,
7394 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
7395 }
7396 },
7397 {
7398 "op" : "assign",
7399 "parameters" : [
7400 {
7401 "type" : "field",
7402 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
7403 },
7404 {
7405 "type" : "hexstr",
7406 "value" : "0x00000000"
7407 }
7408 ],
7409 "source_info" : {
7410 "filename" : "include/int_transit.p4",
7411 "line" : 89,
7412 "column" : 8,
7413 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
7414 }
7415 },
7416 {
7417 "op" : "add_header",
7418 "parameters" : [
7419 {
7420 "type" : "header",
7421 "value" : "int_q_congestion"
7422 }
7423 ],
7424 "source_info" : {
7425 "filename" : "include/int_transit.p4",
7426 "line" : 78,
7427 "column" : 8,
7428 "source_fragment" : "hdr.int_q_congestion.setValid()"
7429 }
7430 },
7431 {
7432 "op" : "assign",
7433 "parameters" : [
7434 {
7435 "type" : "field",
7436 "value" : ["int_q_congestion", "q_id"]
7437 },
7438 {
7439 "type" : "hexstr",
7440 "value" : "0x00"
7441 }
7442 ],
7443 "source_info" : {
7444 "filename" : "include/int_transit.p4",
7445 "line" : 79,
7446 "column" : 8,
7447 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
7448 }
7449 },
7450 {
7451 "op" : "assign",
7452 "parameters" : [
7453 {
7454 "type" : "field",
7455 "value" : ["int_q_congestion", "q_congestion"]
7456 },
7457 {
7458 "type" : "hexstr",
7459 "value" : "0x000000"
7460 }
7461 ],
7462 "source_info" : {
7463 "filename" : "include/int_transit.p4",
7464 "line" : 82,
7465 "column" : 8,
7466 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
7467 }
7468 },
7469 {
7470 "op" : "add_header",
7471 "parameters" : [
7472 {
7473 "type" : "header",
7474 "value" : "int_ingress_tstamp"
7475 }
7476 ],
7477 "source_info" : {
7478 "filename" : "include/int_transit.p4",
7479 "line" : 65,
7480 "column" : 8,
7481 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7482 }
7483 },
7484 {
7485 "op" : "assign",
7486 "parameters" : [
7487 {
7488 "type" : "field",
7489 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7490 },
7491 {
7492 "type" : "field",
7493 "value" : ["standard_metadata", "enq_timestamp"]
7494 }
7495 ],
7496 "source_info" : {
7497 "filename" : "include/int_transit.p4",
7498 "line" : 66,
7499 "column" : 8,
7500 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7501 }
7502 }
7503 ]
7504 },
7505 {
7506 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007507 "id" : 91,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007508 "runtime_data" : [],
7509 "primitives" : [
7510 {
7511 "op" : "add_header",
7512 "parameters" : [
7513 {
7514 "type" : "header",
7515 "value" : "int_egress_tstamp"
7516 }
7517 ],
7518 "source_info" : {
7519 "filename" : "include/int_transit.p4",
7520 "line" : 70,
7521 "column" : 8,
7522 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7523 }
7524 },
7525 {
7526 "op" : "assign",
7527 "parameters" : [
7528 {
7529 "type" : "field",
7530 "value" : ["int_egress_tstamp", "egress_tstamp"]
7531 },
7532 {
7533 "type" : "expression",
7534 "value" : {
7535 "type" : "expression",
7536 "value" : {
7537 "op" : "&",
7538 "left" : {
7539 "type" : "expression",
7540 "value" : {
7541 "op" : "+",
7542 "left" : {
7543 "type" : "field",
7544 "value" : ["standard_metadata", "enq_timestamp"]
7545 },
7546 "right" : {
7547 "type" : "field",
7548 "value" : ["standard_metadata", "deq_timedelta"]
7549 }
7550 }
7551 },
7552 "right" : {
7553 "type" : "hexstr",
7554 "value" : "0xffffffff"
7555 }
7556 }
7557 }
7558 }
7559 ],
7560 "source_info" : {
7561 "filename" : "include/int_transit.p4",
7562 "line" : 71,
7563 "column" : 8,
7564 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7565 }
7566 },
7567 {
7568 "op" : "add_header",
7569 "parameters" : [
7570 {
7571 "type" : "header",
7572 "value" : "int_ingress_tstamp"
7573 }
7574 ],
7575 "source_info" : {
7576 "filename" : "include/int_transit.p4",
7577 "line" : 65,
7578 "column" : 8,
7579 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7580 }
7581 },
7582 {
7583 "op" : "assign",
7584 "parameters" : [
7585 {
7586 "type" : "field",
7587 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7588 },
7589 {
7590 "type" : "field",
7591 "value" : ["standard_metadata", "enq_timestamp"]
7592 }
7593 ],
7594 "source_info" : {
7595 "filename" : "include/int_transit.p4",
7596 "line" : 66,
7597 "column" : 8,
7598 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7599 }
7600 }
7601 ]
7602 },
7603 {
7604 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007605 "id" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007606 "runtime_data" : [],
7607 "primitives" : [
7608 {
7609 "op" : "add_header",
7610 "parameters" : [
7611 {
7612 "type" : "header",
7613 "value" : "int_egress_tx_util"
7614 }
7615 ],
7616 "source_info" : {
7617 "filename" : "include/int_transit.p4",
7618 "line" : 88,
7619 "column" : 8,
7620 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
7621 }
7622 },
7623 {
7624 "op" : "assign",
7625 "parameters" : [
7626 {
7627 "type" : "field",
7628 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
7629 },
7630 {
7631 "type" : "hexstr",
7632 "value" : "0x00000000"
7633 }
7634 ],
7635 "source_info" : {
7636 "filename" : "include/int_transit.p4",
7637 "line" : 89,
7638 "column" : 8,
7639 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
7640 }
7641 },
7642 {
7643 "op" : "add_header",
7644 "parameters" : [
7645 {
7646 "type" : "header",
7647 "value" : "int_egress_tstamp"
7648 }
7649 ],
7650 "source_info" : {
7651 "filename" : "include/int_transit.p4",
7652 "line" : 70,
7653 "column" : 8,
7654 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7655 }
7656 },
7657 {
7658 "op" : "assign",
7659 "parameters" : [
7660 {
7661 "type" : "field",
7662 "value" : ["int_egress_tstamp", "egress_tstamp"]
7663 },
7664 {
7665 "type" : "expression",
7666 "value" : {
7667 "type" : "expression",
7668 "value" : {
7669 "op" : "&",
7670 "left" : {
7671 "type" : "expression",
7672 "value" : {
7673 "op" : "+",
7674 "left" : {
7675 "type" : "field",
7676 "value" : ["standard_metadata", "enq_timestamp"]
7677 },
7678 "right" : {
7679 "type" : "field",
7680 "value" : ["standard_metadata", "deq_timedelta"]
7681 }
7682 }
7683 },
7684 "right" : {
7685 "type" : "hexstr",
7686 "value" : "0xffffffff"
7687 }
7688 }
7689 }
7690 }
7691 ],
7692 "source_info" : {
7693 "filename" : "include/int_transit.p4",
7694 "line" : 71,
7695 "column" : 8,
7696 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7697 }
7698 },
7699 {
7700 "op" : "add_header",
7701 "parameters" : [
7702 {
7703 "type" : "header",
7704 "value" : "int_ingress_tstamp"
7705 }
7706 ],
7707 "source_info" : {
7708 "filename" : "include/int_transit.p4",
7709 "line" : 65,
7710 "column" : 8,
7711 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7712 }
7713 },
7714 {
7715 "op" : "assign",
7716 "parameters" : [
7717 {
7718 "type" : "field",
7719 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7720 },
7721 {
7722 "type" : "field",
7723 "value" : ["standard_metadata", "enq_timestamp"]
7724 }
7725 ],
7726 "source_info" : {
7727 "filename" : "include/int_transit.p4",
7728 "line" : 66,
7729 "column" : 8,
7730 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7731 }
7732 }
7733 ]
7734 },
7735 {
7736 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007737 "id" : 93,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007738 "runtime_data" : [],
7739 "primitives" : [
7740 {
7741 "op" : "add_header",
7742 "parameters" : [
7743 {
7744 "type" : "header",
7745 "value" : "int_q_congestion"
7746 }
7747 ],
7748 "source_info" : {
7749 "filename" : "include/int_transit.p4",
7750 "line" : 78,
7751 "column" : 8,
7752 "source_fragment" : "hdr.int_q_congestion.setValid()"
7753 }
7754 },
7755 {
7756 "op" : "assign",
7757 "parameters" : [
7758 {
7759 "type" : "field",
7760 "value" : ["int_q_congestion", "q_id"]
7761 },
7762 {
7763 "type" : "hexstr",
7764 "value" : "0x00"
7765 }
7766 ],
7767 "source_info" : {
7768 "filename" : "include/int_transit.p4",
7769 "line" : 79,
7770 "column" : 8,
7771 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
7772 }
7773 },
7774 {
7775 "op" : "assign",
7776 "parameters" : [
7777 {
7778 "type" : "field",
7779 "value" : ["int_q_congestion", "q_congestion"]
7780 },
7781 {
7782 "type" : "hexstr",
7783 "value" : "0x000000"
7784 }
7785 ],
7786 "source_info" : {
7787 "filename" : "include/int_transit.p4",
7788 "line" : 82,
7789 "column" : 8,
7790 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
7791 }
7792 },
7793 {
7794 "op" : "add_header",
7795 "parameters" : [
7796 {
7797 "type" : "header",
7798 "value" : "int_egress_tstamp"
7799 }
7800 ],
7801 "source_info" : {
7802 "filename" : "include/int_transit.p4",
7803 "line" : 70,
7804 "column" : 8,
7805 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7806 }
7807 },
7808 {
7809 "op" : "assign",
7810 "parameters" : [
7811 {
7812 "type" : "field",
7813 "value" : ["int_egress_tstamp", "egress_tstamp"]
7814 },
7815 {
7816 "type" : "expression",
7817 "value" : {
7818 "type" : "expression",
7819 "value" : {
7820 "op" : "&",
7821 "left" : {
7822 "type" : "expression",
7823 "value" : {
7824 "op" : "+",
7825 "left" : {
7826 "type" : "field",
7827 "value" : ["standard_metadata", "enq_timestamp"]
7828 },
7829 "right" : {
7830 "type" : "field",
7831 "value" : ["standard_metadata", "deq_timedelta"]
7832 }
7833 }
7834 },
7835 "right" : {
7836 "type" : "hexstr",
7837 "value" : "0xffffffff"
7838 }
7839 }
7840 }
7841 }
7842 ],
7843 "source_info" : {
7844 "filename" : "include/int_transit.p4",
7845 "line" : 71,
7846 "column" : 8,
7847 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7848 }
7849 },
7850 {
7851 "op" : "add_header",
7852 "parameters" : [
7853 {
7854 "type" : "header",
7855 "value" : "int_ingress_tstamp"
7856 }
7857 ],
7858 "source_info" : {
7859 "filename" : "include/int_transit.p4",
7860 "line" : 65,
7861 "column" : 8,
7862 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7863 }
7864 },
7865 {
7866 "op" : "assign",
7867 "parameters" : [
7868 {
7869 "type" : "field",
7870 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7871 },
7872 {
7873 "type" : "field",
7874 "value" : ["standard_metadata", "enq_timestamp"]
7875 }
7876 ],
7877 "source_info" : {
7878 "filename" : "include/int_transit.p4",
7879 "line" : 66,
7880 "column" : 8,
7881 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7882 }
7883 }
7884 ]
7885 },
7886 {
7887 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007888 "id" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09007889 "runtime_data" : [],
7890 "primitives" : [
7891 {
7892 "op" : "add_header",
7893 "parameters" : [
7894 {
7895 "type" : "header",
7896 "value" : "int_egress_tx_util"
7897 }
7898 ],
7899 "source_info" : {
7900 "filename" : "include/int_transit.p4",
7901 "line" : 88,
7902 "column" : 8,
7903 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
7904 }
7905 },
7906 {
7907 "op" : "assign",
7908 "parameters" : [
7909 {
7910 "type" : "field",
7911 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
7912 },
7913 {
7914 "type" : "hexstr",
7915 "value" : "0x00000000"
7916 }
7917 ],
7918 "source_info" : {
7919 "filename" : "include/int_transit.p4",
7920 "line" : 89,
7921 "column" : 8,
7922 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
7923 }
7924 },
7925 {
7926 "op" : "add_header",
7927 "parameters" : [
7928 {
7929 "type" : "header",
7930 "value" : "int_q_congestion"
7931 }
7932 ],
7933 "source_info" : {
7934 "filename" : "include/int_transit.p4",
7935 "line" : 78,
7936 "column" : 8,
7937 "source_fragment" : "hdr.int_q_congestion.setValid()"
7938 }
7939 },
7940 {
7941 "op" : "assign",
7942 "parameters" : [
7943 {
7944 "type" : "field",
7945 "value" : ["int_q_congestion", "q_id"]
7946 },
7947 {
7948 "type" : "hexstr",
7949 "value" : "0x00"
7950 }
7951 ],
7952 "source_info" : {
7953 "filename" : "include/int_transit.p4",
7954 "line" : 79,
7955 "column" : 8,
7956 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
7957 }
7958 },
7959 {
7960 "op" : "assign",
7961 "parameters" : [
7962 {
7963 "type" : "field",
7964 "value" : ["int_q_congestion", "q_congestion"]
7965 },
7966 {
7967 "type" : "hexstr",
7968 "value" : "0x000000"
7969 }
7970 ],
7971 "source_info" : {
7972 "filename" : "include/int_transit.p4",
7973 "line" : 82,
7974 "column" : 8,
7975 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
7976 }
7977 },
7978 {
7979 "op" : "add_header",
7980 "parameters" : [
7981 {
7982 "type" : "header",
7983 "value" : "int_egress_tstamp"
7984 }
7985 ],
7986 "source_info" : {
7987 "filename" : "include/int_transit.p4",
7988 "line" : 70,
7989 "column" : 8,
7990 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7991 }
7992 },
7993 {
7994 "op" : "assign",
7995 "parameters" : [
7996 {
7997 "type" : "field",
7998 "value" : ["int_egress_tstamp", "egress_tstamp"]
7999 },
8000 {
8001 "type" : "expression",
8002 "value" : {
8003 "type" : "expression",
8004 "value" : {
8005 "op" : "&",
8006 "left" : {
8007 "type" : "expression",
8008 "value" : {
8009 "op" : "+",
8010 "left" : {
8011 "type" : "field",
8012 "value" : ["standard_metadata", "enq_timestamp"]
8013 },
8014 "right" : {
8015 "type" : "field",
8016 "value" : ["standard_metadata", "deq_timedelta"]
8017 }
8018 }
8019 },
8020 "right" : {
8021 "type" : "hexstr",
8022 "value" : "0xffffffff"
8023 }
8024 }
8025 }
8026 }
8027 ],
8028 "source_info" : {
8029 "filename" : "include/int_transit.p4",
8030 "line" : 71,
8031 "column" : 8,
8032 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8033 }
8034 },
8035 {
8036 "op" : "add_header",
8037 "parameters" : [
8038 {
8039 "type" : "header",
8040 "value" : "int_ingress_tstamp"
8041 }
8042 ],
8043 "source_info" : {
8044 "filename" : "include/int_transit.p4",
8045 "line" : 65,
8046 "column" : 8,
8047 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8048 }
8049 },
8050 {
8051 "op" : "assign",
8052 "parameters" : [
8053 {
8054 "type" : "field",
8055 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
8056 },
8057 {
8058 "type" : "field",
8059 "value" : ["standard_metadata", "enq_timestamp"]
8060 }
8061 ],
8062 "source_info" : {
8063 "filename" : "include/int_transit.p4",
8064 "line" : 66,
8065 "column" : 8,
8066 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
8067 }
8068 }
8069 ]
8070 },
8071 {
8072 "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008073 "id" : 95,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008074 "runtime_data" : [],
8075 "primitives" : [
8076 {
8077 "op" : "assign",
8078 "parameters" : [
8079 {
8080 "type" : "field",
8081 "value" : ["ipv4", "total_len"]
8082 },
8083 {
8084 "type" : "expression",
8085 "value" : {
8086 "type" : "expression",
8087 "value" : {
8088 "op" : "&",
8089 "left" : {
8090 "type" : "expression",
8091 "value" : {
8092 "op" : "+",
8093 "left" : {
8094 "type" : "field",
8095 "value" : ["ipv4", "total_len"]
8096 },
8097 "right" : {
8098 "type" : "field",
8099 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
8100 }
8101 }
8102 },
8103 "right" : {
8104 "type" : "hexstr",
8105 "value" : "0xffff"
8106 }
8107 }
8108 }
8109 }
8110 ],
8111 "source_info" : {
8112 "filename" : "include/int_transit.p4",
8113 "line" : 304,
8114 "column" : 8,
8115 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
8116 }
8117 }
8118 ]
8119 },
8120 {
8121 "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008122 "id" : 96,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008123 "runtime_data" : [],
8124 "primitives" : [
8125 {
8126 "op" : "assign",
8127 "parameters" : [
8128 {
8129 "type" : "field",
8130 "value" : ["udp", "len"]
8131 },
8132 {
8133 "type" : "expression",
8134 "value" : {
8135 "type" : "expression",
8136 "value" : {
8137 "op" : "&",
8138 "left" : {
8139 "type" : "expression",
8140 "value" : {
8141 "op" : "+",
8142 "left" : {
8143 "type" : "field",
8144 "value" : ["udp", "len"]
8145 },
8146 "right" : {
8147 "type" : "field",
8148 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
8149 }
8150 }
8151 },
8152 "right" : {
8153 "type" : "hexstr",
8154 "value" : "0xffff"
8155 }
8156 }
8157 }
8158 }
8159 ],
8160 "source_info" : {
8161 "filename" : "include/int_transit.p4",
8162 "line" : 307,
8163 "column" : 8,
8164 "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
8165 }
8166 }
8167 ]
8168 },
8169 {
8170 "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008171 "id" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008172 "runtime_data" : [],
8173 "primitives" : [
8174 {
8175 "op" : "assign",
8176 "parameters" : [
8177 {
8178 "type" : "field",
8179 "value" : ["intl4_shim", "len"]
8180 },
8181 {
8182 "type" : "expression",
8183 "value" : {
8184 "type" : "expression",
8185 "value" : {
8186 "op" : "&",
8187 "left" : {
8188 "type" : "expression",
8189 "value" : {
8190 "op" : "+",
8191 "left" : {
8192 "type" : "field",
8193 "value" : ["intl4_shim", "len"]
8194 },
8195 "right" : {
8196 "type" : "expression",
8197 "value" : {
8198 "op" : "&",
8199 "left" : {
8200 "type" : "field",
8201 "value" : ["int_header", "ins_cnt"]
8202 },
8203 "right" : {
8204 "type" : "hexstr",
8205 "value" : "0xff"
8206 }
8207 }
8208 }
8209 }
8210 },
8211 "right" : {
8212 "type" : "hexstr",
8213 "value" : "0xff"
8214 }
8215 }
8216 }
8217 }
8218 ],
8219 "source_info" : {
8220 "filename" : "include/int_transit.p4",
8221 "line" : 310,
8222 "column" : 8,
8223 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
8224 }
8225 }
8226 ]
8227 },
8228 {
8229 "name" : "FabricEgress.process_int_report.do_report_encapsulation",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008230 "id" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008231 "runtime_data" : [
8232 {
8233 "name" : "src_mac",
8234 "bitwidth" : 48
8235 },
8236 {
8237 "name" : "mon_mac",
8238 "bitwidth" : 48
8239 },
8240 {
8241 "name" : "src_ip",
8242 "bitwidth" : 32
8243 },
8244 {
8245 "name" : "mon_ip",
8246 "bitwidth" : 32
8247 },
8248 {
8249 "name" : "mon_port",
8250 "bitwidth" : 16
8251 }
8252 ],
8253 "primitives" : [
8254 {
8255 "op" : "add_header",
8256 "parameters" : [
8257 {
8258 "type" : "header",
8259 "value" : "report_ethernet"
8260 }
8261 ],
8262 "source_info" : {
8263 "filename" : "include/int_report.p4",
8264 "line" : 50,
8265 "column" : 8,
8266 "source_fragment" : "hdr.report_ethernet.setValid()"
8267 }
8268 },
8269 {
8270 "op" : "assign",
8271 "parameters" : [
8272 {
8273 "type" : "field",
8274 "value" : ["report_ethernet", "dst_addr"]
8275 },
8276 {
8277 "type" : "runtime_data",
8278 "value" : 1
8279 }
8280 ],
8281 "source_info" : {
8282 "filename" : "include/int_report.p4",
8283 "line" : 51,
8284 "column" : 8,
8285 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
8286 }
8287 },
8288 {
8289 "op" : "assign",
8290 "parameters" : [
8291 {
8292 "type" : "field",
8293 "value" : ["report_ethernet", "src_addr"]
8294 },
8295 {
8296 "type" : "runtime_data",
8297 "value" : 0
8298 }
8299 ],
8300 "source_info" : {
8301 "filename" : "include/int_report.p4",
8302 "line" : 52,
8303 "column" : 8,
8304 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
8305 }
8306 },
8307 {
8308 "op" : "assign",
8309 "parameters" : [
8310 {
8311 "type" : "field",
8312 "value" : ["report_ethernet", "ether_type"]
8313 },
8314 {
8315 "type" : "hexstr",
8316 "value" : "0x0800"
8317 }
8318 ],
8319 "source_info" : {
8320 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008321 "line" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008322 "column" : 31,
8323 "source_fragment" : "0x0800; ..."
8324 }
8325 },
8326 {
8327 "op" : "add_header",
8328 "parameters" : [
8329 {
8330 "type" : "header",
8331 "value" : "report_ipv4"
8332 }
8333 ],
8334 "source_info" : {
8335 "filename" : "include/int_report.p4",
8336 "line" : 56,
8337 "column" : 8,
8338 "source_fragment" : "hdr.report_ipv4.setValid()"
8339 }
8340 },
8341 {
8342 "op" : "assign",
8343 "parameters" : [
8344 {
8345 "type" : "field",
8346 "value" : ["report_ipv4", "version"]
8347 },
8348 {
8349 "type" : "hexstr",
8350 "value" : "0x04"
8351 }
8352 ],
8353 "source_info" : {
8354 "filename" : "include/int_report.p4",
8355 "line" : 57,
8356 "column" : 8,
8357 "source_fragment" : "hdr.report_ipv4.version = 4w4"
8358 }
8359 },
8360 {
8361 "op" : "assign",
8362 "parameters" : [
8363 {
8364 "type" : "field",
8365 "value" : ["report_ipv4", "ihl"]
8366 },
8367 {
8368 "type" : "hexstr",
8369 "value" : "0x05"
8370 }
8371 ],
8372 "source_info" : {
8373 "filename" : "include/int_report.p4",
8374 "line" : 58,
8375 "column" : 8,
8376 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
8377 }
8378 },
8379 {
8380 "op" : "assign",
8381 "parameters" : [
8382 {
8383 "type" : "field",
8384 "value" : ["report_ipv4", "dscp"]
8385 },
8386 {
8387 "type" : "hexstr",
8388 "value" : "0x00"
8389 }
8390 ],
8391 "source_info" : {
8392 "filename" : "include/int_report.p4",
8393 "line" : 59,
8394 "column" : 8,
8395 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
8396 }
8397 },
8398 {
8399 "op" : "assign",
8400 "parameters" : [
8401 {
8402 "type" : "field",
8403 "value" : ["report_ipv4", "ecn"]
8404 },
8405 {
8406 "type" : "hexstr",
8407 "value" : "0x00"
8408 }
8409 ],
8410 "source_info" : {
8411 "filename" : "include/int_report.p4",
8412 "line" : 60,
8413 "column" : 8,
8414 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
8415 }
8416 },
8417 {
8418 "op" : "assign",
8419 "parameters" : [
8420 {
8421 "type" : "field",
8422 "value" : ["report_ipv4", "total_len"]
8423 },
8424 {
8425 "type" : "expression",
8426 "value" : {
8427 "type" : "expression",
8428 "value" : {
8429 "op" : "&",
8430 "left" : {
8431 "type" : "expression",
8432 "value" : {
8433 "op" : "+",
8434 "left" : {
8435 "type" : "hexstr",
8436 "value" : "0x0036"
8437 },
8438 "right" : {
8439 "type" : "field",
8440 "value" : ["ipv4", "total_len"]
8441 }
8442 }
8443 },
8444 "right" : {
8445 "type" : "hexstr",
8446 "value" : "0xffff"
8447 }
8448 }
8449 }
8450 }
8451 ],
8452 "source_info" : {
8453 "filename" : "include/int_report.p4",
8454 "line" : 62,
8455 "column" : 8,
8456 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
8457 }
8458 },
8459 {
8460 "op" : "assign",
8461 "parameters" : [
8462 {
8463 "type" : "field",
8464 "value" : ["report_ipv4", "identification"]
8465 },
8466 {
8467 "type" : "hexstr",
8468 "value" : "0x0000"
8469 }
8470 ],
8471 "source_info" : {
8472 "filename" : "include/int_report.p4",
8473 "line" : 65,
8474 "column" : 8,
8475 "source_fragment" : "hdr.report_ipv4.identification = 0"
8476 }
8477 },
8478 {
8479 "op" : "assign",
8480 "parameters" : [
8481 {
8482 "type" : "field",
8483 "value" : ["report_ipv4", "flags"]
8484 },
8485 {
8486 "type" : "hexstr",
8487 "value" : "0x00"
8488 }
8489 ],
8490 "source_info" : {
8491 "filename" : "include/int_report.p4",
8492 "line" : 66,
8493 "column" : 8,
8494 "source_fragment" : "hdr.report_ipv4.flags = 0"
8495 }
8496 },
8497 {
8498 "op" : "assign",
8499 "parameters" : [
8500 {
8501 "type" : "field",
8502 "value" : ["report_ipv4", "frag_offset"]
8503 },
8504 {
8505 "type" : "hexstr",
8506 "value" : "0x0000"
8507 }
8508 ],
8509 "source_info" : {
8510 "filename" : "include/int_report.p4",
8511 "line" : 67,
8512 "column" : 8,
8513 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
8514 }
8515 },
8516 {
8517 "op" : "assign",
8518 "parameters" : [
8519 {
8520 "type" : "field",
8521 "value" : ["report_ipv4", "ttl"]
8522 },
8523 {
8524 "type" : "hexstr",
8525 "value" : "0xff"
8526 }
8527 ],
8528 "source_info" : {
8529 "filename" : "include/int_report.p4",
8530 "line" : 68,
8531 "column" : 8,
8532 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
8533 }
8534 },
8535 {
8536 "op" : "assign",
8537 "parameters" : [
8538 {
8539 "type" : "field",
8540 "value" : ["report_ipv4", "protocol"]
8541 },
8542 {
8543 "type" : "hexstr",
8544 "value" : "0x11"
8545 }
8546 ],
8547 "source_info" : {
8548 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008549 "line" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008550 "column" : 25,
8551 "source_fragment" : "17; ..."
8552 }
8553 },
8554 {
8555 "op" : "assign",
8556 "parameters" : [
8557 {
8558 "type" : "field",
8559 "value" : ["report_ipv4", "src_addr"]
8560 },
8561 {
8562 "type" : "runtime_data",
8563 "value" : 2
8564 }
8565 ],
8566 "source_info" : {
8567 "filename" : "include/int_report.p4",
8568 "line" : 70,
8569 "column" : 8,
8570 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
8571 }
8572 },
8573 {
8574 "op" : "assign",
8575 "parameters" : [
8576 {
8577 "type" : "field",
8578 "value" : ["report_ipv4", "dst_addr"]
8579 },
8580 {
8581 "type" : "runtime_data",
8582 "value" : 3
8583 }
8584 ],
8585 "source_info" : {
8586 "filename" : "include/int_report.p4",
8587 "line" : 71,
8588 "column" : 8,
8589 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
8590 }
8591 },
8592 {
8593 "op" : "add_header",
8594 "parameters" : [
8595 {
8596 "type" : "header",
8597 "value" : "report_udp"
8598 }
8599 ],
8600 "source_info" : {
8601 "filename" : "include/int_report.p4",
8602 "line" : 74,
8603 "column" : 8,
8604 "source_fragment" : "hdr.report_udp.setValid()"
8605 }
8606 },
8607 {
8608 "op" : "assign",
8609 "parameters" : [
8610 {
8611 "type" : "field",
8612 "value" : ["report_udp", "src_port"]
8613 },
8614 {
8615 "type" : "hexstr",
8616 "value" : "0x0000"
8617 }
8618 ],
8619 "source_info" : {
8620 "filename" : "include/int_report.p4",
8621 "line" : 75,
8622 "column" : 8,
8623 "source_fragment" : "hdr.report_udp.src_port = 0"
8624 }
8625 },
8626 {
8627 "op" : "assign",
8628 "parameters" : [
8629 {
8630 "type" : "field",
8631 "value" : ["report_udp", "dst_port"]
8632 },
8633 {
8634 "type" : "runtime_data",
8635 "value" : 4
8636 }
8637 ],
8638 "source_info" : {
8639 "filename" : "include/int_report.p4",
8640 "line" : 76,
8641 "column" : 8,
8642 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
8643 }
8644 },
8645 {
8646 "op" : "assign",
8647 "parameters" : [
8648 {
8649 "type" : "field",
8650 "value" : ["report_udp", "len"]
8651 },
8652 {
8653 "type" : "expression",
8654 "value" : {
8655 "type" : "expression",
8656 "value" : {
8657 "op" : "&",
8658 "left" : {
8659 "type" : "expression",
8660 "value" : {
8661 "op" : "+",
8662 "left" : {
8663 "type" : "hexstr",
8664 "value" : "0x0022"
8665 },
8666 "right" : {
8667 "type" : "field",
8668 "value" : ["ipv4", "total_len"]
8669 }
8670 }
8671 },
8672 "right" : {
8673 "type" : "hexstr",
8674 "value" : "0xffff"
8675 }
8676 }
8677 }
8678 }
8679 ],
8680 "source_info" : {
8681 "filename" : "include/int_report.p4",
8682 "line" : 77,
8683 "column" : 8,
8684 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
8685 }
8686 },
8687 {
8688 "op" : "assign",
8689 "parameters" : [
8690 {
8691 "type" : "field",
8692 "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
8693 },
8694 {
8695 "type" : "expression",
8696 "value" : {
8697 "type" : "expression",
8698 "value" : {
8699 "op" : "b2d",
8700 "left" : null,
8701 "right" : {
8702 "type" : "bool",
8703 "value" : true
8704 }
8705 }
8706 }
8707 }
8708 ],
8709 "source_info" : {
8710 "filename" : "include/int_report.p4",
8711 "line" : 80,
8712 "column" : 8,
8713 "source_fragment" : "fabric_metadata.compute_checksum = true"
8714 }
8715 },
8716 {
8717 "op" : "add_header",
8718 "parameters" : [
8719 {
8720 "type" : "header",
8721 "value" : "report_fixed_header"
8722 }
8723 ],
8724 "source_info" : {
8725 "filename" : "include/int_report.p4",
8726 "line" : 30,
8727 "column" : 8,
8728 "source_fragment" : "hdr.report_fixed_header.setValid()"
8729 }
8730 },
8731 {
8732 "op" : "assign",
8733 "parameters" : [
8734 {
8735 "type" : "field",
8736 "value" : ["report_fixed_header", "ver"]
8737 },
8738 {
8739 "type" : "hexstr",
8740 "value" : "0x00"
8741 }
8742 ],
8743 "source_info" : {
8744 "filename" : "include/int_report.p4",
8745 "line" : 31,
8746 "column" : 8,
8747 "source_fragment" : "hdr.report_fixed_header.ver = 0"
8748 }
8749 },
8750 {
8751 "op" : "assign",
8752 "parameters" : [
8753 {
8754 "type" : "field",
8755 "value" : ["report_fixed_header", "nproto"]
8756 },
8757 {
8758 "type" : "hexstr",
8759 "value" : "0x00"
8760 }
8761 ],
8762 "source_info" : {
8763 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008764 "line" : 132,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008765 "column" : 31,
8766 "source_fragment" : "0; ..."
8767 }
8768 },
8769 {
8770 "op" : "assign",
8771 "parameters" : [
8772 {
8773 "type" : "field",
8774 "value" : ["report_fixed_header", "d"]
8775 },
8776 {
8777 "type" : "hexstr",
8778 "value" : "0x00"
8779 }
8780 ],
8781 "source_info" : {
8782 "filename" : "include/int_report.p4",
8783 "line" : 34,
8784 "column" : 8,
8785 "source_fragment" : "hdr.report_fixed_header.d = 0"
8786 }
8787 },
8788 {
8789 "op" : "assign",
8790 "parameters" : [
8791 {
8792 "type" : "field",
8793 "value" : ["report_fixed_header", "q"]
8794 },
8795 {
8796 "type" : "hexstr",
8797 "value" : "0x00"
8798 }
8799 ],
8800 "source_info" : {
8801 "filename" : "include/int_report.p4",
8802 "line" : 35,
8803 "column" : 8,
8804 "source_fragment" : "hdr.report_fixed_header.q = 0"
8805 }
8806 },
8807 {
8808 "op" : "assign",
8809 "parameters" : [
8810 {
8811 "type" : "field",
8812 "value" : ["report_fixed_header", "f"]
8813 },
8814 {
8815 "type" : "hexstr",
8816 "value" : "0x01"
8817 }
8818 ],
8819 "source_info" : {
8820 "filename" : "include/int_report.p4",
8821 "line" : 36,
8822 "column" : 8,
8823 "source_fragment" : "hdr.report_fixed_header.f = 1"
8824 }
8825 },
8826 {
8827 "op" : "assign",
8828 "parameters" : [
8829 {
8830 "type" : "field",
8831 "value" : ["report_fixed_header", "rsvd"]
8832 },
8833 {
8834 "type" : "hexstr",
8835 "value" : "0x0000"
8836 }
8837 ],
8838 "source_info" : {
8839 "filename" : "include/int_report.p4",
8840 "line" : 37,
8841 "column" : 8,
8842 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
8843 }
8844 },
8845 {
8846 "op" : "assign",
8847 "parameters" : [
8848 {
8849 "type" : "field",
8850 "value" : ["report_fixed_header", "hw_id"]
8851 },
8852 {
8853 "type" : "hexstr",
8854 "value" : "0x01"
8855 }
8856 ],
8857 "source_info" : {
8858 "filename" : "include/control/../define.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008859 "line" : 136,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008860 "column" : 21,
8861 "source_fragment" : "1; ..."
8862 }
8863 },
8864 {
8865 "op" : "assign",
8866 "parameters" : [
8867 {
8868 "type" : "field",
8869 "value" : ["report_fixed_header", "seq_no"]
8870 },
8871 {
8872 "type" : "hexstr",
8873 "value" : "0x00000000"
8874 }
8875 ],
8876 "source_info" : {
8877 "filename" : "include/int_report.p4",
8878 "line" : 41,
8879 "column" : 8,
8880 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
8881 }
8882 },
8883 {
8884 "op" : "assign",
8885 "parameters" : [
8886 {
8887 "type" : "field",
8888 "value" : ["report_fixed_header", "ingress_tstamp"]
8889 },
8890 {
8891 "type" : "field",
8892 "value" : ["standard_metadata", "enq_timestamp"]
8893 }
8894 ],
8895 "source_info" : {
8896 "filename" : "include/int_report.p4",
8897 "line" : 43,
8898 "column" : 8,
8899 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
8900 }
8901 }
8902 ]
8903 },
8904 {
8905 "name" : "FabricEgress.process_int_sink.restore_header",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008906 "id" : 99,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008907 "runtime_data" : [],
8908 "primitives" : [
8909 {
8910 "op" : "assign",
8911 "parameters" : [
8912 {
8913 "type" : "field",
8914 "value" : ["udp", "dst_port"]
8915 },
8916 {
8917 "type" : "field",
8918 "value" : ["intl4_tail", "dest_port"]
8919 }
8920 ],
8921 "source_info" : {
8922 "filename" : "include/int_sink.p4",
8923 "line" : 26,
8924 "column" : 8,
8925 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
8926 }
8927 },
8928 {
8929 "op" : "assign",
8930 "parameters" : [
8931 {
8932 "type" : "field",
8933 "value" : ["ipv4", "dscp"]
8934 },
8935 {
8936 "type" : "expression",
8937 "value" : {
8938 "type" : "expression",
8939 "value" : {
8940 "op" : "&",
8941 "left" : {
8942 "type" : "field",
8943 "value" : ["intl4_tail", "dscp"]
8944 },
8945 "right" : {
8946 "type" : "hexstr",
8947 "value" : "0x3f"
8948 }
8949 }
8950 }
8951 }
8952 ],
8953 "source_info" : {
8954 "filename" : "include/int_sink.p4",
8955 "line" : 27,
8956 "column" : 8,
8957 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
8958 }
8959 }
8960 ]
8961 },
8962 {
8963 "name" : "FabricEgress.process_int_sink.int_sink",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008964 "id" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008965 "runtime_data" : [],
8966 "primitives" : [
8967 {
8968 "op" : "assign",
8969 "parameters" : [
8970 {
8971 "type" : "field",
8972 "value" : ["ipv4", "total_len"]
8973 },
8974 {
8975 "type" : "expression",
8976 "value" : {
8977 "type" : "expression",
8978 "value" : {
8979 "op" : "&",
8980 "left" : {
8981 "type" : "expression",
8982 "value" : {
8983 "op" : "-",
8984 "left" : {
8985 "type" : "field",
8986 "value" : ["ipv4", "total_len"]
8987 },
8988 "right" : {
8989 "type" : "expression",
8990 "value" : {
8991 "op" : "&",
8992 "left" : {
8993 "type" : "expression",
8994 "value" : {
8995 "op" : "&",
8996 "left" : {
8997 "type" : "expression",
8998 "value" : {
8999 "op" : "<<",
9000 "left" : {
9001 "type" : "field",
9002 "value" : ["intl4_shim", "len"]
9003 },
9004 "right" : {
9005 "type" : "hexstr",
9006 "value" : "0x2"
9007 }
9008 }
9009 },
9010 "right" : {
9011 "type" : "hexstr",
9012 "value" : "0xff"
9013 }
9014 }
9015 },
9016 "right" : {
9017 "type" : "hexstr",
9018 "value" : "0xffff"
9019 }
9020 }
9021 }
9022 }
9023 },
9024 "right" : {
9025 "type" : "hexstr",
9026 "value" : "0xffff"
9027 }
9028 }
9029 }
9030 }
9031 ],
9032 "source_info" : {
9033 "filename" : "include/int_sink.p4",
9034 "line" : 32,
9035 "column" : 8,
9036 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
9037 }
9038 },
9039 {
9040 "op" : "assign",
9041 "parameters" : [
9042 {
9043 "type" : "field",
9044 "value" : ["udp", "len"]
9045 },
9046 {
9047 "type" : "expression",
9048 "value" : {
9049 "type" : "expression",
9050 "value" : {
9051 "op" : "&",
9052 "left" : {
9053 "type" : "expression",
9054 "value" : {
9055 "op" : "-",
9056 "left" : {
9057 "type" : "field",
9058 "value" : ["udp", "len"]
9059 },
9060 "right" : {
9061 "type" : "expression",
9062 "value" : {
9063 "op" : "&",
9064 "left" : {
9065 "type" : "expression",
9066 "value" : {
9067 "op" : "&",
9068 "left" : {
9069 "type" : "expression",
9070 "value" : {
9071 "op" : "<<",
9072 "left" : {
9073 "type" : "field",
9074 "value" : ["intl4_shim", "len"]
9075 },
9076 "right" : {
9077 "type" : "hexstr",
9078 "value" : "0x2"
9079 }
9080 }
9081 },
9082 "right" : {
9083 "type" : "hexstr",
9084 "value" : "0xff"
9085 }
9086 }
9087 },
9088 "right" : {
9089 "type" : "hexstr",
9090 "value" : "0xffff"
9091 }
9092 }
9093 }
9094 }
9095 },
9096 "right" : {
9097 "type" : "hexstr",
9098 "value" : "0xffff"
9099 }
9100 }
9101 }
9102 }
9103 ],
9104 "source_info" : {
9105 "filename" : "include/int_sink.p4",
9106 "line" : 33,
9107 "column" : 8,
9108 "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
9109 }
9110 },
9111 {
9112 "op" : "remove_header",
9113 "parameters" : [
9114 {
9115 "type" : "header",
9116 "value" : "int_header"
9117 }
9118 ],
9119 "source_info" : {
9120 "filename" : "include/int_sink.p4",
9121 "line" : 35,
9122 "column" : 8,
9123 "source_fragment" : "hdr.int_header.setInvalid()"
9124 }
9125 },
9126 {
9127 "op" : "remove_header",
9128 "parameters" : [
9129 {
9130 "type" : "header",
9131 "value" : "int_data"
9132 }
9133 ],
9134 "source_info" : {
9135 "filename" : "include/int_sink.p4",
9136 "line" : 36,
9137 "column" : 8,
9138 "source_fragment" : "hdr.int_data.setInvalid()"
9139 }
9140 },
9141 {
9142 "op" : "remove_header",
9143 "parameters" : [
9144 {
9145 "type" : "header",
9146 "value" : "intl4_shim"
9147 }
9148 ],
9149 "source_info" : {
9150 "filename" : "include/int_sink.p4",
9151 "line" : 37,
9152 "column" : 8,
9153 "source_fragment" : "hdr.intl4_shim.setInvalid()"
9154 }
9155 },
9156 {
9157 "op" : "remove_header",
9158 "parameters" : [
9159 {
9160 "type" : "header",
9161 "value" : "intl4_tail"
9162 }
9163 ],
9164 "source_info" : {
9165 "filename" : "include/int_sink.p4",
9166 "line" : 38,
9167 "column" : 8,
9168 "source_fragment" : "hdr.intl4_tail.setInvalid()"
9169 }
9170 },
9171 {
9172 "op" : "remove_header",
9173 "parameters" : [
9174 {
9175 "type" : "header",
9176 "value" : "int_switch_id"
9177 }
9178 ],
9179 "source_info" : {
9180 "filename" : "include/int_sink.p4",
9181 "line" : 39,
9182 "column" : 8,
9183 "source_fragment" : "hdr.int_switch_id.setInvalid()"
9184 }
9185 },
9186 {
9187 "op" : "remove_header",
9188 "parameters" : [
9189 {
9190 "type" : "header",
9191 "value" : "int_port_ids"
9192 }
9193 ],
9194 "source_info" : {
9195 "filename" : "include/int_sink.p4",
9196 "line" : 40,
9197 "column" : 8,
9198 "source_fragment" : "hdr.int_port_ids.setInvalid()"
9199 }
9200 },
9201 {
9202 "op" : "remove_header",
9203 "parameters" : [
9204 {
9205 "type" : "header",
9206 "value" : "int_hop_latency"
9207 }
9208 ],
9209 "source_info" : {
9210 "filename" : "include/int_sink.p4",
9211 "line" : 41,
9212 "column" : 8,
9213 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
9214 }
9215 },
9216 {
9217 "op" : "remove_header",
9218 "parameters" : [
9219 {
9220 "type" : "header",
9221 "value" : "int_q_occupancy"
9222 }
9223 ],
9224 "source_info" : {
9225 "filename" : "include/int_sink.p4",
9226 "line" : 42,
9227 "column" : 8,
9228 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
9229 }
9230 },
9231 {
9232 "op" : "remove_header",
9233 "parameters" : [
9234 {
9235 "type" : "header",
9236 "value" : "int_ingress_tstamp"
9237 }
9238 ],
9239 "source_info" : {
9240 "filename" : "include/int_sink.p4",
9241 "line" : 43,
9242 "column" : 8,
9243 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
9244 }
9245 },
9246 {
9247 "op" : "remove_header",
9248 "parameters" : [
9249 {
9250 "type" : "header",
9251 "value" : "int_egress_tstamp"
9252 }
9253 ],
9254 "source_info" : {
9255 "filename" : "include/int_sink.p4",
9256 "line" : 44,
9257 "column" : 8,
9258 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
9259 }
9260 },
9261 {
9262 "op" : "remove_header",
9263 "parameters" : [
9264 {
9265 "type" : "header",
9266 "value" : "int_q_congestion"
9267 }
9268 ],
9269 "source_info" : {
9270 "filename" : "include/int_sink.p4",
9271 "line" : 45,
9272 "column" : 8,
9273 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
9274 }
9275 },
9276 {
9277 "op" : "remove_header",
9278 "parameters" : [
9279 {
9280 "type" : "header",
9281 "value" : "int_egress_tx_util"
9282 }
9283 ],
9284 "source_info" : {
9285 "filename" : "include/int_sink.p4",
9286 "line" : 46,
9287 "column" : 8,
9288 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
9289 }
9290 }
9291 ]
9292 },
9293 {
9294 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009295 "id" : 101,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009296 "runtime_data" : [],
9297 "primitives" : [
9298 {
9299 "op" : "assign",
9300 "parameters" : [
9301 {
9302 "type" : "field",
9303 "value" : ["ethernet", "ether_type"]
9304 },
9305 {
9306 "type" : "field",
9307 "value" : ["vlan_tag", "ether_type"]
9308 }
9309 ],
9310 "source_info" : {
9311 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009312 "line" : 39,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009313 "column" : 8,
9314 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
9315 }
9316 },
9317 {
9318 "op" : "remove_header",
9319 "parameters" : [
9320 {
9321 "type" : "header",
9322 "value" : "vlan_tag"
9323 }
9324 ],
9325 "source_info" : {
9326 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009327 "line" : 40,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009328 "column" : 8,
9329 "source_fragment" : "hdr.vlan_tag.setInvalid()"
9330 }
9331 }
9332 ]
9333 },
9334 {
9335 "name" : "FabricEgress.egress_next.pop_vlan",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009336 "id" : 102,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009337 "runtime_data" : [],
9338 "primitives" : [
9339 {
9340 "op" : "assign",
9341 "parameters" : [
9342 {
9343 "type" : "field",
9344 "value" : ["ethernet", "ether_type"]
9345 },
9346 {
9347 "type" : "field",
9348 "value" : ["vlan_tag", "ether_type"]
9349 }
9350 ],
9351 "source_info" : {
9352 "filename" : "include/control/next.p4",
9353 "line" : 253,
9354 "column" : 8,
9355 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
9356 }
9357 },
9358 {
9359 "op" : "remove_header",
9360 "parameters" : [
9361 {
9362 "type" : "header",
9363 "value" : "vlan_tag"
9364 }
9365 ],
9366 "source_info" : {
9367 "filename" : "include/control/next.p4",
9368 "line" : 254,
9369 "column" : 8,
9370 "source_fragment" : "hdr.vlan_tag.setInvalid()"
9371 }
9372 }
9373 ]
9374 },
9375 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009376 "name" : "act_16",
9377 "id" : 103,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009378 "runtime_data" : [],
9379 "primitives" : [
9380 {
9381 "op" : "add_header",
9382 "parameters" : [
9383 {
9384 "type" : "header",
9385 "value" : "packet_in"
9386 }
9387 ],
9388 "source_info" : {
9389 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009390 "line" : 56,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009391 "column" : 12,
9392 "source_fragment" : "hdr.packet_in.setValid()"
9393 }
9394 },
9395 {
9396 "op" : "assign",
9397 "parameters" : [
9398 {
9399 "type" : "field",
9400 "value" : ["packet_in", "ingress_port"]
9401 },
9402 {
9403 "type" : "field",
9404 "value" : ["standard_metadata", "ingress_port"]
9405 }
9406 ],
9407 "source_info" : {
9408 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009409 "line" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009410 "column" : 12,
9411 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
9412 }
9413 }
9414 ]
9415 }
9416 ],
9417 "pipelines" : [
9418 {
9419 "name" : "ingress",
9420 "id" : 0,
9421 "source_info" : {
9422 "filename" : "fabric.p4",
9423 "line" : 40,
9424 "column" : 8,
9425 "source_fragment" : "FabricIngress"
9426 },
9427 "init_table" : "node_2",
9428 "tables" : [
9429 {
9430 "name" : "tbl_act",
9431 "id" : 0,
9432 "key" : [],
9433 "match_type" : "exact",
9434 "type" : "simple",
9435 "max_size" : 1024,
9436 "with_counters" : false,
9437 "support_timeout" : false,
9438 "direct_meters" : null,
9439 "action_ids" : [35],
9440 "actions" : ["act"],
9441 "base_default_next" : null,
9442 "next_tables" : {
9443 "act" : null
9444 },
9445 "default_entry" : {
9446 "action_id" : 35,
9447 "action_const" : true,
9448 "action_data" : [],
9449 "action_entry_const" : true
9450 }
9451 },
9452 {
9453 "name" : "FabricIngress.filtering.ingress_port_vlan",
9454 "id" : 1,
9455 "source_info" : {
9456 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009457 "line" : 66,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009458 "column" : 10,
9459 "source_fragment" : "ingress_port_vlan"
9460 },
9461 "key" : [
9462 {
9463 "match_type" : "exact",
9464 "name" : "standard_metadata.ingress_port",
9465 "target" : ["standard_metadata", "ingress_port"],
9466 "mask" : null
9467 },
9468 {
9469 "match_type" : "exact",
9470 "name" : "hdr.vlan_tag.is_valid",
9471 "target" : ["vlan_tag", "$valid$"],
9472 "mask" : null
9473 },
9474 {
9475 "match_type" : "ternary",
9476 "name" : "hdr.vlan_tag.vlan_id",
9477 "target" : ["vlan_tag", "vlan_id"],
9478 "mask" : null
9479 }
9480 ],
9481 "match_type" : "ternary",
9482 "type" : "simple",
9483 "max_size" : 1024,
9484 "with_counters" : true,
9485 "support_timeout" : false,
9486 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009487 "action_ids" : [13, 12, 11, 14],
9488 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "FabricIngress.filtering.drop", "FabricIngress.filtering.nop_ingress_port_vlan"],
9489 "base_default_next" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009490 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009491 "__HIT__" : "tbl_act_0",
9492 "__MISS__" : "tbl_act_1"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009493 },
9494 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009495 "action_id" : 13,
9496 "action_const" : true,
9497 "action_data" : ["0xffe"],
9498 "action_entry_const" : true
9499 }
9500 },
9501 {
9502 "name" : "tbl_act_0",
9503 "id" : 2,
9504 "key" : [],
9505 "match_type" : "exact",
9506 "type" : "simple",
9507 "max_size" : 1024,
9508 "with_counters" : false,
9509 "support_timeout" : false,
9510 "direct_meters" : null,
9511 "action_ids" : [36],
9512 "actions" : ["act_0"],
9513 "base_default_next" : "node_7",
9514 "next_tables" : {
9515 "act_0" : "node_7"
9516 },
9517 "default_entry" : {
9518 "action_id" : 36,
9519 "action_const" : true,
9520 "action_data" : [],
9521 "action_entry_const" : true
9522 }
9523 },
9524 {
9525 "name" : "tbl_act_1",
9526 "id" : 3,
9527 "key" : [],
9528 "match_type" : "exact",
9529 "type" : "simple",
9530 "max_size" : 1024,
9531 "with_counters" : false,
9532 "support_timeout" : false,
9533 "direct_meters" : null,
9534 "action_ids" : [37],
9535 "actions" : ["act_1"],
9536 "base_default_next" : "node_7",
9537 "next_tables" : {
9538 "act_1" : "node_7"
9539 },
9540 "default_entry" : {
9541 "action_id" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009542 "action_const" : true,
9543 "action_data" : [],
9544 "action_entry_const" : true
9545 }
9546 },
9547 {
9548 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009549 "id" : 4,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009550 "source_info" : {
9551 "filename" : "include/control/filtering.p4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009552 "line" : 103,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009553 "column" : 10,
9554 "source_fragment" : "fwd_classifier"
9555 },
9556 "key" : [
9557 {
9558 "match_type" : "exact",
9559 "name" : "standard_metadata.ingress_port",
9560 "target" : ["standard_metadata", "ingress_port"],
9561 "mask" : null
9562 },
9563 {
Charles Chan384aea22018-08-23 22:08:02 -07009564 "match_type" : "ternary",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009565 "name" : "hdr.ethernet.dst_addr",
9566 "target" : ["ethernet", "dst_addr"],
9567 "mask" : null
9568 },
9569 {
9570 "match_type" : "exact",
9571 "name" : "hdr.vlan_tag.ether_type",
9572 "target" : ["vlan_tag", "ether_type"],
9573 "mask" : null
9574 }
9575 ],
Charles Chan384aea22018-08-23 22:08:02 -07009576 "match_type" : "ternary",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009577 "type" : "simple",
9578 "max_size" : 1024,
9579 "with_counters" : true,
9580 "support_timeout" : false,
9581 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009582 "action_ids" : [15],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009583 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009584 "base_default_next" : "node_10",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009585 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009586 "FabricIngress.filtering.set_forwarding_type" : "node_10"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009587 },
9588 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -07009589 "action_id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009590 "action_const" : true,
9591 "action_data" : ["0x0"],
9592 "action_entry_const" : true
9593 }
9594 },
9595 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009596 "name" : "tbl_act_2",
9597 "id" : 5,
9598 "key" : [],
9599 "match_type" : "exact",
9600 "type" : "simple",
9601 "max_size" : 1024,
9602 "with_counters" : false,
9603 "support_timeout" : false,
9604 "direct_meters" : null,
9605 "action_ids" : [38],
9606 "actions" : ["act_2"],
9607 "base_default_next" : "node_10",
9608 "next_tables" : {
9609 "act_2" : "node_10"
9610 },
9611 "default_entry" : {
9612 "action_id" : 38,
9613 "action_const" : true,
9614 "action_data" : [],
9615 "action_entry_const" : true
9616 }
9617 },
9618 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009619 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009620 "id" : 6,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009621 "source_info" : {
9622 "filename" : "include/control/forwarding.p4",
9623 "line" : 41,
9624 "column" : 10,
9625 "source_fragment" : "bridging"
9626 },
9627 "key" : [
9628 {
9629 "match_type" : "exact",
9630 "name" : "hdr.vlan_tag.vlan_id",
9631 "target" : ["vlan_tag", "vlan_id"],
9632 "mask" : null
9633 },
9634 {
9635 "match_type" : "ternary",
9636 "name" : "hdr.ethernet.dst_addr",
9637 "target" : ["ethernet", "dst_addr"],
9638 "mask" : null
9639 }
9640 ],
9641 "match_type" : "ternary",
9642 "type" : "simple",
9643 "max_size" : 1024,
9644 "with_counters" : true,
9645 "support_timeout" : false,
9646 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009647 "action_ids" : [16, 2],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009648 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
9649 "base_default_next" : "FabricIngress.forwarding.acl",
9650 "next_tables" : {
9651 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
9652 "NoAction" : "FabricIngress.forwarding.acl"
9653 },
9654 "default_entry" : {
9655 "action_id" : 2,
9656 "action_const" : false,
9657 "action_data" : [],
9658 "action_entry_const" : false
9659 }
9660 },
9661 {
9662 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009663 "id" : 7,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009664 "source_info" : {
9665 "filename" : "include/control/forwarding.p4",
9666 "line" : 65,
9667 "column" : 10,
9668 "source_fragment" : "mpls"
9669 },
9670 "key" : [
9671 {
9672 "match_type" : "exact",
9673 "name" : "hdr.mpls.label",
9674 "target" : ["mpls", "label"],
9675 "mask" : null
9676 }
9677 ],
9678 "match_type" : "exact",
9679 "type" : "simple",
9680 "max_size" : 1024,
9681 "with_counters" : true,
9682 "support_timeout" : false,
9683 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009684 "action_ids" : [17, 3],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009685 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009686 "base_default_next" : "tbl_act_3",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009687 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009688 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_3",
9689 "NoAction" : "tbl_act_3"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009690 },
9691 "default_entry" : {
9692 "action_id" : 3,
9693 "action_const" : false,
9694 "action_data" : [],
9695 "action_entry_const" : false
9696 }
9697 },
9698 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009699 "name" : "tbl_act_3",
9700 "id" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009701 "key" : [],
9702 "match_type" : "exact",
9703 "type" : "simple",
9704 "max_size" : 1024,
9705 "with_counters" : false,
9706 "support_timeout" : false,
9707 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009708 "action_ids" : [39],
9709 "actions" : ["act_3"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009710 "base_default_next" : "FabricIngress.forwarding.acl",
9711 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009712 "act_3" : "FabricIngress.forwarding.acl"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009713 },
9714 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009715 "action_id" : 39,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009716 "action_const" : true,
9717 "action_data" : [],
9718 "action_entry_const" : true
9719 }
9720 },
9721 {
Charles Chan384aea22018-08-23 22:08:02 -07009722 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009723 "id" : 9,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009724 "source_info" : {
9725 "filename" : "include/control/forwarding.p4",
9726 "line" : 87,
9727 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -07009728 "source_fragment" : "routing_v4"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009729 },
9730 "key" : [
9731 {
9732 "match_type" : "lpm",
9733 "name" : "hdr.ipv4.dst_addr",
9734 "target" : ["ipv4", "dst_addr"],
9735 "mask" : null
9736 }
9737 ],
9738 "match_type" : "lpm",
9739 "type" : "simple",
9740 "max_size" : 1024,
9741 "with_counters" : true,
9742 "support_timeout" : false,
9743 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009744 "action_ids" : [18, 4],
Charles Chan384aea22018-08-23 22:08:02 -07009745 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "NoAction"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009746 "base_default_next" : "FabricIngress.forwarding.acl",
9747 "next_tables" : {
Charles Chan384aea22018-08-23 22:08:02 -07009748 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009749 "NoAction" : "FabricIngress.forwarding.acl"
9750 },
9751 "default_entry" : {
9752 "action_id" : 4,
9753 "action_const" : false,
9754 "action_data" : [],
9755 "action_entry_const" : false
9756 }
9757 },
9758 {
9759 "name" : "FabricIngress.forwarding.acl",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009760 "id" : 10,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009761 "source_info" : {
9762 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -07009763 "line" : 131,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009764 "column" : 10,
9765 "source_fragment" : "acl"
9766 },
9767 "key" : [
9768 {
9769 "match_type" : "ternary",
9770 "name" : "standard_metadata.ingress_port",
9771 "target" : ["standard_metadata", "ingress_port"],
9772 "mask" : null
9773 },
9774 {
9775 "match_type" : "ternary",
9776 "name" : "fabric_metadata.ip_proto",
9777 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
9778 "mask" : null
9779 },
9780 {
9781 "match_type" : "ternary",
9782 "name" : "fabric_metadata.l4_src_port",
9783 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
9784 "mask" : null
9785 },
9786 {
9787 "match_type" : "ternary",
9788 "name" : "fabric_metadata.l4_dst_port",
9789 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
9790 "mask" : null
9791 },
9792 {
9793 "match_type" : "ternary",
9794 "name" : "hdr.ethernet.dst_addr",
9795 "target" : ["ethernet", "dst_addr"],
9796 "mask" : null
9797 },
9798 {
9799 "match_type" : "ternary",
9800 "name" : "hdr.ethernet.src_addr",
9801 "target" : ["ethernet", "src_addr"],
9802 "mask" : null
9803 },
9804 {
9805 "match_type" : "ternary",
9806 "name" : "hdr.vlan_tag.vlan_id",
9807 "target" : ["vlan_tag", "vlan_id"],
9808 "mask" : null
9809 },
9810 {
9811 "match_type" : "ternary",
9812 "name" : "hdr.vlan_tag.ether_type",
9813 "target" : ["vlan_tag", "ether_type"],
9814 "mask" : null
9815 },
9816 {
9817 "match_type" : "ternary",
9818 "name" : "hdr.ipv4.src_addr",
9819 "target" : ["ipv4", "src_addr"],
9820 "mask" : null
9821 },
9822 {
9823 "match_type" : "ternary",
9824 "name" : "hdr.ipv4.dst_addr",
9825 "target" : ["ipv4", "dst_addr"],
9826 "mask" : null
9827 },
9828 {
9829 "match_type" : "ternary",
9830 "name" : "hdr.icmp.icmp_type",
9831 "target" : ["icmp", "icmp_type"],
9832 "mask" : null
9833 },
9834 {
9835 "match_type" : "ternary",
9836 "name" : "hdr.icmp.icmp_code",
9837 "target" : ["icmp", "icmp_code"],
9838 "mask" : null
9839 }
9840 ],
9841 "match_type" : "ternary",
9842 "type" : "simple",
9843 "max_size" : 128,
9844 "with_counters" : true,
9845 "support_timeout" : false,
9846 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009847 "action_ids" : [19, 20, 21, 22, 23],
9848 "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 -07009849 "base_default_next" : "tbl_act_4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009850 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009851 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_4",
9852 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_4",
9853 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_4",
9854 "FabricIngress.forwarding.drop" : "tbl_act_4",
9855 "FabricIngress.forwarding.nop_acl" : "tbl_act_4"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009856 },
9857 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -07009858 "action_id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009859 "action_const" : true,
9860 "action_data" : [],
9861 "action_entry_const" : true
9862 }
9863 },
9864 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009865 "name" : "tbl_act_4",
9866 "id" : 11,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009867 "key" : [],
9868 "match_type" : "exact",
9869 "type" : "simple",
9870 "max_size" : 1024,
9871 "with_counters" : false,
9872 "support_timeout" : false,
9873 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009874 "action_ids" : [40],
9875 "actions" : ["act_4"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009876 "base_default_next" : "FabricIngress.next.vlan_meta",
9877 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009878 "act_4" : "FabricIngress.next.vlan_meta"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009879 },
9880 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009881 "action_id" : 40,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009882 "action_const" : true,
9883 "action_data" : [],
9884 "action_entry_const" : true
9885 }
9886 },
9887 {
9888 "name" : "FabricIngress.next.vlan_meta",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009889 "id" : 12,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009890 "source_info" : {
9891 "filename" : "include/control/next.p4",
9892 "line" : 65,
9893 "column" : 10,
9894 "source_fragment" : "vlan_meta"
9895 },
9896 "key" : [
9897 {
9898 "match_type" : "exact",
9899 "name" : "fabric_metadata.next_id",
9900 "target" : ["scalars", "fabric_metadata_t.next_id"],
9901 "mask" : null
9902 }
9903 ],
9904 "match_type" : "exact",
9905 "type" : "simple",
9906 "max_size" : 1024,
9907 "with_counters" : true,
9908 "support_timeout" : false,
9909 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009910 "action_ids" : [24, 8],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009911 "actions" : ["FabricIngress.next.set_vlan", "nop"],
9912 "base_default_next" : "FabricIngress.next.simple",
9913 "next_tables" : {
9914 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
9915 "nop" : "FabricIngress.next.simple"
9916 },
9917 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009918 "action_id" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009919 "action_const" : false,
9920 "action_data" : [],
9921 "action_entry_const" : false
9922 }
9923 },
9924 {
9925 "name" : "FabricIngress.next.simple",
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009926 "id" : 13,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009927 "source_info" : {
9928 "filename" : "include/control/next.p4",
9929 "line" : 122,
9930 "column" : 10,
9931 "source_fragment" : "simple"
9932 },
9933 "key" : [
9934 {
9935 "match_type" : "exact",
9936 "name" : "fabric_metadata.next_id",
9937 "target" : ["scalars", "fabric_metadata_t.next_id"],
9938 "mask" : null
9939 }
9940 ],
9941 "match_type" : "exact",
9942 "type" : "simple",
9943 "max_size" : 1024,
9944 "with_counters" : true,
9945 "support_timeout" : false,
9946 "direct_meters" : null,
9947 "action_ids" : [25, 26, 27, 28, 29, 30, 5],
9948 "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"],
9949 "base_default_next" : null,
9950 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009951 "__HIT__" : "tbl_act_5",
9952 "__MISS__" : "tbl_act_6"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009953 },
9954 "default_entry" : {
9955 "action_id" : 5,
9956 "action_const" : false,
9957 "action_data" : [],
9958 "action_entry_const" : false
9959 }
9960 },
9961 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009962 "name" : "tbl_act_5",
9963 "id" : 14,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009964 "key" : [],
9965 "match_type" : "exact",
9966 "type" : "simple",
9967 "max_size" : 1024,
9968 "with_counters" : false,
9969 "support_timeout" : false,
9970 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009971 "action_ids" : [41],
9972 "actions" : ["act_5"],
9973 "base_default_next" : "node_23",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009974 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009975 "act_5" : "node_23"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009976 },
9977 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009978 "action_id" : 41,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009979 "action_const" : true,
9980 "action_data" : [],
9981 "action_entry_const" : true
9982 }
9983 },
9984 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009985 "name" : "tbl_act_6",
9986 "id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009987 "key" : [],
9988 "match_type" : "exact",
9989 "type" : "simple",
9990 "max_size" : 1024,
9991 "with_counters" : false,
9992 "support_timeout" : false,
9993 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009994 "action_ids" : [42],
9995 "actions" : ["act_6"],
9996 "base_default_next" : "node_23",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009997 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009998 "act_6" : "node_23"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009999 },
10000 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010001 "action_id" : 42,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010002 "action_const" : true,
10003 "action_data" : [],
10004 "action_entry_const" : true
10005 }
10006 },
10007 {
10008 "name" : "FabricIngress.next.hashed",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010009 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010010 "source_info" : {
10011 "filename" : "include/control/next.p4",
10012 "line" : 175,
10013 "column" : 10,
10014 "source_fragment" : "hashed"
10015 },
10016 "key" : [
10017 {
10018 "match_type" : "exact",
10019 "name" : "fabric_metadata.next_id",
10020 "target" : ["scalars", "fabric_metadata_t.next_id"],
10021 "mask" : null
10022 }
10023 ],
10024 "match_type" : "exact",
10025 "type" : "indirect_ws",
10026 "action_profile" : "FabricIngress.next.ecmp_selector",
10027 "max_size" : 1024,
10028 "with_counters" : true,
10029 "support_timeout" : false,
10030 "direct_meters" : null,
10031 "action_ids" : [31, 32, 33, 6],
10032 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
10033 "base_default_next" : null,
10034 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010035 "__HIT__" : "tbl_act_7",
10036 "__MISS__" : "tbl_act_8"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010037 }
10038 },
10039 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010040 "name" : "tbl_act_7",
10041 "id" : 17,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010042 "key" : [],
10043 "match_type" : "exact",
10044 "type" : "simple",
10045 "max_size" : 1024,
10046 "with_counters" : false,
10047 "support_timeout" : false,
10048 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010049 "action_ids" : [43],
10050 "actions" : ["act_7"],
10051 "base_default_next" : "node_27",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010052 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010053 "act_7" : "node_27"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010054 },
10055 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010056 "action_id" : 43,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010057 "action_const" : true,
10058 "action_data" : [],
10059 "action_entry_const" : true
10060 }
10061 },
10062 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010063 "name" : "tbl_act_8",
10064 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010065 "key" : [],
10066 "match_type" : "exact",
10067 "type" : "simple",
10068 "max_size" : 1024,
10069 "with_counters" : false,
10070 "support_timeout" : false,
10071 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010072 "action_ids" : [44],
10073 "actions" : ["act_8"],
10074 "base_default_next" : "node_27",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010075 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010076 "act_8" : "node_27"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010077 },
10078 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010079 "action_id" : 44,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010080 "action_const" : true,
10081 "action_data" : [],
10082 "action_entry_const" : true
10083 }
10084 },
10085 {
10086 "name" : "FabricIngress.next.multicast",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010087 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010088 "source_info" : {
10089 "filename" : "include/control/next.p4",
10090 "line" : 207,
10091 "column" : 10,
10092 "source_fragment" : "multicast"
10093 },
10094 "key" : [
10095 {
10096 "match_type" : "exact",
10097 "name" : "fabric_metadata.next_id",
10098 "target" : ["scalars", "fabric_metadata_t.next_id"],
10099 "mask" : null
10100 }
10101 ],
10102 "match_type" : "exact",
10103 "type" : "simple",
10104 "max_size" : 1024,
10105 "with_counters" : true,
10106 "support_timeout" : false,
10107 "direct_meters" : null,
10108 "action_ids" : [34, 7],
10109 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
10110 "base_default_next" : null,
10111 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010112 "__HIT__" : "tbl_act_9",
10113 "__MISS__" : "tbl_act_10"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010114 },
10115 "default_entry" : {
10116 "action_id" : 7,
10117 "action_const" : false,
10118 "action_data" : [],
10119 "action_entry_const" : false
10120 }
10121 },
10122 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010123 "name" : "tbl_act_9",
10124 "id" : 20,
10125 "key" : [],
10126 "match_type" : "exact",
10127 "type" : "simple",
10128 "max_size" : 1024,
10129 "with_counters" : false,
10130 "support_timeout" : false,
10131 "direct_meters" : null,
10132 "action_ids" : [45],
10133 "actions" : ["act_9"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010134 "base_default_next" : "node_31",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010135 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010136 "act_9" : "node_31"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010137 },
10138 "default_entry" : {
10139 "action_id" : 45,
10140 "action_const" : true,
10141 "action_data" : [],
10142 "action_entry_const" : true
10143 }
10144 },
10145 {
10146 "name" : "tbl_act_10",
10147 "id" : 21,
10148 "key" : [],
10149 "match_type" : "exact",
10150 "type" : "simple",
10151 "max_size" : 1024,
10152 "with_counters" : false,
10153 "support_timeout" : false,
10154 "direct_meters" : null,
10155 "action_ids" : [46],
10156 "actions" : ["act_10"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010157 "base_default_next" : "node_31",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010158 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010159 "act_10" : "node_31"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010160 },
10161 "default_entry" : {
10162 "action_id" : 46,
10163 "action_const" : true,
10164 "action_data" : [],
10165 "action_entry_const" : true
10166 }
10167 },
10168 {
10169 "name" : "tbl_act_11",
10170 "id" : 22,
10171 "key" : [],
10172 "match_type" : "exact",
10173 "type" : "simple",
10174 "max_size" : 1024,
10175 "with_counters" : false,
10176 "support_timeout" : false,
10177 "direct_meters" : null,
10178 "action_ids" : [47],
10179 "actions" : ["act_11"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010180 "base_default_next" : "node_33",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010181 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010182 "act_11" : "node_33"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010183 },
10184 "default_entry" : {
10185 "action_id" : 47,
10186 "action_const" : true,
10187 "action_data" : [],
10188 "action_entry_const" : true
10189 }
10190 },
10191 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010192 "name" : "tbl_act_12",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010193 "id" : 23,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010194 "key" : [],
10195 "match_type" : "exact",
10196 "type" : "simple",
10197 "max_size" : 1024,
10198 "with_counters" : false,
10199 "support_timeout" : false,
10200 "direct_meters" : null,
10201 "action_ids" : [48],
10202 "actions" : ["act_12"],
10203 "base_default_next" : "node_37",
10204 "next_tables" : {
10205 "act_12" : "node_37"
10206 },
10207 "default_entry" : {
10208 "action_id" : 48,
10209 "action_const" : true,
10210 "action_data" : [],
10211 "action_entry_const" : true
10212 }
10213 },
10214 {
10215 "name" : "tbl_act_13",
10216 "id" : 24,
10217 "key" : [],
10218 "match_type" : "exact",
10219 "type" : "simple",
10220 "max_size" : 1024,
10221 "with_counters" : false,
10222 "support_timeout" : false,
10223 "direct_meters" : null,
10224 "action_ids" : [49],
10225 "actions" : ["act_13"],
10226 "base_default_next" : "node_39",
10227 "next_tables" : {
10228 "act_13" : "node_39"
10229 },
10230 "default_entry" : {
10231 "action_id" : 49,
10232 "action_const" : true,
10233 "action_data" : [],
10234 "action_entry_const" : true
10235 }
10236 },
10237 {
10238 "name" : "tbl_act_14",
10239 "id" : 25,
10240 "key" : [],
10241 "match_type" : "exact",
10242 "type" : "simple",
10243 "max_size" : 1024,
10244 "with_counters" : false,
10245 "support_timeout" : false,
10246 "direct_meters" : null,
10247 "action_ids" : [50],
10248 "actions" : ["act_14"],
10249 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
10250 "next_tables" : {
10251 "act_14" : "FabricIngress.process_set_source_sink.tb_set_source"
10252 },
10253 "default_entry" : {
10254 "action_id" : 50,
10255 "action_const" : true,
10256 "action_data" : [],
10257 "action_entry_const" : true
10258 }
10259 },
10260 {
10261 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
10262 "id" : 26,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010263 "source_info" : {
10264 "filename" : "include/int_source.p4",
10265 "line" : 101,
10266 "column" : 10,
10267 "source_fragment" : "tb_set_source"
10268 },
10269 "key" : [
10270 {
10271 "match_type" : "exact",
10272 "name" : "standard_metadata.ingress_port",
10273 "target" : ["standard_metadata", "ingress_port"],
10274 "mask" : null
10275 }
10276 ],
10277 "match_type" : "exact",
10278 "type" : "simple",
10279 "max_size" : 256,
10280 "with_counters" : true,
10281 "support_timeout" : false,
10282 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010283 "action_ids" : [9, 0],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010284 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
10285 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
10286 "next_tables" : {
10287 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
10288 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
10289 },
10290 "default_entry" : {
10291 "action_id" : 0,
10292 "action_const" : false,
10293 "action_data" : [],
10294 "action_entry_const" : false
10295 }
10296 },
10297 {
10298 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010299 "id" : 27,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010300 "source_info" : {
10301 "filename" : "include/int_source.p4",
10302 "line" : 111,
10303 "column" : 10,
10304 "source_fragment" : "tb_set_sink"
10305 },
10306 "key" : [
10307 {
10308 "match_type" : "exact",
10309 "name" : "standard_metadata.egress_spec",
10310 "target" : ["standard_metadata", "egress_spec"],
10311 "mask" : null
10312 }
10313 ],
10314 "match_type" : "exact",
10315 "type" : "simple",
10316 "max_size" : 256,
10317 "with_counters" : true,
10318 "support_timeout" : false,
10319 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010320 "action_ids" : [10, 1],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010321 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010322 "base_default_next" : "node_43",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010323 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010324 "FabricIngress.process_set_source_sink.int_set_sink" : "node_43",
10325 "NoAction" : "node_43"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010326 },
10327 "default_entry" : {
10328 "action_id" : 1,
10329 "action_const" : false,
10330 "action_data" : [],
10331 "action_entry_const" : false
10332 }
10333 },
10334 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010335 "name" : "tbl_act_15",
10336 "id" : 28,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010337 "key" : [],
10338 "match_type" : "exact",
10339 "type" : "simple",
10340 "max_size" : 1024,
10341 "with_counters" : false,
10342 "support_timeout" : false,
10343 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010344 "action_ids" : [51],
10345 "actions" : ["act_15"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010346 "base_default_next" : null,
10347 "next_tables" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010348 "act_15" : null
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010349 },
10350 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010351 "action_id" : 51,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010352 "action_const" : true,
10353 "action_data" : [],
10354 "action_entry_const" : true
10355 }
10356 }
10357 ],
10358 "action_profiles" : [
10359 {
10360 "name" : "FabricIngress.next.ecmp_selector",
10361 "id" : 0,
10362 "max_size" : 64,
10363 "selector" : {
10364 "algo" : "crc16",
10365 "input" : [
10366 {
10367 "type" : "field",
10368 "value" : ["ipv4", "dst_addr"]
10369 },
10370 {
10371 "type" : "field",
10372 "value" : ["ipv4", "src_addr"]
10373 },
10374 {
10375 "type" : "field",
10376 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
10377 },
10378 {
10379 "type" : "field",
10380 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
10381 },
10382 {
10383 "type" : "field",
10384 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
10385 }
10386 ]
10387 }
10388 }
10389 ],
10390 "conditionals" : [
10391 {
10392 "name" : "node_2",
10393 "id" : 0,
10394 "source_info" : {
10395 "filename" : "include/control/packetio.p4",
10396 "line" : 25,
10397 "column" : 12,
10398 "source_fragment" : "hdr.packet_out.isValid()"
10399 },
10400 "expression" : {
10401 "type" : "expression",
10402 "value" : {
10403 "op" : "d2b",
10404 "left" : null,
10405 "right" : {
10406 "type" : "field",
10407 "value" : ["packet_out", "$valid$"]
10408 }
10409 }
10410 },
10411 "true_next" : "tbl_act",
10412 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
10413 },
10414 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010415 "name" : "node_7",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010416 "id" : 1,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010417 "expression" : {
10418 "type" : "expression",
10419 "value" : {
10420 "op" : "d2b",
10421 "left" : null,
10422 "right" : {
10423 "type" : "field",
10424 "value" : ["scalars", "filtering_tmp_0"]
10425 }
10426 }
10427 },
10428 "true_next" : "FabricIngress.filtering.fwd_classifier",
10429 "false_next" : "tbl_act_2"
10430 },
10431 {
10432 "name" : "node_10",
10433 "id" : 2,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010434 "source_info" : {
10435 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070010436 "line" : 186,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010437 "column" : 11,
10438 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
10439 },
10440 "expression" : {
10441 "type" : "expression",
10442 "value" : {
10443 "op" : "==",
10444 "left" : {
10445 "type" : "field",
10446 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
10447 },
10448 "right" : {
10449 "type" : "hexstr",
10450 "value" : "0x00"
10451 }
10452 }
10453 },
10454 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010455 "false_next" : "node_12"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010456 },
10457 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010458 "name" : "node_12",
10459 "id" : 3,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010460 "source_info" : {
10461 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070010462 "line" : 187,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010463 "column" : 17,
10464 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
10465 },
10466 "expression" : {
10467 "type" : "expression",
10468 "value" : {
10469 "op" : "==",
10470 "left" : {
10471 "type" : "field",
10472 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
10473 },
10474 "right" : {
10475 "type" : "hexstr",
10476 "value" : "0x01"
10477 }
10478 }
10479 },
10480 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010481 "false_next" : "node_15"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010482 },
10483 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010484 "name" : "node_15",
10485 "id" : 4,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010486 "source_info" : {
10487 "filename" : "include/control/forwarding.p4",
Charles Chan384aea22018-08-23 22:08:02 -070010488 "line" : 193,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010489 "column" : 17,
10490 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
10491 },
10492 "expression" : {
10493 "type" : "expression",
10494 "value" : {
10495 "op" : "==",
10496 "left" : {
10497 "type" : "field",
10498 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
10499 },
10500 "right" : {
10501 "type" : "hexstr",
10502 "value" : "0x02"
10503 }
10504 }
10505 },
Charles Chan384aea22018-08-23 22:08:02 -070010506 "true_next" : "FabricIngress.forwarding.routing_v4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010507 "false_next" : "FabricIngress.forwarding.acl"
10508 },
10509 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010510 "name" : "node_23",
10511 "id" : 5,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010512 "source_info" : {
10513 "filename" : "include/control/next.p4",
10514 "line" : 219,
10515 "column" : 12,
10516 "source_fragment" : "!simple.apply().hit"
10517 },
10518 "expression" : {
10519 "type" : "expression",
10520 "value" : {
10521 "op" : "not",
10522 "left" : null,
10523 "right" : {
10524 "type" : "expression",
10525 "value" : {
10526 "op" : "d2b",
10527 "left" : null,
10528 "right" : {
10529 "type" : "field",
10530 "value" : ["scalars", "next_tmp_4"]
10531 }
10532 }
10533 }
10534 }
10535 },
10536 "true_next" : "FabricIngress.next.hashed",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010537 "false_next" : "node_33"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010538 },
10539 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010540 "name" : "node_27",
10541 "id" : 6,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010542 "source_info" : {
10543 "filename" : "include/control/next.p4",
10544 "line" : 220,
10545 "column" : 16,
10546 "source_fragment" : "!hashed.apply().hit"
10547 },
10548 "expression" : {
10549 "type" : "expression",
10550 "value" : {
10551 "op" : "not",
10552 "left" : null,
10553 "right" : {
10554 "type" : "expression",
10555 "value" : {
10556 "op" : "d2b",
10557 "left" : null,
10558 "right" : {
10559 "type" : "field",
10560 "value" : ["scalars", "next_tmp_3"]
10561 }
10562 }
10563 }
10564 }
10565 },
10566 "true_next" : "FabricIngress.next.multicast",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010567 "false_next" : "node_33"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010568 },
10569 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010570 "name" : "node_31",
10571 "id" : 7,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010572 "source_info" : {
10573 "filename" : "include/control/next.p4",
10574 "line" : 221,
10575 "column" : 20,
10576 "source_fragment" : "!multicast.apply().hit"
10577 },
10578 "expression" : {
10579 "type" : "expression",
10580 "value" : {
10581 "op" : "not",
10582 "left" : null,
10583 "right" : {
10584 "type" : "expression",
10585 "value" : {
10586 "op" : "d2b",
10587 "left" : null,
10588 "right" : {
10589 "type" : "field",
10590 "value" : ["scalars", "next_tmp_2"]
10591 }
10592 }
10593 }
10594 }
10595 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010596 "true_next" : "tbl_act_11",
10597 "false_next" : "node_33"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010598 },
10599 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010600 "name" : "node_33",
10601 "id" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010602 "expression" : {
10603 "type" : "expression",
10604 "value" : {
10605 "op" : "not",
10606 "left" : null,
10607 "right" : {
10608 "type" : "expression",
10609 "value" : {
10610 "op" : "d2b",
10611 "left" : null,
10612 "right" : {
10613 "type" : "field",
10614 "value" : ["scalars", "next_hasReturned_0"]
10615 }
10616 }
10617 }
10618 }
10619 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010620 "true_next" : "node_34",
10621 "false_next" : "node_37"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010622 },
10623 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010624 "name" : "node_34",
10625 "id" : 9,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010626 "source_info" : {
10627 "filename" : "include/control/next.p4",
10628 "line" : 228,
10629 "column" : 12,
10630 "source_fragment" : "!hdr.mpls.isValid()"
10631 },
10632 "expression" : {
10633 "type" : "expression",
10634 "value" : {
10635 "op" : "not",
10636 "left" : null,
10637 "right" : {
10638 "type" : "expression",
10639 "value" : {
10640 "op" : "d2b",
10641 "left" : null,
10642 "right" : {
10643 "type" : "field",
10644 "value" : ["mpls", "$valid$"]
10645 }
10646 }
10647 }
10648 }
10649 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010650 "true_next" : "node_35",
10651 "false_next" : "node_37"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010652 },
10653 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010654 "name" : "node_35",
10655 "id" : 10,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010656 "source_info" : {
10657 "filename" : "include/control/next.p4",
10658 "line" : 229,
10659 "column" : 15,
10660 "source_fragment" : "hdr.ipv4.isValid()"
10661 },
10662 "expression" : {
10663 "type" : "expression",
10664 "value" : {
10665 "op" : "d2b",
10666 "left" : null,
10667 "right" : {
10668 "type" : "field",
10669 "value" : ["ipv4", "$valid$"]
10670 }
10671 }
10672 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010673 "true_next" : "tbl_act_12",
10674 "false_next" : "node_37"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010675 },
10676 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010677 "name" : "node_37",
10678 "id" : 11,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010679 "source_info" : {
10680 "filename" : "include/control/port_counter.p4",
10681 "line" : 27,
10682 "column" : 12,
10683 "source_fragment" : "standard_metadata.egress_spec < 511"
10684 },
10685 "expression" : {
10686 "type" : "expression",
10687 "value" : {
10688 "op" : "<",
10689 "left" : {
10690 "type" : "field",
10691 "value" : ["standard_metadata", "egress_spec"]
10692 },
10693 "right" : {
10694 "type" : "hexstr",
10695 "value" : "0x01ff"
10696 }
10697 }
10698 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010699 "true_next" : "tbl_act_13",
10700 "false_next" : "node_39"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010701 },
10702 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010703 "name" : "node_39",
10704 "id" : 12,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010705 "source_info" : {
10706 "filename" : "include/control/port_counter.p4",
10707 "line" : 30,
10708 "column" : 12,
10709 "source_fragment" : "standard_metadata.ingress_port < 511"
10710 },
10711 "expression" : {
10712 "type" : "expression",
10713 "value" : {
10714 "op" : "<",
10715 "left" : {
10716 "type" : "field",
10717 "value" : ["standard_metadata", "ingress_port"]
10718 },
10719 "right" : {
10720 "type" : "hexstr",
10721 "value" : "0x01ff"
10722 }
10723 }
10724 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010725 "true_next" : "tbl_act_14",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010726 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
10727 },
10728 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010729 "name" : "node_43",
10730 "id" : 13,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010731 "source_info" : {
10732 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010733 "line" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010734 "column" : 11,
10735 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
10736 },
10737 "expression" : {
10738 "type" : "expression",
10739 "value" : {
10740 "op" : "==",
10741 "left" : {
10742 "type" : "field",
10743 "value" : ["userMetadata.int_meta", "sink"]
10744 },
10745 "right" : {
10746 "type" : "hexstr",
10747 "value" : "0x01"
10748 }
10749 }
10750 },
10751 "false_next" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010752 "true_next" : "tbl_act_15"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010753 }
10754 ]
10755 },
10756 {
10757 "name" : "egress",
10758 "id" : 1,
10759 "source_info" : {
10760 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010761 "line" : 80,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010762 "column" : 8,
10763 "source_fragment" : "FabricEgress"
10764 },
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010765 "init_table" : "node_47",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010766 "tables" : [
10767 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010768 "name" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010769 "id" : 29,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010770 "key" : [],
10771 "match_type" : "exact",
10772 "type" : "simple",
10773 "max_size" : 1024,
10774 "with_counters" : false,
10775 "support_timeout" : false,
10776 "direct_meters" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010777 "action_ids" : [101],
10778 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
10779 "base_default_next" : "node_51",
10780 "next_tables" : {
10781 "FabricEgress.pkt_io_egress.pop_vlan" : "node_51"
10782 },
10783 "default_entry" : {
10784 "action_id" : 101,
10785 "action_const" : true,
10786 "action_data" : [],
10787 "action_entry_const" : true
10788 }
10789 },
10790 {
10791 "name" : "tbl_drop_now",
10792 "id" : 30,
10793 "key" : [],
10794 "match_type" : "exact",
10795 "type" : "simple",
10796 "max_size" : 1024,
10797 "with_counters" : false,
10798 "support_timeout" : false,
10799 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010800 "action_ids" : [58],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010801 "actions" : ["drop_now"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010802 "base_default_next" : "tbl_act_16",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010803 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010804 "drop_now" : "tbl_act_16"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010805 },
10806 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010807 "action_id" : 58,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010808 "action_const" : true,
10809 "action_data" : [],
10810 "action_entry_const" : true
10811 }
10812 },
10813 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010814 "name" : "tbl_act_16",
10815 "id" : 31,
10816 "key" : [],
10817 "match_type" : "exact",
10818 "type" : "simple",
10819 "max_size" : 1024,
10820 "with_counters" : false,
10821 "support_timeout" : false,
10822 "direct_meters" : null,
10823 "action_ids" : [103],
10824 "actions" : ["act_16"],
10825 "base_default_next" : null,
10826 "next_tables" : {
10827 "act_16" : null
10828 },
10829 "default_entry" : {
10830 "action_id" : 103,
10831 "action_const" : true,
10832 "action_data" : [],
10833 "action_entry_const" : true
10834 }
10835 },
10836 {
10837 "name" : "tbl_drop_now_0",
10838 "id" : 32,
10839 "key" : [],
10840 "match_type" : "exact",
10841 "type" : "simple",
10842 "max_size" : 1024,
10843 "with_counters" : false,
10844 "support_timeout" : false,
10845 "direct_meters" : null,
10846 "action_ids" : [59],
10847 "actions" : ["drop_now"],
10848 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
10849 "next_tables" : {
10850 "drop_now" : "FabricEgress.egress_next.egress_vlan"
10851 },
10852 "default_entry" : {
10853 "action_id" : 59,
10854 "action_const" : true,
10855 "action_data" : [],
10856 "action_entry_const" : true
10857 }
10858 },
10859 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010860 "name" : "FabricEgress.egress_next.egress_vlan",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010861 "id" : 33,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010862 "source_info" : {
10863 "filename" : "include/control/next.p4",
10864 "line" : 258,
10865 "column" : 10,
10866 "source_fragment" : "egress_vlan"
10867 },
10868 "key" : [
10869 {
10870 "match_type" : "exact",
10871 "name" : "hdr.vlan_tag.vlan_id",
10872 "target" : ["vlan_tag", "vlan_id"],
10873 "mask" : null
10874 },
10875 {
10876 "match_type" : "exact",
10877 "name" : "standard_metadata.egress_port",
10878 "target" : ["standard_metadata", "egress_port"],
10879 "mask" : null
10880 }
10881 ],
10882 "match_type" : "exact",
10883 "type" : "simple",
10884 "max_size" : 1024,
10885 "with_counters" : true,
10886 "support_timeout" : false,
10887 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010888 "action_ids" : [102, 57],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010889 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010890 "base_default_next" : "node_57",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010891 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010892 "FabricEgress.egress_next.pop_vlan" : "node_57",
10893 "nop" : "node_57"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010894 },
10895 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010896 "action_id" : 57,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010897 "action_const" : false,
10898 "action_data" : [],
10899 "action_entry_const" : false
10900 }
10901 },
10902 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010903 "name" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010904 "id" : 34,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010905 "source_info" : {
10906 "filename" : "include/int_source.p4",
10907 "line" : 66,
10908 "column" : 10,
10909 "source_fragment" : "tb_int_source"
10910 },
10911 "key" : [
10912 {
10913 "match_type" : "ternary",
10914 "name" : "hdr.ipv4.src_addr",
10915 "target" : ["ipv4", "src_addr"],
10916 "mask" : null
10917 },
10918 {
10919 "match_type" : "ternary",
10920 "name" : "hdr.ipv4.dst_addr",
10921 "target" : ["ipv4", "dst_addr"],
10922 "mask" : null
10923 },
10924 {
10925 "match_type" : "ternary",
10926 "name" : "fabric_metadata.l4_src_port",
10927 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
10928 "mask" : null
10929 },
10930 {
10931 "match_type" : "ternary",
10932 "name" : "fabric_metadata.l4_dst_port",
10933 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
10934 "mask" : null
10935 }
10936 ],
10937 "match_type" : "ternary",
10938 "type" : "simple",
10939 "max_size" : 1024,
10940 "with_counters" : true,
10941 "support_timeout" : false,
10942 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010943 "action_ids" : [60, 52],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010944 "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010945 "base_default_next" : "node_60",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010946 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010947 "FabricEgress.process_int_source.int_source_dscp" : "node_60",
10948 "NoAction" : "node_60"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010949 },
10950 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010951 "action_id" : 52,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010952 "action_const" : false,
10953 "action_data" : [],
10954 "action_entry_const" : false
10955 }
10956 },
10957 {
10958 "name" : "FabricEgress.process_int_transit.tb_int_insert",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010959 "id" : 35,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010960 "source_info" : {
10961 "filename" : "include/int_transit.p4",
10962 "line" : 227,
10963 "column" : 10,
10964 "source_fragment" : "tb_int_insert"
10965 },
10966 "key" : [],
10967 "match_type" : "exact",
10968 "type" : "simple",
10969 "max_size" : 2,
10970 "with_counters" : true,
10971 "support_timeout" : false,
10972 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010973 "action_ids" : [62, 53],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010974 "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
10975 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
10976 "next_tables" : {
10977 "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
10978 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
10979 },
10980 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010981 "action_id" : 53,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010982 "action_const" : false,
10983 "action_data" : [],
10984 "action_entry_const" : false
10985 }
10986 },
10987 {
10988 "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070010989 "id" : 36,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010990 "source_info" : {
10991 "filename" : "include/int_transit.p4",
10992 "line" : 237,
10993 "column" : 10,
10994 "source_fragment" : "tb_int_inst_0003"
10995 },
10996 "key" : [
10997 {
10998 "match_type" : "exact",
10999 "name" : "hdr.int_header.instruction_mask_0003",
11000 "target" : ["int_header", "instruction_mask_0003"],
11001 "mask" : null
11002 }
11003 ],
11004 "match_type" : "exact",
11005 "type" : "simple",
11006 "max_size" : 16,
11007 "with_counters" : true,
11008 "support_timeout" : false,
11009 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011010 "action_ids" : [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 54],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011011 "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"],
11012 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11013 "next_tables" : {
11014 "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11015 "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11016 "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11017 "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11018 "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11019 "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11020 "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11021 "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11022 "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11023 "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11024 "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11025 "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11026 "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11027 "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11028 "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11029 "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
11030 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
11031 },
11032 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011033 "action_id" : 54,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011034 "action_const" : false,
11035 "action_data" : [],
11036 "action_entry_const" : false
11037 }
11038 },
11039 {
11040 "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011041 "id" : 37,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011042 "source_info" : {
11043 "filename" : "include/int_transit.p4",
11044 "line" : 264,
11045 "column" : 10,
11046 "source_fragment" : "tb_int_inst_0407"
11047 },
11048 "key" : [
11049 {
11050 "match_type" : "exact",
11051 "name" : "hdr.int_header.instruction_mask_0407",
11052 "target" : ["int_header", "instruction_mask_0407"],
11053 "mask" : null
11054 }
11055 ],
11056 "match_type" : "exact",
11057 "type" : "simple",
11058 "max_size" : 16,
11059 "with_counters" : true,
11060 "support_timeout" : false,
11061 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011062 "action_ids" : [79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 55],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011063 "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"],
11064 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
11065 "next_tables" : {
11066 "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
11067 "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
11068 "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
11069 "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
11070 "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
11071 "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
11072 "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
11073 "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
11074 "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
11075 "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
11076 "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
11077 "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
11078 "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
11079 "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
11080 "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
11081 "FabricEgress.process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
11082 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
11083 },
11084 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011085 "action_id" : 55,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011086 "action_const" : false,
11087 "action_data" : [],
11088 "action_entry_const" : false
11089 }
11090 },
11091 {
11092 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011093 "id" : 38,
11094 "key" : [],
11095 "match_type" : "exact",
11096 "type" : "simple",
11097 "max_size" : 1024,
11098 "with_counters" : false,
11099 "support_timeout" : false,
11100 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011101 "action_ids" : [61],
11102 "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011103 "base_default_next" : "node_65",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011104 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011105 "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_65"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011106 },
11107 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011108 "action_id" : 61,
11109 "action_const" : true,
11110 "action_data" : [],
11111 "action_entry_const" : true
11112 }
11113 },
11114 {
11115 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
11116 "id" : 39,
11117 "key" : [],
11118 "match_type" : "exact",
11119 "type" : "simple",
11120 "max_size" : 1024,
11121 "with_counters" : false,
11122 "support_timeout" : false,
11123 "direct_meters" : null,
11124 "action_ids" : [95],
11125 "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011126 "base_default_next" : "node_67",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011127 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011128 "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_67"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011129 },
11130 "default_entry" : {
11131 "action_id" : 95,
11132 "action_const" : true,
11133 "action_data" : [],
11134 "action_entry_const" : true
11135 }
11136 },
11137 {
11138 "name" : "tbl_process_int_outer_encap_int_update_udp",
11139 "id" : 40,
11140 "key" : [],
11141 "match_type" : "exact",
11142 "type" : "simple",
11143 "max_size" : 1024,
11144 "with_counters" : false,
11145 "support_timeout" : false,
11146 "direct_meters" : null,
11147 "action_ids" : [96],
11148 "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011149 "base_default_next" : "node_69",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011150 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011151 "FabricEgress.process_int_outer_encap.int_update_udp" : "node_69"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011152 },
11153 "default_entry" : {
11154 "action_id" : 96,
11155 "action_const" : true,
11156 "action_data" : [],
11157 "action_entry_const" : true
11158 }
11159 },
11160 {
11161 "name" : "tbl_process_int_outer_encap_int_update_shim",
11162 "id" : 41,
11163 "key" : [],
11164 "match_type" : "exact",
11165 "type" : "simple",
11166 "max_size" : 1024,
11167 "with_counters" : false,
11168 "support_timeout" : false,
11169 "direct_meters" : null,
11170 "action_ids" : [97],
11171 "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011172 "base_default_next" : "node_71",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011173 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011174 "FabricEgress.process_int_outer_encap.int_update_shim" : "node_71"
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011175 },
11176 "default_entry" : {
11177 "action_id" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011178 "action_const" : true,
11179 "action_data" : [],
11180 "action_entry_const" : true
11181 }
11182 },
11183 {
11184 "name" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011185 "id" : 42,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011186 "source_info" : {
11187 "filename" : "include/int_report.p4",
11188 "line" : 87,
11189 "column" : 10,
11190 "source_fragment" : "tb_generate_report"
11191 },
11192 "key" : [],
11193 "match_type" : "exact",
11194 "type" : "simple",
11195 "max_size" : 1024,
11196 "with_counters" : false,
11197 "support_timeout" : false,
11198 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011199 "action_ids" : [98, 56],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011200 "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011201 "base_default_next" : "node_73",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011202 "next_tables" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011203 "FabricEgress.process_int_report.do_report_encapsulation" : "node_73",
11204 "NoAction" : "node_73"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011205 },
11206 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011207 "action_id" : 56,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011208 "action_const" : false,
11209 "action_data" : [],
11210 "action_entry_const" : false
11211 }
11212 },
11213 {
11214 "name" : "tbl_process_int_sink_restore_header",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011215 "id" : 43,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011216 "key" : [],
11217 "match_type" : "exact",
11218 "type" : "simple",
11219 "max_size" : 1024,
11220 "with_counters" : false,
11221 "support_timeout" : false,
11222 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011223 "action_ids" : [99],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011224 "actions" : ["FabricEgress.process_int_sink.restore_header"],
11225 "base_default_next" : "tbl_process_int_sink_int_sink",
11226 "next_tables" : {
11227 "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
11228 },
11229 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011230 "action_id" : 99,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011231 "action_const" : true,
11232 "action_data" : [],
11233 "action_entry_const" : true
11234 }
11235 },
11236 {
11237 "name" : "tbl_process_int_sink_int_sink",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011238 "id" : 44,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011239 "key" : [],
11240 "match_type" : "exact",
11241 "type" : "simple",
11242 "max_size" : 1024,
11243 "with_counters" : false,
11244 "support_timeout" : false,
11245 "direct_meters" : null,
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011246 "action_ids" : [100],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011247 "actions" : ["FabricEgress.process_int_sink.int_sink"],
11248 "base_default_next" : null,
11249 "next_tables" : {
11250 "FabricEgress.process_int_sink.int_sink" : null
11251 },
11252 "default_entry" : {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011253 "action_id" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011254 "action_const" : true,
11255 "action_data" : [],
11256 "action_entry_const" : true
11257 }
11258 }
11259 ],
11260 "action_profiles" : [],
11261 "conditionals" : [
11262 {
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011263 "name" : "node_47",
11264 "id" : 14,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011265 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011266 "filename" : "include/control/packetio.p4",
11267 "line" : 43,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011268 "column" : 12,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011269 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011270 },
11271 "expression" : {
11272 "type" : "expression",
11273 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011274 "op" : "==",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011275 "left" : {
11276 "type" : "expression",
11277 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011278 "op" : "d2b",
11279 "left" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011280 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011281 "type" : "field",
11282 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011283 }
11284 }
11285 },
11286 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011287 "type" : "bool",
11288 "value" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011289 }
11290 }
11291 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011292 "true_next" : null,
11293 "false_next" : "node_48"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011294 },
11295 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011296 "name" : "node_48",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011297 "id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011298 "source_info" : {
11299 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011300 "line" : 47,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011301 "column" : 12,
11302 "source_fragment" : "standard_metadata.egress_port == 255"
11303 },
11304 "expression" : {
11305 "type" : "expression",
11306 "value" : {
11307 "op" : "==",
11308 "left" : {
11309 "type" : "field",
11310 "value" : ["standard_metadata", "egress_port"]
11311 },
11312 "right" : {
11313 "type" : "hexstr",
11314 "value" : "0x00ff"
11315 }
11316 }
11317 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011318 "true_next" : "node_49",
11319 "false_next" : "node_54"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011320 },
11321 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011322 "name" : "node_49",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011323 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011324 "source_info" : {
11325 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011326 "line" : 48,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011327 "column" : 16,
11328 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
11329 },
11330 "expression" : {
11331 "type" : "expression",
11332 "value" : {
11333 "op" : "and",
11334 "left" : {
11335 "type" : "expression",
11336 "value" : {
11337 "op" : "d2b",
11338 "left" : null,
11339 "right" : {
11340 "type" : "field",
11341 "value" : ["vlan_tag", "$valid$"]
11342 }
11343 }
11344 },
11345 "right" : {
11346 "type" : "expression",
11347 "value" : {
11348 "op" : "==",
11349 "left" : {
11350 "type" : "expression",
11351 "value" : {
11352 "op" : "d2b",
11353 "left" : null,
11354 "right" : {
11355 "type" : "field",
11356 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
11357 }
11358 }
11359 },
11360 "right" : {
11361 "type" : "bool",
11362 "value" : true
11363 }
11364 }
11365 }
11366 }
11367 },
11368 "true_next" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011369 "false_next" : "node_51"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011370 },
11371 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011372 "name" : "node_51",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011373 "id" : 17,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011374 "source_info" : {
11375 "filename" : "include/control/packetio.p4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011376 "line" : 51,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011377 "column" : 16,
11378 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
11379 },
11380 "expression" : {
11381 "type" : "expression",
11382 "value" : {
11383 "op" : "and",
11384 "left" : {
11385 "type" : "expression",
11386 "value" : {
11387 "op" : "==",
11388 "left" : {
11389 "type" : "expression",
11390 "value" : {
11391 "op" : "d2b",
11392 "left" : null,
11393 "right" : {
11394 "type" : "field",
11395 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
11396 }
11397 }
11398 },
11399 "right" : {
11400 "type" : "bool",
11401 "value" : true
11402 }
11403 }
11404 },
11405 "right" : {
11406 "type" : "expression",
11407 "value" : {
11408 "op" : "==",
11409 "left" : {
11410 "type" : "expression",
11411 "value" : {
11412 "op" : "d2b",
11413 "left" : null,
11414 "right" : {
11415 "type" : "field",
11416 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
11417 }
11418 }
11419 },
11420 "right" : {
11421 "type" : "bool",
11422 "value" : false
11423 }
11424 }
11425 }
11426 }
11427 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011428 "true_next" : "tbl_drop_now",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011429 "false_next" : "tbl_act_16"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011430 },
11431 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011432 "name" : "node_54",
Carmelo Cascone8a715f82018-08-20 23:16:27 -070011433 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011434 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011435 "filename" : "include/control/next.p4",
11436 "line" : 272,
11437 "column" : 12,
11438 "source_fragment" : "fabric_metadata.is_multicast == true ..."
11439 },
11440 "expression" : {
11441 "type" : "expression",
11442 "value" : {
11443 "op" : "and",
11444 "left" : {
11445 "type" : "expression",
11446 "value" : {
11447 "op" : "==",
11448 "left" : {
11449 "type" : "expression",
11450 "value" : {
11451 "op" : "d2b",
11452 "left" : null,
11453 "right" : {
11454 "type" : "field",
11455 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
11456 }
11457 }
11458 },
11459 "right" : {
11460 "type" : "bool",
11461 "value" : true
11462 }
11463 }
11464 },
11465 "right" : {
11466 "type" : "expression",
11467 "value" : {
11468 "op" : "==",
11469 "left" : {
11470 "type" : "field",
11471 "value" : ["standard_metadata", "ingress_port"]
11472 },
11473 "right" : {
11474 "type" : "field",
11475 "value" : ["standard_metadata", "egress_port"]
11476 }
11477 }
11478 }
11479 }
11480 },
11481 "true_next" : "tbl_drop_now_0",
11482 "false_next" : "FabricEgress.egress_next.egress_vlan"
11483 },
11484 {
11485 "name" : "node_57",
11486 "id" : 19,
11487 "source_info" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011488 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011489 "line" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011490 "column" : 12,
11491 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
11492 },
11493 "expression" : {
11494 "type" : "expression",
11495 "value" : {
11496 "op" : "and",
11497 "left" : {
11498 "type" : "expression",
11499 "value" : {
11500 "op" : "and",
11501 "left" : {
11502 "type" : "expression",
11503 "value" : {
11504 "op" : "!=",
11505 "left" : {
11506 "type" : "field",
11507 "value" : ["standard_metadata", "ingress_port"]
11508 },
11509 "right" : {
11510 "type" : "hexstr",
11511 "value" : "0x00ff"
11512 }
11513 }
11514 },
11515 "right" : {
11516 "type" : "expression",
11517 "value" : {
11518 "op" : "!=",
11519 "left" : {
11520 "type" : "field",
11521 "value" : ["standard_metadata", "egress_port"]
11522 },
11523 "right" : {
11524 "type" : "hexstr",
11525 "value" : "0x00ff"
11526 }
11527 }
11528 }
11529 }
11530 },
11531 "right" : {
11532 "type" : "expression",
11533 "value" : {
11534 "op" : "or",
11535 "left" : {
11536 "type" : "expression",
11537 "value" : {
11538 "op" : "d2b",
11539 "left" : null,
11540 "right" : {
11541 "type" : "field",
11542 "value" : ["udp", "$valid$"]
11543 }
11544 }
11545 },
11546 "right" : {
11547 "type" : "expression",
11548 "value" : {
11549 "op" : "d2b",
11550 "left" : null,
11551 "right" : {
11552 "type" : "field",
11553 "value" : ["tcp", "$valid$"]
11554 }
11555 }
11556 }
11557 }
11558 }
11559 }
11560 },
11561 "false_next" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011562 "true_next" : "node_58"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011563 },
11564 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011565 "name" : "node_58",
11566 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011567 "source_info" : {
11568 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011569 "line" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011570 "column" : 16,
11571 "source_fragment" : "fabric_metadata.int_meta.source == 1"
11572 },
11573 "expression" : {
11574 "type" : "expression",
11575 "value" : {
11576 "op" : "==",
11577 "left" : {
11578 "type" : "field",
11579 "value" : ["userMetadata.int_meta", "source"]
11580 },
11581 "right" : {
11582 "type" : "hexstr",
11583 "value" : "0x01"
11584 }
11585 }
11586 },
11587 "true_next" : "FabricEgress.process_int_source.tb_int_source",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011588 "false_next" : "node_60"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011589 },
11590 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011591 "name" : "node_60",
11592 "id" : 21,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011593 "source_info" : {
11594 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011595 "line" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011596 "column" : 15,
11597 "source_fragment" : "hdr.int_header.isValid()"
11598 },
11599 "expression" : {
11600 "type" : "expression",
11601 "value" : {
11602 "op" : "d2b",
11603 "left" : null,
11604 "right" : {
11605 "type" : "field",
11606 "value" : ["int_header", "$valid$"]
11607 }
11608 }
11609 },
11610 "false_next" : null,
11611 "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
11612 },
11613 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011614 "name" : "node_65",
11615 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011616 "source_info" : {
11617 "filename" : "include/int_transit.p4",
11618 "line" : 314,
11619 "column" : 12,
11620 "source_fragment" : "hdr.ipv4.isValid()"
11621 },
11622 "expression" : {
11623 "type" : "expression",
11624 "value" : {
11625 "op" : "d2b",
11626 "left" : null,
11627 "right" : {
11628 "type" : "field",
11629 "value" : ["ipv4", "$valid$"]
11630 }
11631 }
11632 },
11633 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011634 "false_next" : "node_67"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011635 },
11636 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011637 "name" : "node_67",
11638 "id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011639 "source_info" : {
11640 "filename" : "include/int_transit.p4",
11641 "line" : 317,
11642 "column" : 12,
11643 "source_fragment" : "hdr.udp.isValid()"
11644 },
11645 "expression" : {
11646 "type" : "expression",
11647 "value" : {
11648 "op" : "d2b",
11649 "left" : null,
11650 "right" : {
11651 "type" : "field",
11652 "value" : ["udp", "$valid$"]
11653 }
11654 }
11655 },
11656 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011657 "false_next" : "node_69"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011658 },
11659 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011660 "name" : "node_69",
11661 "id" : 24,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011662 "source_info" : {
11663 "filename" : "include/int_transit.p4",
11664 "line" : 320,
11665 "column" : 12,
11666 "source_fragment" : "hdr.intl4_shim.isValid()"
11667 },
11668 "expression" : {
11669 "type" : "expression",
11670 "value" : {
11671 "op" : "d2b",
11672 "left" : null,
11673 "right" : {
11674 "type" : "field",
11675 "value" : ["intl4_shim", "$valid$"]
11676 }
11677 }
11678 },
11679 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011680 "false_next" : "node_71"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011681 },
11682 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011683 "name" : "node_71",
11684 "id" : 25,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011685 "source_info" : {
11686 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011687 "line" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011688 "column" : 20,
11689 "source_fragment" : "standard_metadata.instance_type == 1"
11690 },
11691 "expression" : {
11692 "type" : "expression",
11693 "value" : {
11694 "op" : "==",
11695 "left" : {
11696 "type" : "field",
11697 "value" : ["standard_metadata", "instance_type"]
11698 },
11699 "right" : {
11700 "type" : "hexstr",
11701 "value" : "0x00000001"
11702 }
11703 }
11704 },
11705 "true_next" : "FabricEgress.process_int_report.tb_generate_report",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011706 "false_next" : "node_73"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011707 },
11708 {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070011709 "name" : "node_73",
11710 "id" : 26,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011711 "source_info" : {
11712 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011713 "line" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011714 "column" : 20,
11715 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
11716 },
11717 "expression" : {
11718 "type" : "expression",
11719 "value" : {
11720 "op" : "==",
11721 "left" : {
11722 "type" : "field",
11723 "value" : ["userMetadata.int_meta", "sink"]
11724 },
11725 "right" : {
11726 "type" : "hexstr",
11727 "value" : "0x01"
11728 }
11729 }
11730 },
11731 "false_next" : null,
11732 "true_next" : "tbl_process_int_sink_restore_header"
11733 }
11734 ]
11735 }
11736 ],
11737 "checksums" : [
11738 {
11739 "name" : "cksum",
11740 "id" : 0,
11741 "target" : ["ipv4", "hdr_checksum"],
11742 "type" : "generic",
11743 "calculation" : "calc",
11744 "if_cond" : {
11745 "type" : "expression",
11746 "value" : {
11747 "op" : "d2b",
11748 "left" : null,
11749 "right" : {
11750 "type" : "field",
11751 "value" : ["ipv4", "$valid$"]
11752 }
11753 }
11754 }
11755 },
11756 {
11757 "name" : "cksum_0",
11758 "id" : 1,
11759 "target" : ["ipv4", "hdr_checksum"],
11760 "type" : "generic",
11761 "calculation" : "calc_0",
11762 "if_cond" : {
11763 "type" : "expression",
11764 "value" : {
11765 "op" : "d2b",
11766 "left" : null,
11767 "right" : {
11768 "type" : "field",
11769 "value" : ["ipv4", "$valid$"]
11770 }
11771 }
11772 }
11773 }
11774 ],
11775 "force_arith" : [],
11776 "extern_instances" : [],
11777 "field_aliases" : [
11778 [
11779 "queueing_metadata.enq_timestamp",
11780 ["standard_metadata", "enq_timestamp"]
11781 ],
11782 [
11783 "queueing_metadata.enq_qdepth",
11784 ["standard_metadata", "enq_qdepth"]
11785 ],
11786 [
11787 "queueing_metadata.deq_timedelta",
11788 ["standard_metadata", "deq_timedelta"]
11789 ],
11790 [
11791 "queueing_metadata.deq_qdepth",
11792 ["standard_metadata", "deq_qdepth"]
11793 ],
11794 [
11795 "intrinsic_metadata.ingress_global_timestamp",
11796 ["standard_metadata", "ingress_global_timestamp"]
11797 ],
11798 [
11799 "intrinsic_metadata.egress_global_timestamp",
11800 ["standard_metadata", "egress_global_timestamp"]
11801 ],
11802 [
11803 "intrinsic_metadata.lf_field_list",
11804 ["standard_metadata", "lf_field_list"]
11805 ],
11806 [
11807 "intrinsic_metadata.mcast_grp",
11808 ["standard_metadata", "mcast_grp"]
11809 ],
11810 [
11811 "intrinsic_metadata.resubmit_flag",
11812 ["standard_metadata", "resubmit_flag"]
11813 ],
11814 [
11815 "intrinsic_metadata.egress_rid",
11816 ["standard_metadata", "egress_rid"]
11817 ],
11818 [
11819 "intrinsic_metadata.recirculate_flag",
11820 ["standard_metadata", "recirculate_flag"]
11821 ]
11822 ],
11823 "program" : "fabric.p4",
11824 "__meta__" : {
11825 "version" : [2, 18],
11826 "compiler" : "https://github.com/p4lang/p4c"
11827 }
11828}