blob: 01ae0acf65da88cbffdd43e5a36b03a366f665d7 [file] [log] [blame]
Carmelo Cascone5db39682017-09-07 16:36:42 +02001{
2 "program" : "default.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" : [
12 ["tmp_0", 104, false],
13 ["tmp", 8, false],
14 ["tmp_1", 32, false],
15 ["tmp_2", 32, false]
16 ]
17 },
18 {
19 "name" : "ethernet_t",
20 "id" : 1,
21 "fields" : [
22 ["dstAddr", 48, false],
23 ["srcAddr", 48, false],
24 ["etherType", 16, false]
25 ]
26 },
27 {
28 "name" : "ipv4_t",
29 "id" : 2,
30 "fields" : [
31 ["version", 4, false],
32 ["ihl", 4, false],
33 ["diffserv", 8, false],
34 ["totalLen", 16, false],
35 ["identification", 16, false],
36 ["flags", 3, false],
37 ["fragOffset", 13, false],
38 ["ttl", 8, false],
39 ["protocol", 8, false],
40 ["hdrChecksum", 16, false],
41 ["srcAddr", 32, false],
42 ["dstAddr", 32, false]
43 ]
44 },
45 {
46 "name" : "packet_in_t",
47 "id" : 3,
48 "fields" : [
49 ["ingress_port", 9, false],
50 ["_padding", 7, false]
51 ]
52 },
53 {
54 "name" : "packet_out_t",
55 "id" : 4,
56 "fields" : [
57 ["egress_port", 9, false],
58 ["_padding_0", 7, false]
59 ]
60 },
61 {
62 "name" : "tcp_t",
63 "id" : 5,
64 "fields" : [
65 ["srcPort", 16, false],
66 ["dstPort", 16, false],
67 ["seqNo", 32, false],
68 ["ackNo", 32, false],
69 ["dataOffset", 4, false],
70 ["res", 3, false],
71 ["ecn", 3, false],
72 ["ctrl", 6, false],
73 ["window", 16, false],
74 ["checksum", 16, false],
75 ["urgentPtr", 16, false]
76 ]
77 },
78 {
79 "name" : "udp_t",
80 "id" : 6,
81 "fields" : [
82 ["srcPort", 16, false],
83 ["dstPort", 16, false],
84 ["length_", 16, false],
85 ["checksum", 16, false]
86 ]
87 },
88 {
89 "name" : "ig_intr_md",
90 "id" : 7,
91 "fields" : [
92 ["ingress_port", 9, false],
93 ["egress_spec", 9, false],
94 ["egress_port", 9, false],
95 ["clone_spec", 32, false],
96 ["instance_type", 32, false],
97 ["drop", 1, false],
98 ["recirculate_port", 16, false],
99 ["packet_length", 32, false],
100 ["enq_timestamp", 32, false],
101 ["enq_qdepth", 19, false],
102 ["deq_timedelta", 32, false],
103 ["deq_qdepth", 19, false],
104 ["ingress_global_timestamp", 48, false],
105 ["lf_field_list", 32, false],
106 ["mcast_grp", 16, false],
107 ["resubmit_flag", 1, false],
108 ["egress_rid", 16, false],
109 ["_padding_1", 5, false]
110 ]
111 }
112 ],
113 "headers" : [
114 {
115 "name" : "scalars",
116 "id" : 0,
117 "header_type" : "scalars_0",
118 "metadata" : true,
119 "pi_omit" : true
120 },
121 {
122 "name" : "ig_intr_md",
123 "id" : 1,
124 "header_type" : "ig_intr_md",
125 "metadata" : true,
126 "pi_omit" : true
127 },
128 {
129 "name" : "ethernet",
130 "id" : 2,
131 "header_type" : "ethernet_t",
132 "metadata" : false,
133 "pi_omit" : true
134 },
135 {
136 "name" : "ipv4",
137 "id" : 3,
138 "header_type" : "ipv4_t",
139 "metadata" : false,
140 "pi_omit" : true
141 },
142 {
143 "name" : "packet_in_hdr",
144 "id" : 4,
145 "header_type" : "packet_in_t",
146 "metadata" : false,
147 "pi_omit" : true
148 },
149 {
150 "name" : "packet_out_hdr",
151 "id" : 5,
152 "header_type" : "packet_out_t",
153 "metadata" : false,
154 "pi_omit" : true
155 },
156 {
157 "name" : "tcp",
158 "id" : 6,
159 "header_type" : "tcp_t",
160 "metadata" : false,
161 "pi_omit" : true
162 },
163 {
164 "name" : "udp",
165 "id" : 7,
166 "header_type" : "udp_t",
167 "metadata" : false,
168 "pi_omit" : true
169 }
170 ],
171 "header_stacks" : [],
172 "header_union_types" : [],
173 "header_unions" : [],
174 "header_union_stacks" : [],
175 "field_lists" : [],
176 "errors" : [
177 ["NoError", 1],
178 ["PacketTooShort", 2],
179 ["NoMatch", 3],
180 ["StackOutOfBounds", 4],
181 ["HeaderTooShort", 5],
182 ["ParserTimeout", 6]
183 ],
184 "enums" : [],
185 "parsers" : [
186 {
187 "name" : "parser",
188 "id" : 0,
189 "init_state" : "start",
190 "parse_states" : [
191 {
192 "name" : "default_parser",
193 "id" : 0,
194 "parser_ops" : [],
195 "transitions" : [
196 {
197 "value" : "0x00ff",
198 "mask" : null,
199 "next_state" : "parse_pkt_out"
200 },
201 {
202 "value" : "default",
203 "mask" : null,
204 "next_state" : "parse_ethernet"
205 }
206 ],
207 "transition_key" : [
208 {
209 "type" : "field",
210 "value" : ["ig_intr_md", "ingress_port"]
211 }
212 ]
213 },
214 {
215 "name" : "parse_ethernet",
216 "id" : 1,
217 "parser_ops" : [
218 {
219 "parameters" : [
220 {
221 "type" : "regular",
222 "value" : "ethernet"
223 }
224 ],
225 "op" : "extract"
226 }
227 ],
228 "transitions" : [
229 {
230 "value" : "0x0800",
231 "mask" : null,
232 "next_state" : "parse_ipv4"
233 },
234 {
235 "value" : "default",
236 "mask" : null,
237 "next_state" : null
238 }
239 ],
240 "transition_key" : [
241 {
242 "type" : "field",
243 "value" : ["ethernet", "etherType"]
244 }
245 ]
246 },
247 {
248 "name" : "parse_ipv4",
249 "id" : 2,
250 "parser_ops" : [
251 {
252 "parameters" : [
253 {
254 "type" : "regular",
255 "value" : "ipv4"
256 }
257 ],
258 "op" : "extract"
259 }
260 ],
261 "transitions" : [
262 {
263 "value" : "0x000006",
264 "mask" : null,
265 "next_state" : "parse_tcp"
266 },
267 {
268 "value" : "0x000011",
269 "mask" : null,
270 "next_state" : "parse_udp"
271 },
272 {
273 "value" : "default",
274 "mask" : null,
275 "next_state" : null
276 }
277 ],
278 "transition_key" : [
279 {
280 "type" : "field",
281 "value" : ["ipv4", "fragOffset"]
282 },
283 {
284 "type" : "field",
285 "value" : ["ipv4", "protocol"]
286 }
287 ]
288 },
289 {
290 "name" : "parse_pkt_in",
291 "id" : 3,
292 "parser_ops" : [
293 {
294 "parameters" : [
295 {
296 "type" : "regular",
297 "value" : "packet_in_hdr"
298 }
299 ],
300 "op" : "extract"
301 }
302 ],
303 "transitions" : [
304 {
305 "value" : "default",
306 "mask" : null,
307 "next_state" : "parse_ethernet"
308 }
309 ],
310 "transition_key" : []
311 },
312 {
313 "name" : "parse_pkt_out",
314 "id" : 4,
315 "parser_ops" : [
316 {
317 "parameters" : [
318 {
319 "type" : "regular",
320 "value" : "packet_out_hdr"
321 }
322 ],
323 "op" : "extract"
324 }
325 ],
326 "transitions" : [
327 {
328 "value" : "default",
329 "mask" : null,
330 "next_state" : "parse_ethernet"
331 }
332 ],
333 "transition_key" : []
334 },
335 {
336 "name" : "parse_tcp",
337 "id" : 5,
338 "parser_ops" : [
339 {
340 "parameters" : [
341 {
342 "type" : "regular",
343 "value" : "tcp"
344 }
345 ],
346 "op" : "extract"
347 }
348 ],
349 "transitions" : [
350 {
351 "value" : "default",
352 "mask" : null,
353 "next_state" : null
354 }
355 ],
356 "transition_key" : []
357 },
358 {
359 "name" : "parse_udp",
360 "id" : 6,
361 "parser_ops" : [
362 {
363 "parameters" : [
364 {
365 "type" : "regular",
366 "value" : "udp"
367 }
368 ],
369 "op" : "extract"
370 }
371 ],
372 "transitions" : [
373 {
374 "value" : "default",
375 "mask" : null,
376 "next_state" : null
377 }
378 ],
379 "transition_key" : []
380 },
381 {
382 "name" : "start",
383 "id" : 7,
384 "parser_ops" : [
385 {
386 "parameters" : [
387 {
388 "type" : "field",
389 "value" : ["scalars", "tmp_0"]
390 },
391 {
392 "type" : "lookahead",
393 "value" : [0, 104]
394 }
395 ],
396 "op" : "set"
397 },
398 {
399 "parameters" : [
400 {
401 "type" : "field",
402 "value" : ["scalars", "tmp"]
403 },
404 {
405 "type" : "expression",
406 "value" : {
407 "type" : "expression",
408 "value" : {
409 "op" : "&",
410 "left" : {
411 "type" : "field",
412 "value" : ["scalars", "tmp_0"]
413 },
414 "right" : {
415 "type" : "hexstr",
416 "value" : "0xff"
417 }
418 }
419 }
420 }
421 ],
422 "op" : "set"
423 }
424 ],
425 "transitions" : [
426 {
427 "value" : "0x00",
428 "mask" : null,
429 "next_state" : "parse_pkt_in"
430 },
431 {
432 "value" : "default",
433 "mask" : null,
434 "next_state" : "default_parser"
435 }
436 ],
437 "transition_key" : [
438 {
439 "type" : "field",
440 "value" : ["scalars", "tmp"]
441 }
442 ]
443 }
444 ]
445 }
446 ],
447 "deparsers" : [
448 {
449 "name" : "deparser",
450 "id" : 0,
451 "order" : ["packet_out_hdr", "packet_in_hdr", "ethernet", "ipv4", "udp", "tcp"]
452 }
453 ],
454 "meter_arrays" : [],
455 "counter_arrays" : [
456 {
457 "name" : "table0_counter",
458 "id" : 0,
459 "is_direct" : true,
460 "binding" : "table0"
461 },
462 {
463 "name" : "egress_port_counter",
464 "id" : 1,
465 "size" : 254,
466 "is_direct" : false
467 },
468 {
469 "name" : "ingress_port_counter",
470 "id" : 2,
471 "size" : 254,
472 "is_direct" : false
473 }
474 ],
475 "register_arrays" : [],
476 "calculations" : [],
477 "learn_lists" : [],
478 "actions" : [
479 {
480 "name" : "add_packet_in_hdr",
481 "id" : 0,
482 "runtime_data" : [],
483 "primitives" : [
484 {
485 "op" : "add_header",
486 "parameters" : [
487 {
488 "type" : "header",
489 "value" : "packet_in_hdr"
490 }
491 ],
492 "source_info" : {
493 "filename" : "include/packet_io.p4",
494 "line" : 25,
495 "column" : 4,
496 "source_fragment" : "add_header(packet_in_hdr)"
497 }
498 },
499 {
500 "op" : "assign",
501 "parameters" : [
502 {
503 "type" : "field",
504 "value" : ["packet_in_hdr", "ingress_port"]
505 },
506 {
507 "type" : "field",
508 "value" : ["ig_intr_md", "ingress_port"]
509 }
510 ],
511 "source_info" : {
512 "filename" : "include/packet_io.p4",
513 "line" : 26,
514 "column" : 4,
515 "source_fragment" : "modify_field(packet_in_hdr.ingress_port, ig_intr_md.ingress_port)"
516 }
517 }
518 ]
519 },
520 {
521 "name" : "NoAction",
522 "id" : 1,
523 "runtime_data" : [],
524 "primitives" : []
525 },
526 {
527 "name" : "set_egress_port",
528 "id" : 2,
529 "runtime_data" : [
530 {
531 "name" : "port",
532 "bitwidth" : 9
533 }
534 ],
535 "primitives" : [
536 {
537 "op" : "assign",
538 "parameters" : [
539 {
540 "type" : "field",
541 "value" : ["ig_intr_md", "egress_spec"]
542 },
543 {
544 "type" : "runtime_data",
545 "value" : 0
546 }
547 ],
548 "source_info" : {
549 "filename" : "include/actions.p4",
550 "line" : 5,
551 "column" : 23,
552 "source_fragment" : "port) { ..."
553 }
554 }
555 ]
556 },
557 {
558 "name" : "send_to_cpu",
559 "id" : 3,
560 "runtime_data" : [],
561 "primitives" : [
562 {
563 "op" : "assign",
564 "parameters" : [
565 {
566 "type" : "field",
567 "value" : ["ig_intr_md", "egress_spec"]
568 },
569 {
570 "type" : "hexstr",
571 "value" : "0x00ff"
572 }
573 ],
574 "source_info" : {
575 "filename" : "include/actions.p4",
576 "line" : 21,
577 "column" : 4,
578 "source_fragment" : "modify_field(ig_intr_md.egress_spec, 255)"
579 }
580 }
581 ]
582 },
583 {
584 "name" : "_drop",
585 "id" : 4,
586 "runtime_data" : [],
587 "primitives" : [
588 {
589 "op" : "assign",
590 "parameters" : [
591 {
592 "type" : "field",
593 "value" : ["ig_intr_md", "egress_spec"]
594 },
595 {
596 "type" : "hexstr",
597 "value" : "0x01ff"
598 }
599 ],
600 "source_info" : {
601 "filename" : "include/actions.p4",
602 "line" : 13,
603 "column" : 4,
604 "source_fragment" : "modify_field(ig_intr_md.egress_spec, 511)"
605 }
606 }
607 ]
608 },
609 {
610 "name" : "_packet_out",
611 "id" : 5,
612 "runtime_data" : [],
613 "primitives" : [
614 {
615 "op" : "assign",
616 "parameters" : [
617 {
618 "type" : "field",
619 "value" : ["ig_intr_md", "egress_spec"]
620 },
621 {
622 "type" : "field",
623 "value" : ["packet_out_hdr", "egress_port"]
624 }
625 ],
626 "source_info" : {
627 "filename" : "include/packet_io.p4",
628 "line" : 7,
629 "column" : 4,
630 "source_fragment" : "modify_field(ig_intr_md.egress_spec, packet_out_hdr.egress_port)"
631 }
632 },
633 {
634 "op" : "remove_header",
635 "parameters" : [
636 {
637 "type" : "header",
638 "value" : "packet_out_hdr"
639 }
640 ],
641 "source_info" : {
642 "filename" : "include/packet_io.p4",
643 "line" : 8,
644 "column" : 4,
645 "source_fragment" : "remove_header(packet_out_hdr)"
646 }
647 }
648 ]
649 },
650 {
651 "name" : "count_egress",
652 "id" : 6,
653 "runtime_data" : [],
654 "primitives" : [
655 {
656 "op" : "assign",
657 "parameters" : [
658 {
659 "type" : "field",
660 "value" : ["scalars", "tmp_1"]
661 },
662 {
663 "type" : "expression",
664 "value" : {
665 "type" : "expression",
666 "value" : {
667 "op" : "&",
668 "left" : {
669 "type" : "field",
670 "value" : ["ig_intr_md", "egress_spec"]
671 },
672 "right" : {
673 "type" : "hexstr",
674 "value" : "0xffffffff"
675 }
676 }
677 }
678 }
679 ]
680 },
681 {
682 "op" : "count",
683 "parameters" : [
684 {
685 "type" : "counter_array",
686 "value" : "egress_port_counter"
687 },
688 {
689 "type" : "field",
690 "value" : ["scalars", "tmp_1"]
691 }
692 ],
693 "source_info" : {
694 "filename" : "include/port_counters.p4",
695 "line" : 22,
696 "column" : 4,
697 "source_fragment" : "count(egress_port_counter, ig_intr_md.egress_spec)"
698 }
699 }
700 ]
701 },
702 {
703 "name" : "count_ingress",
704 "id" : 7,
705 "runtime_data" : [],
706 "primitives" : [
707 {
708 "op" : "assign",
709 "parameters" : [
710 {
711 "type" : "field",
712 "value" : ["scalars", "tmp_2"]
713 },
714 {
715 "type" : "expression",
716 "value" : {
717 "type" : "expression",
718 "value" : {
719 "op" : "&",
720 "left" : {
721 "type" : "field",
722 "value" : ["ig_intr_md", "ingress_port"]
723 },
724 "right" : {
725 "type" : "hexstr",
726 "value" : "0xffffffff"
727 }
728 }
729 }
730 }
731 ]
732 },
733 {
734 "op" : "count",
735 "parameters" : [
736 {
737 "type" : "counter_array",
738 "value" : "ingress_port_counter"
739 },
740 {
741 "type" : "field",
742 "value" : ["scalars", "tmp_2"]
743 }
744 ],
745 "source_info" : {
746 "filename" : "include/port_counters.p4",
747 "line" : 18,
748 "column" : 4,
749 "source_fragment" : "count(ingress_port_counter, ig_intr_md.ingress_port)"
750 }
751 }
752 ]
753 }
754 ],
755 "pipelines" : [
756 {
757 "name" : "ingress",
758 "id" : 0,
759 "init_table" : "node_2",
760 "tables" : [
761 {
762 "name" : "ingress_pkt",
763 "id" : 0,
764 "source_info" : {
765 "filename" : "include/packet_io.p4",
766 "line" : 11,
767 "column" : 0,
768 "source_fragment" : "table ingress_pkt { ..."
769 },
770 "key" : [],
771 "match_type" : "exact",
772 "type" : "simple",
773 "max_size" : 1024,
774 "with_counters" : false,
775 "support_timeout" : false,
776 "direct_meters" : null,
777 "action_ids" : [5],
778 "actions" : ["_packet_out"],
779 "base_default_next" : "node_4",
780 "next_tables" : {
781 "_packet_out" : "node_4"
782 },
783 "default_entry" : {
784 "action_id" : 5,
785 "action_const" : false,
786 "action_data" : [],
787 "action_entry_const" : false
788 }
789 },
790 {
791 "name" : "table0",
792 "id" : 1,
793 "source_info" : {
794 "filename" : "default.p4",
795 "line" : 8,
796 "column" : 0,
797 "source_fragment" : "table table0 { ..."
798 },
799 "key" : [
800 {
801 "match_type" : "ternary",
802 "target" : ["ig_intr_md", "ingress_port"],
803 "mask" : null
804 },
805 {
806 "match_type" : "ternary",
807 "target" : ["ethernet", "dstAddr"],
808 "mask" : null
809 },
810 {
811 "match_type" : "ternary",
812 "target" : ["ethernet", "srcAddr"],
813 "mask" : null
814 },
815 {
816 "match_type" : "ternary",
817 "target" : ["ethernet", "etherType"],
818 "mask" : null
819 }
820 ],
821 "match_type" : "ternary",
822 "type" : "simple",
823 "max_size" : 1024,
824 "with_counters" : true,
825 "support_timeout" : false,
826 "direct_meters" : null,
827 "action_ids" : [2, 3, 4, 1],
828 "actions" : ["set_egress_port", "send_to_cpu", "_drop", "NoAction"],
829 "base_default_next" : "node_6",
830 "next_tables" : {
831 "set_egress_port" : "node_6",
832 "send_to_cpu" : "node_6",
833 "_drop" : "node_6",
834 "NoAction" : "node_6"
835 },
836 "default_entry" : {
837 "action_id" : 1,
838 "action_const" : false,
839 "action_data" : [],
840 "action_entry_const" : false
841 }
842 },
843 {
844 "name" : "ingress_port_count_table",
845 "id" : 2,
846 "source_info" : {
847 "filename" : "include/port_counters.p4",
848 "line" : 25,
849 "column" : 0,
850 "source_fragment" : "table ingress_port_count_table { ..."
851 },
852 "key" : [],
853 "match_type" : "exact",
854 "type" : "simple",
855 "max_size" : 1024,
856 "with_counters" : false,
857 "support_timeout" : false,
858 "direct_meters" : null,
859 "action_ids" : [7],
860 "actions" : ["count_ingress"],
861 "base_default_next" : "egress_port_count_table",
862 "next_tables" : {
863 "count_ingress" : "egress_port_count_table"
864 },
865 "default_entry" : {
866 "action_id" : 7,
867 "action_const" : false,
868 "action_data" : [],
869 "action_entry_const" : false
870 }
871 },
872 {
873 "name" : "egress_port_count_table",
874 "id" : 3,
875 "source_info" : {
876 "filename" : "include/port_counters.p4",
877 "line" : 30,
878 "column" : 0,
879 "source_fragment" : "table egress_port_count_table { ..."
880 },
881 "key" : [],
882 "match_type" : "exact",
883 "type" : "simple",
884 "max_size" : 1024,
885 "with_counters" : false,
886 "support_timeout" : false,
887 "direct_meters" : null,
888 "action_ids" : [6],
889 "actions" : ["count_egress"],
890 "base_default_next" : null,
891 "next_tables" : {
892 "count_egress" : null
893 },
894 "default_entry" : {
895 "action_id" : 6,
896 "action_const" : false,
897 "action_data" : [],
898 "action_entry_const" : false
899 }
900 }
901 ],
902 "action_profiles" : [],
903 "conditionals" : [
904 {
905 "name" : "node_2",
906 "id" : 0,
907 "source_info" : {
908 "filename" : "include/packet_io.p4",
909 "line" : 19,
910 "column" : 8,
911 "source_fragment" : "valid(packet_out_hdr)"
912 },
913 "expression" : {
914 "type" : "expression",
915 "value" : {
916 "op" : "==",
917 "left" : {
918 "type" : "field",
919 "value" : ["packet_out_hdr", "$valid$"]
920 },
921 "right" : {
922 "type" : "hexstr",
923 "value" : "0x01"
924 }
925 }
926 },
927 "true_next" : "ingress_pkt",
928 "false_next" : "node_4"
929 },
930 {
931 "name" : "node_4",
932 "id" : 1,
933 "source_info" : {
934 "filename" : "default.p4",
935 "line" : 31,
936 "column" : 12,
937 "source_fragment" : "valid(packet_out_hdr)"
938 },
939 "expression" : {
940 "type" : "expression",
941 "value" : {
942 "op" : "!=",
943 "left" : {
944 "type" : "field",
945 "value" : ["packet_out_hdr", "$valid$"]
946 },
947 "right" : {
948 "type" : "hexstr",
949 "value" : "0x01"
950 }
951 }
952 },
953 "true_next" : "table0",
954 "false_next" : "node_6"
955 },
956 {
957 "name" : "node_6",
958 "id" : 2,
959 "source_info" : {
960 "filename" : "include/port_counters.p4",
961 "line" : 36,
962 "column" : 38,
963 "source_fragment" : "<"
964 },
965 "expression" : {
966 "type" : "expression",
967 "value" : {
968 "op" : "<",
969 "left" : {
970 "type" : "field",
971 "value" : ["ig_intr_md", "egress_spec"]
972 },
973 "right" : {
974 "type" : "hexstr",
975 "value" : "0x00fe"
976 }
977 }
978 },
979 "false_next" : null,
980 "true_next" : "ingress_port_count_table"
981 }
982 ]
983 },
984 {
985 "name" : "egress",
986 "id" : 1,
987 "init_table" : "node_11",
988 "tables" : [
989 {
990 "name" : "egress_pkt",
991 "id" : 4,
992 "source_info" : {
993 "filename" : "include/packet_io.p4",
994 "line" : 29,
995 "column" : 0,
996 "source_fragment" : "table egress_pkt { ..."
997 },
998 "key" : [],
999 "match_type" : "exact",
1000 "type" : "simple",
1001 "max_size" : 1024,
1002 "with_counters" : false,
1003 "support_timeout" : false,
1004 "direct_meters" : null,
1005 "action_ids" : [0],
1006 "actions" : ["add_packet_in_hdr"],
1007 "base_default_next" : null,
1008 "next_tables" : {
1009 "add_packet_in_hdr" : null
1010 },
1011 "default_entry" : {
1012 "action_id" : 0,
1013 "action_const" : false,
1014 "action_data" : [],
1015 "action_entry_const" : false
1016 }
1017 }
1018 ],
1019 "action_profiles" : [],
1020 "conditionals" : [
1021 {
1022 "name" : "node_11",
1023 "id" : 3,
1024 "source_info" : {
1025 "filename" : "include/packet_io.p4",
1026 "line" : 40,
1027 "column" : 39,
1028 "source_fragment" : "=="
1029 },
1030 "expression" : {
1031 "type" : "expression",
1032 "value" : {
1033 "op" : "==",
1034 "left" : {
1035 "type" : "field",
1036 "value" : ["ig_intr_md", "ingress_port"]
1037 },
1038 "right" : {
1039 "type" : "hexstr",
1040 "value" : "0x00ff"
1041 }
1042 }
1043 },
1044 "false_next" : null,
1045 "true_next" : "egress_pkt"
1046 }
1047 ]
1048 }
1049 ],
1050 "checksums" : [],
1051 "force_arith" : [],
1052 "extern_instances" : [],
1053 "field_aliases" : [
1054 [
1055 "queueing_metadata.enq_timestamp",
1056 ["ig_intr_md", "enq_timestamp"]
1057 ],
1058 [
1059 "queueing_metadata.enq_qdepth",
1060 ["ig_intr_md", "enq_qdepth"]
1061 ],
1062 [
1063 "queueing_metadata.deq_timedelta",
1064 ["ig_intr_md", "deq_timedelta"]
1065 ],
1066 [
1067 "queueing_metadata.deq_qdepth",
1068 ["ig_intr_md", "deq_qdepth"]
1069 ],
1070 [
1071 "intrinsic_metadata.ingress_global_timestamp",
1072 ["ig_intr_md", "ingress_global_timestamp"]
1073 ],
1074 [
1075 "intrinsic_metadata.lf_field_list",
1076 ["ig_intr_md", "lf_field_list"]
1077 ],
1078 [
1079 "intrinsic_metadata.mcast_grp",
1080 ["ig_intr_md", "mcast_grp"]
1081 ],
1082 [
1083 "intrinsic_metadata.resubmit_flag",
1084 ["ig_intr_md", "resubmit_flag"]
1085 ],
1086 [
1087 "intrinsic_metadata.egress_rid",
1088 ["ig_intr_md", "egress_rid"]
1089 ]
1090 ]
1091}