blob: 31f670519967bf5eec3f4023af3f11a14c11508a [file] [log] [blame]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001{
2 "program" : "int.p4",
3 "__meta__" : {
4 "version" : [2, 7],
5 "compiler" : "https://github.com/p4lang/p4c"
6 },
7 "header_types" : [
8 {
9 "name" : "scalars_0",
10 "id" : 0,
11 "fields" : [
Jonghwan Hyun8be03392017-12-04 15:48:44 -080012 ["tmp", 1, false],
13 ["tmp_0", 1, false],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -080014 ["tmp_1", 32, false],
Jonghwan Hyun8be03392017-12-04 15:48:44 -080015 ["tmp_2", 32, false],
16 ["tmp_3", 32, false],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -080017 ["local_metadata_t.l4_src_port", 16, false],
18 ["local_metadata_t.l4_dst_port", 16, false],
19 ["local_metadata_t.next_hop_id", 16, false],
Jonghwan Hyun8be03392017-12-04 15:48:44 -080020 ["local_metadata_t.selector", 16, false],
21 ["_padding_3", 6, false]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -080022 ]
23 },
24 {
25 "name" : "packet_out_header_t",
26 "id" : 1,
27 "fields" : [
28 ["egress_port", 9, false],
29 ["_padding", 7, false]
30 ]
31 },
32 {
33 "name" : "packet_in_header_t",
34 "id" : 2,
35 "fields" : [
36 ["ingress_port", 9, false],
37 ["_padding_0", 7, false]
38 ]
39 },
40 {
41 "name" : "ethernet_t",
42 "id" : 3,
43 "fields" : [
44 ["dst_addr", 48, false],
45 ["src_addr", 48, false],
46 ["ether_type", 16, false]
47 ]
48 },
49 {
50 "name" : "ipv4_t",
51 "id" : 4,
52 "fields" : [
53 ["version", 4, false],
54 ["ihl", 4, false],
Jonghwan Hyun8be03392017-12-04 15:48:44 -080055 ["dscp", 6, false],
56 ["ecn", 2, false],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -080057 ["len", 16, false],
58 ["identification", 16, false],
59 ["flags", 3, false],
60 ["frag_offset", 13, false],
61 ["ttl", 8, false],
62 ["protocol", 8, false],
63 ["hdr_checksum", 16, false],
64 ["src_addr", 32, false],
65 ["dst_addr", 32, false]
66 ]
67 },
68 {
69 "name" : "tcp_t",
70 "id" : 5,
71 "fields" : [
72 ["src_port", 16, false],
73 ["dst_port", 16, false],
74 ["seq_no", 32, false],
75 ["ack_no", 32, false],
76 ["data_offset", 4, false],
77 ["res", 3, false],
78 ["ecn", 3, false],
79 ["ctrl", 6, false],
80 ["window", 16, false],
81 ["checksum", 16, false],
82 ["urgent_ptr", 16, false]
83 ]
84 },
85 {
86 "name" : "udp_t",
87 "id" : 6,
88 "fields" : [
89 ["src_port", 16, false],
90 ["dst_port", 16, false],
91 ["length_", 16, false],
92 ["checksum", 16, false]
93 ]
94 },
95 {
96 "name" : "intl4_shim_t",
97 "id" : 7,
98 "fields" : [
99 ["int_type", 8, false],
100 ["rsvd1", 8, false],
101 ["len", 8, false],
102 ["rsvd2", 8, false]
103 ]
104 },
105 {
106 "name" : "int_header_t",
107 "id" : 8,
108 "fields" : [
109 ["ver", 2, false],
110 ["rep", 2, false],
111 ["c", 1, false],
112 ["e", 1, false],
113 ["rsvd1", 5, false],
114 ["ins_cnt", 5, false],
115 ["max_hop_cnt", 8, false],
116 ["total_hop_cnt", 8, false],
117 ["instruction_mask_0003", 4, false],
118 ["instruction_mask_0407", 4, false],
119 ["instruction_mask_0811", 4, false],
120 ["instruction_mask_1215", 4, false],
121 ["rsvd2", 16, false]
122 ]
123 },
124 {
125 "name" : "int_data_t",
126 "id" : 9,
127 "fields" : [
128 ["data", "*"]
129 ],
130 "max_length" : 1004
131 },
132 {
133 "name" : "int_switch_id_t",
134 "id" : 10,
135 "fields" : [
136 ["switch_id", 32, false]
137 ]
138 },
139 {
140 "name" : "int_port_ids_t",
141 "id" : 11,
142 "fields" : [
143 ["ingress_port_id", 16, false],
144 ["egress_port_id", 16, false]
145 ]
146 },
147 {
148 "name" : "int_hop_latency_t",
149 "id" : 12,
150 "fields" : [
151 ["hop_latency", 32, false]
152 ]
153 },
154 {
155 "name" : "int_q_occupancy_t",
156 "id" : 13,
157 "fields" : [
158 ["q_id", 8, false],
159 ["q_occupancy", 24, false]
160 ]
161 },
162 {
163 "name" : "int_ingress_tstamp_t",
164 "id" : 14,
165 "fields" : [
166 ["ingress_tstamp", 32, false]
167 ]
168 },
169 {
170 "name" : "int_egress_tstamp_t",
171 "id" : 15,
172 "fields" : [
173 ["egress_tstamp", 32, false]
174 ]
175 },
176 {
177 "name" : "int_q_congestion_t",
178 "id" : 16,
179 "fields" : [
180 ["q_id", 8, false],
181 ["q_congestion", 24, false]
182 ]
183 },
184 {
185 "name" : "int_egress_port_tx_util_t",
186 "id" : 17,
187 "fields" : [
188 ["egress_port_tx_util", 32, false]
189 ]
190 },
191 {
192 "name" : "intl4_tail_t",
193 "id" : 18,
194 "fields" : [
195 ["next_proto", 8, false],
196 ["dest_port", 16, false],
197 ["dscp", 8, false]
198 ]
199 },
200 {
201 "name" : "int_metadata_t",
202 "id" : 19,
203 "fields" : [
204 ["switch_id", 32, false],
205 ["insert_byte_cnt", 16, false],
206 ["source", 1, false],
207 ["sink", 1, false],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800208 ["mirror_id", 8, false],
209 ["flow_id", 16, false],
210 ["metadata_len", 8, false],
211 ["_padding_1", 6, false]
212 ]
213 },
214 {
215 "name" : "standard_metadata",
216 "id" : 20,
217 "fields" : [
218 ["ingress_port", 9, false],
219 ["egress_spec", 9, false],
220 ["egress_port", 9, false],
221 ["clone_spec", 32, false],
222 ["instance_type", 32, false],
223 ["drop", 1, false],
224 ["recirculate_port", 16, false],
225 ["packet_length", 32, false],
226 ["enq_timestamp", 32, false],
227 ["enq_qdepth", 19, false],
228 ["deq_timedelta", 32, false],
229 ["deq_qdepth", 19, false],
230 ["ingress_global_timestamp", 48, false],
231 ["lf_field_list", 32, false],
232 ["mcast_grp", 16, false],
233 ["resubmit_flag", 1, false],
234 ["egress_rid", 16, false],
235 ["checksum_error", 1, false],
236 ["_padding_2", 4, false]
237 ]
238 }
239 ],
240 "headers" : [
241 {
242 "name" : "scalars",
243 "id" : 0,
244 "header_type" : "scalars_0",
245 "metadata" : true,
246 "pi_omit" : true
247 },
248 {
249 "name" : "standard_metadata",
250 "id" : 1,
251 "header_type" : "standard_metadata",
252 "metadata" : true,
253 "pi_omit" : true
254 },
255 {
256 "name" : "packet_out",
257 "id" : 2,
258 "header_type" : "packet_out_header_t",
259 "metadata" : false,
260 "pi_omit" : true
261 },
262 {
263 "name" : "packet_in",
264 "id" : 3,
265 "header_type" : "packet_in_header_t",
266 "metadata" : false,
267 "pi_omit" : true
268 },
269 {
270 "name" : "ethernet",
271 "id" : 4,
272 "header_type" : "ethernet_t",
273 "metadata" : false,
274 "pi_omit" : true
275 },
276 {
277 "name" : "ipv4",
278 "id" : 5,
279 "header_type" : "ipv4_t",
280 "metadata" : false,
281 "pi_omit" : true
282 },
283 {
284 "name" : "tcp",
285 "id" : 6,
286 "header_type" : "tcp_t",
287 "metadata" : false,
288 "pi_omit" : true
289 },
290 {
291 "name" : "udp",
292 "id" : 7,
293 "header_type" : "udp_t",
294 "metadata" : false,
295 "pi_omit" : true
296 },
297 {
298 "name" : "intl4_shim",
299 "id" : 8,
300 "header_type" : "intl4_shim_t",
301 "metadata" : false,
302 "pi_omit" : true
303 },
304 {
305 "name" : "int_header",
306 "id" : 9,
307 "header_type" : "int_header_t",
308 "metadata" : false,
309 "pi_omit" : true
310 },
311 {
312 "name" : "int_data",
313 "id" : 10,
314 "header_type" : "int_data_t",
315 "metadata" : false,
316 "pi_omit" : true
317 },
318 {
319 "name" : "int_switch_id",
320 "id" : 11,
321 "header_type" : "int_switch_id_t",
322 "metadata" : false,
323 "pi_omit" : true
324 },
325 {
326 "name" : "int_port_ids",
327 "id" : 12,
328 "header_type" : "int_port_ids_t",
329 "metadata" : false,
330 "pi_omit" : true
331 },
332 {
333 "name" : "int_hop_latency",
334 "id" : 13,
335 "header_type" : "int_hop_latency_t",
336 "metadata" : false,
337 "pi_omit" : true
338 },
339 {
340 "name" : "int_q_occupancy",
341 "id" : 14,
342 "header_type" : "int_q_occupancy_t",
343 "metadata" : false,
344 "pi_omit" : true
345 },
346 {
347 "name" : "int_ingress_tstamp",
348 "id" : 15,
349 "header_type" : "int_ingress_tstamp_t",
350 "metadata" : false,
351 "pi_omit" : true
352 },
353 {
354 "name" : "int_egress_tstamp",
355 "id" : 16,
356 "header_type" : "int_egress_tstamp_t",
357 "metadata" : false,
358 "pi_omit" : true
359 },
360 {
361 "name" : "int_q_congestion",
362 "id" : 17,
363 "header_type" : "int_q_congestion_t",
364 "metadata" : false,
365 "pi_omit" : true
366 },
367 {
368 "name" : "int_egress_tx_util",
369 "id" : 18,
370 "header_type" : "int_egress_port_tx_util_t",
371 "metadata" : false,
372 "pi_omit" : true
373 },
374 {
375 "name" : "intl4_tail",
376 "id" : 19,
377 "header_type" : "intl4_tail_t",
378 "metadata" : false,
379 "pi_omit" : true
380 },
381 {
382 "name" : "int_meta",
383 "id" : 20,
384 "header_type" : "int_metadata_t",
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800385 "metadata" : true,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800386 "pi_omit" : true
387 }
388 ],
389 "header_stacks" : [],
390 "header_union_types" : [],
391 "header_unions" : [],
392 "header_union_stacks" : [],
393 "field_lists" : [],
394 "errors" : [
395 ["NoError", 0],
396 ["PacketTooShort", 1],
397 ["NoMatch", 2],
398 ["StackOutOfBounds", 3],
399 ["HeaderTooShort", 4],
400 ["ParserTimeout", 5]
401 ],
402 "enums" : [],
403 "parsers" : [
404 {
405 "name" : "parser",
406 "id" : 0,
407 "init_state" : "start",
408 "parse_states" : [
409 {
410 "name" : "start",
411 "id" : 0,
412 "parser_ops" : [],
413 "transitions" : [
414 {
415 "value" : "0x00ff",
416 "mask" : null,
417 "next_state" : "parse_packet_out"
418 },
419 {
420 "value" : "default",
421 "mask" : null,
422 "next_state" : "parse_ethernet"
423 }
424 ],
425 "transition_key" : [
426 {
427 "type" : "field",
428 "value" : ["standard_metadata", "ingress_port"]
429 }
430 ]
431 },
432 {
433 "name" : "parse_packet_out",
434 "id" : 1,
435 "parser_ops" : [
436 {
437 "parameters" : [
438 {
439 "type" : "regular",
440 "value" : "packet_out"
441 }
442 ],
443 "op" : "extract"
444 }
445 ],
446 "transitions" : [
447 {
448 "value" : "default",
449 "mask" : null,
450 "next_state" : "parse_ethernet"
451 }
452 ],
453 "transition_key" : []
454 },
455 {
456 "name" : "parse_ethernet",
457 "id" : 2,
458 "parser_ops" : [
459 {
460 "parameters" : [
461 {
462 "type" : "regular",
463 "value" : "ethernet"
464 }
465 ],
466 "op" : "extract"
467 }
468 ],
469 "transitions" : [
470 {
471 "value" : "0x0800",
472 "mask" : null,
473 "next_state" : "parse_ipv4"
474 },
475 {
476 "value" : "default",
477 "mask" : null,
478 "next_state" : null
479 }
480 ],
481 "transition_key" : [
482 {
483 "type" : "field",
484 "value" : ["ethernet", "ether_type"]
485 }
486 ]
487 },
488 {
489 "name" : "parse_ipv4",
490 "id" : 3,
491 "parser_ops" : [
492 {
493 "parameters" : [
494 {
495 "type" : "regular",
496 "value" : "ipv4"
497 }
498 ],
499 "op" : "extract"
500 }
501 ],
502 "transitions" : [
503 {
504 "value" : "0x06",
505 "mask" : null,
506 "next_state" : "parse_tcp"
507 },
508 {
509 "value" : "0x11",
510 "mask" : null,
511 "next_state" : "parse_udp"
512 },
513 {
514 "value" : "default",
515 "mask" : null,
516 "next_state" : null
517 }
518 ],
519 "transition_key" : [
520 {
521 "type" : "field",
522 "value" : ["ipv4", "protocol"]
523 }
524 ]
525 },
526 {
527 "name" : "parse_tcp",
528 "id" : 4,
529 "parser_ops" : [
530 {
531 "parameters" : [
532 {
533 "type" : "regular",
534 "value" : "tcp"
535 }
536 ],
537 "op" : "extract"
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800538 },
539 {
540 "parameters" : [
541 {
542 "type" : "field",
543 "value" : ["scalars", "local_metadata_t.l4_src_port"]
544 },
545 {
546 "type" : "field",
547 "value" : ["tcp", "src_port"]
548 }
549 ],
550 "op" : "set"
551 },
552 {
553 "parameters" : [
554 {
555 "type" : "field",
556 "value" : ["scalars", "local_metadata_t.l4_dst_port"]
557 },
558 {
559 "type" : "field",
560 "value" : ["tcp", "dst_port"]
561 }
562 ],
563 "op" : "set"
564 },
565 {
566 "parameters" : [
567 {
568 "type" : "field",
569 "value" : ["scalars", "tmp"]
570 },
571 {
572 "type" : "expression",
573 "value" : {
574 "type" : "expression",
575 "value" : {
576 "op" : "?",
577 "left" : {
578 "type" : "hexstr",
579 "value" : "0x01"
580 },
581 "right" : {
582 "type" : "hexstr",
583 "value" : "0x00"
584 },
585 "cond" : {
586 "type" : "expression",
587 "value" : {
588 "op" : "==",
589 "left" : {
590 "type" : "expression",
591 "value" : {
592 "op" : "&",
593 "left" : {
594 "type" : "field",
595 "value" : ["ipv4", "dscp"]
596 },
597 "right" : {
598 "type" : "hexstr",
599 "value" : "0x01"
600 }
601 }
602 },
603 "right" : {
604 "type" : "hexstr",
605 "value" : "0x01"
606 }
607 }
608 }
609 }
610 }
611 }
612 ],
613 "op" : "set"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800614 }
615 ],
616 "transitions" : [
617 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800618 "value" : "0x01",
619 "mask" : null,
620 "next_state" : "parse_intl4_shim"
621 },
622 {
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800623 "value" : "default",
624 "mask" : null,
625 "next_state" : null
626 }
627 ],
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800628 "transition_key" : [
629 {
630 "type" : "field",
631 "value" : ["scalars", "tmp"]
632 }
633 ]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800634 },
635 {
636 "name" : "parse_udp",
637 "id" : 5,
638 "parser_ops" : [
639 {
640 "parameters" : [
641 {
642 "type" : "regular",
643 "value" : "udp"
644 }
645 ],
646 "op" : "extract"
647 },
648 {
649 "parameters" : [
650 {
651 "type" : "field",
652 "value" : ["scalars", "local_metadata_t.l4_src_port"]
653 },
654 {
655 "type" : "field",
656 "value" : ["udp", "src_port"]
657 }
658 ],
659 "op" : "set"
660 },
661 {
662 "parameters" : [
663 {
664 "type" : "field",
665 "value" : ["scalars", "local_metadata_t.l4_dst_port"]
666 },
667 {
668 "type" : "field",
669 "value" : ["udp", "dst_port"]
670 }
671 ],
672 "op" : "set"
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800673 },
674 {
675 "parameters" : [
676 {
677 "type" : "field",
678 "value" : ["scalars", "tmp_0"]
679 },
680 {
681 "type" : "expression",
682 "value" : {
683 "type" : "expression",
684 "value" : {
685 "op" : "?",
686 "left" : {
687 "type" : "hexstr",
688 "value" : "0x01"
689 },
690 "right" : {
691 "type" : "hexstr",
692 "value" : "0x00"
693 },
694 "cond" : {
695 "type" : "expression",
696 "value" : {
697 "op" : "==",
698 "left" : {
699 "type" : "expression",
700 "value" : {
701 "op" : "&",
702 "left" : {
703 "type" : "field",
704 "value" : ["ipv4", "dscp"]
705 },
706 "right" : {
707 "type" : "hexstr",
708 "value" : "0x01"
709 }
710 }
711 },
712 "right" : {
713 "type" : "hexstr",
714 "value" : "0x01"
715 }
716 }
717 }
718 }
719 }
720 }
721 ],
722 "op" : "set"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800723 }
724 ],
725 "transitions" : [
726 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800727 "value" : "0x01",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800728 "mask" : null,
729 "next_state" : "parse_intl4_shim"
730 },
731 {
732 "value" : "default",
733 "mask" : null,
734 "next_state" : null
735 }
736 ],
737 "transition_key" : [
738 {
739 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800740 "value" : ["scalars", "tmp_0"]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800741 }
742 ]
743 },
744 {
745 "name" : "parse_intl4_shim",
746 "id" : 6,
747 "parser_ops" : [
748 {
749 "parameters" : [
750 {
751 "type" : "regular",
752 "value" : "intl4_shim"
753 }
754 ],
755 "op" : "extract"
756 },
757 {
758 "parameters" : [
759 {
760 "type" : "regular",
761 "value" : "int_header"
762 }
763 ],
764 "op" : "extract"
765 },
766 {
767 "parameters" : [
768 {
769 "type" : "field",
770 "value" : ["int_meta", "metadata_len"]
771 },
772 {
773 "type" : "expression",
774 "value" : {
775 "type" : "expression",
776 "value" : {
777 "op" : "&",
778 "left" : {
779 "type" : "expression",
780 "value" : {
781 "op" : "+",
782 "left" : {
783 "type" : "field",
784 "value" : ["intl4_shim", "len"]
785 },
786 "right" : {
787 "type" : "hexstr",
788 "value" : "0xfc"
789 }
790 }
791 },
792 "right" : {
793 "type" : "hexstr",
794 "value" : "0xff"
795 }
796 }
797 }
798 }
799 ],
800 "op" : "set"
801 }
802 ],
803 "transitions" : [
804 {
805 "value" : "0x00",
806 "mask" : null,
807 "next_state" : "parse_intl4_tail"
808 },
809 {
810 "value" : "default",
811 "mask" : null,
812 "next_state" : "parse_int_data"
813 }
814 ],
815 "transition_key" : [
816 {
817 "type" : "field",
818 "value" : ["int_meta", "metadata_len"]
819 }
820 ]
821 },
822 {
823 "name" : "parse_int_data",
824 "id" : 7,
825 "parser_ops" : [
826 {
827 "parameters" : [
828 {
829 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800830 "value" : ["scalars", "tmp_1"]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800831 },
832 {
833 "type" : "expression",
834 "value" : {
835 "type" : "expression",
836 "value" : {
837 "op" : "&",
838 "left" : {
839 "type" : "expression",
840 "value" : {
841 "op" : "&",
842 "left" : {
843 "type" : "expression",
844 "value" : {
845 "op" : "<<",
846 "left" : {
847 "type" : "expression",
848 "value" : {
849 "op" : "&",
850 "left" : {
851 "type" : "expression",
852 "value" : {
853 "op" : "+",
854 "left" : {
855 "type" : "field",
856 "value" : ["intl4_shim", "len"]
857 },
858 "right" : {
859 "type" : "hexstr",
860 "value" : "0xfc"
861 }
862 }
863 },
864 "right" : {
865 "type" : "hexstr",
866 "value" : "0xff"
867 }
868 }
869 },
870 "right" : {
871 "type" : "hexstr",
872 "value" : "0x5"
873 }
874 }
875 },
876 "right" : {
877 "type" : "hexstr",
878 "value" : "0xff"
879 }
880 }
881 },
882 "right" : {
883 "type" : "hexstr",
884 "value" : "0xffffffff"
885 }
886 }
887 }
888 }
889 ],
890 "op" : "set"
891 },
892 {
893 "parameters" : [
894 {
895 "type" : "regular",
896 "value" : "int_data"
897 },
898 {
899 "type" : "expression",
900 "value" : {
901 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800902 "value" : ["scalars", "tmp_1"]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800903 }
904 }
905 ],
906 "op" : "extract_VL"
907 }
908 ],
909 "transitions" : [
910 {
911 "value" : "default",
912 "mask" : null,
913 "next_state" : "parse_intl4_tail"
914 }
915 ],
916 "transition_key" : []
917 },
918 {
919 "name" : "parse_intl4_tail",
920 "id" : 8,
921 "parser_ops" : [
922 {
923 "parameters" : [
924 {
925 "type" : "regular",
926 "value" : "intl4_tail"
927 }
928 ],
929 "op" : "extract"
930 }
931 ],
932 "transitions" : [
933 {
934 "value" : "default",
935 "mask" : null,
936 "next_state" : null
937 }
938 ],
939 "transition_key" : []
940 }
941 ]
942 }
943 ],
944 "deparsers" : [
945 {
946 "name" : "deparser",
947 "id" : 0,
948 "source_info" : {
949 "filename" : "./include/int_parser.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800950 "line" : 104,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800951 "column" : 8,
952 "source_fragment" : "int_deparser"
953 },
954 "order" : ["packet_in", "ethernet", "ipv4", "tcp", "udp", "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"]
955 }
956 ],
957 "meter_arrays" : [],
958 "counter_arrays" : [
959 {
960 "name" : "port_counters_ingress.ingress_port_counter",
961 "id" : 0,
962 "source_info" : {
963 "filename" : "./include/port_counters.p4",
964 "line" : 26,
965 "column" : 38,
966 "source_fragment" : "ingress_port_counter"
967 },
968 "size" : 511,
969 "is_direct" : false
970 },
971 {
972 "name" : "table0_control.table0_counter",
973 "id" : 1,
974 "is_direct" : true,
975 "binding" : "table0_control.table0"
976 },
977 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800978 "name" : "process_set_source_sink.counter_set_source_sink",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800979 "id" : 2,
980 "is_direct" : true,
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800981 "binding" : "process_set_source_sink.tb_set_source_sink"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800982 },
983 {
984 "name" : "process_int_source.counter_int_source",
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800985 "id" : 3,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800986 "is_direct" : true,
987 "binding" : "process_int_source.tb_int_source"
988 },
989 {
990 "name" : "process_int_transit.counter_int_insert",
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800991 "id" : 4,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800992 "is_direct" : true,
993 "binding" : "process_int_transit.tb_int_insert"
994 },
995 {
996 "name" : "process_int_transit.counter_int_inst_0003",
Jonghwan Hyun8be03392017-12-04 15:48:44 -0800997 "id" : 5,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800998 "is_direct" : true,
999 "binding" : "process_int_transit.tb_int_inst_0003"
1000 },
1001 {
1002 "name" : "process_int_transit.counter_int_inst_0407",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001003 "id" : 6,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001004 "is_direct" : true,
1005 "binding" : "process_int_transit.tb_int_inst_0407"
1006 },
1007 {
1008 "name" : "port_counters_egress.egress_port_counter",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001009 "id" : 7,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001010 "source_info" : {
1011 "filename" : "./include/port_counters.p4",
1012 "line" : 36,
1013 "column" : 38,
1014 "source_fragment" : "egress_port_counter"
1015 },
1016 "size" : 511,
1017 "is_direct" : false
1018 }
1019 ],
1020 "register_arrays" : [],
1021 "calculations" : [],
1022 "learn_lists" : [],
1023 "actions" : [
1024 {
1025 "name" : "set_egress_port",
1026 "id" : 0,
1027 "runtime_data" : [
1028 {
1029 "name" : "port",
1030 "bitwidth" : 9
1031 }
1032 ],
1033 "primitives" : [
1034 {
1035 "op" : "assign",
1036 "parameters" : [
1037 {
1038 "type" : "field",
1039 "value" : ["standard_metadata", "egress_spec"]
1040 },
1041 {
1042 "type" : "runtime_data",
1043 "value" : 0
1044 }
1045 ],
1046 "source_info" : {
1047 "filename" : "./include/actions.p4",
1048 "line" : 28,
1049 "column" : 36,
1050 "source_fragment" : "port; ..."
1051 }
1052 }
1053 ]
1054 },
1055 {
1056 "name" : "send_to_cpu",
1057 "id" : 1,
1058 "runtime_data" : [],
1059 "primitives" : [
1060 {
1061 "op" : "assign",
1062 "parameters" : [
1063 {
1064 "type" : "field",
1065 "value" : ["standard_metadata", "egress_spec"]
1066 },
1067 {
1068 "type" : "hexstr",
1069 "value" : "0x00ff"
1070 }
1071 ],
1072 "source_info" : {
1073 "filename" : "int.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001074 "line" : 20,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001075 "column" : 24,
1076 "source_fragment" : "255; ..."
1077 }
1078 }
1079 ]
1080 },
1081 {
1082 "name" : "_drop",
1083 "id" : 2,
1084 "runtime_data" : [],
1085 "primitives" : [
1086 {
1087 "op" : "drop",
1088 "parameters" : [],
1089 "source_info" : {
1090 "filename" : "./include/actions.p4",
1091 "line" : 32,
1092 "column" : 4,
1093 "source_fragment" : "mark_to_drop()"
1094 }
1095 }
1096 ]
1097 },
1098 {
1099 "name" : "NoAction",
1100 "id" : 3,
1101 "runtime_data" : [],
1102 "primitives" : []
1103 },
1104 {
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001105 "name" : "table0_control.set_next_hop_id",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001106 "id" : 4,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001107 "runtime_data" : [
1108 {
1109 "name" : "next_hop_id",
1110 "bitwidth" : 16
1111 }
1112 ],
1113 "primitives" : [
1114 {
1115 "op" : "assign",
1116 "parameters" : [
1117 {
1118 "type" : "field",
1119 "value" : ["scalars", "local_metadata_t.next_hop_id"]
1120 },
1121 {
1122 "type" : "runtime_data",
1123 "value" : 0
1124 }
1125 ],
1126 "source_info" : {
1127 "filename" : "./include/table0.p4",
1128 "line" : 30,
1129 "column" : 8,
1130 "source_fragment" : "local_metadata.next_hop_id = next_hop_id"
1131 }
1132 }
1133 ]
1134 },
1135 {
1136 "name" : "process_set_source_sink.int_set_source",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001137 "id" : 5,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001138 "runtime_data" : [],
1139 "primitives" : [
1140 {
1141 "op" : "assign",
1142 "parameters" : [
1143 {
1144 "type" : "field",
1145 "value" : ["int_meta", "source"]
1146 },
1147 {
1148 "type" : "hexstr",
1149 "value" : "0x01"
1150 }
1151 ],
1152 "source_info" : {
1153 "filename" : "./include/int_source.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001154 "line" : 93,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001155 "column" : 8,
1156 "source_fragment" : "local_metadata.int_meta.source = 1"
1157 }
1158 }
1159 ]
1160 },
1161 {
1162 "name" : "process_set_source_sink.int_set_sink",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001163 "id" : 6,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001164 "runtime_data" : [],
1165 "primitives" : [
1166 {
1167 "op" : "assign",
1168 "parameters" : [
1169 {
1170 "type" : "field",
1171 "value" : ["int_meta", "sink"]
1172 },
1173 {
1174 "type" : "hexstr",
1175 "value" : "0x01"
1176 }
1177 ],
1178 "source_info" : {
1179 "filename" : "./include/int_source.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001180 "line" : 97,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001181 "column" : 8,
1182 "source_fragment" : "local_metadata.int_meta.sink = 1"
1183 }
1184 }
1185 ]
1186 },
1187 {
1188 "name" : "act",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001189 "id" : 7,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001190 "runtime_data" : [],
1191 "primitives" : [
1192 {
1193 "op" : "assign",
1194 "parameters" : [
1195 {
1196 "type" : "field",
1197 "value" : ["standard_metadata", "egress_spec"]
1198 },
1199 {
1200 "type" : "field",
1201 "value" : ["packet_out", "egress_port"]
1202 }
1203 ],
1204 "source_info" : {
1205 "filename" : "./include/packet_io.p4",
1206 "line" : 27,
1207 "column" : 12,
1208 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
1209 }
1210 },
1211 {
1212 "op" : "remove_header",
1213 "parameters" : [
1214 {
1215 "type" : "header",
1216 "value" : "packet_out"
1217 }
1218 ],
1219 "source_info" : {
1220 "filename" : "./include/packet_io.p4",
1221 "line" : 28,
1222 "column" : 12,
1223 "source_fragment" : "hdr.packet_out.setInvalid()"
1224 }
1225 }
1226 ]
1227 },
1228 {
1229 "name" : "act_0",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001230 "id" : 8,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001231 "runtime_data" : [],
1232 "primitives" : [
1233 {
1234 "op" : "assign",
1235 "parameters" : [
1236 {
1237 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001238 "value" : ["scalars", "tmp_2"]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001239 },
1240 {
1241 "type" : "expression",
1242 "value" : {
1243 "type" : "expression",
1244 "value" : {
1245 "op" : "&",
1246 "left" : {
1247 "type" : "field",
1248 "value" : ["standard_metadata", "ingress_port"]
1249 },
1250 "right" : {
1251 "type" : "hexstr",
1252 "value" : "0xffffffff"
1253 }
1254 }
1255 }
1256 }
1257 ]
1258 },
1259 {
1260 "op" : "count",
1261 "parameters" : [
1262 {
1263 "type" : "counter_array",
1264 "value" : "port_counters_ingress.ingress_port_counter"
1265 },
1266 {
1267 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001268 "value" : ["scalars", "tmp_2"]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001269 }
1270 ],
1271 "source_info" : {
1272 "filename" : "./include/port_counters.p4",
1273 "line" : 29,
1274 "column" : 8,
1275 "source_fragment" : "ingress_port_counter.count((bit<32>) standard_metadata.ingress_port)"
1276 }
1277 }
1278 ]
1279 },
1280 {
1281 "name" : "NoAction",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001282 "id" : 9,
1283 "runtime_data" : [],
1284 "primitives" : []
1285 },
1286 {
1287 "name" : "NoAction",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001288 "id" : 10,
1289 "runtime_data" : [],
1290 "primitives" : []
1291 },
1292 {
1293 "name" : "NoAction",
1294 "id" : 11,
1295 "runtime_data" : [],
1296 "primitives" : []
1297 },
1298 {
1299 "name" : "NoAction",
1300 "id" : 12,
1301 "runtime_data" : [],
1302 "primitives" : []
1303 },
1304 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001305 "name" : "process_int_source.int_source_dscp",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001306 "id" : 13,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001307 "runtime_data" : [
1308 {
1309 "name" : "max_hop",
1310 "bitwidth" : 8
1311 },
1312 {
1313 "name" : "ins_cnt",
1314 "bitwidth" : 5
1315 },
1316 {
1317 "name" : "ins_mask0003",
1318 "bitwidth" : 4
1319 },
1320 {
1321 "name" : "ins_mask0407",
1322 "bitwidth" : 4
1323 }
1324 ],
1325 "primitives" : [
1326 {
1327 "op" : "add_header",
1328 "parameters" : [
1329 {
1330 "type" : "header",
1331 "value" : "intl4_shim"
1332 }
1333 ],
1334 "source_info" : {
1335 "filename" : "./include/int_source.p4",
1336 "line" : 31,
1337 "column" : 8,
1338 "source_fragment" : "hdr.intl4_shim.setValid()"
1339 }
1340 },
1341 {
1342 "op" : "assign",
1343 "parameters" : [
1344 {
1345 "type" : "field",
1346 "value" : ["intl4_shim", "int_type"]
1347 },
1348 {
1349 "type" : "hexstr",
1350 "value" : "0x01"
1351 }
1352 ],
1353 "source_info" : {
1354 "filename" : "./include/int_source.p4",
1355 "line" : 33,
1356 "column" : 8,
1357 "source_fragment" : "hdr.intl4_shim.int_type = 1"
1358 }
1359 },
1360 {
1361 "op" : "assign",
1362 "parameters" : [
1363 {
1364 "type" : "field",
1365 "value" : ["intl4_shim", "len"]
1366 },
1367 {
1368 "type" : "hexstr",
1369 "value" : "0x04"
1370 }
1371 ],
1372 "source_info" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001373 "filename" : "./include/int_definitions.p4",
1374 "line" : 29,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001375 "column" : 35,
1376 "source_fragment" : "4; ..."
1377 }
1378 },
1379 {
1380 "op" : "add_header",
1381 "parameters" : [
1382 {
1383 "type" : "header",
1384 "value" : "int_header"
1385 }
1386 ],
1387 "source_info" : {
1388 "filename" : "./include/int_source.p4",
1389 "line" : 37,
1390 "column" : 8,
1391 "source_fragment" : "hdr.int_header.setValid()"
1392 }
1393 },
1394 {
1395 "op" : "assign",
1396 "parameters" : [
1397 {
1398 "type" : "field",
1399 "value" : ["int_header", "ver"]
1400 },
1401 {
1402 "type" : "hexstr",
1403 "value" : "0x00"
1404 }
1405 ],
1406 "source_info" : {
1407 "filename" : "./include/int_source.p4",
1408 "line" : 38,
1409 "column" : 8,
1410 "source_fragment" : "hdr.int_header.ver = 0"
1411 }
1412 },
1413 {
1414 "op" : "assign",
1415 "parameters" : [
1416 {
1417 "type" : "field",
1418 "value" : ["int_header", "rep"]
1419 },
1420 {
1421 "type" : "hexstr",
1422 "value" : "0x00"
1423 }
1424 ],
1425 "source_info" : {
1426 "filename" : "./include/int_source.p4",
1427 "line" : 39,
1428 "column" : 8,
1429 "source_fragment" : "hdr.int_header.rep = 0"
1430 }
1431 },
1432 {
1433 "op" : "assign",
1434 "parameters" : [
1435 {
1436 "type" : "field",
1437 "value" : ["int_header", "c"]
1438 },
1439 {
1440 "type" : "hexstr",
1441 "value" : "0x00"
1442 }
1443 ],
1444 "source_info" : {
1445 "filename" : "./include/int_source.p4",
1446 "line" : 40,
1447 "column" : 8,
1448 "source_fragment" : "hdr.int_header.c = 0"
1449 }
1450 },
1451 {
1452 "op" : "assign",
1453 "parameters" : [
1454 {
1455 "type" : "field",
1456 "value" : ["int_header", "e"]
1457 },
1458 {
1459 "type" : "hexstr",
1460 "value" : "0x00"
1461 }
1462 ],
1463 "source_info" : {
1464 "filename" : "./include/int_source.p4",
1465 "line" : 41,
1466 "column" : 8,
1467 "source_fragment" : "hdr.int_header.e = 0"
1468 }
1469 },
1470 {
1471 "op" : "assign",
1472 "parameters" : [
1473 {
1474 "type" : "field",
1475 "value" : ["int_header", "rsvd1"]
1476 },
1477 {
1478 "type" : "hexstr",
1479 "value" : "0x00"
1480 }
1481 ],
1482 "source_info" : {
1483 "filename" : "./include/int_source.p4",
1484 "line" : 42,
1485 "column" : 8,
1486 "source_fragment" : "hdr.int_header.rsvd1 = 0"
1487 }
1488 },
1489 {
1490 "op" : "assign",
1491 "parameters" : [
1492 {
1493 "type" : "field",
1494 "value" : ["int_header", "ins_cnt"]
1495 },
1496 {
1497 "type" : "runtime_data",
1498 "value" : 1
1499 }
1500 ],
1501 "source_info" : {
1502 "filename" : "./include/int_source.p4",
1503 "line" : 43,
1504 "column" : 8,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001505 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001506 }
1507 },
1508 {
1509 "op" : "assign",
1510 "parameters" : [
1511 {
1512 "type" : "field",
1513 "value" : ["int_header", "max_hop_cnt"]
1514 },
1515 {
1516 "type" : "runtime_data",
1517 "value" : 0
1518 }
1519 ],
1520 "source_info" : {
1521 "filename" : "./include/int_source.p4",
1522 "line" : 44,
1523 "column" : 8,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001524 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001525 }
1526 },
1527 {
1528 "op" : "assign",
1529 "parameters" : [
1530 {
1531 "type" : "field",
1532 "value" : ["int_header", "total_hop_cnt"]
1533 },
1534 {
1535 "type" : "hexstr",
1536 "value" : "0x00"
1537 }
1538 ],
1539 "source_info" : {
1540 "filename" : "./include/int_source.p4",
1541 "line" : 45,
1542 "column" : 8,
1543 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
1544 }
1545 },
1546 {
1547 "op" : "assign",
1548 "parameters" : [
1549 {
1550 "type" : "field",
1551 "value" : ["int_header", "instruction_mask_0003"]
1552 },
1553 {
1554 "type" : "runtime_data",
1555 "value" : 2
1556 }
1557 ],
1558 "source_info" : {
1559 "filename" : "./include/int_source.p4",
1560 "line" : 46,
1561 "column" : 8,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001562 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001563 }
1564 },
1565 {
1566 "op" : "assign",
1567 "parameters" : [
1568 {
1569 "type" : "field",
1570 "value" : ["int_header", "instruction_mask_0407"]
1571 },
1572 {
1573 "type" : "runtime_data",
1574 "value" : 3
1575 }
1576 ],
1577 "source_info" : {
1578 "filename" : "./include/int_source.p4",
1579 "line" : 47,
1580 "column" : 8,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001581 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001582 }
1583 },
1584 {
1585 "op" : "assign",
1586 "parameters" : [
1587 {
1588 "type" : "field",
1589 "value" : ["int_header", "instruction_mask_0811"]
1590 },
1591 {
1592 "type" : "hexstr",
1593 "value" : "0x00"
1594 }
1595 ],
1596 "source_info" : {
1597 "filename" : "./include/int_source.p4",
1598 "line" : 48,
1599 "column" : 8,
1600 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
1601 }
1602 },
1603 {
1604 "op" : "assign",
1605 "parameters" : [
1606 {
1607 "type" : "field",
1608 "value" : ["int_header", "instruction_mask_1215"]
1609 },
1610 {
1611 "type" : "hexstr",
1612 "value" : "0x00"
1613 }
1614 ],
1615 "source_info" : {
1616 "filename" : "./include/int_source.p4",
1617 "line" : 49,
1618 "column" : 8,
1619 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
1620 }
1621 },
1622 {
1623 "op" : "add_header",
1624 "parameters" : [
1625 {
1626 "type" : "header",
1627 "value" : "intl4_tail"
1628 }
1629 ],
1630 "source_info" : {
1631 "filename" : "./include/int_source.p4",
1632 "line" : 52,
1633 "column" : 8,
1634 "source_fragment" : "hdr.intl4_tail.setValid()"
1635 }
1636 },
1637 {
1638 "op" : "assign",
1639 "parameters" : [
1640 {
1641 "type" : "field",
1642 "value" : ["intl4_tail", "next_proto"]
1643 },
1644 {
1645 "type" : "field",
1646 "value" : ["ipv4", "protocol"]
1647 }
1648 ],
1649 "source_info" : {
1650 "filename" : "./include/int_source.p4",
1651 "line" : 53,
1652 "column" : 8,
1653 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
1654 }
1655 },
1656 {
1657 "op" : "assign",
1658 "parameters" : [
1659 {
1660 "type" : "field",
1661 "value" : ["intl4_tail", "dest_port"]
1662 },
1663 {
1664 "type" : "field",
1665 "value" : ["scalars", "local_metadata_t.l4_dst_port"]
1666 }
1667 ],
1668 "source_info" : {
1669 "filename" : "./include/int_source.p4",
1670 "line" : 54,
1671 "column" : 8,
1672 "source_fragment" : "hdr.intl4_tail.dest_port = local_metadata.l4_dst_port"
1673 }
1674 },
1675 {
1676 "op" : "assign",
1677 "parameters" : [
1678 {
1679 "type" : "field",
1680 "value" : ["intl4_tail", "dscp"]
1681 },
1682 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001683 "type" : "expression",
1684 "value" : {
1685 "type" : "expression",
1686 "value" : {
1687 "op" : "&",
1688 "left" : {
1689 "type" : "field",
1690 "value" : ["ipv4", "dscp"]
1691 },
1692 "right" : {
1693 "type" : "hexstr",
1694 "value" : "0xff"
1695 }
1696 }
1697 }
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001698 }
1699 ],
1700 "source_info" : {
1701 "filename" : "./include/int_source.p4",
1702 "line" : 55,
1703 "column" : 8,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001704 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001705 }
1706 },
1707 {
1708 "op" : "assign",
1709 "parameters" : [
1710 {
1711 "type" : "field",
1712 "value" : ["ipv4", "len"]
1713 },
1714 {
1715 "type" : "expression",
1716 "value" : {
1717 "type" : "expression",
1718 "value" : {
1719 "op" : "&",
1720 "left" : {
1721 "type" : "expression",
1722 "value" : {
1723 "op" : "+",
1724 "left" : {
1725 "type" : "field",
1726 "value" : ["ipv4", "len"]
1727 },
1728 "right" : {
1729 "type" : "hexstr",
1730 "value" : "0x0010"
1731 }
1732 }
1733 },
1734 "right" : {
1735 "type" : "hexstr",
1736 "value" : "0xffff"
1737 }
1738 }
1739 }
1740 }
1741 ],
1742 "source_info" : {
1743 "filename" : "./include/int_source.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001744 "line" : 58,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001745 "column" : 8,
1746 "source_fragment" : "hdr.ipv4.len = hdr.ipv4.len + 16"
1747 }
1748 },
1749 {
1750 "op" : "assign",
1751 "parameters" : [
1752 {
1753 "type" : "field",
1754 "value" : ["udp", "length_"]
1755 },
1756 {
1757 "type" : "expression",
1758 "value" : {
1759 "type" : "expression",
1760 "value" : {
1761 "op" : "&",
1762 "left" : {
1763 "type" : "expression",
1764 "value" : {
1765 "op" : "+",
1766 "left" : {
1767 "type" : "field",
1768 "value" : ["udp", "length_"]
1769 },
1770 "right" : {
1771 "type" : "hexstr",
1772 "value" : "0x0010"
1773 }
1774 }
1775 },
1776 "right" : {
1777 "type" : "hexstr",
1778 "value" : "0xffff"
1779 }
1780 }
1781 }
1782 }
1783 ],
1784 "source_info" : {
1785 "filename" : "./include/int_source.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001786 "line" : 59,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001787 "column" : 8,
1788 "source_fragment" : "hdr.udp.length_ = hdr.udp.length_ + 16"
1789 }
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001790 },
1791 {
1792 "op" : "assign",
1793 "parameters" : [
1794 {
1795 "type" : "field",
1796 "value" : ["ipv4", "dscp"]
1797 },
1798 {
1799 "type" : "hexstr",
1800 "value" : "0x01"
1801 }
1802 ],
1803 "source_info" : {
1804 "filename" : "./include/int_definitions.p4",
1805 "line" : 24,
1806 "column" : 24,
1807 "source_fragment" : "0x1; ..."
1808 }
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001809 }
1810 ]
1811 },
1812 {
1813 "name" : "process_int_transit.int_update_total_hop_cnt",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001814 "id" : 14,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001815 "runtime_data" : [],
1816 "primitives" : [
1817 {
1818 "op" : "assign",
1819 "parameters" : [
1820 {
1821 "type" : "field",
1822 "value" : ["int_header", "total_hop_cnt"]
1823 },
1824 {
1825 "type" : "expression",
1826 "value" : {
1827 "type" : "expression",
1828 "value" : {
1829 "op" : "&",
1830 "left" : {
1831 "type" : "expression",
1832 "value" : {
1833 "op" : "+",
1834 "left" : {
1835 "type" : "field",
1836 "value" : ["int_header", "total_hop_cnt"]
1837 },
1838 "right" : {
1839 "type" : "hexstr",
1840 "value" : "0x01"
1841 }
1842 }
1843 },
1844 "right" : {
1845 "type" : "hexstr",
1846 "value" : "0xff"
1847 }
1848 }
1849 }
1850 }
1851 ],
1852 "source_info" : {
1853 "filename" : "./include/int_transit.p4",
1854 "line" : 30,
1855 "column" : 8,
1856 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
1857 }
1858 }
1859 ]
1860 },
1861 {
1862 "name" : "process_int_transit.int_transit",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001863 "id" : 15,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001864 "runtime_data" : [
1865 {
1866 "name" : "switch_id",
1867 "bitwidth" : 32
1868 }
1869 ],
1870 "primitives" : [
1871 {
1872 "op" : "assign",
1873 "parameters" : [
1874 {
1875 "type" : "field",
1876 "value" : ["int_meta", "switch_id"]
1877 },
1878 {
1879 "type" : "runtime_data",
1880 "value" : 0
1881 }
1882 ],
1883 "source_info" : {
1884 "filename" : "./include/int_transit.p4",
1885 "line" : 34,
1886 "column" : 8,
1887 "source_fragment" : "local_metadata.int_meta.switch_id = switch_id"
1888 }
1889 },
1890 {
1891 "op" : "assign",
1892 "parameters" : [
1893 {
1894 "type" : "field",
1895 "value" : ["int_meta", "insert_byte_cnt"]
1896 },
1897 {
1898 "type" : "expression",
1899 "value" : {
1900 "type" : "expression",
1901 "value" : {
1902 "op" : "&",
1903 "left" : {
1904 "type" : "expression",
1905 "value" : {
1906 "op" : "<<",
1907 "left" : {
1908 "type" : "expression",
1909 "value" : {
1910 "op" : "&",
1911 "left" : {
1912 "type" : "field",
1913 "value" : ["int_header", "ins_cnt"]
1914 },
1915 "right" : {
1916 "type" : "hexstr",
1917 "value" : "0xffff"
1918 }
1919 }
1920 },
1921 "right" : {
1922 "type" : "hexstr",
1923 "value" : "0x2"
1924 }
1925 }
1926 },
1927 "right" : {
1928 "type" : "hexstr",
1929 "value" : "0xffff"
1930 }
1931 }
1932 }
1933 }
1934 ],
1935 "source_info" : {
1936 "filename" : "./include/int_transit.p4",
1937 "line" : 35,
1938 "column" : 8,
1939 "source_fragment" : "local_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
1940 }
1941 }
1942 ]
1943 },
1944 {
1945 "name" : "process_int_transit.int_set_header_0003_i0",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001946 "id" : 16,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001947 "runtime_data" : [],
1948 "primitives" : []
1949 },
1950 {
1951 "name" : "process_int_transit.int_set_header_0003_i1",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08001952 "id" : 17,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08001953 "runtime_data" : [],
1954 "primitives" : [
1955 {
1956 "op" : "add_header",
1957 "parameters" : [
1958 {
1959 "type" : "header",
1960 "value" : "int_q_occupancy"
1961 }
1962 ],
1963 "source_info" : {
1964 "filename" : "./include/int_transit.p4",
1965 "line" : 57,
1966 "column" : 8,
1967 "source_fragment" : "hdr.int_q_occupancy.setValid()"
1968 }
1969 },
1970 {
1971 "op" : "assign",
1972 "parameters" : [
1973 {
1974 "type" : "field",
1975 "value" : ["int_q_occupancy", "q_id"]
1976 },
1977 {
1978 "type" : "hexstr",
1979 "value" : "0x00"
1980 }
1981 ],
1982 "source_info" : {
1983 "filename" : "./include/int_transit.p4",
1984 "line" : 58,
1985 "column" : 8,
1986 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
1987 }
1988 },
1989 {
1990 "op" : "assign",
1991 "parameters" : [
1992 {
1993 "type" : "field",
1994 "value" : ["int_q_occupancy", "q_occupancy"]
1995 },
1996 {
1997 "type" : "expression",
1998 "value" : {
1999 "type" : "expression",
2000 "value" : {
2001 "op" : "&",
2002 "left" : {
2003 "type" : "field",
2004 "value" : ["standard_metadata", "deq_qdepth"]
2005 },
2006 "right" : {
2007 "type" : "hexstr",
2008 "value" : "0xffffff"
2009 }
2010 }
2011 }
2012 }
2013 ],
2014 "source_info" : {
2015 "filename" : "./include/int_transit.p4",
2016 "line" : 61,
2017 "column" : 8,
2018 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
2019 }
2020 }
2021 ]
2022 },
2023 {
2024 "name" : "process_int_transit.int_set_header_0003_i2",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002025 "id" : 18,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002026 "runtime_data" : [],
2027 "primitives" : [
2028 {
2029 "op" : "add_header",
2030 "parameters" : [
2031 {
2032 "type" : "header",
2033 "value" : "int_hop_latency"
2034 }
2035 ],
2036 "source_info" : {
2037 "filename" : "./include/int_transit.p4",
2038 "line" : 51,
2039 "column" : 8,
2040 "source_fragment" : "hdr.int_hop_latency.setValid()"
2041 }
2042 },
2043 {
2044 "op" : "assign",
2045 "parameters" : [
2046 {
2047 "type" : "field",
2048 "value" : ["int_hop_latency", "hop_latency"]
2049 },
2050 {
2051 "type" : "field",
2052 "value" : ["standard_metadata", "deq_timedelta"]
2053 }
2054 ],
2055 "source_info" : {
2056 "filename" : "./include/int_transit.p4",
2057 "line" : 52,
2058 "column" : 8,
2059 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
2060 }
2061 }
2062 ]
2063 },
2064 {
2065 "name" : "process_int_transit.int_set_header_0003_i3",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002066 "id" : 19,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002067 "runtime_data" : [],
2068 "primitives" : [
2069 {
2070 "op" : "add_header",
2071 "parameters" : [
2072 {
2073 "type" : "header",
2074 "value" : "int_q_occupancy"
2075 }
2076 ],
2077 "source_info" : {
2078 "filename" : "./include/int_transit.p4",
2079 "line" : 57,
2080 "column" : 8,
2081 "source_fragment" : "hdr.int_q_occupancy.setValid()"
2082 }
2083 },
2084 {
2085 "op" : "assign",
2086 "parameters" : [
2087 {
2088 "type" : "field",
2089 "value" : ["int_q_occupancy", "q_id"]
2090 },
2091 {
2092 "type" : "hexstr",
2093 "value" : "0x00"
2094 }
2095 ],
2096 "source_info" : {
2097 "filename" : "./include/int_transit.p4",
2098 "line" : 58,
2099 "column" : 8,
2100 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
2101 }
2102 },
2103 {
2104 "op" : "assign",
2105 "parameters" : [
2106 {
2107 "type" : "field",
2108 "value" : ["int_q_occupancy", "q_occupancy"]
2109 },
2110 {
2111 "type" : "expression",
2112 "value" : {
2113 "type" : "expression",
2114 "value" : {
2115 "op" : "&",
2116 "left" : {
2117 "type" : "field",
2118 "value" : ["standard_metadata", "deq_qdepth"]
2119 },
2120 "right" : {
2121 "type" : "hexstr",
2122 "value" : "0xffffff"
2123 }
2124 }
2125 }
2126 }
2127 ],
2128 "source_info" : {
2129 "filename" : "./include/int_transit.p4",
2130 "line" : 61,
2131 "column" : 8,
2132 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
2133 }
2134 },
2135 {
2136 "op" : "add_header",
2137 "parameters" : [
2138 {
2139 "type" : "header",
2140 "value" : "int_hop_latency"
2141 }
2142 ],
2143 "source_info" : {
2144 "filename" : "./include/int_transit.p4",
2145 "line" : 51,
2146 "column" : 8,
2147 "source_fragment" : "hdr.int_hop_latency.setValid()"
2148 }
2149 },
2150 {
2151 "op" : "assign",
2152 "parameters" : [
2153 {
2154 "type" : "field",
2155 "value" : ["int_hop_latency", "hop_latency"]
2156 },
2157 {
2158 "type" : "field",
2159 "value" : ["standard_metadata", "deq_timedelta"]
2160 }
2161 ],
2162 "source_info" : {
2163 "filename" : "./include/int_transit.p4",
2164 "line" : 52,
2165 "column" : 8,
2166 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
2167 }
2168 }
2169 ]
2170 },
2171 {
2172 "name" : "process_int_transit.int_set_header_0003_i4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002173 "id" : 20,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002174 "runtime_data" : [],
2175 "primitives" : [
2176 {
2177 "op" : "add_header",
2178 "parameters" : [
2179 {
2180 "type" : "header",
2181 "value" : "int_port_ids"
2182 }
2183 ],
2184 "source_info" : {
2185 "filename" : "./include/int_transit.p4",
2186 "line" : 44,
2187 "column" : 8,
2188 "source_fragment" : "hdr.int_port_ids.setValid()"
2189 }
2190 },
2191 {
2192 "op" : "assign",
2193 "parameters" : [
2194 {
2195 "type" : "field",
2196 "value" : ["int_port_ids", "ingress_port_id"]
2197 },
2198 {
2199 "type" : "expression",
2200 "value" : {
2201 "type" : "expression",
2202 "value" : {
2203 "op" : "&",
2204 "left" : {
2205 "type" : "field",
2206 "value" : ["standard_metadata", "ingress_port"]
2207 },
2208 "right" : {
2209 "type" : "hexstr",
2210 "value" : "0xffff"
2211 }
2212 }
2213 }
2214 }
2215 ],
2216 "source_info" : {
2217 "filename" : "./include/int_transit.p4",
2218 "line" : 45,
2219 "column" : 8,
2220 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
2221 }
2222 },
2223 {
2224 "op" : "assign",
2225 "parameters" : [
2226 {
2227 "type" : "field",
2228 "value" : ["int_port_ids", "egress_port_id"]
2229 },
2230 {
2231 "type" : "expression",
2232 "value" : {
2233 "type" : "expression",
2234 "value" : {
2235 "op" : "&",
2236 "left" : {
2237 "type" : "field",
2238 "value" : ["standard_metadata", "egress_port"]
2239 },
2240 "right" : {
2241 "type" : "hexstr",
2242 "value" : "0xffff"
2243 }
2244 }
2245 }
2246 }
2247 ],
2248 "source_info" : {
2249 "filename" : "./include/int_transit.p4",
2250 "line" : 47,
2251 "column" : 8,
2252 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
2253 }
2254 }
2255 ]
2256 },
2257 {
2258 "name" : "process_int_transit.int_set_header_0003_i5",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002259 "id" : 21,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002260 "runtime_data" : [],
2261 "primitives" : [
2262 {
2263 "op" : "add_header",
2264 "parameters" : [
2265 {
2266 "type" : "header",
2267 "value" : "int_q_occupancy"
2268 }
2269 ],
2270 "source_info" : {
2271 "filename" : "./include/int_transit.p4",
2272 "line" : 57,
2273 "column" : 8,
2274 "source_fragment" : "hdr.int_q_occupancy.setValid()"
2275 }
2276 },
2277 {
2278 "op" : "assign",
2279 "parameters" : [
2280 {
2281 "type" : "field",
2282 "value" : ["int_q_occupancy", "q_id"]
2283 },
2284 {
2285 "type" : "hexstr",
2286 "value" : "0x00"
2287 }
2288 ],
2289 "source_info" : {
2290 "filename" : "./include/int_transit.p4",
2291 "line" : 58,
2292 "column" : 8,
2293 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
2294 }
2295 },
2296 {
2297 "op" : "assign",
2298 "parameters" : [
2299 {
2300 "type" : "field",
2301 "value" : ["int_q_occupancy", "q_occupancy"]
2302 },
2303 {
2304 "type" : "expression",
2305 "value" : {
2306 "type" : "expression",
2307 "value" : {
2308 "op" : "&",
2309 "left" : {
2310 "type" : "field",
2311 "value" : ["standard_metadata", "deq_qdepth"]
2312 },
2313 "right" : {
2314 "type" : "hexstr",
2315 "value" : "0xffffff"
2316 }
2317 }
2318 }
2319 }
2320 ],
2321 "source_info" : {
2322 "filename" : "./include/int_transit.p4",
2323 "line" : 61,
2324 "column" : 8,
2325 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
2326 }
2327 },
2328 {
2329 "op" : "add_header",
2330 "parameters" : [
2331 {
2332 "type" : "header",
2333 "value" : "int_port_ids"
2334 }
2335 ],
2336 "source_info" : {
2337 "filename" : "./include/int_transit.p4",
2338 "line" : 44,
2339 "column" : 8,
2340 "source_fragment" : "hdr.int_port_ids.setValid()"
2341 }
2342 },
2343 {
2344 "op" : "assign",
2345 "parameters" : [
2346 {
2347 "type" : "field",
2348 "value" : ["int_port_ids", "ingress_port_id"]
2349 },
2350 {
2351 "type" : "expression",
2352 "value" : {
2353 "type" : "expression",
2354 "value" : {
2355 "op" : "&",
2356 "left" : {
2357 "type" : "field",
2358 "value" : ["standard_metadata", "ingress_port"]
2359 },
2360 "right" : {
2361 "type" : "hexstr",
2362 "value" : "0xffff"
2363 }
2364 }
2365 }
2366 }
2367 ],
2368 "source_info" : {
2369 "filename" : "./include/int_transit.p4",
2370 "line" : 45,
2371 "column" : 8,
2372 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
2373 }
2374 },
2375 {
2376 "op" : "assign",
2377 "parameters" : [
2378 {
2379 "type" : "field",
2380 "value" : ["int_port_ids", "egress_port_id"]
2381 },
2382 {
2383 "type" : "expression",
2384 "value" : {
2385 "type" : "expression",
2386 "value" : {
2387 "op" : "&",
2388 "left" : {
2389 "type" : "field",
2390 "value" : ["standard_metadata", "egress_port"]
2391 },
2392 "right" : {
2393 "type" : "hexstr",
2394 "value" : "0xffff"
2395 }
2396 }
2397 }
2398 }
2399 ],
2400 "source_info" : {
2401 "filename" : "./include/int_transit.p4",
2402 "line" : 47,
2403 "column" : 8,
2404 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
2405 }
2406 }
2407 ]
2408 },
2409 {
2410 "name" : "process_int_transit.int_set_header_0003_i6",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002411 "id" : 22,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002412 "runtime_data" : [],
2413 "primitives" : [
2414 {
2415 "op" : "add_header",
2416 "parameters" : [
2417 {
2418 "type" : "header",
2419 "value" : "int_hop_latency"
2420 }
2421 ],
2422 "source_info" : {
2423 "filename" : "./include/int_transit.p4",
2424 "line" : 51,
2425 "column" : 8,
2426 "source_fragment" : "hdr.int_hop_latency.setValid()"
2427 }
2428 },
2429 {
2430 "op" : "assign",
2431 "parameters" : [
2432 {
2433 "type" : "field",
2434 "value" : ["int_hop_latency", "hop_latency"]
2435 },
2436 {
2437 "type" : "field",
2438 "value" : ["standard_metadata", "deq_timedelta"]
2439 }
2440 ],
2441 "source_info" : {
2442 "filename" : "./include/int_transit.p4",
2443 "line" : 52,
2444 "column" : 8,
2445 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
2446 }
2447 },
2448 {
2449 "op" : "add_header",
2450 "parameters" : [
2451 {
2452 "type" : "header",
2453 "value" : "int_port_ids"
2454 }
2455 ],
2456 "source_info" : {
2457 "filename" : "./include/int_transit.p4",
2458 "line" : 44,
2459 "column" : 8,
2460 "source_fragment" : "hdr.int_port_ids.setValid()"
2461 }
2462 },
2463 {
2464 "op" : "assign",
2465 "parameters" : [
2466 {
2467 "type" : "field",
2468 "value" : ["int_port_ids", "ingress_port_id"]
2469 },
2470 {
2471 "type" : "expression",
2472 "value" : {
2473 "type" : "expression",
2474 "value" : {
2475 "op" : "&",
2476 "left" : {
2477 "type" : "field",
2478 "value" : ["standard_metadata", "ingress_port"]
2479 },
2480 "right" : {
2481 "type" : "hexstr",
2482 "value" : "0xffff"
2483 }
2484 }
2485 }
2486 }
2487 ],
2488 "source_info" : {
2489 "filename" : "./include/int_transit.p4",
2490 "line" : 45,
2491 "column" : 8,
2492 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
2493 }
2494 },
2495 {
2496 "op" : "assign",
2497 "parameters" : [
2498 {
2499 "type" : "field",
2500 "value" : ["int_port_ids", "egress_port_id"]
2501 },
2502 {
2503 "type" : "expression",
2504 "value" : {
2505 "type" : "expression",
2506 "value" : {
2507 "op" : "&",
2508 "left" : {
2509 "type" : "field",
2510 "value" : ["standard_metadata", "egress_port"]
2511 },
2512 "right" : {
2513 "type" : "hexstr",
2514 "value" : "0xffff"
2515 }
2516 }
2517 }
2518 }
2519 ],
2520 "source_info" : {
2521 "filename" : "./include/int_transit.p4",
2522 "line" : 47,
2523 "column" : 8,
2524 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
2525 }
2526 }
2527 ]
2528 },
2529 {
2530 "name" : "process_int_transit.int_set_header_0003_i7",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002531 "id" : 23,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002532 "runtime_data" : [],
2533 "primitives" : [
2534 {
2535 "op" : "add_header",
2536 "parameters" : [
2537 {
2538 "type" : "header",
2539 "value" : "int_q_occupancy"
2540 }
2541 ],
2542 "source_info" : {
2543 "filename" : "./include/int_transit.p4",
2544 "line" : 57,
2545 "column" : 8,
2546 "source_fragment" : "hdr.int_q_occupancy.setValid()"
2547 }
2548 },
2549 {
2550 "op" : "assign",
2551 "parameters" : [
2552 {
2553 "type" : "field",
2554 "value" : ["int_q_occupancy", "q_id"]
2555 },
2556 {
2557 "type" : "hexstr",
2558 "value" : "0x00"
2559 }
2560 ],
2561 "source_info" : {
2562 "filename" : "./include/int_transit.p4",
2563 "line" : 58,
2564 "column" : 8,
2565 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
2566 }
2567 },
2568 {
2569 "op" : "assign",
2570 "parameters" : [
2571 {
2572 "type" : "field",
2573 "value" : ["int_q_occupancy", "q_occupancy"]
2574 },
2575 {
2576 "type" : "expression",
2577 "value" : {
2578 "type" : "expression",
2579 "value" : {
2580 "op" : "&",
2581 "left" : {
2582 "type" : "field",
2583 "value" : ["standard_metadata", "deq_qdepth"]
2584 },
2585 "right" : {
2586 "type" : "hexstr",
2587 "value" : "0xffffff"
2588 }
2589 }
2590 }
2591 }
2592 ],
2593 "source_info" : {
2594 "filename" : "./include/int_transit.p4",
2595 "line" : 61,
2596 "column" : 8,
2597 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
2598 }
2599 },
2600 {
2601 "op" : "add_header",
2602 "parameters" : [
2603 {
2604 "type" : "header",
2605 "value" : "int_hop_latency"
2606 }
2607 ],
2608 "source_info" : {
2609 "filename" : "./include/int_transit.p4",
2610 "line" : 51,
2611 "column" : 8,
2612 "source_fragment" : "hdr.int_hop_latency.setValid()"
2613 }
2614 },
2615 {
2616 "op" : "assign",
2617 "parameters" : [
2618 {
2619 "type" : "field",
2620 "value" : ["int_hop_latency", "hop_latency"]
2621 },
2622 {
2623 "type" : "field",
2624 "value" : ["standard_metadata", "deq_timedelta"]
2625 }
2626 ],
2627 "source_info" : {
2628 "filename" : "./include/int_transit.p4",
2629 "line" : 52,
2630 "column" : 8,
2631 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
2632 }
2633 },
2634 {
2635 "op" : "add_header",
2636 "parameters" : [
2637 {
2638 "type" : "header",
2639 "value" : "int_port_ids"
2640 }
2641 ],
2642 "source_info" : {
2643 "filename" : "./include/int_transit.p4",
2644 "line" : 44,
2645 "column" : 8,
2646 "source_fragment" : "hdr.int_port_ids.setValid()"
2647 }
2648 },
2649 {
2650 "op" : "assign",
2651 "parameters" : [
2652 {
2653 "type" : "field",
2654 "value" : ["int_port_ids", "ingress_port_id"]
2655 },
2656 {
2657 "type" : "expression",
2658 "value" : {
2659 "type" : "expression",
2660 "value" : {
2661 "op" : "&",
2662 "left" : {
2663 "type" : "field",
2664 "value" : ["standard_metadata", "ingress_port"]
2665 },
2666 "right" : {
2667 "type" : "hexstr",
2668 "value" : "0xffff"
2669 }
2670 }
2671 }
2672 }
2673 ],
2674 "source_info" : {
2675 "filename" : "./include/int_transit.p4",
2676 "line" : 45,
2677 "column" : 8,
2678 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
2679 }
2680 },
2681 {
2682 "op" : "assign",
2683 "parameters" : [
2684 {
2685 "type" : "field",
2686 "value" : ["int_port_ids", "egress_port_id"]
2687 },
2688 {
2689 "type" : "expression",
2690 "value" : {
2691 "type" : "expression",
2692 "value" : {
2693 "op" : "&",
2694 "left" : {
2695 "type" : "field",
2696 "value" : ["standard_metadata", "egress_port"]
2697 },
2698 "right" : {
2699 "type" : "hexstr",
2700 "value" : "0xffff"
2701 }
2702 }
2703 }
2704 }
2705 ],
2706 "source_info" : {
2707 "filename" : "./include/int_transit.p4",
2708 "line" : 47,
2709 "column" : 8,
2710 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
2711 }
2712 }
2713 ]
2714 },
2715 {
2716 "name" : "process_int_transit.int_set_header_0003_i8",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002717 "id" : 24,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002718 "runtime_data" : [],
2719 "primitives" : [
2720 {
2721 "op" : "add_header",
2722 "parameters" : [
2723 {
2724 "type" : "header",
2725 "value" : "int_switch_id"
2726 }
2727 ],
2728 "source_info" : {
2729 "filename" : "./include/int_transit.p4",
2730 "line" : 40,
2731 "column" : 8,
2732 "source_fragment" : "hdr.int_switch_id.setValid()"
2733 }
2734 },
2735 {
2736 "op" : "assign",
2737 "parameters" : [
2738 {
2739 "type" : "field",
2740 "value" : ["int_switch_id", "switch_id"]
2741 },
2742 {
2743 "type" : "field",
2744 "value" : ["int_meta", "switch_id"]
2745 }
2746 ],
2747 "source_info" : {
2748 "filename" : "./include/int_transit.p4",
2749 "line" : 41,
2750 "column" : 8,
2751 "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
2752 }
2753 }
2754 ]
2755 },
2756 {
2757 "name" : "process_int_transit.int_set_header_0003_i9",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002758 "id" : 25,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002759 "runtime_data" : [],
2760 "primitives" : [
2761 {
2762 "op" : "add_header",
2763 "parameters" : [
2764 {
2765 "type" : "header",
2766 "value" : "int_q_occupancy"
2767 }
2768 ],
2769 "source_info" : {
2770 "filename" : "./include/int_transit.p4",
2771 "line" : 57,
2772 "column" : 8,
2773 "source_fragment" : "hdr.int_q_occupancy.setValid()"
2774 }
2775 },
2776 {
2777 "op" : "assign",
2778 "parameters" : [
2779 {
2780 "type" : "field",
2781 "value" : ["int_q_occupancy", "q_id"]
2782 },
2783 {
2784 "type" : "hexstr",
2785 "value" : "0x00"
2786 }
2787 ],
2788 "source_info" : {
2789 "filename" : "./include/int_transit.p4",
2790 "line" : 58,
2791 "column" : 8,
2792 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
2793 }
2794 },
2795 {
2796 "op" : "assign",
2797 "parameters" : [
2798 {
2799 "type" : "field",
2800 "value" : ["int_q_occupancy", "q_occupancy"]
2801 },
2802 {
2803 "type" : "expression",
2804 "value" : {
2805 "type" : "expression",
2806 "value" : {
2807 "op" : "&",
2808 "left" : {
2809 "type" : "field",
2810 "value" : ["standard_metadata", "deq_qdepth"]
2811 },
2812 "right" : {
2813 "type" : "hexstr",
2814 "value" : "0xffffff"
2815 }
2816 }
2817 }
2818 }
2819 ],
2820 "source_info" : {
2821 "filename" : "./include/int_transit.p4",
2822 "line" : 61,
2823 "column" : 8,
2824 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
2825 }
2826 },
2827 {
2828 "op" : "add_header",
2829 "parameters" : [
2830 {
2831 "type" : "header",
2832 "value" : "int_switch_id"
2833 }
2834 ],
2835 "source_info" : {
2836 "filename" : "./include/int_transit.p4",
2837 "line" : 40,
2838 "column" : 8,
2839 "source_fragment" : "hdr.int_switch_id.setValid()"
2840 }
2841 },
2842 {
2843 "op" : "assign",
2844 "parameters" : [
2845 {
2846 "type" : "field",
2847 "value" : ["int_switch_id", "switch_id"]
2848 },
2849 {
2850 "type" : "field",
2851 "value" : ["int_meta", "switch_id"]
2852 }
2853 ],
2854 "source_info" : {
2855 "filename" : "./include/int_transit.p4",
2856 "line" : 41,
2857 "column" : 8,
2858 "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
2859 }
2860 }
2861 ]
2862 },
2863 {
2864 "name" : "process_int_transit.int_set_header_0003_i10",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002865 "id" : 26,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002866 "runtime_data" : [],
2867 "primitives" : [
2868 {
2869 "op" : "add_header",
2870 "parameters" : [
2871 {
2872 "type" : "header",
2873 "value" : "int_hop_latency"
2874 }
2875 ],
2876 "source_info" : {
2877 "filename" : "./include/int_transit.p4",
2878 "line" : 51,
2879 "column" : 8,
2880 "source_fragment" : "hdr.int_hop_latency.setValid()"
2881 }
2882 },
2883 {
2884 "op" : "assign",
2885 "parameters" : [
2886 {
2887 "type" : "field",
2888 "value" : ["int_hop_latency", "hop_latency"]
2889 },
2890 {
2891 "type" : "field",
2892 "value" : ["standard_metadata", "deq_timedelta"]
2893 }
2894 ],
2895 "source_info" : {
2896 "filename" : "./include/int_transit.p4",
2897 "line" : 52,
2898 "column" : 8,
2899 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
2900 }
2901 },
2902 {
2903 "op" : "add_header",
2904 "parameters" : [
2905 {
2906 "type" : "header",
2907 "value" : "int_switch_id"
2908 }
2909 ],
2910 "source_info" : {
2911 "filename" : "./include/int_transit.p4",
2912 "line" : 40,
2913 "column" : 8,
2914 "source_fragment" : "hdr.int_switch_id.setValid()"
2915 }
2916 },
2917 {
2918 "op" : "assign",
2919 "parameters" : [
2920 {
2921 "type" : "field",
2922 "value" : ["int_switch_id", "switch_id"]
2923 },
2924 {
2925 "type" : "field",
2926 "value" : ["int_meta", "switch_id"]
2927 }
2928 ],
2929 "source_info" : {
2930 "filename" : "./include/int_transit.p4",
2931 "line" : 41,
2932 "column" : 8,
2933 "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
2934 }
2935 }
2936 ]
2937 },
2938 {
2939 "name" : "process_int_transit.int_set_header_0003_i11",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08002940 "id" : 27,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08002941 "runtime_data" : [],
2942 "primitives" : [
2943 {
2944 "op" : "add_header",
2945 "parameters" : [
2946 {
2947 "type" : "header",
2948 "value" : "int_q_occupancy"
2949 }
2950 ],
2951 "source_info" : {
2952 "filename" : "./include/int_transit.p4",
2953 "line" : 57,
2954 "column" : 8,
2955 "source_fragment" : "hdr.int_q_occupancy.setValid()"
2956 }
2957 },
2958 {
2959 "op" : "assign",
2960 "parameters" : [
2961 {
2962 "type" : "field",
2963 "value" : ["int_q_occupancy", "q_id"]
2964 },
2965 {
2966 "type" : "hexstr",
2967 "value" : "0x00"
2968 }
2969 ],
2970 "source_info" : {
2971 "filename" : "./include/int_transit.p4",
2972 "line" : 58,
2973 "column" : 8,
2974 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
2975 }
2976 },
2977 {
2978 "op" : "assign",
2979 "parameters" : [
2980 {
2981 "type" : "field",
2982 "value" : ["int_q_occupancy", "q_occupancy"]
2983 },
2984 {
2985 "type" : "expression",
2986 "value" : {
2987 "type" : "expression",
2988 "value" : {
2989 "op" : "&",
2990 "left" : {
2991 "type" : "field",
2992 "value" : ["standard_metadata", "deq_qdepth"]
2993 },
2994 "right" : {
2995 "type" : "hexstr",
2996 "value" : "0xffffff"
2997 }
2998 }
2999 }
3000 }
3001 ],
3002 "source_info" : {
3003 "filename" : "./include/int_transit.p4",
3004 "line" : 61,
3005 "column" : 8,
3006 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
3007 }
3008 },
3009 {
3010 "op" : "add_header",
3011 "parameters" : [
3012 {
3013 "type" : "header",
3014 "value" : "int_hop_latency"
3015 }
3016 ],
3017 "source_info" : {
3018 "filename" : "./include/int_transit.p4",
3019 "line" : 51,
3020 "column" : 8,
3021 "source_fragment" : "hdr.int_hop_latency.setValid()"
3022 }
3023 },
3024 {
3025 "op" : "assign",
3026 "parameters" : [
3027 {
3028 "type" : "field",
3029 "value" : ["int_hop_latency", "hop_latency"]
3030 },
3031 {
3032 "type" : "field",
3033 "value" : ["standard_metadata", "deq_timedelta"]
3034 }
3035 ],
3036 "source_info" : {
3037 "filename" : "./include/int_transit.p4",
3038 "line" : 52,
3039 "column" : 8,
3040 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
3041 }
3042 },
3043 {
3044 "op" : "add_header",
3045 "parameters" : [
3046 {
3047 "type" : "header",
3048 "value" : "int_switch_id"
3049 }
3050 ],
3051 "source_info" : {
3052 "filename" : "./include/int_transit.p4",
3053 "line" : 40,
3054 "column" : 8,
3055 "source_fragment" : "hdr.int_switch_id.setValid()"
3056 }
3057 },
3058 {
3059 "op" : "assign",
3060 "parameters" : [
3061 {
3062 "type" : "field",
3063 "value" : ["int_switch_id", "switch_id"]
3064 },
3065 {
3066 "type" : "field",
3067 "value" : ["int_meta", "switch_id"]
3068 }
3069 ],
3070 "source_info" : {
3071 "filename" : "./include/int_transit.p4",
3072 "line" : 41,
3073 "column" : 8,
3074 "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
3075 }
3076 }
3077 ]
3078 },
3079 {
3080 "name" : "process_int_transit.int_set_header_0003_i12",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08003081 "id" : 28,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08003082 "runtime_data" : [],
3083 "primitives" : [
3084 {
3085 "op" : "add_header",
3086 "parameters" : [
3087 {
3088 "type" : "header",
3089 "value" : "int_port_ids"
3090 }
3091 ],
3092 "source_info" : {
3093 "filename" : "./include/int_transit.p4",
3094 "line" : 44,
3095 "column" : 8,
3096 "source_fragment" : "hdr.int_port_ids.setValid()"
3097 }
3098 },
3099 {
3100 "op" : "assign",
3101 "parameters" : [
3102 {
3103 "type" : "field",
3104 "value" : ["int_port_ids", "ingress_port_id"]
3105 },
3106 {
3107 "type" : "expression",
3108 "value" : {
3109 "type" : "expression",
3110 "value" : {
3111 "op" : "&",
3112 "left" : {
3113 "type" : "field",
3114 "value" : ["standard_metadata", "ingress_port"]
3115 },
3116 "right" : {
3117 "type" : "hexstr",
3118 "value" : "0xffff"
3119 }
3120 }
3121 }
3122 }
3123 ],
3124 "source_info" : {
3125 "filename" : "./include/int_transit.p4",
3126 "line" : 45,
3127 "column" : 8,
3128 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
3129 }
3130 },
3131 {
3132 "op" : "assign",
3133 "parameters" : [
3134 {
3135 "type" : "field",
3136 "value" : ["int_port_ids", "egress_port_id"]
3137 },
3138 {
3139 "type" : "expression",
3140 "value" : {
3141 "type" : "expression",
3142 "value" : {
3143 "op" : "&",
3144 "left" : {
3145 "type" : "field",
3146 "value" : ["standard_metadata", "egress_port"]
3147 },
3148 "right" : {
3149 "type" : "hexstr",
3150 "value" : "0xffff"
3151 }
3152 }
3153 }
3154 }
3155 ],
3156 "source_info" : {
3157 "filename" : "./include/int_transit.p4",
3158 "line" : 47,
3159 "column" : 8,
3160 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
3161 }
3162 },
3163 {
3164 "op" : "add_header",
3165 "parameters" : [
3166 {
3167 "type" : "header",
3168 "value" : "int_switch_id"
3169 }
3170 ],
3171 "source_info" : {
3172 "filename" : "./include/int_transit.p4",
3173 "line" : 40,
3174 "column" : 8,
3175 "source_fragment" : "hdr.int_switch_id.setValid()"
3176 }
3177 },
3178 {
3179 "op" : "assign",
3180 "parameters" : [
3181 {
3182 "type" : "field",
3183 "value" : ["int_switch_id", "switch_id"]
3184 },
3185 {
3186 "type" : "field",
3187 "value" : ["int_meta", "switch_id"]
3188 }
3189 ],
3190 "source_info" : {
3191 "filename" : "./include/int_transit.p4",
3192 "line" : 41,
3193 "column" : 8,
3194 "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
3195 }
3196 }
3197 ]
3198 },
3199 {
3200 "name" : "process_int_transit.int_set_header_0003_i13",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08003201 "id" : 29,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08003202 "runtime_data" : [],
3203 "primitives" : [
3204 {
3205 "op" : "add_header",
3206 "parameters" : [
3207 {
3208 "type" : "header",
3209 "value" : "int_q_occupancy"
3210 }
3211 ],
3212 "source_info" : {
3213 "filename" : "./include/int_transit.p4",
3214 "line" : 57,
3215 "column" : 8,
3216 "source_fragment" : "hdr.int_q_occupancy.setValid()"
3217 }
3218 },
3219 {
3220 "op" : "assign",
3221 "parameters" : [
3222 {
3223 "type" : "field",
3224 "value" : ["int_q_occupancy", "q_id"]
3225 },
3226 {
3227 "type" : "hexstr",
3228 "value" : "0x00"
3229 }
3230 ],
3231 "source_info" : {
3232 "filename" : "./include/int_transit.p4",
3233 "line" : 58,
3234 "column" : 8,
3235 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
3236 }
3237 },
3238 {
3239 "op" : "assign",
3240 "parameters" : [
3241 {
3242 "type" : "field",
3243 "value" : ["int_q_occupancy", "q_occupancy"]
3244 },
3245 {
3246 "type" : "expression",
3247 "value" : {
3248 "type" : "expression",
3249 "value" : {
3250 "op" : "&",
3251 "left" : {
3252 "type" : "field",
3253 "value" : ["standard_metadata", "deq_qdepth"]
3254 },
3255 "right" : {
3256 "type" : "hexstr",
3257 "value" : "0xffffff"
3258 }
3259 }
3260 }
3261 }
3262 ],
3263 "source_info" : {
3264 "filename" : "./include/int_transit.p4",
3265 "line" : 61,
3266 "column" : 8,
3267 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
3268 }
3269 },
3270 {
3271 "op" : "add_header",
3272 "parameters" : [
3273 {
3274 "type" : "header",
3275 "value" : "int_port_ids"
3276 }
3277 ],
3278 "source_info" : {
3279 "filename" : "./include/int_transit.p4",
3280 "line" : 44,
3281 "column" : 8,
3282 "source_fragment" : "hdr.int_port_ids.setValid()"
3283 }
3284 },
3285 {
3286 "op" : "assign",
3287 "parameters" : [
3288 {
3289 "type" : "field",
3290 "value" : ["int_port_ids", "ingress_port_id"]
3291 },
3292 {
3293 "type" : "expression",
3294 "value" : {
3295 "type" : "expression",
3296 "value" : {
3297 "op" : "&",
3298 "left" : {
3299 "type" : "field",
3300 "value" : ["standard_metadata", "ingress_port"]
3301 },
3302 "right" : {
3303 "type" : "hexstr",
3304 "value" : "0xffff"
3305 }
3306 }
3307 }
3308 }
3309 ],
3310 "source_info" : {
3311 "filename" : "./include/int_transit.p4",
3312 "line" : 45,
3313 "column" : 8,
3314 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
3315 }
3316 },
3317 {
3318 "op" : "assign",
3319 "parameters" : [
3320 {
3321 "type" : "field",
3322 "value" : ["int_port_ids", "egress_port_id"]
3323 },
3324 {
3325 "type" : "expression",
3326 "value" : {
3327 "type" : "expression",
3328 "value" : {
3329 "op" : "&",
3330 "left" : {
3331 "type" : "field",
3332 "value" : ["standard_metadata", "egress_port"]
3333 },
3334 "right" : {
3335 "type" : "hexstr",
3336 "value" : "0xffff"
3337 }
3338 }
3339 }
3340 }
3341 ],
3342 "source_info" : {
3343 "filename" : "./include/int_transit.p4",
3344 "line" : 47,
3345 "column" : 8,
3346 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
3347 }
3348 },
3349 {
3350 "op" : "add_header",
3351 "parameters" : [
3352 {
3353 "type" : "header",
3354 "value" : "int_switch_id"
3355 }
3356 ],
3357 "source_info" : {
3358 "filename" : "./include/int_transit.p4",
3359 "line" : 40,
3360 "column" : 8,
3361 "source_fragment" : "hdr.int_switch_id.setValid()"
3362 }
3363 },
3364 {
3365 "op" : "assign",
3366 "parameters" : [
3367 {
3368 "type" : "field",
3369 "value" : ["int_switch_id", "switch_id"]
3370 },
3371 {
3372 "type" : "field",
3373 "value" : ["int_meta", "switch_id"]
3374 }
3375 ],
3376 "source_info" : {
3377 "filename" : "./include/int_transit.p4",
3378 "line" : 41,
3379 "column" : 8,
3380 "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
3381 }
3382 }
3383 ]
3384 },
3385 {
3386 "name" : "process_int_transit.int_set_header_0003_i14",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08003387 "id" : 30,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08003388 "runtime_data" : [],
3389 "primitives" : [
3390 {
3391 "op" : "add_header",
3392 "parameters" : [
3393 {
3394 "type" : "header",
3395 "value" : "int_hop_latency"
3396 }
3397 ],
3398 "source_info" : {
3399 "filename" : "./include/int_transit.p4",
3400 "line" : 51,
3401 "column" : 8,
3402 "source_fragment" : "hdr.int_hop_latency.setValid()"
3403 }
3404 },
3405 {
3406 "op" : "assign",
3407 "parameters" : [
3408 {
3409 "type" : "field",
3410 "value" : ["int_hop_latency", "hop_latency"]
3411 },
3412 {
3413 "type" : "field",
3414 "value" : ["standard_metadata", "deq_timedelta"]
3415 }
3416 ],
3417 "source_info" : {
3418 "filename" : "./include/int_transit.p4",
3419 "line" : 52,
3420 "column" : 8,
3421 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
3422 }
3423 },
3424 {
3425 "op" : "add_header",
3426 "parameters" : [
3427 {
3428 "type" : "header",
3429 "value" : "int_port_ids"
3430 }
3431 ],
3432 "source_info" : {
3433 "filename" : "./include/int_transit.p4",
3434 "line" : 44,
3435 "column" : 8,
3436 "source_fragment" : "hdr.int_port_ids.setValid()"
3437 }
3438 },
3439 {
3440 "op" : "assign",
3441 "parameters" : [
3442 {
3443 "type" : "field",
3444 "value" : ["int_port_ids", "ingress_port_id"]
3445 },
3446 {
3447 "type" : "expression",
3448 "value" : {
3449 "type" : "expression",
3450 "value" : {
3451 "op" : "&",
3452 "left" : {
3453 "type" : "field",
3454 "value" : ["standard_metadata", "ingress_port"]
3455 },
3456 "right" : {
3457 "type" : "hexstr",
3458 "value" : "0xffff"
3459 }
3460 }
3461 }
3462 }
3463 ],
3464 "source_info" : {
3465 "filename" : "./include/int_transit.p4",
3466 "line" : 45,
3467 "column" : 8,
3468 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
3469 }
3470 },
3471 {
3472 "op" : "assign",
3473 "parameters" : [
3474 {
3475 "type" : "field",
3476 "value" : ["int_port_ids", "egress_port_id"]
3477 },
3478 {
3479 "type" : "expression",
3480 "value" : {
3481 "type" : "expression",
3482 "value" : {
3483 "op" : "&",
3484 "left" : {
3485 "type" : "field",
3486 "value" : ["standard_metadata", "egress_port"]
3487 },
3488 "right" : {
3489 "type" : "hexstr",
3490 "value" : "0xffff"
3491 }
3492 }
3493 }
3494 }
3495 ],
3496 "source_info" : {
3497 "filename" : "./include/int_transit.p4",
3498 "line" : 47,
3499 "column" : 8,
3500 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
3501 }
3502 },
3503 {
3504 "op" : "add_header",
3505 "parameters" : [
3506 {
3507 "type" : "header",
3508 "value" : "int_switch_id"
3509 }
3510 ],
3511 "source_info" : {
3512 "filename" : "./include/int_transit.p4",
3513 "line" : 40,
3514 "column" : 8,
3515 "source_fragment" : "hdr.int_switch_id.setValid()"
3516 }
3517 },
3518 {
3519 "op" : "assign",
3520 "parameters" : [
3521 {
3522 "type" : "field",
3523 "value" : ["int_switch_id", "switch_id"]
3524 },
3525 {
3526 "type" : "field",
3527 "value" : ["int_meta", "switch_id"]
3528 }
3529 ],
3530 "source_info" : {
3531 "filename" : "./include/int_transit.p4",
3532 "line" : 41,
3533 "column" : 8,
3534 "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
3535 }
3536 }
3537 ]
3538 },
3539 {
3540 "name" : "process_int_transit.int_set_header_0003_i15",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08003541 "id" : 31,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08003542 "runtime_data" : [],
3543 "primitives" : [
3544 {
3545 "op" : "add_header",
3546 "parameters" : [
3547 {
3548 "type" : "header",
3549 "value" : "int_q_occupancy"
3550 }
3551 ],
3552 "source_info" : {
3553 "filename" : "./include/int_transit.p4",
3554 "line" : 57,
3555 "column" : 8,
3556 "source_fragment" : "hdr.int_q_occupancy.setValid()"
3557 }
3558 },
3559 {
3560 "op" : "assign",
3561 "parameters" : [
3562 {
3563 "type" : "field",
3564 "value" : ["int_q_occupancy", "q_id"]
3565 },
3566 {
3567 "type" : "hexstr",
3568 "value" : "0x00"
3569 }
3570 ],
3571 "source_info" : {
3572 "filename" : "./include/int_transit.p4",
3573 "line" : 58,
3574 "column" : 8,
3575 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
3576 }
3577 },
3578 {
3579 "op" : "assign",
3580 "parameters" : [
3581 {
3582 "type" : "field",
3583 "value" : ["int_q_occupancy", "q_occupancy"]
3584 },
3585 {
3586 "type" : "expression",
3587 "value" : {
3588 "type" : "expression",
3589 "value" : {
3590 "op" : "&",
3591 "left" : {
3592 "type" : "field",
3593 "value" : ["standard_metadata", "deq_qdepth"]
3594 },
3595 "right" : {
3596 "type" : "hexstr",
3597 "value" : "0xffffff"
3598 }
3599 }
3600 }
3601 }
3602 ],
3603 "source_info" : {
3604 "filename" : "./include/int_transit.p4",
3605 "line" : 61,
3606 "column" : 8,
3607 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
3608 }
3609 },
3610 {
3611 "op" : "add_header",
3612 "parameters" : [
3613 {
3614 "type" : "header",
3615 "value" : "int_hop_latency"
3616 }
3617 ],
3618 "source_info" : {
3619 "filename" : "./include/int_transit.p4",
3620 "line" : 51,
3621 "column" : 8,
3622 "source_fragment" : "hdr.int_hop_latency.setValid()"
3623 }
3624 },
3625 {
3626 "op" : "assign",
3627 "parameters" : [
3628 {
3629 "type" : "field",
3630 "value" : ["int_hop_latency", "hop_latency"]
3631 },
3632 {
3633 "type" : "field",
3634 "value" : ["standard_metadata", "deq_timedelta"]
3635 }
3636 ],
3637 "source_info" : {
3638 "filename" : "./include/int_transit.p4",
3639 "line" : 52,
3640 "column" : 8,
3641 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
3642 }
3643 },
3644 {
3645 "op" : "add_header",
3646 "parameters" : [
3647 {
3648 "type" : "header",
3649 "value" : "int_port_ids"
3650 }
3651 ],
3652 "source_info" : {
3653 "filename" : "./include/int_transit.p4",
3654 "line" : 44,
3655 "column" : 8,
3656 "source_fragment" : "hdr.int_port_ids.setValid()"
3657 }
3658 },
3659 {
3660 "op" : "assign",
3661 "parameters" : [
3662 {
3663 "type" : "field",
3664 "value" : ["int_port_ids", "ingress_port_id"]
3665 },
3666 {
3667 "type" : "expression",
3668 "value" : {
3669 "type" : "expression",
3670 "value" : {
3671 "op" : "&",
3672 "left" : {
3673 "type" : "field",
3674 "value" : ["standard_metadata", "ingress_port"]
3675 },
3676 "right" : {
3677 "type" : "hexstr",
3678 "value" : "0xffff"
3679 }
3680 }
3681 }
3682 }
3683 ],
3684 "source_info" : {
3685 "filename" : "./include/int_transit.p4",
3686 "line" : 45,
3687 "column" : 8,
3688 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
3689 }
3690 },
3691 {
3692 "op" : "assign",
3693 "parameters" : [
3694 {
3695 "type" : "field",
3696 "value" : ["int_port_ids", "egress_port_id"]
3697 },
3698 {
3699 "type" : "expression",
3700 "value" : {
3701 "type" : "expression",
3702 "value" : {
3703 "op" : "&",
3704 "left" : {
3705 "type" : "field",
3706 "value" : ["standard_metadata", "egress_port"]
3707 },
3708 "right" : {
3709 "type" : "hexstr",
3710 "value" : "0xffff"
3711 }
3712 }
3713 }
3714 }
3715 ],
3716 "source_info" : {
3717 "filename" : "./include/int_transit.p4",
3718 "line" : 47,
3719 "column" : 8,
3720 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
3721 }
3722 },
3723 {
3724 "op" : "add_header",
3725 "parameters" : [
3726 {
3727 "type" : "header",
3728 "value" : "int_switch_id"
3729 }
3730 ],
3731 "source_info" : {
3732 "filename" : "./include/int_transit.p4",
3733 "line" : 40,
3734 "column" : 8,
3735 "source_fragment" : "hdr.int_switch_id.setValid()"
3736 }
3737 },
3738 {
3739 "op" : "assign",
3740 "parameters" : [
3741 {
3742 "type" : "field",
3743 "value" : ["int_switch_id", "switch_id"]
3744 },
3745 {
3746 "type" : "field",
3747 "value" : ["int_meta", "switch_id"]
3748 }
3749 ],
3750 "source_info" : {
3751 "filename" : "./include/int_transit.p4",
3752 "line" : 41,
3753 "column" : 8,
3754 "source_fragment" : "hdr.int_switch_id.switch_id = local_metadata.int_meta.switch_id"
3755 }
3756 }
3757 ]
3758 },
3759 {
3760 "name" : "process_int_transit.int_set_header_0407_i0",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08003761 "id" : 32,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08003762 "runtime_data" : [],
3763 "primitives" : []
3764 },
3765 {
3766 "name" : "process_int_transit.int_set_header_0407_i1",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08003767 "id" : 33,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08003768 "runtime_data" : [],
3769 "primitives" : [
3770 {
3771 "op" : "add_header",
3772 "parameters" : [
3773 {
3774 "type" : "header",
3775 "value" : "int_egress_tx_util"
3776 }
3777 ],
3778 "source_info" : {
3779 "filename" : "./include/int_transit.p4",
3780 "line" : 88,
3781 "column" : 8,
3782 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
3783 }
3784 },
3785 {
3786 "op" : "assign",
3787 "parameters" : [
3788 {
3789 "type" : "field",
3790 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
3791 },
3792 {
3793 "type" : "hexstr",
3794 "value" : "0x00000000"
3795 }
3796 ],
3797 "source_info" : {
3798 "filename" : "./include/int_transit.p4",
3799 "line" : 89,
3800 "column" : 8,
3801 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
3802 }
3803 }
3804 ]
3805 },
3806 {
3807 "name" : "process_int_transit.int_set_header_0407_i2",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08003808 "id" : 34,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08003809 "runtime_data" : [],
3810 "primitives" : [
3811 {
3812 "op" : "add_header",
3813 "parameters" : [
3814 {
3815 "type" : "header",
3816 "value" : "int_q_congestion"
3817 }
3818 ],
3819 "source_info" : {
3820 "filename" : "./include/int_transit.p4",
3821 "line" : 78,
3822 "column" : 8,
3823 "source_fragment" : "hdr.int_q_congestion.setValid()"
3824 }
3825 },
3826 {
3827 "op" : "assign",
3828 "parameters" : [
3829 {
3830 "type" : "field",
3831 "value" : ["int_q_congestion", "q_id"]
3832 },
3833 {
3834 "type" : "hexstr",
3835 "value" : "0x00"
3836 }
3837 ],
3838 "source_info" : {
3839 "filename" : "./include/int_transit.p4",
3840 "line" : 79,
3841 "column" : 8,
3842 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
3843 }
3844 },
3845 {
3846 "op" : "assign",
3847 "parameters" : [
3848 {
3849 "type" : "field",
3850 "value" : ["int_q_congestion", "q_congestion"]
3851 },
3852 {
3853 "type" : "hexstr",
3854 "value" : "0x000000"
3855 }
3856 ],
3857 "source_info" : {
3858 "filename" : "./include/int_transit.p4",
3859 "line" : 82,
3860 "column" : 8,
3861 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
3862 }
3863 }
3864 ]
3865 },
3866 {
3867 "name" : "process_int_transit.int_set_header_0407_i3",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08003868 "id" : 35,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08003869 "runtime_data" : [],
3870 "primitives" : [
3871 {
3872 "op" : "add_header",
3873 "parameters" : [
3874 {
3875 "type" : "header",
3876 "value" : "int_egress_tx_util"
3877 }
3878 ],
3879 "source_info" : {
3880 "filename" : "./include/int_transit.p4",
3881 "line" : 88,
3882 "column" : 8,
3883 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
3884 }
3885 },
3886 {
3887 "op" : "assign",
3888 "parameters" : [
3889 {
3890 "type" : "field",
3891 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
3892 },
3893 {
3894 "type" : "hexstr",
3895 "value" : "0x00000000"
3896 }
3897 ],
3898 "source_info" : {
3899 "filename" : "./include/int_transit.p4",
3900 "line" : 89,
3901 "column" : 8,
3902 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
3903 }
3904 },
3905 {
3906 "op" : "add_header",
3907 "parameters" : [
3908 {
3909 "type" : "header",
3910 "value" : "int_q_congestion"
3911 }
3912 ],
3913 "source_info" : {
3914 "filename" : "./include/int_transit.p4",
3915 "line" : 78,
3916 "column" : 8,
3917 "source_fragment" : "hdr.int_q_congestion.setValid()"
3918 }
3919 },
3920 {
3921 "op" : "assign",
3922 "parameters" : [
3923 {
3924 "type" : "field",
3925 "value" : ["int_q_congestion", "q_id"]
3926 },
3927 {
3928 "type" : "hexstr",
3929 "value" : "0x00"
3930 }
3931 ],
3932 "source_info" : {
3933 "filename" : "./include/int_transit.p4",
3934 "line" : 79,
3935 "column" : 8,
3936 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
3937 }
3938 },
3939 {
3940 "op" : "assign",
3941 "parameters" : [
3942 {
3943 "type" : "field",
3944 "value" : ["int_q_congestion", "q_congestion"]
3945 },
3946 {
3947 "type" : "hexstr",
3948 "value" : "0x000000"
3949 }
3950 ],
3951 "source_info" : {
3952 "filename" : "./include/int_transit.p4",
3953 "line" : 82,
3954 "column" : 8,
3955 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
3956 }
3957 }
3958 ]
3959 },
3960 {
3961 "name" : "process_int_transit.int_set_header_0407_i4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08003962 "id" : 36,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08003963 "runtime_data" : [],
3964 "primitives" : [
3965 {
3966 "op" : "add_header",
3967 "parameters" : [
3968 {
3969 "type" : "header",
3970 "value" : "int_egress_tstamp"
3971 }
3972 ],
3973 "source_info" : {
3974 "filename" : "./include/int_transit.p4",
3975 "line" : 70,
3976 "column" : 8,
3977 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
3978 }
3979 },
3980 {
3981 "op" : "assign",
3982 "parameters" : [
3983 {
3984 "type" : "field",
3985 "value" : ["int_egress_tstamp", "egress_tstamp"]
3986 },
3987 {
3988 "type" : "expression",
3989 "value" : {
3990 "type" : "expression",
3991 "value" : {
3992 "op" : "&",
3993 "left" : {
3994 "type" : "expression",
3995 "value" : {
3996 "op" : "+",
3997 "left" : {
3998 "type" : "field",
3999 "value" : ["standard_metadata", "enq_timestamp"]
4000 },
4001 "right" : {
4002 "type" : "field",
4003 "value" : ["standard_metadata", "deq_timedelta"]
4004 }
4005 }
4006 },
4007 "right" : {
4008 "type" : "hexstr",
4009 "value" : "0xffffffff"
4010 }
4011 }
4012 }
4013 }
4014 ],
4015 "source_info" : {
4016 "filename" : "./include/int_transit.p4",
4017 "line" : 71,
4018 "column" : 8,
4019 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
4020 }
4021 }
4022 ]
4023 },
4024 {
4025 "name" : "process_int_transit.int_set_header_0407_i5",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004026 "id" : 37,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004027 "runtime_data" : [],
4028 "primitives" : [
4029 {
4030 "op" : "add_header",
4031 "parameters" : [
4032 {
4033 "type" : "header",
4034 "value" : "int_egress_tx_util"
4035 }
4036 ],
4037 "source_info" : {
4038 "filename" : "./include/int_transit.p4",
4039 "line" : 88,
4040 "column" : 8,
4041 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
4042 }
4043 },
4044 {
4045 "op" : "assign",
4046 "parameters" : [
4047 {
4048 "type" : "field",
4049 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
4050 },
4051 {
4052 "type" : "hexstr",
4053 "value" : "0x00000000"
4054 }
4055 ],
4056 "source_info" : {
4057 "filename" : "./include/int_transit.p4",
4058 "line" : 89,
4059 "column" : 8,
4060 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
4061 }
4062 },
4063 {
4064 "op" : "add_header",
4065 "parameters" : [
4066 {
4067 "type" : "header",
4068 "value" : "int_egress_tstamp"
4069 }
4070 ],
4071 "source_info" : {
4072 "filename" : "./include/int_transit.p4",
4073 "line" : 70,
4074 "column" : 8,
4075 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
4076 }
4077 },
4078 {
4079 "op" : "assign",
4080 "parameters" : [
4081 {
4082 "type" : "field",
4083 "value" : ["int_egress_tstamp", "egress_tstamp"]
4084 },
4085 {
4086 "type" : "expression",
4087 "value" : {
4088 "type" : "expression",
4089 "value" : {
4090 "op" : "&",
4091 "left" : {
4092 "type" : "expression",
4093 "value" : {
4094 "op" : "+",
4095 "left" : {
4096 "type" : "field",
4097 "value" : ["standard_metadata", "enq_timestamp"]
4098 },
4099 "right" : {
4100 "type" : "field",
4101 "value" : ["standard_metadata", "deq_timedelta"]
4102 }
4103 }
4104 },
4105 "right" : {
4106 "type" : "hexstr",
4107 "value" : "0xffffffff"
4108 }
4109 }
4110 }
4111 }
4112 ],
4113 "source_info" : {
4114 "filename" : "./include/int_transit.p4",
4115 "line" : 71,
4116 "column" : 8,
4117 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
4118 }
4119 }
4120 ]
4121 },
4122 {
4123 "name" : "process_int_transit.int_set_header_0407_i6",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004124 "id" : 38,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004125 "runtime_data" : [],
4126 "primitives" : [
4127 {
4128 "op" : "add_header",
4129 "parameters" : [
4130 {
4131 "type" : "header",
4132 "value" : "int_q_congestion"
4133 }
4134 ],
4135 "source_info" : {
4136 "filename" : "./include/int_transit.p4",
4137 "line" : 78,
4138 "column" : 8,
4139 "source_fragment" : "hdr.int_q_congestion.setValid()"
4140 }
4141 },
4142 {
4143 "op" : "assign",
4144 "parameters" : [
4145 {
4146 "type" : "field",
4147 "value" : ["int_q_congestion", "q_id"]
4148 },
4149 {
4150 "type" : "hexstr",
4151 "value" : "0x00"
4152 }
4153 ],
4154 "source_info" : {
4155 "filename" : "./include/int_transit.p4",
4156 "line" : 79,
4157 "column" : 8,
4158 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
4159 }
4160 },
4161 {
4162 "op" : "assign",
4163 "parameters" : [
4164 {
4165 "type" : "field",
4166 "value" : ["int_q_congestion", "q_congestion"]
4167 },
4168 {
4169 "type" : "hexstr",
4170 "value" : "0x000000"
4171 }
4172 ],
4173 "source_info" : {
4174 "filename" : "./include/int_transit.p4",
4175 "line" : 82,
4176 "column" : 8,
4177 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
4178 }
4179 },
4180 {
4181 "op" : "add_header",
4182 "parameters" : [
4183 {
4184 "type" : "header",
4185 "value" : "int_egress_tstamp"
4186 }
4187 ],
4188 "source_info" : {
4189 "filename" : "./include/int_transit.p4",
4190 "line" : 70,
4191 "column" : 8,
4192 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
4193 }
4194 },
4195 {
4196 "op" : "assign",
4197 "parameters" : [
4198 {
4199 "type" : "field",
4200 "value" : ["int_egress_tstamp", "egress_tstamp"]
4201 },
4202 {
4203 "type" : "expression",
4204 "value" : {
4205 "type" : "expression",
4206 "value" : {
4207 "op" : "&",
4208 "left" : {
4209 "type" : "expression",
4210 "value" : {
4211 "op" : "+",
4212 "left" : {
4213 "type" : "field",
4214 "value" : ["standard_metadata", "enq_timestamp"]
4215 },
4216 "right" : {
4217 "type" : "field",
4218 "value" : ["standard_metadata", "deq_timedelta"]
4219 }
4220 }
4221 },
4222 "right" : {
4223 "type" : "hexstr",
4224 "value" : "0xffffffff"
4225 }
4226 }
4227 }
4228 }
4229 ],
4230 "source_info" : {
4231 "filename" : "./include/int_transit.p4",
4232 "line" : 71,
4233 "column" : 8,
4234 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
4235 }
4236 }
4237 ]
4238 },
4239 {
4240 "name" : "process_int_transit.int_set_header_0407_i7",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004241 "id" : 39,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004242 "runtime_data" : [],
4243 "primitives" : [
4244 {
4245 "op" : "add_header",
4246 "parameters" : [
4247 {
4248 "type" : "header",
4249 "value" : "int_egress_tx_util"
4250 }
4251 ],
4252 "source_info" : {
4253 "filename" : "./include/int_transit.p4",
4254 "line" : 88,
4255 "column" : 8,
4256 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
4257 }
4258 },
4259 {
4260 "op" : "assign",
4261 "parameters" : [
4262 {
4263 "type" : "field",
4264 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
4265 },
4266 {
4267 "type" : "hexstr",
4268 "value" : "0x00000000"
4269 }
4270 ],
4271 "source_info" : {
4272 "filename" : "./include/int_transit.p4",
4273 "line" : 89,
4274 "column" : 8,
4275 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
4276 }
4277 },
4278 {
4279 "op" : "add_header",
4280 "parameters" : [
4281 {
4282 "type" : "header",
4283 "value" : "int_q_congestion"
4284 }
4285 ],
4286 "source_info" : {
4287 "filename" : "./include/int_transit.p4",
4288 "line" : 78,
4289 "column" : 8,
4290 "source_fragment" : "hdr.int_q_congestion.setValid()"
4291 }
4292 },
4293 {
4294 "op" : "assign",
4295 "parameters" : [
4296 {
4297 "type" : "field",
4298 "value" : ["int_q_congestion", "q_id"]
4299 },
4300 {
4301 "type" : "hexstr",
4302 "value" : "0x00"
4303 }
4304 ],
4305 "source_info" : {
4306 "filename" : "./include/int_transit.p4",
4307 "line" : 79,
4308 "column" : 8,
4309 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
4310 }
4311 },
4312 {
4313 "op" : "assign",
4314 "parameters" : [
4315 {
4316 "type" : "field",
4317 "value" : ["int_q_congestion", "q_congestion"]
4318 },
4319 {
4320 "type" : "hexstr",
4321 "value" : "0x000000"
4322 }
4323 ],
4324 "source_info" : {
4325 "filename" : "./include/int_transit.p4",
4326 "line" : 82,
4327 "column" : 8,
4328 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
4329 }
4330 },
4331 {
4332 "op" : "add_header",
4333 "parameters" : [
4334 {
4335 "type" : "header",
4336 "value" : "int_egress_tstamp"
4337 }
4338 ],
4339 "source_info" : {
4340 "filename" : "./include/int_transit.p4",
4341 "line" : 70,
4342 "column" : 8,
4343 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
4344 }
4345 },
4346 {
4347 "op" : "assign",
4348 "parameters" : [
4349 {
4350 "type" : "field",
4351 "value" : ["int_egress_tstamp", "egress_tstamp"]
4352 },
4353 {
4354 "type" : "expression",
4355 "value" : {
4356 "type" : "expression",
4357 "value" : {
4358 "op" : "&",
4359 "left" : {
4360 "type" : "expression",
4361 "value" : {
4362 "op" : "+",
4363 "left" : {
4364 "type" : "field",
4365 "value" : ["standard_metadata", "enq_timestamp"]
4366 },
4367 "right" : {
4368 "type" : "field",
4369 "value" : ["standard_metadata", "deq_timedelta"]
4370 }
4371 }
4372 },
4373 "right" : {
4374 "type" : "hexstr",
4375 "value" : "0xffffffff"
4376 }
4377 }
4378 }
4379 }
4380 ],
4381 "source_info" : {
4382 "filename" : "./include/int_transit.p4",
4383 "line" : 71,
4384 "column" : 8,
4385 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
4386 }
4387 }
4388 ]
4389 },
4390 {
4391 "name" : "process_int_transit.int_set_header_0407_i8",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004392 "id" : 40,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004393 "runtime_data" : [],
4394 "primitives" : [
4395 {
4396 "op" : "add_header",
4397 "parameters" : [
4398 {
4399 "type" : "header",
4400 "value" : "int_ingress_tstamp"
4401 }
4402 ],
4403 "source_info" : {
4404 "filename" : "./include/int_transit.p4",
4405 "line" : 65,
4406 "column" : 8,
4407 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
4408 }
4409 },
4410 {
4411 "op" : "assign",
4412 "parameters" : [
4413 {
4414 "type" : "field",
4415 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
4416 },
4417 {
4418 "type" : "field",
4419 "value" : ["standard_metadata", "enq_timestamp"]
4420 }
4421 ],
4422 "source_info" : {
4423 "filename" : "./include/int_transit.p4",
4424 "line" : 66,
4425 "column" : 8,
4426 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
4427 }
4428 }
4429 ]
4430 },
4431 {
4432 "name" : "process_int_transit.int_set_header_0407_i9",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004433 "id" : 41,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004434 "runtime_data" : [],
4435 "primitives" : [
4436 {
4437 "op" : "add_header",
4438 "parameters" : [
4439 {
4440 "type" : "header",
4441 "value" : "int_egress_tx_util"
4442 }
4443 ],
4444 "source_info" : {
4445 "filename" : "./include/int_transit.p4",
4446 "line" : 88,
4447 "column" : 8,
4448 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
4449 }
4450 },
4451 {
4452 "op" : "assign",
4453 "parameters" : [
4454 {
4455 "type" : "field",
4456 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
4457 },
4458 {
4459 "type" : "hexstr",
4460 "value" : "0x00000000"
4461 }
4462 ],
4463 "source_info" : {
4464 "filename" : "./include/int_transit.p4",
4465 "line" : 89,
4466 "column" : 8,
4467 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
4468 }
4469 },
4470 {
4471 "op" : "add_header",
4472 "parameters" : [
4473 {
4474 "type" : "header",
4475 "value" : "int_ingress_tstamp"
4476 }
4477 ],
4478 "source_info" : {
4479 "filename" : "./include/int_transit.p4",
4480 "line" : 65,
4481 "column" : 8,
4482 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
4483 }
4484 },
4485 {
4486 "op" : "assign",
4487 "parameters" : [
4488 {
4489 "type" : "field",
4490 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
4491 },
4492 {
4493 "type" : "field",
4494 "value" : ["standard_metadata", "enq_timestamp"]
4495 }
4496 ],
4497 "source_info" : {
4498 "filename" : "./include/int_transit.p4",
4499 "line" : 66,
4500 "column" : 8,
4501 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
4502 }
4503 }
4504 ]
4505 },
4506 {
4507 "name" : "process_int_transit.int_set_header_0407_i10",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004508 "id" : 42,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004509 "runtime_data" : [],
4510 "primitives" : [
4511 {
4512 "op" : "add_header",
4513 "parameters" : [
4514 {
4515 "type" : "header",
4516 "value" : "int_q_congestion"
4517 }
4518 ],
4519 "source_info" : {
4520 "filename" : "./include/int_transit.p4",
4521 "line" : 78,
4522 "column" : 8,
4523 "source_fragment" : "hdr.int_q_congestion.setValid()"
4524 }
4525 },
4526 {
4527 "op" : "assign",
4528 "parameters" : [
4529 {
4530 "type" : "field",
4531 "value" : ["int_q_congestion", "q_id"]
4532 },
4533 {
4534 "type" : "hexstr",
4535 "value" : "0x00"
4536 }
4537 ],
4538 "source_info" : {
4539 "filename" : "./include/int_transit.p4",
4540 "line" : 79,
4541 "column" : 8,
4542 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
4543 }
4544 },
4545 {
4546 "op" : "assign",
4547 "parameters" : [
4548 {
4549 "type" : "field",
4550 "value" : ["int_q_congestion", "q_congestion"]
4551 },
4552 {
4553 "type" : "hexstr",
4554 "value" : "0x000000"
4555 }
4556 ],
4557 "source_info" : {
4558 "filename" : "./include/int_transit.p4",
4559 "line" : 82,
4560 "column" : 8,
4561 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
4562 }
4563 },
4564 {
4565 "op" : "add_header",
4566 "parameters" : [
4567 {
4568 "type" : "header",
4569 "value" : "int_ingress_tstamp"
4570 }
4571 ],
4572 "source_info" : {
4573 "filename" : "./include/int_transit.p4",
4574 "line" : 65,
4575 "column" : 8,
4576 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
4577 }
4578 },
4579 {
4580 "op" : "assign",
4581 "parameters" : [
4582 {
4583 "type" : "field",
4584 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
4585 },
4586 {
4587 "type" : "field",
4588 "value" : ["standard_metadata", "enq_timestamp"]
4589 }
4590 ],
4591 "source_info" : {
4592 "filename" : "./include/int_transit.p4",
4593 "line" : 66,
4594 "column" : 8,
4595 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
4596 }
4597 }
4598 ]
4599 },
4600 {
4601 "name" : "process_int_transit.int_set_header_0407_i11",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004602 "id" : 43,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004603 "runtime_data" : [],
4604 "primitives" : [
4605 {
4606 "op" : "add_header",
4607 "parameters" : [
4608 {
4609 "type" : "header",
4610 "value" : "int_egress_tx_util"
4611 }
4612 ],
4613 "source_info" : {
4614 "filename" : "./include/int_transit.p4",
4615 "line" : 88,
4616 "column" : 8,
4617 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
4618 }
4619 },
4620 {
4621 "op" : "assign",
4622 "parameters" : [
4623 {
4624 "type" : "field",
4625 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
4626 },
4627 {
4628 "type" : "hexstr",
4629 "value" : "0x00000000"
4630 }
4631 ],
4632 "source_info" : {
4633 "filename" : "./include/int_transit.p4",
4634 "line" : 89,
4635 "column" : 8,
4636 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
4637 }
4638 },
4639 {
4640 "op" : "add_header",
4641 "parameters" : [
4642 {
4643 "type" : "header",
4644 "value" : "int_q_congestion"
4645 }
4646 ],
4647 "source_info" : {
4648 "filename" : "./include/int_transit.p4",
4649 "line" : 78,
4650 "column" : 8,
4651 "source_fragment" : "hdr.int_q_congestion.setValid()"
4652 }
4653 },
4654 {
4655 "op" : "assign",
4656 "parameters" : [
4657 {
4658 "type" : "field",
4659 "value" : ["int_q_congestion", "q_id"]
4660 },
4661 {
4662 "type" : "hexstr",
4663 "value" : "0x00"
4664 }
4665 ],
4666 "source_info" : {
4667 "filename" : "./include/int_transit.p4",
4668 "line" : 79,
4669 "column" : 8,
4670 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
4671 }
4672 },
4673 {
4674 "op" : "assign",
4675 "parameters" : [
4676 {
4677 "type" : "field",
4678 "value" : ["int_q_congestion", "q_congestion"]
4679 },
4680 {
4681 "type" : "hexstr",
4682 "value" : "0x000000"
4683 }
4684 ],
4685 "source_info" : {
4686 "filename" : "./include/int_transit.p4",
4687 "line" : 82,
4688 "column" : 8,
4689 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
4690 }
4691 },
4692 {
4693 "op" : "add_header",
4694 "parameters" : [
4695 {
4696 "type" : "header",
4697 "value" : "int_ingress_tstamp"
4698 }
4699 ],
4700 "source_info" : {
4701 "filename" : "./include/int_transit.p4",
4702 "line" : 65,
4703 "column" : 8,
4704 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
4705 }
4706 },
4707 {
4708 "op" : "assign",
4709 "parameters" : [
4710 {
4711 "type" : "field",
4712 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
4713 },
4714 {
4715 "type" : "field",
4716 "value" : ["standard_metadata", "enq_timestamp"]
4717 }
4718 ],
4719 "source_info" : {
4720 "filename" : "./include/int_transit.p4",
4721 "line" : 66,
4722 "column" : 8,
4723 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
4724 }
4725 }
4726 ]
4727 },
4728 {
4729 "name" : "process_int_transit.int_set_header_0407_i12",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004730 "id" : 44,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004731 "runtime_data" : [],
4732 "primitives" : [
4733 {
4734 "op" : "add_header",
4735 "parameters" : [
4736 {
4737 "type" : "header",
4738 "value" : "int_egress_tstamp"
4739 }
4740 ],
4741 "source_info" : {
4742 "filename" : "./include/int_transit.p4",
4743 "line" : 70,
4744 "column" : 8,
4745 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
4746 }
4747 },
4748 {
4749 "op" : "assign",
4750 "parameters" : [
4751 {
4752 "type" : "field",
4753 "value" : ["int_egress_tstamp", "egress_tstamp"]
4754 },
4755 {
4756 "type" : "expression",
4757 "value" : {
4758 "type" : "expression",
4759 "value" : {
4760 "op" : "&",
4761 "left" : {
4762 "type" : "expression",
4763 "value" : {
4764 "op" : "+",
4765 "left" : {
4766 "type" : "field",
4767 "value" : ["standard_metadata", "enq_timestamp"]
4768 },
4769 "right" : {
4770 "type" : "field",
4771 "value" : ["standard_metadata", "deq_timedelta"]
4772 }
4773 }
4774 },
4775 "right" : {
4776 "type" : "hexstr",
4777 "value" : "0xffffffff"
4778 }
4779 }
4780 }
4781 }
4782 ],
4783 "source_info" : {
4784 "filename" : "./include/int_transit.p4",
4785 "line" : 71,
4786 "column" : 8,
4787 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
4788 }
4789 },
4790 {
4791 "op" : "add_header",
4792 "parameters" : [
4793 {
4794 "type" : "header",
4795 "value" : "int_ingress_tstamp"
4796 }
4797 ],
4798 "source_info" : {
4799 "filename" : "./include/int_transit.p4",
4800 "line" : 65,
4801 "column" : 8,
4802 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
4803 }
4804 },
4805 {
4806 "op" : "assign",
4807 "parameters" : [
4808 {
4809 "type" : "field",
4810 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
4811 },
4812 {
4813 "type" : "field",
4814 "value" : ["standard_metadata", "enq_timestamp"]
4815 }
4816 ],
4817 "source_info" : {
4818 "filename" : "./include/int_transit.p4",
4819 "line" : 66,
4820 "column" : 8,
4821 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
4822 }
4823 }
4824 ]
4825 },
4826 {
4827 "name" : "process_int_transit.int_set_header_0407_i13",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004828 "id" : 45,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004829 "runtime_data" : [],
4830 "primitives" : [
4831 {
4832 "op" : "add_header",
4833 "parameters" : [
4834 {
4835 "type" : "header",
4836 "value" : "int_egress_tx_util"
4837 }
4838 ],
4839 "source_info" : {
4840 "filename" : "./include/int_transit.p4",
4841 "line" : 88,
4842 "column" : 8,
4843 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
4844 }
4845 },
4846 {
4847 "op" : "assign",
4848 "parameters" : [
4849 {
4850 "type" : "field",
4851 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
4852 },
4853 {
4854 "type" : "hexstr",
4855 "value" : "0x00000000"
4856 }
4857 ],
4858 "source_info" : {
4859 "filename" : "./include/int_transit.p4",
4860 "line" : 89,
4861 "column" : 8,
4862 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
4863 }
4864 },
4865 {
4866 "op" : "add_header",
4867 "parameters" : [
4868 {
4869 "type" : "header",
4870 "value" : "int_egress_tstamp"
4871 }
4872 ],
4873 "source_info" : {
4874 "filename" : "./include/int_transit.p4",
4875 "line" : 70,
4876 "column" : 8,
4877 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
4878 }
4879 },
4880 {
4881 "op" : "assign",
4882 "parameters" : [
4883 {
4884 "type" : "field",
4885 "value" : ["int_egress_tstamp", "egress_tstamp"]
4886 },
4887 {
4888 "type" : "expression",
4889 "value" : {
4890 "type" : "expression",
4891 "value" : {
4892 "op" : "&",
4893 "left" : {
4894 "type" : "expression",
4895 "value" : {
4896 "op" : "+",
4897 "left" : {
4898 "type" : "field",
4899 "value" : ["standard_metadata", "enq_timestamp"]
4900 },
4901 "right" : {
4902 "type" : "field",
4903 "value" : ["standard_metadata", "deq_timedelta"]
4904 }
4905 }
4906 },
4907 "right" : {
4908 "type" : "hexstr",
4909 "value" : "0xffffffff"
4910 }
4911 }
4912 }
4913 }
4914 ],
4915 "source_info" : {
4916 "filename" : "./include/int_transit.p4",
4917 "line" : 71,
4918 "column" : 8,
4919 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
4920 }
4921 },
4922 {
4923 "op" : "add_header",
4924 "parameters" : [
4925 {
4926 "type" : "header",
4927 "value" : "int_ingress_tstamp"
4928 }
4929 ],
4930 "source_info" : {
4931 "filename" : "./include/int_transit.p4",
4932 "line" : 65,
4933 "column" : 8,
4934 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
4935 }
4936 },
4937 {
4938 "op" : "assign",
4939 "parameters" : [
4940 {
4941 "type" : "field",
4942 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
4943 },
4944 {
4945 "type" : "field",
4946 "value" : ["standard_metadata", "enq_timestamp"]
4947 }
4948 ],
4949 "source_info" : {
4950 "filename" : "./include/int_transit.p4",
4951 "line" : 66,
4952 "column" : 8,
4953 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
4954 }
4955 }
4956 ]
4957 },
4958 {
4959 "name" : "process_int_transit.int_set_header_0407_i14",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08004960 "id" : 46,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08004961 "runtime_data" : [],
4962 "primitives" : [
4963 {
4964 "op" : "add_header",
4965 "parameters" : [
4966 {
4967 "type" : "header",
4968 "value" : "int_q_congestion"
4969 }
4970 ],
4971 "source_info" : {
4972 "filename" : "./include/int_transit.p4",
4973 "line" : 78,
4974 "column" : 8,
4975 "source_fragment" : "hdr.int_q_congestion.setValid()"
4976 }
4977 },
4978 {
4979 "op" : "assign",
4980 "parameters" : [
4981 {
4982 "type" : "field",
4983 "value" : ["int_q_congestion", "q_id"]
4984 },
4985 {
4986 "type" : "hexstr",
4987 "value" : "0x00"
4988 }
4989 ],
4990 "source_info" : {
4991 "filename" : "./include/int_transit.p4",
4992 "line" : 79,
4993 "column" : 8,
4994 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
4995 }
4996 },
4997 {
4998 "op" : "assign",
4999 "parameters" : [
5000 {
5001 "type" : "field",
5002 "value" : ["int_q_congestion", "q_congestion"]
5003 },
5004 {
5005 "type" : "hexstr",
5006 "value" : "0x000000"
5007 }
5008 ],
5009 "source_info" : {
5010 "filename" : "./include/int_transit.p4",
5011 "line" : 82,
5012 "column" : 8,
5013 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
5014 }
5015 },
5016 {
5017 "op" : "add_header",
5018 "parameters" : [
5019 {
5020 "type" : "header",
5021 "value" : "int_egress_tstamp"
5022 }
5023 ],
5024 "source_info" : {
5025 "filename" : "./include/int_transit.p4",
5026 "line" : 70,
5027 "column" : 8,
5028 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
5029 }
5030 },
5031 {
5032 "op" : "assign",
5033 "parameters" : [
5034 {
5035 "type" : "field",
5036 "value" : ["int_egress_tstamp", "egress_tstamp"]
5037 },
5038 {
5039 "type" : "expression",
5040 "value" : {
5041 "type" : "expression",
5042 "value" : {
5043 "op" : "&",
5044 "left" : {
5045 "type" : "expression",
5046 "value" : {
5047 "op" : "+",
5048 "left" : {
5049 "type" : "field",
5050 "value" : ["standard_metadata", "enq_timestamp"]
5051 },
5052 "right" : {
5053 "type" : "field",
5054 "value" : ["standard_metadata", "deq_timedelta"]
5055 }
5056 }
5057 },
5058 "right" : {
5059 "type" : "hexstr",
5060 "value" : "0xffffffff"
5061 }
5062 }
5063 }
5064 }
5065 ],
5066 "source_info" : {
5067 "filename" : "./include/int_transit.p4",
5068 "line" : 71,
5069 "column" : 8,
5070 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
5071 }
5072 },
5073 {
5074 "op" : "add_header",
5075 "parameters" : [
5076 {
5077 "type" : "header",
5078 "value" : "int_ingress_tstamp"
5079 }
5080 ],
5081 "source_info" : {
5082 "filename" : "./include/int_transit.p4",
5083 "line" : 65,
5084 "column" : 8,
5085 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
5086 }
5087 },
5088 {
5089 "op" : "assign",
5090 "parameters" : [
5091 {
5092 "type" : "field",
5093 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
5094 },
5095 {
5096 "type" : "field",
5097 "value" : ["standard_metadata", "enq_timestamp"]
5098 }
5099 ],
5100 "source_info" : {
5101 "filename" : "./include/int_transit.p4",
5102 "line" : 66,
5103 "column" : 8,
5104 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
5105 }
5106 }
5107 ]
5108 },
5109 {
5110 "name" : "process_int_transit.int_set_header_0407_i15",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005111 "id" : 47,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005112 "runtime_data" : [],
5113 "primitives" : [
5114 {
5115 "op" : "add_header",
5116 "parameters" : [
5117 {
5118 "type" : "header",
5119 "value" : "int_egress_tx_util"
5120 }
5121 ],
5122 "source_info" : {
5123 "filename" : "./include/int_transit.p4",
5124 "line" : 88,
5125 "column" : 8,
5126 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
5127 }
5128 },
5129 {
5130 "op" : "assign",
5131 "parameters" : [
5132 {
5133 "type" : "field",
5134 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
5135 },
5136 {
5137 "type" : "hexstr",
5138 "value" : "0x00000000"
5139 }
5140 ],
5141 "source_info" : {
5142 "filename" : "./include/int_transit.p4",
5143 "line" : 89,
5144 "column" : 8,
5145 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
5146 }
5147 },
5148 {
5149 "op" : "add_header",
5150 "parameters" : [
5151 {
5152 "type" : "header",
5153 "value" : "int_q_congestion"
5154 }
5155 ],
5156 "source_info" : {
5157 "filename" : "./include/int_transit.p4",
5158 "line" : 78,
5159 "column" : 8,
5160 "source_fragment" : "hdr.int_q_congestion.setValid()"
5161 }
5162 },
5163 {
5164 "op" : "assign",
5165 "parameters" : [
5166 {
5167 "type" : "field",
5168 "value" : ["int_q_congestion", "q_id"]
5169 },
5170 {
5171 "type" : "hexstr",
5172 "value" : "0x00"
5173 }
5174 ],
5175 "source_info" : {
5176 "filename" : "./include/int_transit.p4",
5177 "line" : 79,
5178 "column" : 8,
5179 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
5180 }
5181 },
5182 {
5183 "op" : "assign",
5184 "parameters" : [
5185 {
5186 "type" : "field",
5187 "value" : ["int_q_congestion", "q_congestion"]
5188 },
5189 {
5190 "type" : "hexstr",
5191 "value" : "0x000000"
5192 }
5193 ],
5194 "source_info" : {
5195 "filename" : "./include/int_transit.p4",
5196 "line" : 82,
5197 "column" : 8,
5198 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
5199 }
5200 },
5201 {
5202 "op" : "add_header",
5203 "parameters" : [
5204 {
5205 "type" : "header",
5206 "value" : "int_egress_tstamp"
5207 }
5208 ],
5209 "source_info" : {
5210 "filename" : "./include/int_transit.p4",
5211 "line" : 70,
5212 "column" : 8,
5213 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
5214 }
5215 },
5216 {
5217 "op" : "assign",
5218 "parameters" : [
5219 {
5220 "type" : "field",
5221 "value" : ["int_egress_tstamp", "egress_tstamp"]
5222 },
5223 {
5224 "type" : "expression",
5225 "value" : {
5226 "type" : "expression",
5227 "value" : {
5228 "op" : "&",
5229 "left" : {
5230 "type" : "expression",
5231 "value" : {
5232 "op" : "+",
5233 "left" : {
5234 "type" : "field",
5235 "value" : ["standard_metadata", "enq_timestamp"]
5236 },
5237 "right" : {
5238 "type" : "field",
5239 "value" : ["standard_metadata", "deq_timedelta"]
5240 }
5241 }
5242 },
5243 "right" : {
5244 "type" : "hexstr",
5245 "value" : "0xffffffff"
5246 }
5247 }
5248 }
5249 }
5250 ],
5251 "source_info" : {
5252 "filename" : "./include/int_transit.p4",
5253 "line" : 71,
5254 "column" : 8,
5255 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
5256 }
5257 },
5258 {
5259 "op" : "add_header",
5260 "parameters" : [
5261 {
5262 "type" : "header",
5263 "value" : "int_ingress_tstamp"
5264 }
5265 ],
5266 "source_info" : {
5267 "filename" : "./include/int_transit.p4",
5268 "line" : 65,
5269 "column" : 8,
5270 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
5271 }
5272 },
5273 {
5274 "op" : "assign",
5275 "parameters" : [
5276 {
5277 "type" : "field",
5278 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
5279 },
5280 {
5281 "type" : "field",
5282 "value" : ["standard_metadata", "enq_timestamp"]
5283 }
5284 ],
5285 "source_info" : {
5286 "filename" : "./include/int_transit.p4",
5287 "line" : 66,
5288 "column" : 8,
5289 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
5290 }
5291 }
5292 ]
5293 },
5294 {
5295 "name" : "process_int_outer_encap.int_update_ipv4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005296 "id" : 48,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005297 "runtime_data" : [],
5298 "primitives" : [
5299 {
5300 "op" : "assign",
5301 "parameters" : [
5302 {
5303 "type" : "field",
5304 "value" : ["ipv4", "len"]
5305 },
5306 {
5307 "type" : "expression",
5308 "value" : {
5309 "type" : "expression",
5310 "value" : {
5311 "op" : "&",
5312 "left" : {
5313 "type" : "expression",
5314 "value" : {
5315 "op" : "+",
5316 "left" : {
5317 "type" : "field",
5318 "value" : ["ipv4", "len"]
5319 },
5320 "right" : {
5321 "type" : "field",
5322 "value" : ["int_meta", "insert_byte_cnt"]
5323 }
5324 }
5325 },
5326 "right" : {
5327 "type" : "hexstr",
5328 "value" : "0xffff"
5329 }
5330 }
5331 }
5332 }
5333 ],
5334 "source_info" : {
5335 "filename" : "./include/int_transit.p4",
5336 "line" : 306,
5337 "column" : 8,
5338 "source_fragment" : "hdr.ipv4.len = hdr.ipv4.len + local_metadata.int_meta.insert_byte_cnt"
5339 }
5340 }
5341 ]
5342 },
5343 {
5344 "name" : "process_int_outer_encap.int_update_udp",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005345 "id" : 49,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005346 "runtime_data" : [],
5347 "primitives" : [
5348 {
5349 "op" : "assign",
5350 "parameters" : [
5351 {
5352 "type" : "field",
5353 "value" : ["udp", "length_"]
5354 },
5355 {
5356 "type" : "expression",
5357 "value" : {
5358 "type" : "expression",
5359 "value" : {
5360 "op" : "&",
5361 "left" : {
5362 "type" : "expression",
5363 "value" : {
5364 "op" : "+",
5365 "left" : {
5366 "type" : "field",
5367 "value" : ["udp", "length_"]
5368 },
5369 "right" : {
5370 "type" : "field",
5371 "value" : ["int_meta", "insert_byte_cnt"]
5372 }
5373 }
5374 },
5375 "right" : {
5376 "type" : "hexstr",
5377 "value" : "0xffff"
5378 }
5379 }
5380 }
5381 }
5382 ],
5383 "source_info" : {
5384 "filename" : "./include/int_transit.p4",
5385 "line" : 309,
5386 "column" : 8,
5387 "source_fragment" : "hdr.udp.length_ = hdr.udp.length_ + local_metadata.int_meta.insert_byte_cnt"
5388 }
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005389 }
5390 ]
5391 },
5392 {
5393 "name" : "process_int_outer_encap.int_update_shim",
5394 "id" : 50,
5395 "runtime_data" : [],
5396 "primitives" : [
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005397 {
5398 "op" : "assign",
5399 "parameters" : [
5400 {
5401 "type" : "field",
5402 "value" : ["intl4_shim", "len"]
5403 },
5404 {
5405 "type" : "expression",
5406 "value" : {
5407 "type" : "expression",
5408 "value" : {
5409 "op" : "&",
5410 "left" : {
5411 "type" : "expression",
5412 "value" : {
5413 "op" : "+",
5414 "left" : {
5415 "type" : "field",
5416 "value" : ["intl4_shim", "len"]
5417 },
5418 "right" : {
5419 "type" : "expression",
5420 "value" : {
5421 "op" : "&",
5422 "left" : {
5423 "type" : "field",
5424 "value" : ["int_header", "ins_cnt"]
5425 },
5426 "right" : {
5427 "type" : "hexstr",
5428 "value" : "0xff"
5429 }
5430 }
5431 }
5432 }
5433 },
5434 "right" : {
5435 "type" : "hexstr",
5436 "value" : "0xff"
5437 }
5438 }
5439 }
5440 }
5441 ],
5442 "source_info" : {
5443 "filename" : "./include/int_transit.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005444 "line" : 312,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005445 "column" : 8,
5446 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
5447 }
5448 }
5449 ]
5450 },
5451 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005452 "name" : "process_int_sink.restore_header",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005453 "id" : 51,
5454 "runtime_data" : [],
5455 "primitives" : [
5456 {
5457 "op" : "assign",
5458 "parameters" : [
5459 {
5460 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005461 "value" : ["udp", "dst_port"]
5462 },
5463 {
5464 "type" : "field",
5465 "value" : ["intl4_tail", "dest_port"]
5466 }
5467 ],
5468 "source_info" : {
5469 "filename" : "./include/int_sink.p4",
5470 "line" : 27,
5471 "column" : 8,
5472 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
5473 }
5474 },
5475 {
5476 "op" : "assign",
5477 "parameters" : [
5478 {
5479 "type" : "field",
5480 "value" : ["ipv4", "dscp"]
5481 },
5482 {
5483 "type" : "expression",
5484 "value" : {
5485 "type" : "expression",
5486 "value" : {
5487 "op" : "&",
5488 "left" : {
5489 "type" : "field",
5490 "value" : ["intl4_tail", "dscp"]
5491 },
5492 "right" : {
5493 "type" : "hexstr",
5494 "value" : "0x3f"
5495 }
5496 }
5497 }
5498 }
5499 ],
5500 "source_info" : {
5501 "filename" : "./include/int_sink.p4",
5502 "line" : 28,
5503 "column" : 8,
5504 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
5505 }
5506 }
5507 ]
5508 },
5509 {
5510 "name" : "process_int_sink.int_sink",
5511 "id" : 52,
5512 "runtime_data" : [],
5513 "primitives" : [
5514 {
5515 "op" : "assign",
5516 "parameters" : [
5517 {
5518 "type" : "field",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005519 "value" : ["ipv4", "len"]
5520 },
5521 {
5522 "type" : "expression",
5523 "value" : {
5524 "type" : "expression",
5525 "value" : {
5526 "op" : "&",
5527 "left" : {
5528 "type" : "expression",
5529 "value" : {
5530 "op" : "-",
5531 "left" : {
5532 "type" : "field",
5533 "value" : ["ipv4", "len"]
5534 },
5535 "right" : {
5536 "type" : "expression",
5537 "value" : {
5538 "op" : "&",
5539 "left" : {
5540 "type" : "expression",
5541 "value" : {
5542 "op" : "&",
5543 "left" : {
5544 "type" : "expression",
5545 "value" : {
5546 "op" : "<<",
5547 "left" : {
5548 "type" : "expression",
5549 "value" : {
5550 "op" : "&",
5551 "left" : {
5552 "type" : "expression",
5553 "value" : {
5554 "op" : "-",
5555 "left" : {
5556 "type" : "field",
5557 "value" : ["intl4_shim", "len"]
5558 },
5559 "right" : {
5560 "type" : "expression",
5561 "value" : {
5562 "op" : "&",
5563 "left" : {
5564 "type" : "field",
5565 "value" : ["int_header", "ins_cnt"]
5566 },
5567 "right" : {
5568 "type" : "hexstr",
5569 "value" : "0xff"
5570 }
5571 }
5572 }
5573 }
5574 },
5575 "right" : {
5576 "type" : "hexstr",
5577 "value" : "0xff"
5578 }
5579 }
5580 },
5581 "right" : {
5582 "type" : "hexstr",
5583 "value" : "0x2"
5584 }
5585 }
5586 },
5587 "right" : {
5588 "type" : "hexstr",
5589 "value" : "0xff"
5590 }
5591 }
5592 },
5593 "right" : {
5594 "type" : "hexstr",
5595 "value" : "0xffff"
5596 }
5597 }
5598 }
5599 }
5600 },
5601 "right" : {
5602 "type" : "hexstr",
5603 "value" : "0xffff"
5604 }
5605 }
5606 }
5607 }
5608 ],
5609 "source_info" : {
5610 "filename" : "./include/int_sink.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005611 "line" : 33,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005612 "column" : 8,
5613 "source_fragment" : "hdr.ipv4.len = hdr.ipv4.len - (bit<16>)((hdr.intl4_shim.len - (bit<8>)hdr.int_header.ins_cnt) << 2)"
5614 }
5615 },
5616 {
5617 "op" : "assign",
5618 "parameters" : [
5619 {
5620 "type" : "field",
5621 "value" : ["udp", "length_"]
5622 },
5623 {
5624 "type" : "expression",
5625 "value" : {
5626 "type" : "expression",
5627 "value" : {
5628 "op" : "&",
5629 "left" : {
5630 "type" : "expression",
5631 "value" : {
5632 "op" : "-",
5633 "left" : {
5634 "type" : "field",
5635 "value" : ["udp", "length_"]
5636 },
5637 "right" : {
5638 "type" : "expression",
5639 "value" : {
5640 "op" : "&",
5641 "left" : {
5642 "type" : "expression",
5643 "value" : {
5644 "op" : "&",
5645 "left" : {
5646 "type" : "expression",
5647 "value" : {
5648 "op" : "<<",
5649 "left" : {
5650 "type" : "expression",
5651 "value" : {
5652 "op" : "&",
5653 "left" : {
5654 "type" : "expression",
5655 "value" : {
5656 "op" : "-",
5657 "left" : {
5658 "type" : "field",
5659 "value" : ["intl4_shim", "len"]
5660 },
5661 "right" : {
5662 "type" : "expression",
5663 "value" : {
5664 "op" : "&",
5665 "left" : {
5666 "type" : "field",
5667 "value" : ["int_header", "ins_cnt"]
5668 },
5669 "right" : {
5670 "type" : "hexstr",
5671 "value" : "0xff"
5672 }
5673 }
5674 }
5675 }
5676 },
5677 "right" : {
5678 "type" : "hexstr",
5679 "value" : "0xff"
5680 }
5681 }
5682 },
5683 "right" : {
5684 "type" : "hexstr",
5685 "value" : "0x2"
5686 }
5687 }
5688 },
5689 "right" : {
5690 "type" : "hexstr",
5691 "value" : "0xff"
5692 }
5693 }
5694 },
5695 "right" : {
5696 "type" : "hexstr",
5697 "value" : "0xffff"
5698 }
5699 }
5700 }
5701 }
5702 },
5703 "right" : {
5704 "type" : "hexstr",
5705 "value" : "0xffff"
5706 }
5707 }
5708 }
5709 }
5710 ],
5711 "source_info" : {
5712 "filename" : "./include/int_sink.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005713 "line" : 34,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005714 "column" : 8,
5715 "source_fragment" : "hdr.udp.length_ = hdr.udp.length_ - (bit<16>)((hdr.intl4_shim.len - (bit<8>)hdr.int_header.ins_cnt) << 2)"
5716 }
5717 },
5718 {
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005719 "op" : "remove_header",
5720 "parameters" : [
5721 {
5722 "type" : "header",
5723 "value" : "int_header"
5724 }
5725 ],
5726 "source_info" : {
5727 "filename" : "./include/int_sink.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005728 "line" : 36,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005729 "column" : 8,
5730 "source_fragment" : "hdr.int_header.setInvalid()"
5731 }
5732 },
5733 {
5734 "op" : "remove_header",
5735 "parameters" : [
5736 {
5737 "type" : "header",
5738 "value" : "int_data"
5739 }
5740 ],
5741 "source_info" : {
5742 "filename" : "./include/int_sink.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005743 "line" : 37,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005744 "column" : 8,
5745 "source_fragment" : "hdr.int_data.setInvalid()"
5746 }
5747 },
5748 {
5749 "op" : "remove_header",
5750 "parameters" : [
5751 {
5752 "type" : "header",
5753 "value" : "intl4_shim"
5754 }
5755 ],
5756 "source_info" : {
5757 "filename" : "./include/int_sink.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005758 "line" : 38,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005759 "column" : 8,
5760 "source_fragment" : "hdr.intl4_shim.setInvalid()"
5761 }
5762 },
5763 {
5764 "op" : "remove_header",
5765 "parameters" : [
5766 {
5767 "type" : "header",
5768 "value" : "intl4_tail"
5769 }
5770 ],
5771 "source_info" : {
5772 "filename" : "./include/int_sink.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005773 "line" : 39,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005774 "column" : 8,
5775 "source_fragment" : "hdr.intl4_tail.setInvalid()"
5776 }
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005777 },
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005778 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005779 "op" : "remove_header",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005780 "parameters" : [
5781 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005782 "type" : "header",
5783 "value" : "int_switch_id"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005784 }
5785 ],
5786 "source_info" : {
5787 "filename" : "./include/int_sink.p4",
5788 "line" : 40,
5789 "column" : 8,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005790 "source_fragment" : "hdr.int_switch_id.setInvalid()"
5791 }
5792 },
5793 {
5794 "op" : "remove_header",
5795 "parameters" : [
5796 {
5797 "type" : "header",
5798 "value" : "int_port_ids"
5799 }
5800 ],
5801 "source_info" : {
5802 "filename" : "./include/int_sink.p4",
5803 "line" : 41,
5804 "column" : 8,
5805 "source_fragment" : "hdr.int_port_ids.setInvalid()"
5806 }
5807 },
5808 {
5809 "op" : "remove_header",
5810 "parameters" : [
5811 {
5812 "type" : "header",
5813 "value" : "int_hop_latency"
5814 }
5815 ],
5816 "source_info" : {
5817 "filename" : "./include/int_sink.p4",
5818 "line" : 42,
5819 "column" : 8,
5820 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
5821 }
5822 },
5823 {
5824 "op" : "remove_header",
5825 "parameters" : [
5826 {
5827 "type" : "header",
5828 "value" : "int_q_occupancy"
5829 }
5830 ],
5831 "source_info" : {
5832 "filename" : "./include/int_sink.p4",
5833 "line" : 43,
5834 "column" : 8,
5835 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
5836 }
5837 },
5838 {
5839 "op" : "remove_header",
5840 "parameters" : [
5841 {
5842 "type" : "header",
5843 "value" : "int_ingress_tstamp"
5844 }
5845 ],
5846 "source_info" : {
5847 "filename" : "./include/int_sink.p4",
5848 "line" : 44,
5849 "column" : 8,
5850 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
5851 }
5852 },
5853 {
5854 "op" : "remove_header",
5855 "parameters" : [
5856 {
5857 "type" : "header",
5858 "value" : "int_egress_tstamp"
5859 }
5860 ],
5861 "source_info" : {
5862 "filename" : "./include/int_sink.p4",
5863 "line" : 45,
5864 "column" : 8,
5865 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
5866 }
5867 },
5868 {
5869 "op" : "remove_header",
5870 "parameters" : [
5871 {
5872 "type" : "header",
5873 "value" : "int_q_congestion"
5874 }
5875 ],
5876 "source_info" : {
5877 "filename" : "./include/int_sink.p4",
5878 "line" : 46,
5879 "column" : 8,
5880 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
5881 }
5882 },
5883 {
5884 "op" : "remove_header",
5885 "parameters" : [
5886 {
5887 "type" : "header",
5888 "value" : "int_egress_tx_util"
5889 }
5890 ],
5891 "source_info" : {
5892 "filename" : "./include/int_sink.p4",
5893 "line" : 47,
5894 "column" : 8,
5895 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005896 }
5897 }
5898 ]
5899 },
5900 {
5901 "name" : "act_1",
5902 "id" : 53,
5903 "runtime_data" : [],
5904 "primitives" : [
5905 {
5906 "op" : "add_header",
5907 "parameters" : [
5908 {
5909 "type" : "header",
5910 "value" : "packet_in"
5911 }
5912 ],
5913 "source_info" : {
5914 "filename" : "./include/packet_io.p4",
5915 "line" : 38,
5916 "column" : 12,
5917 "source_fragment" : "hdr.packet_in.setValid()"
5918 }
5919 },
5920 {
5921 "op" : "assign",
5922 "parameters" : [
5923 {
5924 "type" : "field",
5925 "value" : ["packet_in", "ingress_port"]
5926 },
5927 {
5928 "type" : "field",
5929 "value" : ["standard_metadata", "ingress_port"]
5930 }
5931 ],
5932 "source_info" : {
5933 "filename" : "./include/packet_io.p4",
5934 "line" : 39,
5935 "column" : 12,
5936 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
5937 }
5938 }
5939 ]
5940 },
5941 {
5942 "name" : "act_2",
5943 "id" : 54,
5944 "runtime_data" : [],
5945 "primitives" : [
5946 {
5947 "op" : "assign",
5948 "parameters" : [
5949 {
5950 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005951 "value" : ["scalars", "tmp_3"]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005952 },
5953 {
5954 "type" : "expression",
5955 "value" : {
5956 "type" : "expression",
5957 "value" : {
5958 "op" : "&",
5959 "left" : {
5960 "type" : "field",
5961 "value" : ["standard_metadata", "egress_port"]
5962 },
5963 "right" : {
5964 "type" : "hexstr",
5965 "value" : "0xffffffff"
5966 }
5967 }
5968 }
5969 }
5970 ]
5971 },
5972 {
5973 "op" : "count",
5974 "parameters" : [
5975 {
5976 "type" : "counter_array",
5977 "value" : "port_counters_egress.egress_port_counter"
5978 },
5979 {
5980 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08005981 "value" : ["scalars", "tmp_3"]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08005982 }
5983 ],
5984 "source_info" : {
5985 "filename" : "./include/port_counters.p4",
5986 "line" : 39,
5987 "column" : 8,
5988 "source_fragment" : "egress_port_counter.count((bit<32>) standard_metadata.egress_port)"
5989 }
5990 }
5991 ]
5992 }
5993 ],
5994 "pipelines" : [
5995 {
5996 "name" : "ingress",
5997 "id" : 0,
5998 "source_info" : {
5999 "filename" : "int.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006000 "line" : 35,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006001 "column" : 8,
6002 "source_fragment" : "int_ingress"
6003 },
6004 "init_table" : "tbl_act",
6005 "tables" : [
6006 {
6007 "name" : "tbl_act",
6008 "id" : 0,
6009 "key" : [],
6010 "match_type" : "exact",
6011 "type" : "simple",
6012 "max_size" : 1024,
6013 "with_counters" : false,
6014 "support_timeout" : false,
6015 "direct_meters" : null,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006016 "action_ids" : [8],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006017 "actions" : ["act_0"],
6018 "base_default_next" : "node_3",
6019 "next_tables" : {
6020 "act_0" : "node_3"
6021 },
6022 "default_entry" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006023 "action_id" : 8,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006024 "action_const" : true,
6025 "action_data" : [],
6026 "action_entry_const" : true
6027 }
6028 },
6029 {
6030 "name" : "tbl_act_0",
6031 "id" : 1,
6032 "key" : [],
6033 "match_type" : "exact",
6034 "type" : "simple",
6035 "max_size" : 1024,
6036 "with_counters" : false,
6037 "support_timeout" : false,
6038 "direct_meters" : null,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006039 "action_ids" : [7],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006040 "actions" : ["act"],
6041 "base_default_next" : null,
6042 "next_tables" : {
6043 "act" : null
6044 },
6045 "default_entry" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006046 "action_id" : 7,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006047 "action_const" : true,
6048 "action_data" : [],
6049 "action_entry_const" : true
6050 }
6051 },
6052 {
6053 "name" : "table0_control.table0",
6054 "id" : 2,
6055 "source_info" : {
6056 "filename" : "./include/table0.p4",
6057 "line" : 33,
6058 "column" : 10,
6059 "source_fragment" : "table0"
6060 },
6061 "key" : [
6062 {
6063 "match_type" : "ternary",
6064 "target" : ["standard_metadata", "ingress_port"],
6065 "mask" : null
6066 },
6067 {
6068 "match_type" : "ternary",
6069 "target" : ["ethernet", "src_addr"],
6070 "mask" : null
6071 },
6072 {
6073 "match_type" : "ternary",
6074 "target" : ["ethernet", "dst_addr"],
6075 "mask" : null
6076 },
6077 {
6078 "match_type" : "ternary",
6079 "target" : ["ethernet", "ether_type"],
6080 "mask" : null
6081 },
6082 {
6083 "match_type" : "ternary",
6084 "target" : ["ipv4", "src_addr"],
6085 "mask" : null
6086 },
6087 {
6088 "match_type" : "ternary",
6089 "target" : ["ipv4", "dst_addr"],
6090 "mask" : null
6091 },
6092 {
6093 "match_type" : "ternary",
6094 "target" : ["ipv4", "protocol"],
6095 "mask" : null
6096 },
6097 {
6098 "match_type" : "ternary",
6099 "target" : ["scalars", "local_metadata_t.l4_src_port"],
6100 "mask" : null
6101 },
6102 {
6103 "match_type" : "ternary",
6104 "target" : ["scalars", "local_metadata_t.l4_dst_port"],
6105 "mask" : null
6106 }
6107 ],
6108 "match_type" : "ternary",
6109 "type" : "simple",
6110 "max_size" : 1024,
6111 "support_timeout" : false,
6112 "direct_meters" : null,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006113 "action_ids" : [0, 1, 4, 2],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006114 "actions" : ["set_egress_port", "send_to_cpu", "table0_control.set_next_hop_id", "_drop"],
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006115 "base_default_next" : "process_set_source_sink.tb_set_source_sink",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006116 "next_tables" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006117 "set_egress_port" : "process_set_source_sink.tb_set_source_sink",
6118 "send_to_cpu" : "process_set_source_sink.tb_set_source_sink",
6119 "table0_control.set_next_hop_id" : "process_set_source_sink.tb_set_source_sink",
6120 "_drop" : "process_set_source_sink.tb_set_source_sink"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006121 },
6122 "default_entry" : {
6123 "action_id" : 2,
6124 "action_const" : true,
6125 "action_data" : [],
6126 "action_entry_const" : true
6127 }
6128 },
6129 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006130 "name" : "process_set_source_sink.tb_set_source_sink",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006131 "id" : 3,
6132 "source_info" : {
6133 "filename" : "./include/int_source.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006134 "line" : 100,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006135 "column" : 10,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006136 "source_fragment" : "tb_set_source_sink"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006137 },
6138 "key" : [
6139 {
6140 "match_type" : "ternary",
6141 "target" : ["ipv4", "src_addr"],
6142 "mask" : null
6143 },
6144 {
6145 "match_type" : "ternary",
6146 "target" : ["ipv4", "dst_addr"],
6147 "mask" : null
6148 },
6149 {
6150 "match_type" : "ternary",
6151 "target" : ["scalars", "local_metadata_t.l4_src_port"],
6152 "mask" : null
6153 },
6154 {
6155 "match_type" : "ternary",
6156 "target" : ["scalars", "local_metadata_t.l4_dst_port"],
6157 "mask" : null
6158 }
6159 ],
6160 "match_type" : "ternary",
6161 "type" : "simple",
6162 "max_size" : 1024,
6163 "support_timeout" : false,
6164 "direct_meters" : null,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006165 "action_ids" : [5, 6, 3],
6166 "actions" : ["process_set_source_sink.int_set_source", "process_set_source_sink.int_set_sink", "NoAction"],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006167 "base_default_next" : null,
6168 "next_tables" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006169 "process_set_source_sink.int_set_source" : null,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006170 "process_set_source_sink.int_set_sink" : null,
6171 "NoAction" : null
6172 },
6173 "default_entry" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006174 "action_id" : 3,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006175 "action_const" : false,
6176 "action_data" : [],
6177 "action_entry_const" : false
6178 }
6179 }
6180 ],
6181 "action_profiles" : [],
6182 "conditionals" : [
6183 {
6184 "name" : "node_3",
6185 "id" : 0,
6186 "source_info" : {
6187 "filename" : "./include/packet_io.p4",
6188 "line" : 26,
6189 "column" : 12,
6190 "source_fragment" : "standard_metadata.ingress_port == CPU_PORT"
6191 },
6192 "expression" : {
6193 "type" : "expression",
6194 "value" : {
6195 "op" : "==",
6196 "left" : {
6197 "type" : "field",
6198 "value" : ["standard_metadata", "ingress_port"]
6199 },
6200 "right" : {
6201 "type" : "hexstr",
6202 "value" : "0x00ff"
6203 }
6204 }
6205 },
6206 "true_next" : "tbl_act_0",
6207 "false_next" : "table0_control.table0"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006208 }
6209 ]
6210 },
6211 {
6212 "name" : "egress",
6213 "id" : 1,
6214 "source_info" : {
6215 "filename" : "int.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006216 "line" : 48,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006217 "column" : 8,
6218 "source_fragment" : "int_egress"
6219 },
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006220 "init_table" : "node_9",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006221 "tables" : [
6222 {
6223 "name" : "process_int_source.tb_int_source",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006224 "id" : 4,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006225 "source_info" : {
6226 "filename" : "./include/int_source.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006227 "line" : 66,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006228 "column" : 10,
6229 "source_fragment" : "tb_int_source"
6230 },
6231 "key" : [
6232 {
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006233 "match_type" : "ternary",
6234 "target" : ["ipv4", "src_addr"],
6235 "mask" : null
6236 },
6237 {
6238 "match_type" : "ternary",
6239 "target" : ["ipv4", "dst_addr"],
6240 "mask" : null
6241 },
6242 {
6243 "match_type" : "ternary",
6244 "target" : ["scalars", "local_metadata_t.l4_src_port"],
6245 "mask" : null
6246 },
6247 {
6248 "match_type" : "ternary",
6249 "target" : ["scalars", "local_metadata_t.l4_dst_port"],
6250 "mask" : null
6251 }
6252 ],
6253 "match_type" : "ternary",
6254 "type" : "simple",
6255 "max_size" : 1024,
6256 "support_timeout" : false,
6257 "direct_meters" : null,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006258 "action_ids" : [13, 9],
6259 "actions" : ["process_int_source.int_source_dscp", "NoAction"],
6260 "base_default_next" : "node_12",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006261 "next_tables" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006262 "process_int_source.int_source_dscp" : "node_12",
6263 "NoAction" : "node_12"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006264 },
6265 "default_entry" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006266 "action_id" : 9,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006267 "action_const" : false,
6268 "action_data" : [],
6269 "action_entry_const" : false
6270 }
6271 },
6272 {
6273 "name" : "process_int_transit.tb_int_insert",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006274 "id" : 5,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006275 "source_info" : {
6276 "filename" : "./include/int_transit.p4",
6277 "line" : 227,
6278 "column" : 10,
6279 "source_fragment" : "tb_int_insert"
6280 },
6281 "key" : [
6282 {
6283 "match_type" : "exact",
6284 "target" : ["int_meta", "sink"],
6285 "mask" : null
6286 }
6287 ],
6288 "match_type" : "exact",
6289 "type" : "simple",
6290 "max_size" : 2,
6291 "support_timeout" : false,
6292 "direct_meters" : null,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006293 "action_ids" : [15, 10],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006294 "actions" : ["process_int_transit.int_transit", "NoAction"],
6295 "base_default_next" : "process_int_transit.tb_int_inst_0003",
6296 "next_tables" : {
6297 "process_int_transit.int_transit" : "process_int_transit.tb_int_inst_0003",
6298 "NoAction" : "process_int_transit.tb_int_inst_0003"
6299 },
6300 "default_entry" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006301 "action_id" : 10,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006302 "action_const" : false,
6303 "action_data" : [],
6304 "action_entry_const" : false
6305 }
6306 },
6307 {
6308 "name" : "process_int_transit.tb_int_inst_0003",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006309 "id" : 6,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006310 "source_info" : {
6311 "filename" : "./include/int_transit.p4",
6312 "line" : 239,
6313 "column" : 10,
6314 "source_fragment" : "tb_int_inst_0003"
6315 },
6316 "key" : [
6317 {
6318 "match_type" : "exact",
6319 "target" : ["int_header", "instruction_mask_0003"],
6320 "mask" : null
6321 }
6322 ],
6323 "match_type" : "exact",
6324 "type" : "simple",
6325 "max_size" : 16,
6326 "support_timeout" : false,
6327 "direct_meters" : null,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006328 "action_ids" : [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 11],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006329 "actions" : ["process_int_transit.int_set_header_0003_i0", "process_int_transit.int_set_header_0003_i1", "process_int_transit.int_set_header_0003_i2", "process_int_transit.int_set_header_0003_i3", "process_int_transit.int_set_header_0003_i4", "process_int_transit.int_set_header_0003_i5", "process_int_transit.int_set_header_0003_i6", "process_int_transit.int_set_header_0003_i7", "process_int_transit.int_set_header_0003_i8", "process_int_transit.int_set_header_0003_i9", "process_int_transit.int_set_header_0003_i10", "process_int_transit.int_set_header_0003_i11", "process_int_transit.int_set_header_0003_i12", "process_int_transit.int_set_header_0003_i13", "process_int_transit.int_set_header_0003_i14", "process_int_transit.int_set_header_0003_i15", "NoAction"],
6330 "base_default_next" : "process_int_transit.tb_int_inst_0407",
6331 "next_tables" : {
6332 "process_int_transit.int_set_header_0003_i0" : "process_int_transit.tb_int_inst_0407",
6333 "process_int_transit.int_set_header_0003_i1" : "process_int_transit.tb_int_inst_0407",
6334 "process_int_transit.int_set_header_0003_i2" : "process_int_transit.tb_int_inst_0407",
6335 "process_int_transit.int_set_header_0003_i3" : "process_int_transit.tb_int_inst_0407",
6336 "process_int_transit.int_set_header_0003_i4" : "process_int_transit.tb_int_inst_0407",
6337 "process_int_transit.int_set_header_0003_i5" : "process_int_transit.tb_int_inst_0407",
6338 "process_int_transit.int_set_header_0003_i6" : "process_int_transit.tb_int_inst_0407",
6339 "process_int_transit.int_set_header_0003_i7" : "process_int_transit.tb_int_inst_0407",
6340 "process_int_transit.int_set_header_0003_i8" : "process_int_transit.tb_int_inst_0407",
6341 "process_int_transit.int_set_header_0003_i9" : "process_int_transit.tb_int_inst_0407",
6342 "process_int_transit.int_set_header_0003_i10" : "process_int_transit.tb_int_inst_0407",
6343 "process_int_transit.int_set_header_0003_i11" : "process_int_transit.tb_int_inst_0407",
6344 "process_int_transit.int_set_header_0003_i12" : "process_int_transit.tb_int_inst_0407",
6345 "process_int_transit.int_set_header_0003_i13" : "process_int_transit.tb_int_inst_0407",
6346 "process_int_transit.int_set_header_0003_i14" : "process_int_transit.tb_int_inst_0407",
6347 "process_int_transit.int_set_header_0003_i15" : "process_int_transit.tb_int_inst_0407",
6348 "NoAction" : "process_int_transit.tb_int_inst_0407"
6349 },
6350 "default_entry" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006351 "action_id" : 11,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006352 "action_const" : false,
6353 "action_data" : [],
6354 "action_entry_const" : false
6355 }
6356 },
6357 {
6358 "name" : "process_int_transit.tb_int_inst_0407",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006359 "id" : 7,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006360 "source_info" : {
6361 "filename" : "./include/int_transit.p4",
6362 "line" : 266,
6363 "column" : 10,
6364 "source_fragment" : "tb_int_inst_0407"
6365 },
6366 "key" : [
6367 {
6368 "match_type" : "exact",
6369 "target" : ["int_header", "instruction_mask_0407"],
6370 "mask" : null
6371 }
6372 ],
6373 "match_type" : "exact",
6374 "type" : "simple",
6375 "max_size" : 16,
6376 "support_timeout" : false,
6377 "direct_meters" : null,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006378 "action_ids" : [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 12],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006379 "actions" : ["process_int_transit.int_set_header_0407_i0", "process_int_transit.int_set_header_0407_i1", "process_int_transit.int_set_header_0407_i2", "process_int_transit.int_set_header_0407_i3", "process_int_transit.int_set_header_0407_i4", "process_int_transit.int_set_header_0407_i5", "process_int_transit.int_set_header_0407_i6", "process_int_transit.int_set_header_0407_i7", "process_int_transit.int_set_header_0407_i8", "process_int_transit.int_set_header_0407_i9", "process_int_transit.int_set_header_0407_i10", "process_int_transit.int_set_header_0407_i11", "process_int_transit.int_set_header_0407_i12", "process_int_transit.int_set_header_0407_i13", "process_int_transit.int_set_header_0407_i14", "process_int_transit.int_set_header_0407_i15", "NoAction"],
6380 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
6381 "next_tables" : {
6382 "process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
6383 "process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
6384 "process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
6385 "process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
6386 "process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
6387 "process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
6388 "process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
6389 "process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
6390 "process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
6391 "process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
6392 "process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
6393 "process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
6394 "process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
6395 "process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
6396 "process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
6397 "process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
6398 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
6399 },
6400 "default_entry" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006401 "action_id" : 12,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006402 "action_const" : false,
6403 "action_data" : [],
6404 "action_entry_const" : false
6405 }
6406 },
6407 {
6408 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006409 "id" : 8,
6410 "key" : [],
6411 "match_type" : "exact",
6412 "type" : "simple",
6413 "max_size" : 1024,
6414 "with_counters" : false,
6415 "support_timeout" : false,
6416 "direct_meters" : null,
6417 "action_ids" : [14],
6418 "actions" : ["process_int_transit.int_update_total_hop_cnt"],
6419 "base_default_next" : "node_17",
6420 "next_tables" : {
6421 "process_int_transit.int_update_total_hop_cnt" : "node_17"
6422 },
6423 "default_entry" : {
6424 "action_id" : 14,
6425 "action_const" : true,
6426 "action_data" : [],
6427 "action_entry_const" : true
6428 }
6429 },
6430 {
6431 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006432 "id" : 9,
6433 "key" : [],
6434 "match_type" : "exact",
6435 "type" : "simple",
6436 "max_size" : 1024,
6437 "with_counters" : false,
6438 "support_timeout" : false,
6439 "direct_meters" : null,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006440 "action_ids" : [48],
6441 "actions" : ["process_int_outer_encap.int_update_ipv4"],
6442 "base_default_next" : "node_19",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006443 "next_tables" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006444 "process_int_outer_encap.int_update_ipv4" : "node_19"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006445 },
6446 "default_entry" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006447 "action_id" : 48,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006448 "action_const" : true,
6449 "action_data" : [],
6450 "action_entry_const" : true
6451 }
6452 },
6453 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006454 "name" : "tbl_process_int_outer_encap_int_update_udp",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006455 "id" : 10,
6456 "key" : [],
6457 "match_type" : "exact",
6458 "type" : "simple",
6459 "max_size" : 1024,
6460 "with_counters" : false,
6461 "support_timeout" : false,
6462 "direct_meters" : null,
6463 "action_ids" : [49],
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006464 "actions" : ["process_int_outer_encap.int_update_udp"],
6465 "base_default_next" : "node_21",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006466 "next_tables" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006467 "process_int_outer_encap.int_update_udp" : "node_21"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006468 },
6469 "default_entry" : {
6470 "action_id" : 49,
6471 "action_const" : true,
6472 "action_data" : [],
6473 "action_entry_const" : true
6474 }
6475 },
6476 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006477 "name" : "tbl_process_int_outer_encap_int_update_shim",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006478 "id" : 11,
6479 "key" : [],
6480 "match_type" : "exact",
6481 "type" : "simple",
6482 "max_size" : 1024,
6483 "with_counters" : false,
6484 "support_timeout" : false,
6485 "direct_meters" : null,
6486 "action_ids" : [50],
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006487 "actions" : ["process_int_outer_encap.int_update_shim"],
6488 "base_default_next" : "node_23",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006489 "next_tables" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006490 "process_int_outer_encap.int_update_shim" : "node_23"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006491 },
6492 "default_entry" : {
6493 "action_id" : 50,
6494 "action_const" : true,
6495 "action_data" : [],
6496 "action_entry_const" : true
6497 }
6498 },
6499 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006500 "name" : "tbl_process_int_sink_restore_header",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006501 "id" : 12,
6502 "key" : [],
6503 "match_type" : "exact",
6504 "type" : "simple",
6505 "max_size" : 1024,
6506 "with_counters" : false,
6507 "support_timeout" : false,
6508 "direct_meters" : null,
6509 "action_ids" : [51],
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006510 "actions" : ["process_int_sink.restore_header"],
6511 "base_default_next" : "tbl_process_int_sink_int_sink",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006512 "next_tables" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006513 "process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006514 },
6515 "default_entry" : {
6516 "action_id" : 51,
6517 "action_const" : true,
6518 "action_data" : [],
6519 "action_entry_const" : true
6520 }
6521 },
6522 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006523 "name" : "tbl_process_int_sink_int_sink",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006524 "id" : 13,
6525 "key" : [],
6526 "match_type" : "exact",
6527 "type" : "simple",
6528 "max_size" : 1024,
6529 "with_counters" : false,
6530 "support_timeout" : false,
6531 "direct_meters" : null,
6532 "action_ids" : [52],
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006533 "actions" : ["process_int_sink.int_sink"],
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006534 "base_default_next" : "tbl_act_1",
6535 "next_tables" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006536 "process_int_sink.int_sink" : "tbl_act_1"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006537 },
6538 "default_entry" : {
6539 "action_id" : 52,
6540 "action_const" : true,
6541 "action_data" : [],
6542 "action_entry_const" : true
6543 }
6544 },
6545 {
6546 "name" : "tbl_act_1",
6547 "id" : 14,
6548 "key" : [],
6549 "match_type" : "exact",
6550 "type" : "simple",
6551 "max_size" : 1024,
6552 "with_counters" : false,
6553 "support_timeout" : false,
6554 "direct_meters" : null,
6555 "action_ids" : [54],
6556 "actions" : ["act_2"],
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006557 "base_default_next" : "node_27",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006558 "next_tables" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006559 "act_2" : "node_27"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006560 },
6561 "default_entry" : {
6562 "action_id" : 54,
6563 "action_const" : true,
6564 "action_data" : [],
6565 "action_entry_const" : true
6566 }
6567 },
6568 {
6569 "name" : "tbl_act_2",
6570 "id" : 15,
6571 "key" : [],
6572 "match_type" : "exact",
6573 "type" : "simple",
6574 "max_size" : 1024,
6575 "with_counters" : false,
6576 "support_timeout" : false,
6577 "direct_meters" : null,
6578 "action_ids" : [53],
6579 "actions" : ["act_1"],
6580 "base_default_next" : null,
6581 "next_tables" : {
6582 "act_1" : null
6583 },
6584 "default_entry" : {
6585 "action_id" : 53,
6586 "action_const" : true,
6587 "action_data" : [],
6588 "action_entry_const" : true
6589 }
6590 }
6591 ],
6592 "action_profiles" : [],
6593 "conditionals" : [
6594 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006595 "name" : "node_9",
6596 "id" : 1,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006597 "source_info" : {
6598 "filename" : "int.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006599 "line" : 54,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006600 "column" : 12,
6601 "source_fragment" : "standard_metadata.ingress_port != CPU_PORT && ..."
6602 },
6603 "expression" : {
6604 "type" : "expression",
6605 "value" : {
6606 "op" : "and",
6607 "left" : {
6608 "type" : "expression",
6609 "value" : {
6610 "op" : "and",
6611 "left" : {
6612 "type" : "expression",
6613 "value" : {
6614 "op" : "!=",
6615 "left" : {
6616 "type" : "field",
6617 "value" : ["standard_metadata", "ingress_port"]
6618 },
6619 "right" : {
6620 "type" : "hexstr",
6621 "value" : "0x00ff"
6622 }
6623 }
6624 },
6625 "right" : {
6626 "type" : "expression",
6627 "value" : {
6628 "op" : "!=",
6629 "left" : {
6630 "type" : "field",
6631 "value" : ["standard_metadata", "egress_port"]
6632 },
6633 "right" : {
6634 "type" : "hexstr",
6635 "value" : "0x00ff"
6636 }
6637 }
6638 }
6639 }
6640 },
6641 "right" : {
6642 "type" : "expression",
6643 "value" : {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006644 "op" : "or",
6645 "left" : {
6646 "type" : "expression",
6647 "value" : {
6648 "op" : "==",
6649 "left" : {
6650 "type" : "field",
6651 "value" : ["udp", "$valid$"]
6652 },
6653 "right" : {
6654 "type" : "hexstr",
6655 "value" : "0x01"
6656 }
6657 }
6658 },
6659 "right" : {
6660 "type" : "expression",
6661 "value" : {
6662 "op" : "==",
6663 "left" : {
6664 "type" : "field",
6665 "value" : ["tcp", "$valid$"]
6666 },
6667 "right" : {
6668 "type" : "hexstr",
6669 "value" : "0x01"
6670 }
6671 }
6672 }
6673 }
6674 }
6675 }
6676 },
6677 "true_next" : "node_10",
6678 "false_next" : "tbl_act_1"
6679 },
6680 {
6681 "name" : "node_10",
6682 "id" : 2,
6683 "source_info" : {
6684 "filename" : "int.p4",
6685 "line" : 57,
6686 "column" : 16,
6687 "source_fragment" : "local_metadata.int_meta.sink == 0 && local_metadata.int_meta.source == 1"
6688 },
6689 "expression" : {
6690 "type" : "expression",
6691 "value" : {
6692 "op" : "and",
6693 "left" : {
6694 "type" : "expression",
6695 "value" : {
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006696 "op" : "==",
6697 "left" : {
6698 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006699 "value" : ["int_meta", "sink"]
6700 },
6701 "right" : {
6702 "type" : "hexstr",
6703 "value" : "0x00"
6704 }
6705 }
6706 },
6707 "right" : {
6708 "type" : "expression",
6709 "value" : {
6710 "op" : "==",
6711 "left" : {
6712 "type" : "field",
6713 "value" : ["int_meta", "source"]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006714 },
6715 "right" : {
6716 "type" : "hexstr",
6717 "value" : "0x01"
6718 }
6719 }
6720 }
6721 }
6722 },
6723 "true_next" : "process_int_source.tb_int_source",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006724 "false_next" : "node_12"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006725 },
6726 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006727 "name" : "node_12",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006728 "id" : 3,
6729 "source_info" : {
6730 "filename" : "int.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006731 "line" : 60,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006732 "column" : 15,
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006733 "source_fragment" : "hdr.int_header.isValid()"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006734 },
6735 "expression" : {
6736 "type" : "expression",
6737 "value" : {
6738 "op" : "==",
6739 "left" : {
6740 "type" : "field",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006741 "value" : ["int_header", "$valid$"]
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006742 },
6743 "right" : {
6744 "type" : "hexstr",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006745 "value" : "0x01"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006746 }
6747 }
6748 },
6749 "true_next" : "process_int_transit.tb_int_insert",
6750 "false_next" : "tbl_act_1"
6751 },
6752 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006753 "name" : "node_17",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006754 "id" : 4,
6755 "source_info" : {
6756 "filename" : "./include/int_transit.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006757 "line" : 316,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006758 "column" : 12,
6759 "source_fragment" : "hdr.ipv4.isValid()"
6760 },
6761 "expression" : {
6762 "type" : "expression",
6763 "value" : {
6764 "op" : "==",
6765 "left" : {
6766 "type" : "field",
6767 "value" : ["ipv4", "$valid$"]
6768 },
6769 "right" : {
6770 "type" : "hexstr",
6771 "value" : "0x01"
6772 }
6773 }
6774 },
6775 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006776 "false_next" : "node_19"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006777 },
6778 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006779 "name" : "node_19",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006780 "id" : 5,
6781 "source_info" : {
6782 "filename" : "./include/int_transit.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006783 "line" : 319,
6784 "column" : 12,
6785 "source_fragment" : "hdr.udp.isValid()"
6786 },
6787 "expression" : {
6788 "type" : "expression",
6789 "value" : {
6790 "op" : "==",
6791 "left" : {
6792 "type" : "field",
6793 "value" : ["udp", "$valid$"]
6794 },
6795 "right" : {
6796 "type" : "hexstr",
6797 "value" : "0x01"
6798 }
6799 }
6800 },
6801 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
6802 "false_next" : "node_21"
6803 },
6804 {
6805 "name" : "node_21",
6806 "id" : 6,
6807 "source_info" : {
6808 "filename" : "./include/int_transit.p4",
6809 "line" : 322,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006810 "column" : 12,
6811 "source_fragment" : "hdr.intl4_shim.isValid()"
6812 },
6813 "expression" : {
6814 "type" : "expression",
6815 "value" : {
6816 "op" : "==",
6817 "left" : {
6818 "type" : "field",
6819 "value" : ["intl4_shim", "$valid$"]
6820 },
6821 "right" : {
6822 "type" : "hexstr",
6823 "value" : "0x01"
6824 }
6825 }
6826 },
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006827 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
6828 "false_next" : "node_23"
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006829 },
6830 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006831 "name" : "node_23",
6832 "id" : 7,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006833 "source_info" : {
6834 "filename" : "./include/int_sink.p4",
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006835 "line" : 51,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006836 "column" : 12,
6837 "source_fragment" : "local_metadata.int_meta.sink == 1"
6838 },
6839 "expression" : {
6840 "type" : "expression",
6841 "value" : {
6842 "op" : "==",
6843 "left" : {
6844 "type" : "field",
6845 "value" : ["int_meta", "sink"]
6846 },
6847 "right" : {
6848 "type" : "hexstr",
6849 "value" : "0x01"
6850 }
6851 }
6852 },
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006853 "true_next" : "tbl_process_int_sink_restore_header",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006854 "false_next" : "tbl_act_1"
6855 },
6856 {
Jonghwan Hyun8be03392017-12-04 15:48:44 -08006857 "name" : "node_27",
6858 "id" : 8,
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -08006859 "source_info" : {
6860 "filename" : "./include/packet_io.p4",
6861 "line" : 37,
6862 "column" : 12,
6863 "source_fragment" : "standard_metadata.egress_port == CPU_PORT"
6864 },
6865 "expression" : {
6866 "type" : "expression",
6867 "value" : {
6868 "op" : "==",
6869 "left" : {
6870 "type" : "field",
6871 "value" : ["standard_metadata", "egress_port"]
6872 },
6873 "right" : {
6874 "type" : "hexstr",
6875 "value" : "0x00ff"
6876 }
6877 }
6878 },
6879 "false_next" : null,
6880 "true_next" : "tbl_act_2"
6881 }
6882 ]
6883 }
6884 ],
6885 "checksums" : [],
6886 "force_arith" : [],
6887 "extern_instances" : [],
6888 "field_aliases" : [
6889 [
6890 "queueing_metadata.enq_timestamp",
6891 ["standard_metadata", "enq_timestamp"]
6892 ],
6893 [
6894 "queueing_metadata.enq_qdepth",
6895 ["standard_metadata", "enq_qdepth"]
6896 ],
6897 [
6898 "queueing_metadata.deq_timedelta",
6899 ["standard_metadata", "deq_timedelta"]
6900 ],
6901 [
6902 "queueing_metadata.deq_qdepth",
6903 ["standard_metadata", "deq_qdepth"]
6904 ],
6905 [
6906 "intrinsic_metadata.ingress_global_timestamp",
6907 ["standard_metadata", "ingress_global_timestamp"]
6908 ],
6909 [
6910 "intrinsic_metadata.lf_field_list",
6911 ["standard_metadata", "lf_field_list"]
6912 ],
6913 [
6914 "intrinsic_metadata.mcast_grp",
6915 ["standard_metadata", "mcast_grp"]
6916 ],
6917 [
6918 "intrinsic_metadata.resubmit_flag",
6919 ["standard_metadata", "resubmit_flag"]
6920 ],
6921 [
6922 "intrinsic_metadata.egress_rid",
6923 ["standard_metadata", "egress_rid"]
6924 ]
6925 ]
6926}