blob: 0ac74cce4bc7232b9c2397c5c8ffbaa2bdf1deea [file] [log] [blame]
Andrea Campanellabf1301d2017-08-07 18:33:52 +02001{
2 "__meta__": {
3 "version": [
4 2,
5 5
6 ],
7 "compiler": "https://github.com/p4lang/p4c-bm"
8 },
9 "header_types": [
10 {
11 "name": "standard_metadata_t",
12 "id": 0,
13 "fields": [
14 [
15 "ingress_port",
16 9
17 ],
18 [
19 "packet_length",
20 32
21 ],
22 [
23 "egress_spec",
24 9
25 ],
26 [
27 "egress_port",
28 9
29 ],
30 [
31 "egress_instance",
32 32
33 ],
34 [
35 "instance_type",
36 32
37 ],
38 [
39 "clone_spec",
40 32
41 ],
42 [
43 "_padding",
44 5
45 ]
46 ],
47 "length_exp": null,
48 "max_length": null
49 },
50 {
51 "name": "ingress_intrinsic_metadata_t",
52 "id": 1,
53 "fields": [
54 [
55 "resubmit_flag",
56 1
57 ],
58 [
59 "_pad1",
60 1
61 ],
62 [
63 "_pad2",
64 2
65 ],
66 [
67 "_pad3",
68 3
69 ],
70 [
71 "ingress_port",
72 9
73 ],
74 [
75 "ingress_mac_tstamp",
76 48
77 ]
78 ],
79 "length_exp": null,
80 "max_length": null
81 },
82 {
83 "name": "ingress_intrinsic_metadata_for_tm_t",
84 "id": 2,
85 "fields": [
86 [
87 "_pad1",
88 7
89 ],
90 [
91 "ucast_egress_port",
92 9
93 ],
94 [
95 "drop_ctl",
96 3
97 ],
98 [
99 "bypass_egress",
100 1
101 ],
102 [
103 "deflect_on_drop",
104 1
105 ],
106 [
107 "ingress_cos",
108 3
109 ],
110 [
111 "qid",
112 5
113 ],
114 [
115 "icos_for_copy_to_cpu",
116 3
117 ],
118 [
119 "_pad2",
120 3
121 ],
122 [
123 "copy_to_cpu",
124 1
125 ],
126 [
127 "packet_color",
128 2
129 ],
130 [
131 "disable_ucast_cutthru",
132 1
133 ],
134 [
135 "enable_mcast_cutthru",
136 1
137 ],
138 [
139 "mcast_grp_a",
140 16
141 ],
142 [
143 "mcast_grp_b",
144 16
145 ],
146 [
147 "_pad3",
148 3
149 ],
150 [
151 "level1_mcast_hash",
152 13
153 ],
154 [
155 "_pad4",
156 3
157 ],
158 [
159 "level2_mcast_hash",
160 13
161 ],
162 [
163 "level1_exclusion_id",
164 16
165 ],
166 [
167 "_pad5",
168 7
169 ],
170 [
171 "level2_exclusion_id",
172 9
173 ],
174 [
175 "rid",
176 16
177 ]
178 ],
179 "length_exp": null,
180 "max_length": null
181 },
182 {
183 "name": "ingress_intrinsic_metadata_for_mirror_buffer_t",
184 "id": 3,
185 "fields": [
186 [
187 "_pad1",
188 6
189 ],
190 [
191 "ingress_mirror_id",
192 10
193 ]
194 ],
195 "length_exp": null,
196 "max_length": null
197 },
198 {
199 "name": "egress_intrinsic_metadata_t",
200 "id": 4,
201 "fields": [
202 [
203 "_pad0",
204 7
205 ],
206 [
207 "egress_port",
208 9
209 ],
210 [
211 "_pad1",
212 5
213 ],
214 [
215 "enq_qdepth",
216 19
217 ],
218 [
219 "_pad2",
220 6
221 ],
222 [
223 "enq_congest_stat",
224 2
225 ],
226 [
227 "enq_tstamp",
228 32
229 ],
230 [
231 "_pad3",
232 5
233 ],
234 [
235 "deq_qdepth",
236 19
237 ],
238 [
239 "_pad4",
240 6
241 ],
242 [
243 "deq_congest_stat",
244 2
245 ],
246 [
247 "app_pool_congest_stat",
248 8
249 ],
250 [
251 "deq_timedelta",
252 32
253 ],
254 [
255 "egress_rid",
256 16
257 ],
258 [
259 "_pad5",
260 7
261 ],
262 [
263 "egress_rid_first",
264 1
265 ],
266 [
267 "_pad6",
268 3
269 ],
270 [
271 "egress_qid",
272 5
273 ],
274 [
275 "_pad7",
276 5
277 ],
278 [
279 "egress_cos",
280 3
281 ],
282 [
283 "_pad8",
284 7
285 ],
286 [
287 "deflection_flag",
288 1
289 ],
290 [
291 "pkt_length",
292 16
293 ]
294 ],
295 "length_exp": null,
296 "max_length": null
297 },
298 {
299 "name": "egress_intrinsic_metadata_for_mirror_buffer_t",
300 "id": 5,
301 "fields": [
302 [
303 "_pad1",
304 6
305 ],
306 [
307 "egress_mirror_id",
308 10
309 ],
310 [
311 "coalesce_flush",
312 1
313 ],
314 [
315 "coalesce_length",
316 7
317 ]
318 ],
319 "length_exp": null,
320 "max_length": null
321 },
322 {
323 "name": "egress_intrinsic_metadata_for_output_port_t",
324 "id": 6,
325 "fields": [
326 [
327 "_pad1",
328 2
329 ],
330 [
331 "capture_tstamp_on_tx",
332 1
333 ],
334 [
335 "update_delay_on_tx",
336 1
337 ],
338 [
339 "force_tx_error",
340 1
341 ],
342 [
343 "drop_ctl",
344 3
345 ]
346 ],
347 "length_exp": null,
348 "max_length": null
349 },
350 {
351 "name": "packet_in_t",
352 "id": 7,
353 "fields": [
354 [
355 "ingress_port",
356 9
357 ],
358 [
359 "_padding",
360 7
361 ]
362 ],
363 "length_exp": null,
364 "max_length": null
365 },
366 {
367 "name": "packet_out_t",
368 "id": 8,
369 "fields": [
370 [
371 "egress_port",
372 9
373 ],
374 [
375 "_padding",
376 7
377 ]
378 ],
379 "length_exp": null,
380 "max_length": null
381 },
382 {
383 "name": "ethernet_t",
384 "id": 9,
385 "fields": [
386 [
387 "dstAddr",
388 48
389 ],
390 [
391 "srcAddr",
392 48
393 ],
394 [
395 "etherType",
396 16
397 ]
398 ],
399 "length_exp": null,
400 "max_length": null
401 },
402 {
403 "name": "ipv4_t",
404 "id": 10,
405 "fields": [
406 [
407 "version",
408 4
409 ],
410 [
411 "ihl",
412 4
413 ],
414 [
415 "diffserv",
416 8
417 ],
418 [
419 "totalLen",
420 16
421 ],
422 [
423 "identification",
424 16
425 ],
426 [
427 "flags",
428 3
429 ],
430 [
431 "fragOffset",
432 13
433 ],
434 [
435 "ttl",
436 8
437 ],
438 [
439 "protocol",
440 8
441 ],
442 [
443 "hdrChecksum",
444 16
445 ],
446 [
447 "srcAddr",
448 32
449 ],
450 [
451 "dstAddr",
452 32
453 ]
454 ],
455 "length_exp": null,
456 "max_length": null
457 },
458 {
459 "name": "tcp_t",
460 "id": 11,
461 "fields": [
462 [
463 "srcPort",
464 16
465 ],
466 [
467 "dstPort",
468 16
469 ],
470 [
471 "seqNo",
472 32
473 ],
474 [
475 "ackNo",
476 32
477 ],
478 [
479 "dataOffset",
480 4
481 ],
482 [
483 "res",
484 3
485 ],
486 [
487 "ecn",
488 3
489 ],
490 [
491 "ctrl",
492 6
493 ],
494 [
495 "window",
496 16
497 ],
498 [
499 "checksum",
500 16
501 ],
502 [
503 "urgentPtr",
504 16
505 ]
506 ],
507 "length_exp": null,
508 "max_length": null
509 },
510 {
511 "name": "udp_t",
512 "id": 12,
513 "fields": [
514 [
515 "srcPort",
516 16
517 ],
518 [
519 "dstPort",
520 16
521 ],
522 [
523 "length_",
524 16
525 ],
526 [
527 "checksum",
528 16
529 ]
530 ],
531 "length_exp": null,
532 "max_length": null
533 }
534 ],
535 "headers": [
536 {
537 "name": "standard_metadata",
538 "id": 0,
539 "header_type": "standard_metadata_t",
540 "metadata": true
541 },
542 {
543 "name": "ig_intr_md",
544 "id": 1,
545 "header_type": "ingress_intrinsic_metadata_t",
546 "metadata": false
547 },
548 {
549 "name": "ig_intr_md_for_tm",
550 "id": 2,
551 "header_type": "ingress_intrinsic_metadata_for_tm_t",
552 "metadata": false
553 },
554 {
555 "name": "ig_intr_md_for_mb",
556 "id": 3,
557 "header_type": "ingress_intrinsic_metadata_for_mirror_buffer_t",
558 "metadata": false
559 },
560 {
561 "name": "eg_intr_md",
562 "id": 4,
563 "header_type": "egress_intrinsic_metadata_t",
564 "metadata": false
565 },
566 {
567 "name": "eg_intr_md_for_mb",
568 "id": 5,
569 "header_type": "egress_intrinsic_metadata_for_mirror_buffer_t",
570 "metadata": false
571 },
572 {
573 "name": "eg_intr_md_for_oport",
574 "id": 6,
575 "header_type": "egress_intrinsic_metadata_for_output_port_t",
576 "metadata": false
577 },
578 {
579 "name": "packet_in_hdr",
580 "id": 7,
581 "header_type": "packet_in_t",
582 "metadata": false
583 },
584 {
585 "name": "packet_out_hdr",
586 "id": 8,
587 "header_type": "packet_out_t",
588 "metadata": false
589 },
590 {
591 "name": "ethernet",
592 "id": 9,
593 "header_type": "ethernet_t",
594 "metadata": false
595 },
596 {
597 "name": "ipv4",
598 "id": 10,
599 "header_type": "ipv4_t",
600 "metadata": false
601 },
602 {
603 "name": "tcp",
604 "id": 11,
605 "header_type": "tcp_t",
606 "metadata": false
607 },
608 {
609 "name": "udp",
610 "id": 12,
611 "header_type": "udp_t",
612 "metadata": false
613 }
614 ],
615 "header_stacks": [],
616 "parsers": [
617 {
618 "name": "parser",
619 "id": 0,
620 "init_state": "start",
621 "parse_states": [
622 {
623 "name": "start",
624 "id": 0,
625 "parser_ops": [],
626 "transition_key": [
627 {
628 "type": "lookahead",
629 "value": [
630 96,
631 8
632 ]
633 }
634 ],
635 "transitions": [
636 {
637 "type": "hexstr",
638 "value": "0x00",
639 "mask": null,
640 "next_state": "parse_pkt_in"
641 },
642 {
643 "type": "default",
644 "value": null,
645 "mask": null,
646 "next_state": "default_parser"
647 }
648 ]
649 },
650 {
651 "name": "parse_pkt_in",
652 "id": 1,
653 "parser_ops": [
654 {
655 "op": "extract",
656 "parameters": [
657 {
658 "type": "regular",
659 "value": "packet_in_hdr"
660 }
661 ]
662 }
663 ],
664 "transition_key": [],
665 "transitions": [
666 {
667 "type": "default",
668 "value": null,
669 "mask": null,
670 "next_state": "parse_ethernet"
671 }
672 ]
673 },
674 {
675 "name": "parse_ethernet",
676 "id": 2,
677 "parser_ops": [
678 {
679 "op": "extract",
680 "parameters": [
681 {
682 "type": "regular",
683 "value": "ethernet"
684 }
685 ]
686 }
687 ],
688 "transition_key": [
689 {
690 "type": "field",
691 "value": [
692 "ethernet",
693 "etherType"
694 ]
695 }
696 ],
697 "transitions": [
698 {
699 "type": "hexstr",
700 "value": "0x0800",
701 "mask": null,
702 "next_state": "parse_ipv4"
703 },
704 {
705 "type": "default",
706 "value": null,
707 "mask": null,
708 "next_state": null
709 }
710 ]
711 },
712 {
713 "name": "parse_ipv4",
714 "id": 3,
715 "parser_ops": [
716 {
717 "op": "extract",
718 "parameters": [
719 {
720 "type": "regular",
721 "value": "ipv4"
722 }
723 ]
724 }
725 ],
726 "transition_key": [
727 {
728 "type": "field",
729 "value": [
730 "ipv4",
731 "fragOffset"
732 ]
733 },
734 {
735 "type": "field",
736 "value": [
737 "ipv4",
738 "protocol"
739 ]
740 }
741 ],
742 "transitions": [
743 {
744 "type": "hexstr",
745 "value": "0x000006",
746 "mask": null,
747 "next_state": "parse_tcp"
748 },
749 {
750 "type": "hexstr",
751 "value": "0x000011",
752 "mask": null,
753 "next_state": "parse_udp"
754 },
755 {
756 "type": "default",
757 "value": null,
758 "mask": null,
759 "next_state": null
760 }
761 ]
762 },
763 {
764 "name": "parse_tcp",
765 "id": 4,
766 "parser_ops": [
767 {
768 "op": "extract",
769 "parameters": [
770 {
771 "type": "regular",
772 "value": "tcp"
773 }
774 ]
775 }
776 ],
777 "transition_key": [],
778 "transitions": [
779 {
780 "type": "default",
781 "value": null,
782 "mask": null,
783 "next_state": null
784 }
785 ]
786 },
787 {
788 "name": "parse_udp",
789 "id": 5,
790 "parser_ops": [
791 {
792 "op": "extract",
793 "parameters": [
794 {
795 "type": "regular",
796 "value": "udp"
797 }
798 ]
799 }
800 ],
801 "transition_key": [],
802 "transitions": [
803 {
804 "type": "default",
805 "value": null,
806 "mask": null,
807 "next_state": null
808 }
809 ]
810 },
811 {
812 "name": "default_parser",
813 "id": 6,
814 "parser_ops": [],
815 "transition_key": [
816 {
817 "type": "field",
818 "value": [
819 "ig_intr_md",
820 "ingress_port"
821 ]
822 }
823 ],
824 "transitions": [
825 {
826 "type": "hexstr",
827 "value": "0x00ff",
828 "mask": null,
829 "next_state": "parse_pkt_out"
830 },
831 {
832 "type": "default",
833 "value": null,
834 "mask": null,
835 "next_state": "parse_ethernet"
836 }
837 ]
838 },
839 {
840 "name": "parse_pkt_out",
841 "id": 7,
842 "parser_ops": [
843 {
844 "op": "extract",
845 "parameters": [
846 {
847 "type": "regular",
848 "value": "packet_out_hdr"
849 }
850 ]
851 }
852 ],
853 "transition_key": [],
854 "transitions": [
855 {
856 "type": "default",
857 "value": null,
858 "mask": null,
859 "next_state": "parse_ethernet"
860 }
861 ]
862 }
863 ]
864 }
865 ],
866 "parse_vsets": [],
867 "deparsers": [
868 {
869 "name": "deparser",
870 "id": 0,
871 "order": [
872 "packet_in_hdr",
873 "packet_out_hdr",
874 "ethernet",
875 "ipv4",
876 "tcp",
877 "udp"
878 ]
879 }
880 ],
881 "meter_arrays": [],
882 "actions": [
883 {
884 "name": "add_packet_in_hdr",
885 "id": 0,
886 "runtime_data": [],
887 "primitives": [
888 {
889 "op": "add_header",
890 "parameters": [
891 {
892 "type": "header",
893 "value": "packet_in_hdr"
894 }
895 ]
896 },
897 {
898 "op": "modify_field",
899 "parameters": [
900 {
901 "type": "field",
902 "value": [
903 "packet_in_hdr",
904 "ingress_port"
905 ]
906 },
907 {
908 "type": "field",
909 "value": [
910 "ig_intr_md",
911 "ingress_port"
912 ]
913 }
914 ]
915 }
916 ]
917 },
918 {
919 "name": "send_to_cpu",
920 "id": 1,
921 "runtime_data": [],
922 "primitives": [
923 {
924 "op": "modify_field",
925 "parameters": [
926 {
927 "type": "field",
928 "value": [
929 "ig_intr_md_for_tm",
930 "copy_to_cpu"
931 ]
932 },
933 {
934 "type": "hexstr",
935 "value": "0x1"
936 }
937 ]
938 }
939 ]
940 },
941 {
942 "name": "_drop",
943 "id": 2,
944 "runtime_data": [],
945 "primitives": [
946 {
947 "op": "drop",
948 "parameters": []
949 }
950 ]
951 },
952 {
953 "name": "_packet_out",
954 "id": 3,
955 "runtime_data": [],
956 "primitives": [
957 {
958 "op": "modify_field",
959 "parameters": [
960 {
961 "type": "field",
962 "value": [
963 "ig_intr_md_for_tm",
964 "ucast_egress_port"
965 ]
966 },
967 {
968 "type": "field",
969 "value": [
970 "packet_out_hdr",
971 "egress_port"
972 ]
973 }
974 ]
975 },
976 {
977 "op": "remove_header",
978 "parameters": [
979 {
980 "type": "header",
981 "value": "packet_out_hdr"
982 }
983 ]
984 }
985 ]
986 },
987 {
988 "name": "count_ingress",
989 "id": 4,
990 "runtime_data": [],
991 "primitives": [
992 {
993 "op": "count",
994 "parameters": [
995 {
996 "type": "counter_array",
997 "value": "ingress_port_counter"
998 },
999 {
1000 "type": "field",
1001 "value": [
1002 "ig_intr_md",
1003 "ingress_port"
1004 ]
1005 }
1006 ]
1007 }
1008 ]
1009 },
1010 {
1011 "name": "count_egress",
1012 "id": 5,
1013 "runtime_data": [],
1014 "primitives": [
1015 {
1016 "op": "count",
1017 "parameters": [
1018 {
1019 "type": "counter_array",
1020 "value": "egress_port_counter"
1021 },
1022 {
1023 "type": "field",
1024 "value": [
1025 "ig_intr_md_for_tm",
1026 "ucast_egress_port"
1027 ]
1028 }
1029 ]
1030 }
1031 ]
1032 },
1033 {
1034 "name": "set_egress_port",
1035 "id": 6,
1036 "runtime_data": [
1037 {
1038 "name": "port",
1039 "bitwidth": 9
1040 }
1041 ],
1042 "primitives": [
1043 {
1044 "op": "modify_field",
1045 "parameters": [
1046 {
1047 "type": "field",
1048 "value": [
1049 "ig_intr_md_for_tm",
1050 "ucast_egress_port"
1051 ]
1052 },
1053 {
1054 "type": "runtime_data",
1055 "value": 0
1056 }
1057 ]
1058 }
1059 ]
1060 }
1061 ],
1062 "pipelines": [
1063 {
1064 "name": "ingress",
1065 "id": 0,
1066 "init_table": "_condition_0",
1067 "tables": [
1068 {
1069 "name": "ingress_port_count_table",
1070 "id": 0,
1071 "match_type": "exact",
1072 "type": "simple",
1073 "max_size": 16384,
1074 "with_counters": false,
1075 "direct_meters": null,
1076 "support_timeout": false,
1077 "key": [],
1078 "actions": [
1079 "count_ingress"
1080 ],
1081 "next_tables": {
1082 "count_ingress": "egress_port_count_table"
1083 },
1084 "default_entry": {
1085 "action_id": 4,
1086 "action_const": true
1087 },
1088 "base_default_next": "egress_port_count_table"
1089 },
1090 {
1091 "name": "egress_port_count_table",
1092 "id": 1,
1093 "match_type": "exact",
1094 "type": "simple",
1095 "max_size": 16384,
1096 "with_counters": false,
1097 "direct_meters": null,
1098 "support_timeout": false,
1099 "key": [],
1100 "actions": [
1101 "count_egress"
1102 ],
1103 "next_tables": {
1104 "count_egress": null
1105 },
1106 "default_entry": {
1107 "action_id": 5,
1108 "action_const": true
1109 },
1110 "base_default_next": null
1111 },
1112 {
1113 "name": "ingress_pkt",
1114 "id": 2,
1115 "match_type": "exact",
1116 "type": "simple",
1117 "max_size": 16384,
1118 "with_counters": false,
1119 "direct_meters": null,
1120 "support_timeout": false,
1121 "key": [],
1122 "actions": [
1123 "_packet_out"
1124 ],
1125 "next_tables": {
1126 "_packet_out": "_condition_1"
1127 },
1128 "default_entry": {
1129 "action_id": 3,
1130 "action_const": true,
1131 "action_data": [],
1132 "action_entry_const": false
1133 },
1134 "base_default_next": "_condition_1"
1135 },
1136 {
1137 "name": "table0",
1138 "id": 3,
1139 "match_type": "ternary",
1140 "type": "simple",
1141 "max_size": 16384,
1142 "with_counters": true,
1143 "direct_meters": null,
1144 "support_timeout": true,
1145 "key": [
1146 {
1147 "match_type": "ternary",
1148 "target": [
1149 "ig_intr_md",
1150 "ingress_port"
1151 ],
1152 "mask": null
1153 },
1154 {
1155 "match_type": "ternary",
1156 "target": [
1157 "ethernet",
1158 "dstAddr"
1159 ],
1160 "mask": null
1161 },
1162 {
1163 "match_type": "ternary",
1164 "target": [
1165 "ethernet",
1166 "srcAddr"
1167 ],
1168 "mask": null
1169 },
1170 {
1171 "match_type": "ternary",
1172 "target": [
1173 "ethernet",
1174 "etherType"
1175 ],
1176 "mask": null
1177 }
1178 ],
1179 "actions": [
1180 "set_egress_port",
1181 "send_to_cpu",
1182 "_drop"
1183 ],
1184 "next_tables": {
1185 "set_egress_port": "_condition_2",
1186 "send_to_cpu": "_condition_2",
1187 "_drop": "_condition_2"
1188 },
1189 "base_default_next": "_condition_2"
1190 }
1191 ],
1192 "action_profiles": [],
1193 "conditionals": [
1194 {
1195 "name": "_condition_0",
1196 "id": 0,
1197 "expression": {
1198 "type": "expression",
1199 "value": {
1200 "op": "valid",
1201 "left": null,
1202 "right": {
1203 "type": "header",
1204 "value": "packet_out_hdr"
1205 }
1206 }
1207 },
1208 "true_next": "ingress_pkt",
1209 "false_next": "_condition_1"
1210 },
1211 {
1212 "name": "_condition_1",
1213 "id": 1,
1214 "expression": {
1215 "type": "expression",
1216 "value": {
1217 "op": "not",
1218 "left": null,
1219 "right": {
1220 "type": "expression",
1221 "value": {
1222 "op": "valid",
1223 "left": null,
1224 "right": {
1225 "type": "header",
1226 "value": "packet_out_hdr"
1227 }
1228 }
1229 }
1230 }
1231 },
1232 "true_next": "table0",
1233 "false_next": "_condition_2"
1234 },
1235 {
1236 "name": "_condition_2",
1237 "id": 2,
1238 "expression": {
1239 "type": "expression",
1240 "value": {
1241 "op": "<",
1242 "left": {
1243 "type": "field",
1244 "value": [
1245 "ig_intr_md_for_tm",
1246 "ucast_egress_port"
1247 ]
1248 },
1249 "right": {
1250 "type": "hexstr",
1251 "value": "0xfe"
1252 }
1253 }
1254 },
1255 "true_next": "ingress_port_count_table",
1256 "false_next": null
1257 }
1258 ]
1259 },
1260 {
1261 "name": "egress",
1262 "id": 1,
1263 "init_table": "_condition_3",
1264 "tables": [
1265 {
1266 "name": "egress_pkt",
1267 "id": 4,
1268 "match_type": "exact",
1269 "type": "simple",
1270 "max_size": 16384,
1271 "with_counters": false,
1272 "direct_meters": null,
1273 "support_timeout": false,
1274 "key": [],
1275 "actions": [
1276 "add_packet_in_hdr"
1277 ],
1278 "next_tables": {
1279 "add_packet_in_hdr": null
1280 },
1281 "default_entry": {
1282 "action_id": 0,
1283 "action_const": true,
1284 "action_data": [],
1285 "action_entry_const": false
1286 },
1287 "base_default_next": null
1288 }
1289 ],
1290 "action_profiles": [],
1291 "conditionals": [
1292 {
1293 "name": "_condition_3",
1294 "id": 3,
1295 "expression": {
1296 "type": "expression",
1297 "value": {
1298 "op": "==",
1299 "left": {
1300 "type": "field",
1301 "value": [
1302 "ig_intr_md_for_tm",
1303 "copy_to_cpu"
1304 ]
1305 },
1306 "right": {
1307 "type": "hexstr",
1308 "value": "0x1"
1309 }
1310 }
1311 },
1312 "true_next": "egress_pkt",
1313 "false_next": null
1314 }
1315 ]
1316 }
1317 ],
1318 "calculations": [],
1319 "checksums": [],
1320 "learn_lists": [],
1321 "field_lists": [],
1322 "counter_arrays": [
1323 {
1324 "name": "ingress_port_counter",
1325 "id": 0,
1326 "is_direct": false,
1327 "size": 254
1328 },
1329 {
1330 "name": "egress_port_counter",
1331 "id": 1,
1332 "is_direct": false,
1333 "size": 254
1334 },
1335 {
1336 "name": "table0_counter",
1337 "id": 2,
1338 "is_direct": true,
1339 "binding": "table0",
1340 "size": null
1341 }
1342 ],
1343 "register_arrays": [],
1344 "force_arith": [
1345 [
1346 "standard_metadata",
1347 "ingress_port"
1348 ],
1349 [
1350 "standard_metadata",
1351 "packet_length"
1352 ],
1353 [
1354 "standard_metadata",
1355 "egress_spec"
1356 ],
1357 [
1358 "standard_metadata",
1359 "egress_port"
1360 ],
1361 [
1362 "standard_metadata",
1363 "egress_instance"
1364 ],
1365 [
1366 "standard_metadata",
1367 "instance_type"
1368 ],
1369 [
1370 "standard_metadata",
1371 "clone_spec"
1372 ],
1373 [
1374 "standard_metadata",
1375 "_padding"
1376 ]
1377 ],
1378 "extern_instances": []
1379}