blob: 3a46dcc5c7c697939bd627034757873f23246ebc [file] [log] [blame]
Carmelo Casconec8e84982017-07-26 15:34:42 -04001{
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", 32, false],
13 ["tmp_0", 32, false]
14 ]
15 },
16 {
17 "name" : "standard_metadata",
18 "id" : 1,
19 "fields" : [
20 ["ingress_port", 9, false],
21 ["egress_spec", 9, false],
22 ["egress_port", 9, false],
23 ["clone_spec", 32, false],
24 ["instance_type", 32, false],
25 ["drop", 1, false],
26 ["recirculate_port", 16, false],
27 ["packet_length", 32, false],
28 ["enq_timestamp", 32, false],
29 ["enq_qdepth", 19, false],
30 ["deq_timedelta", 32, false],
31 ["deq_qdepth", 19, false],
32 ["ingress_global_timestamp", 48, false],
33 ["lf_field_list", 32, false],
34 ["mcast_grp", 16, false],
35 ["resubmit_flag", 1, false],
36 ["egress_rid", 16, false],
37 ["_padding", 5, false]
38 ]
39 },
40 {
41 "name" : "ethernet_t",
42 "id" : 2,
43 "fields" : [
44 ["dstAddr", 48, false],
45 ["srcAddr", 48, false],
46 ["etherType", 16, false]
47 ]
48 },
49 {
50 "name" : "ipv4_t",
51 "id" : 3,
52 "fields" : [
53 ["version", 4, false],
54 ["ihl", 4, false],
55 ["diffserv", 8, false],
56 ["totalLen", 16, false],
57 ["identification", 16, false],
58 ["flags", 3, false],
59 ["fragOffset", 13, false],
60 ["ttl", 8, false],
61 ["protocol", 8, false],
62 ["hdrChecksum", 16, false],
63 ["srcAddr", 32, false],
64 ["dstAddr", 32, false]
65 ]
66 },
67 {
68 "name" : "tcp_t",
69 "id" : 4,
70 "fields" : [
71 ["srcPort", 16, false],
72 ["dstPort", 16, false],
73 ["seqNo", 32, false],
74 ["ackNo", 32, false],
75 ["dataOffset", 4, false],
76 ["res", 3, false],
77 ["ecn", 3, false],
78 ["ctrl", 6, false],
79 ["window", 16, false],
80 ["checksum", 16, false],
81 ["urgentPtr", 16, false]
82 ]
83 },
84 {
85 "name" : "udp_t",
86 "id" : 5,
87 "fields" : [
88 ["srcPort", 16, false],
89 ["dstPort", 16, false],
90 ["length_", 16, false],
91 ["checksum", 16, false]
92 ]
93 },
94 {
95 "name" : "ecmp_metadata_t",
96 "id" : 6,
97 "fields" : [
98 ["groupId", 16, false],
99 ["selector", 16, false]
100 ]
101 },
102 {
103 "name" : "wcmp_meta_t",
104 "id" : 7,
105 "fields" : [
106 ["groupId", 16, false],
107 ["numBits", 8, false],
108 ["selector", 64, false]
109 ]
110 },
111 {
112 "name" : "intrinsic_metadata_t",
113 "id" : 8,
114 "fields" : [
115 ["ingress_global_timestamp", 32, false],
116 ["lf_field_list", 32, false],
117 ["mcast_grp", 16, false],
118 ["egress_rid", 16, false]
119 ]
120 }
121 ],
122 "headers" : [
123 {
124 "name" : "standard_metadata_3",
125 "id" : 0,
126 "header_type" : "standard_metadata",
127 "metadata" : true,
128 "pi_omit" : true
129 },
130 {
131 "name" : "standard_metadata_4",
132 "id" : 1,
133 "header_type" : "standard_metadata",
134 "metadata" : true,
135 "pi_omit" : true
136 },
137 {
138 "name" : "standard_metadata_5",
139 "id" : 2,
140 "header_type" : "standard_metadata",
141 "metadata" : true,
142 "pi_omit" : true
143 },
144 {
145 "name" : "scalars",
146 "id" : 3,
147 "header_type" : "scalars_0",
148 "metadata" : true,
149 "pi_omit" : true
150 },
151 {
152 "name" : "standard_metadata",
153 "id" : 4,
154 "header_type" : "standard_metadata",
155 "metadata" : true,
156 "pi_omit" : true
157 },
158 {
159 "name" : "ethernet",
160 "id" : 5,
161 "header_type" : "ethernet_t",
162 "metadata" : false,
163 "pi_omit" : true
164 },
165 {
166 "name" : "ipv4",
167 "id" : 6,
168 "header_type" : "ipv4_t",
169 "metadata" : false,
170 "pi_omit" : true
171 },
172 {
173 "name" : "tcp",
174 "id" : 7,
175 "header_type" : "tcp_t",
176 "metadata" : false,
177 "pi_omit" : true
178 },
179 {
180 "name" : "udp",
181 "id" : 8,
182 "header_type" : "udp_t",
183 "metadata" : false,
184 "pi_omit" : true
185 },
186 {
187 "name" : "ecmp_metadata",
188 "id" : 9,
189 "header_type" : "ecmp_metadata_t",
190 "metadata" : true,
191 "pi_omit" : true
192 },
193 {
194 "name" : "wcmp_meta",
195 "id" : 10,
196 "header_type" : "wcmp_meta_t",
197 "metadata" : true,
198 "pi_omit" : true
199 },
200 {
201 "name" : "intrinsic_metadata",
202 "id" : 11,
203 "header_type" : "intrinsic_metadata_t",
204 "metadata" : true,
205 "pi_omit" : true
206 }
207 ],
208 "header_stacks" : [],
209 "header_union_types" : [],
210 "header_unions" : [],
211 "header_union_stacks" : [],
212 "field_lists" : [],
213 "errors" : [
214 ["NoError", 1],
215 ["PacketTooShort", 2],
216 ["NoMatch", 3],
217 ["StackOutOfBounds", 4],
218 ["HeaderTooShort", 5],
219 ["ParserTimeout", 6]
220 ],
221 "enums" : [],
222 "parsers" : [
223 {
224 "name" : "parser",
225 "id" : 0,
226 "init_state" : "start",
227 "parse_states" : [
228 {
229 "name" : "parse_ipv4",
230 "id" : 0,
231 "parser_ops" : [
232 {
233 "parameters" : [
234 {
235 "type" : "regular",
236 "value" : "ipv4"
237 }
238 ],
239 "op" : "extract"
240 }
241 ],
242 "transitions" : [
243 {
244 "value" : "0x06",
245 "mask" : null,
246 "next_state" : "parse_tcp"
247 },
248 {
249 "value" : "0x11",
250 "mask" : null,
251 "next_state" : "parse_udp"
252 },
253 {
254 "value" : "default",
255 "mask" : null,
256 "next_state" : null
257 }
258 ],
259 "transition_key" : [
260 {
261 "type" : "field",
262 "value" : ["ipv4", "protocol"]
263 }
264 ]
265 },
266 {
267 "name" : "parse_tcp",
268 "id" : 1,
269 "parser_ops" : [
270 {
271 "parameters" : [
272 {
273 "type" : "regular",
274 "value" : "tcp"
275 }
276 ],
277 "op" : "extract"
278 }
279 ],
280 "transitions" : [
281 {
282 "value" : "default",
283 "mask" : null,
284 "next_state" : null
285 }
286 ],
287 "transition_key" : []
288 },
289 {
290 "name" : "parse_udp",
291 "id" : 2,
292 "parser_ops" : [
293 {
294 "parameters" : [
295 {
296 "type" : "regular",
297 "value" : "udp"
298 }
299 ],
300 "op" : "extract"
301 }
302 ],
303 "transitions" : [
304 {
305 "value" : "default",
306 "mask" : null,
307 "next_state" : null
308 }
309 ],
310 "transition_key" : []
311 },
312 {
313 "name" : "start",
314 "id" : 3,
315 "parser_ops" : [
316 {
317 "parameters" : [
318 {
319 "type" : "regular",
320 "value" : "ethernet"
321 }
322 ],
323 "op" : "extract"
324 }
325 ],
326 "transitions" : [
327 {
328 "value" : "0x0800",
329 "mask" : null,
330 "next_state" : "parse_ipv4"
331 },
332 {
333 "value" : "default",
334 "mask" : null,
335 "next_state" : null
336 }
337 ],
338 "transition_key" : [
339 {
340 "type" : "field",
341 "value" : ["ethernet", "etherType"]
342 }
343 ]
344 }
345 ]
346 }
347 ],
348 "deparsers" : [
349 {
350 "name" : "deparser",
351 "id" : 0,
352 "source_info" : {
353 "filename" : "include/parsers.p4",
354 "line" : 43,
355 "column" : 8,
356 "source_fragment" : "DeparserImpl"
357 },
358 "order" : ["ethernet", "ipv4", "udp", "tcp"]
359 }
360 ],
361 "meter_arrays" : [],
362 "counter_arrays" : [
363 {
364 "name" : "table0_counter",
365 "id" : 0,
366 "is_direct" : true,
367 "binding" : "table0"
368 },
369 {
370 "name" : "port_counters_control.egress_port_counter",
371 "id" : 1,
372 "source_info" : {
373 "filename" : "include/port_counters.p4",
374 "line" : 6,
375 "column" : 38,
376 "source_fragment" : "egress_port_counter"
377 },
378 "size" : 254,
379 "is_direct" : false
380 },
381 {
382 "name" : "port_counters_control.ingress_port_counter",
383 "id" : 2,
384 "source_info" : {
385 "filename" : "include/port_counters.p4",
386 "line" : 7,
387 "column" : 38,
388 "source_fragment" : "ingress_port_counter"
389 },
390 "size" : 254,
391 "is_direct" : false
392 }
393 ],
394 "register_arrays" : [],
395 "calculations" : [],
396 "learn_lists" : [],
397 "actions" : [
398 {
399 "name" : "set_egress_port",
400 "id" : 0,
401 "runtime_data" : [
402 {
403 "name" : "port",
404 "bitwidth" : 9
405 }
406 ],
407 "primitives" : [
408 {
409 "op" : "assign",
410 "parameters" : [
411 {
412 "type" : "field",
413 "value" : ["standard_metadata_3", "ingress_port"]
414 },
415 {
416 "type" : "field",
417 "value" : ["standard_metadata", "ingress_port"]
418 }
419 ],
420 "source_info" : {
421 "filename" : "include/actions.p4",
422 "line" : 8,
423 "column" : 49,
424 "source_fragment" : "standard_metadata, Port port) { ..."
425 }
426 },
427 {
428 "op" : "assign",
429 "parameters" : [
430 {
431 "type" : "field",
432 "value" : ["standard_metadata_3", "egress_spec"]
433 },
434 {
435 "type" : "field",
436 "value" : ["standard_metadata", "egress_spec"]
437 }
438 ],
439 "source_info" : {
440 "filename" : "include/actions.p4",
441 "line" : 8,
442 "column" : 49,
443 "source_fragment" : "standard_metadata, Port port) { ..."
444 }
445 },
446 {
447 "op" : "assign",
448 "parameters" : [
449 {
450 "type" : "field",
451 "value" : ["standard_metadata_3", "egress_port"]
452 },
453 {
454 "type" : "field",
455 "value" : ["standard_metadata", "egress_port"]
456 }
457 ],
458 "source_info" : {
459 "filename" : "include/actions.p4",
460 "line" : 8,
461 "column" : 49,
462 "source_fragment" : "standard_metadata, Port port) { ..."
463 }
464 },
465 {
466 "op" : "assign",
467 "parameters" : [
468 {
469 "type" : "field",
470 "value" : ["standard_metadata_3", "clone_spec"]
471 },
472 {
473 "type" : "field",
474 "value" : ["standard_metadata", "clone_spec"]
475 }
476 ],
477 "source_info" : {
478 "filename" : "include/actions.p4",
479 "line" : 8,
480 "column" : 49,
481 "source_fragment" : "standard_metadata, Port port) { ..."
482 }
483 },
484 {
485 "op" : "assign",
486 "parameters" : [
487 {
488 "type" : "field",
489 "value" : ["standard_metadata_3", "instance_type"]
490 },
491 {
492 "type" : "field",
493 "value" : ["standard_metadata", "instance_type"]
494 }
495 ],
496 "source_info" : {
497 "filename" : "include/actions.p4",
498 "line" : 8,
499 "column" : 49,
500 "source_fragment" : "standard_metadata, Port port) { ..."
501 }
502 },
503 {
504 "op" : "assign",
505 "parameters" : [
506 {
507 "type" : "field",
508 "value" : ["standard_metadata_3", "drop"]
509 },
510 {
511 "type" : "field",
512 "value" : ["standard_metadata", "drop"]
513 }
514 ],
515 "source_info" : {
516 "filename" : "include/actions.p4",
517 "line" : 8,
518 "column" : 49,
519 "source_fragment" : "standard_metadata, Port port) { ..."
520 }
521 },
522 {
523 "op" : "assign",
524 "parameters" : [
525 {
526 "type" : "field",
527 "value" : ["standard_metadata_3", "recirculate_port"]
528 },
529 {
530 "type" : "field",
531 "value" : ["standard_metadata", "recirculate_port"]
532 }
533 ],
534 "source_info" : {
535 "filename" : "include/actions.p4",
536 "line" : 8,
537 "column" : 49,
538 "source_fragment" : "standard_metadata, Port port) { ..."
539 }
540 },
541 {
542 "op" : "assign",
543 "parameters" : [
544 {
545 "type" : "field",
546 "value" : ["standard_metadata_3", "packet_length"]
547 },
548 {
549 "type" : "field",
550 "value" : ["standard_metadata", "packet_length"]
551 }
552 ],
553 "source_info" : {
554 "filename" : "include/actions.p4",
555 "line" : 8,
556 "column" : 49,
557 "source_fragment" : "standard_metadata, Port port) { ..."
558 }
559 },
560 {
561 "op" : "assign",
562 "parameters" : [
563 {
564 "type" : "field",
565 "value" : ["standard_metadata_3", "enq_timestamp"]
566 },
567 {
568 "type" : "field",
569 "value" : ["standard_metadata", "enq_timestamp"]
570 }
571 ],
572 "source_info" : {
573 "filename" : "include/actions.p4",
574 "line" : 8,
575 "column" : 49,
576 "source_fragment" : "standard_metadata, Port port) { ..."
577 }
578 },
579 {
580 "op" : "assign",
581 "parameters" : [
582 {
583 "type" : "field",
584 "value" : ["standard_metadata_3", "enq_qdepth"]
585 },
586 {
587 "type" : "field",
588 "value" : ["standard_metadata", "enq_qdepth"]
589 }
590 ],
591 "source_info" : {
592 "filename" : "include/actions.p4",
593 "line" : 8,
594 "column" : 49,
595 "source_fragment" : "standard_metadata, Port port) { ..."
596 }
597 },
598 {
599 "op" : "assign",
600 "parameters" : [
601 {
602 "type" : "field",
603 "value" : ["standard_metadata_3", "deq_timedelta"]
604 },
605 {
606 "type" : "field",
607 "value" : ["standard_metadata", "deq_timedelta"]
608 }
609 ],
610 "source_info" : {
611 "filename" : "include/actions.p4",
612 "line" : 8,
613 "column" : 49,
614 "source_fragment" : "standard_metadata, Port port) { ..."
615 }
616 },
617 {
618 "op" : "assign",
619 "parameters" : [
620 {
621 "type" : "field",
622 "value" : ["standard_metadata_3", "deq_qdepth"]
623 },
624 {
625 "type" : "field",
626 "value" : ["standard_metadata", "deq_qdepth"]
627 }
628 ],
629 "source_info" : {
630 "filename" : "include/actions.p4",
631 "line" : 8,
632 "column" : 49,
633 "source_fragment" : "standard_metadata, Port port) { ..."
634 }
635 },
636 {
637 "op" : "assign",
638 "parameters" : [
639 {
640 "type" : "field",
641 "value" : ["standard_metadata_3", "ingress_global_timestamp"]
642 },
643 {
644 "type" : "field",
645 "value" : ["standard_metadata", "ingress_global_timestamp"]
646 }
647 ],
648 "source_info" : {
649 "filename" : "include/actions.p4",
650 "line" : 8,
651 "column" : 49,
652 "source_fragment" : "standard_metadata, Port port) { ..."
653 }
654 },
655 {
656 "op" : "assign",
657 "parameters" : [
658 {
659 "type" : "field",
660 "value" : ["standard_metadata_3", "lf_field_list"]
661 },
662 {
663 "type" : "field",
664 "value" : ["standard_metadata", "lf_field_list"]
665 }
666 ],
667 "source_info" : {
668 "filename" : "include/actions.p4",
669 "line" : 8,
670 "column" : 49,
671 "source_fragment" : "standard_metadata, Port port) { ..."
672 }
673 },
674 {
675 "op" : "assign",
676 "parameters" : [
677 {
678 "type" : "field",
679 "value" : ["standard_metadata_3", "mcast_grp"]
680 },
681 {
682 "type" : "field",
683 "value" : ["standard_metadata", "mcast_grp"]
684 }
685 ],
686 "source_info" : {
687 "filename" : "include/actions.p4",
688 "line" : 8,
689 "column" : 49,
690 "source_fragment" : "standard_metadata, Port port) { ..."
691 }
692 },
693 {
694 "op" : "assign",
695 "parameters" : [
696 {
697 "type" : "field",
698 "value" : ["standard_metadata_3", "resubmit_flag"]
699 },
700 {
701 "type" : "field",
702 "value" : ["standard_metadata", "resubmit_flag"]
703 }
704 ],
705 "source_info" : {
706 "filename" : "include/actions.p4",
707 "line" : 8,
708 "column" : 49,
709 "source_fragment" : "standard_metadata, Port port) { ..."
710 }
711 },
712 {
713 "op" : "assign",
714 "parameters" : [
715 {
716 "type" : "field",
717 "value" : ["standard_metadata_3", "egress_rid"]
718 },
719 {
720 "type" : "field",
721 "value" : ["standard_metadata", "egress_rid"]
722 }
723 ],
724 "source_info" : {
725 "filename" : "include/actions.p4",
726 "line" : 8,
727 "column" : 49,
728 "source_fragment" : "standard_metadata, Port port) { ..."
729 }
730 },
731 {
732 "op" : "assign",
733 "parameters" : [
734 {
735 "type" : "field",
736 "value" : ["standard_metadata_3", "egress_spec"]
737 },
738 {
739 "type" : "runtime_data",
740 "value" : 0
741 }
742 ],
743 "source_info" : {
744 "filename" : "include/actions.p4",
745 "line" : 9,
746 "column" : 4,
747 "source_fragment" : "standard_metadata.egress_spec = port"
748 }
749 },
750 {
751 "op" : "assign",
752 "parameters" : [
753 {
754 "type" : "field",
755 "value" : ["standard_metadata", "ingress_port"]
756 },
757 {
758 "type" : "field",
759 "value" : ["standard_metadata_3", "ingress_port"]
760 }
761 ],
762 "source_info" : {
763 "filename" : "include/actions.p4",
764 "line" : 8,
765 "column" : 49,
766 "source_fragment" : "standard_metadata, Port port) { ..."
767 }
768 },
769 {
770 "op" : "assign",
771 "parameters" : [
772 {
773 "type" : "field",
774 "value" : ["standard_metadata", "egress_spec"]
775 },
776 {
777 "type" : "field",
778 "value" : ["standard_metadata_3", "egress_spec"]
779 }
780 ],
781 "source_info" : {
782 "filename" : "include/actions.p4",
783 "line" : 8,
784 "column" : 49,
785 "source_fragment" : "standard_metadata, Port port) { ..."
786 }
787 },
788 {
789 "op" : "assign",
790 "parameters" : [
791 {
792 "type" : "field",
793 "value" : ["standard_metadata", "egress_port"]
794 },
795 {
796 "type" : "field",
797 "value" : ["standard_metadata_3", "egress_port"]
798 }
799 ],
800 "source_info" : {
801 "filename" : "include/actions.p4",
802 "line" : 8,
803 "column" : 49,
804 "source_fragment" : "standard_metadata, Port port) { ..."
805 }
806 },
807 {
808 "op" : "assign",
809 "parameters" : [
810 {
811 "type" : "field",
812 "value" : ["standard_metadata", "clone_spec"]
813 },
814 {
815 "type" : "field",
816 "value" : ["standard_metadata_3", "clone_spec"]
817 }
818 ],
819 "source_info" : {
820 "filename" : "include/actions.p4",
821 "line" : 8,
822 "column" : 49,
823 "source_fragment" : "standard_metadata, Port port) { ..."
824 }
825 },
826 {
827 "op" : "assign",
828 "parameters" : [
829 {
830 "type" : "field",
831 "value" : ["standard_metadata", "instance_type"]
832 },
833 {
834 "type" : "field",
835 "value" : ["standard_metadata_3", "instance_type"]
836 }
837 ],
838 "source_info" : {
839 "filename" : "include/actions.p4",
840 "line" : 8,
841 "column" : 49,
842 "source_fragment" : "standard_metadata, Port port) { ..."
843 }
844 },
845 {
846 "op" : "assign",
847 "parameters" : [
848 {
849 "type" : "field",
850 "value" : ["standard_metadata", "drop"]
851 },
852 {
853 "type" : "field",
854 "value" : ["standard_metadata_3", "drop"]
855 }
856 ],
857 "source_info" : {
858 "filename" : "include/actions.p4",
859 "line" : 8,
860 "column" : 49,
861 "source_fragment" : "standard_metadata, Port port) { ..."
862 }
863 },
864 {
865 "op" : "assign",
866 "parameters" : [
867 {
868 "type" : "field",
869 "value" : ["standard_metadata", "recirculate_port"]
870 },
871 {
872 "type" : "field",
873 "value" : ["standard_metadata_3", "recirculate_port"]
874 }
875 ],
876 "source_info" : {
877 "filename" : "include/actions.p4",
878 "line" : 8,
879 "column" : 49,
880 "source_fragment" : "standard_metadata, Port port) { ..."
881 }
882 },
883 {
884 "op" : "assign",
885 "parameters" : [
886 {
887 "type" : "field",
888 "value" : ["standard_metadata", "packet_length"]
889 },
890 {
891 "type" : "field",
892 "value" : ["standard_metadata_3", "packet_length"]
893 }
894 ],
895 "source_info" : {
896 "filename" : "include/actions.p4",
897 "line" : 8,
898 "column" : 49,
899 "source_fragment" : "standard_metadata, Port port) { ..."
900 }
901 },
902 {
903 "op" : "assign",
904 "parameters" : [
905 {
906 "type" : "field",
907 "value" : ["standard_metadata", "enq_timestamp"]
908 },
909 {
910 "type" : "field",
911 "value" : ["standard_metadata_3", "enq_timestamp"]
912 }
913 ],
914 "source_info" : {
915 "filename" : "include/actions.p4",
916 "line" : 8,
917 "column" : 49,
918 "source_fragment" : "standard_metadata, Port port) { ..."
919 }
920 },
921 {
922 "op" : "assign",
923 "parameters" : [
924 {
925 "type" : "field",
926 "value" : ["standard_metadata", "enq_qdepth"]
927 },
928 {
929 "type" : "field",
930 "value" : ["standard_metadata_3", "enq_qdepth"]
931 }
932 ],
933 "source_info" : {
934 "filename" : "include/actions.p4",
935 "line" : 8,
936 "column" : 49,
937 "source_fragment" : "standard_metadata, Port port) { ..."
938 }
939 },
940 {
941 "op" : "assign",
942 "parameters" : [
943 {
944 "type" : "field",
945 "value" : ["standard_metadata", "deq_timedelta"]
946 },
947 {
948 "type" : "field",
949 "value" : ["standard_metadata_3", "deq_timedelta"]
950 }
951 ],
952 "source_info" : {
953 "filename" : "include/actions.p4",
954 "line" : 8,
955 "column" : 49,
956 "source_fragment" : "standard_metadata, Port port) { ..."
957 }
958 },
959 {
960 "op" : "assign",
961 "parameters" : [
962 {
963 "type" : "field",
964 "value" : ["standard_metadata", "deq_qdepth"]
965 },
966 {
967 "type" : "field",
968 "value" : ["standard_metadata_3", "deq_qdepth"]
969 }
970 ],
971 "source_info" : {
972 "filename" : "include/actions.p4",
973 "line" : 8,
974 "column" : 49,
975 "source_fragment" : "standard_metadata, Port port) { ..."
976 }
977 },
978 {
979 "op" : "assign",
980 "parameters" : [
981 {
982 "type" : "field",
983 "value" : ["standard_metadata", "ingress_global_timestamp"]
984 },
985 {
986 "type" : "field",
987 "value" : ["standard_metadata_3", "ingress_global_timestamp"]
988 }
989 ],
990 "source_info" : {
991 "filename" : "include/actions.p4",
992 "line" : 8,
993 "column" : 49,
994 "source_fragment" : "standard_metadata, Port port) { ..."
995 }
996 },
997 {
998 "op" : "assign",
999 "parameters" : [
1000 {
1001 "type" : "field",
1002 "value" : ["standard_metadata", "lf_field_list"]
1003 },
1004 {
1005 "type" : "field",
1006 "value" : ["standard_metadata_3", "lf_field_list"]
1007 }
1008 ],
1009 "source_info" : {
1010 "filename" : "include/actions.p4",
1011 "line" : 8,
1012 "column" : 49,
1013 "source_fragment" : "standard_metadata, Port port) { ..."
1014 }
1015 },
1016 {
1017 "op" : "assign",
1018 "parameters" : [
1019 {
1020 "type" : "field",
1021 "value" : ["standard_metadata", "mcast_grp"]
1022 },
1023 {
1024 "type" : "field",
1025 "value" : ["standard_metadata_3", "mcast_grp"]
1026 }
1027 ],
1028 "source_info" : {
1029 "filename" : "include/actions.p4",
1030 "line" : 8,
1031 "column" : 49,
1032 "source_fragment" : "standard_metadata, Port port) { ..."
1033 }
1034 },
1035 {
1036 "op" : "assign",
1037 "parameters" : [
1038 {
1039 "type" : "field",
1040 "value" : ["standard_metadata", "resubmit_flag"]
1041 },
1042 {
1043 "type" : "field",
1044 "value" : ["standard_metadata_3", "resubmit_flag"]
1045 }
1046 ],
1047 "source_info" : {
1048 "filename" : "include/actions.p4",
1049 "line" : 8,
1050 "column" : 49,
1051 "source_fragment" : "standard_metadata, Port port) { ..."
1052 }
1053 },
1054 {
1055 "op" : "assign",
1056 "parameters" : [
1057 {
1058 "type" : "field",
1059 "value" : ["standard_metadata", "egress_rid"]
1060 },
1061 {
1062 "type" : "field",
1063 "value" : ["standard_metadata_3", "egress_rid"]
1064 }
1065 ],
1066 "source_info" : {
1067 "filename" : "include/actions.p4",
1068 "line" : 8,
1069 "column" : 49,
1070 "source_fragment" : "standard_metadata, Port port) { ..."
1071 }
1072 }
1073 ]
1074 },
1075 {
1076 "name" : "send_to_cpu",
1077 "id" : 1,
1078 "runtime_data" : [],
1079 "primitives" : [
1080 {
1081 "op" : "assign",
1082 "parameters" : [
1083 {
1084 "type" : "field",
1085 "value" : ["standard_metadata_4", "ingress_port"]
1086 },
1087 {
1088 "type" : "field",
1089 "value" : ["standard_metadata", "ingress_port"]
1090 }
1091 ],
1092 "source_info" : {
1093 "filename" : "include/actions.p4",
1094 "line" : 4,
1095 "column" : 45,
1096 "source_fragment" : "standard_metadata) { ..."
1097 }
1098 },
1099 {
1100 "op" : "assign",
1101 "parameters" : [
1102 {
1103 "type" : "field",
1104 "value" : ["standard_metadata_4", "egress_spec"]
1105 },
1106 {
1107 "type" : "field",
1108 "value" : ["standard_metadata", "egress_spec"]
1109 }
1110 ],
1111 "source_info" : {
1112 "filename" : "include/actions.p4",
1113 "line" : 4,
1114 "column" : 45,
1115 "source_fragment" : "standard_metadata) { ..."
1116 }
1117 },
1118 {
1119 "op" : "assign",
1120 "parameters" : [
1121 {
1122 "type" : "field",
1123 "value" : ["standard_metadata_4", "egress_port"]
1124 },
1125 {
1126 "type" : "field",
1127 "value" : ["standard_metadata", "egress_port"]
1128 }
1129 ],
1130 "source_info" : {
1131 "filename" : "include/actions.p4",
1132 "line" : 4,
1133 "column" : 45,
1134 "source_fragment" : "standard_metadata) { ..."
1135 }
1136 },
1137 {
1138 "op" : "assign",
1139 "parameters" : [
1140 {
1141 "type" : "field",
1142 "value" : ["standard_metadata_4", "clone_spec"]
1143 },
1144 {
1145 "type" : "field",
1146 "value" : ["standard_metadata", "clone_spec"]
1147 }
1148 ],
1149 "source_info" : {
1150 "filename" : "include/actions.p4",
1151 "line" : 4,
1152 "column" : 45,
1153 "source_fragment" : "standard_metadata) { ..."
1154 }
1155 },
1156 {
1157 "op" : "assign",
1158 "parameters" : [
1159 {
1160 "type" : "field",
1161 "value" : ["standard_metadata_4", "instance_type"]
1162 },
1163 {
1164 "type" : "field",
1165 "value" : ["standard_metadata", "instance_type"]
1166 }
1167 ],
1168 "source_info" : {
1169 "filename" : "include/actions.p4",
1170 "line" : 4,
1171 "column" : 45,
1172 "source_fragment" : "standard_metadata) { ..."
1173 }
1174 },
1175 {
1176 "op" : "assign",
1177 "parameters" : [
1178 {
1179 "type" : "field",
1180 "value" : ["standard_metadata_4", "drop"]
1181 },
1182 {
1183 "type" : "field",
1184 "value" : ["standard_metadata", "drop"]
1185 }
1186 ],
1187 "source_info" : {
1188 "filename" : "include/actions.p4",
1189 "line" : 4,
1190 "column" : 45,
1191 "source_fragment" : "standard_metadata) { ..."
1192 }
1193 },
1194 {
1195 "op" : "assign",
1196 "parameters" : [
1197 {
1198 "type" : "field",
1199 "value" : ["standard_metadata_4", "recirculate_port"]
1200 },
1201 {
1202 "type" : "field",
1203 "value" : ["standard_metadata", "recirculate_port"]
1204 }
1205 ],
1206 "source_info" : {
1207 "filename" : "include/actions.p4",
1208 "line" : 4,
1209 "column" : 45,
1210 "source_fragment" : "standard_metadata) { ..."
1211 }
1212 },
1213 {
1214 "op" : "assign",
1215 "parameters" : [
1216 {
1217 "type" : "field",
1218 "value" : ["standard_metadata_4", "packet_length"]
1219 },
1220 {
1221 "type" : "field",
1222 "value" : ["standard_metadata", "packet_length"]
1223 }
1224 ],
1225 "source_info" : {
1226 "filename" : "include/actions.p4",
1227 "line" : 4,
1228 "column" : 45,
1229 "source_fragment" : "standard_metadata) { ..."
1230 }
1231 },
1232 {
1233 "op" : "assign",
1234 "parameters" : [
1235 {
1236 "type" : "field",
1237 "value" : ["standard_metadata_4", "enq_timestamp"]
1238 },
1239 {
1240 "type" : "field",
1241 "value" : ["standard_metadata", "enq_timestamp"]
1242 }
1243 ],
1244 "source_info" : {
1245 "filename" : "include/actions.p4",
1246 "line" : 4,
1247 "column" : 45,
1248 "source_fragment" : "standard_metadata) { ..."
1249 }
1250 },
1251 {
1252 "op" : "assign",
1253 "parameters" : [
1254 {
1255 "type" : "field",
1256 "value" : ["standard_metadata_4", "enq_qdepth"]
1257 },
1258 {
1259 "type" : "field",
1260 "value" : ["standard_metadata", "enq_qdepth"]
1261 }
1262 ],
1263 "source_info" : {
1264 "filename" : "include/actions.p4",
1265 "line" : 4,
1266 "column" : 45,
1267 "source_fragment" : "standard_metadata) { ..."
1268 }
1269 },
1270 {
1271 "op" : "assign",
1272 "parameters" : [
1273 {
1274 "type" : "field",
1275 "value" : ["standard_metadata_4", "deq_timedelta"]
1276 },
1277 {
1278 "type" : "field",
1279 "value" : ["standard_metadata", "deq_timedelta"]
1280 }
1281 ],
1282 "source_info" : {
1283 "filename" : "include/actions.p4",
1284 "line" : 4,
1285 "column" : 45,
1286 "source_fragment" : "standard_metadata) { ..."
1287 }
1288 },
1289 {
1290 "op" : "assign",
1291 "parameters" : [
1292 {
1293 "type" : "field",
1294 "value" : ["standard_metadata_4", "deq_qdepth"]
1295 },
1296 {
1297 "type" : "field",
1298 "value" : ["standard_metadata", "deq_qdepth"]
1299 }
1300 ],
1301 "source_info" : {
1302 "filename" : "include/actions.p4",
1303 "line" : 4,
1304 "column" : 45,
1305 "source_fragment" : "standard_metadata) { ..."
1306 }
1307 },
1308 {
1309 "op" : "assign",
1310 "parameters" : [
1311 {
1312 "type" : "field",
1313 "value" : ["standard_metadata_4", "ingress_global_timestamp"]
1314 },
1315 {
1316 "type" : "field",
1317 "value" : ["standard_metadata", "ingress_global_timestamp"]
1318 }
1319 ],
1320 "source_info" : {
1321 "filename" : "include/actions.p4",
1322 "line" : 4,
1323 "column" : 45,
1324 "source_fragment" : "standard_metadata) { ..."
1325 }
1326 },
1327 {
1328 "op" : "assign",
1329 "parameters" : [
1330 {
1331 "type" : "field",
1332 "value" : ["standard_metadata_4", "lf_field_list"]
1333 },
1334 {
1335 "type" : "field",
1336 "value" : ["standard_metadata", "lf_field_list"]
1337 }
1338 ],
1339 "source_info" : {
1340 "filename" : "include/actions.p4",
1341 "line" : 4,
1342 "column" : 45,
1343 "source_fragment" : "standard_metadata) { ..."
1344 }
1345 },
1346 {
1347 "op" : "assign",
1348 "parameters" : [
1349 {
1350 "type" : "field",
1351 "value" : ["standard_metadata_4", "mcast_grp"]
1352 },
1353 {
1354 "type" : "field",
1355 "value" : ["standard_metadata", "mcast_grp"]
1356 }
1357 ],
1358 "source_info" : {
1359 "filename" : "include/actions.p4",
1360 "line" : 4,
1361 "column" : 45,
1362 "source_fragment" : "standard_metadata) { ..."
1363 }
1364 },
1365 {
1366 "op" : "assign",
1367 "parameters" : [
1368 {
1369 "type" : "field",
1370 "value" : ["standard_metadata_4", "resubmit_flag"]
1371 },
1372 {
1373 "type" : "field",
1374 "value" : ["standard_metadata", "resubmit_flag"]
1375 }
1376 ],
1377 "source_info" : {
1378 "filename" : "include/actions.p4",
1379 "line" : 4,
1380 "column" : 45,
1381 "source_fragment" : "standard_metadata) { ..."
1382 }
1383 },
1384 {
1385 "op" : "assign",
1386 "parameters" : [
1387 {
1388 "type" : "field",
1389 "value" : ["standard_metadata_4", "egress_rid"]
1390 },
1391 {
1392 "type" : "field",
1393 "value" : ["standard_metadata", "egress_rid"]
1394 }
1395 ],
1396 "source_info" : {
1397 "filename" : "include/actions.p4",
1398 "line" : 4,
1399 "column" : 45,
1400 "source_fragment" : "standard_metadata) { ..."
1401 }
1402 },
1403 {
1404 "op" : "assign",
1405 "parameters" : [
1406 {
1407 "type" : "field",
1408 "value" : ["standard_metadata_4", "egress_spec"]
1409 },
1410 {
1411 "type" : "hexstr",
1412 "value" : "0x00ff"
1413 }
1414 ],
1415 "source_info" : {
1416 "filename" : "include/actions.p4",
1417 "line" : 5,
1418 "column" : 4,
1419 "source_fragment" : "standard_metadata.egress_spec = 9w255"
1420 }
1421 },
1422 {
1423 "op" : "assign",
1424 "parameters" : [
1425 {
1426 "type" : "field",
1427 "value" : ["standard_metadata", "ingress_port"]
1428 },
1429 {
1430 "type" : "field",
1431 "value" : ["standard_metadata_4", "ingress_port"]
1432 }
1433 ],
1434 "source_info" : {
1435 "filename" : "include/actions.p4",
1436 "line" : 4,
1437 "column" : 45,
1438 "source_fragment" : "standard_metadata) { ..."
1439 }
1440 },
1441 {
1442 "op" : "assign",
1443 "parameters" : [
1444 {
1445 "type" : "field",
1446 "value" : ["standard_metadata", "egress_spec"]
1447 },
1448 {
1449 "type" : "field",
1450 "value" : ["standard_metadata_4", "egress_spec"]
1451 }
1452 ],
1453 "source_info" : {
1454 "filename" : "include/actions.p4",
1455 "line" : 4,
1456 "column" : 45,
1457 "source_fragment" : "standard_metadata) { ..."
1458 }
1459 },
1460 {
1461 "op" : "assign",
1462 "parameters" : [
1463 {
1464 "type" : "field",
1465 "value" : ["standard_metadata", "egress_port"]
1466 },
1467 {
1468 "type" : "field",
1469 "value" : ["standard_metadata_4", "egress_port"]
1470 }
1471 ],
1472 "source_info" : {
1473 "filename" : "include/actions.p4",
1474 "line" : 4,
1475 "column" : 45,
1476 "source_fragment" : "standard_metadata) { ..."
1477 }
1478 },
1479 {
1480 "op" : "assign",
1481 "parameters" : [
1482 {
1483 "type" : "field",
1484 "value" : ["standard_metadata", "clone_spec"]
1485 },
1486 {
1487 "type" : "field",
1488 "value" : ["standard_metadata_4", "clone_spec"]
1489 }
1490 ],
1491 "source_info" : {
1492 "filename" : "include/actions.p4",
1493 "line" : 4,
1494 "column" : 45,
1495 "source_fragment" : "standard_metadata) { ..."
1496 }
1497 },
1498 {
1499 "op" : "assign",
1500 "parameters" : [
1501 {
1502 "type" : "field",
1503 "value" : ["standard_metadata", "instance_type"]
1504 },
1505 {
1506 "type" : "field",
1507 "value" : ["standard_metadata_4", "instance_type"]
1508 }
1509 ],
1510 "source_info" : {
1511 "filename" : "include/actions.p4",
1512 "line" : 4,
1513 "column" : 45,
1514 "source_fragment" : "standard_metadata) { ..."
1515 }
1516 },
1517 {
1518 "op" : "assign",
1519 "parameters" : [
1520 {
1521 "type" : "field",
1522 "value" : ["standard_metadata", "drop"]
1523 },
1524 {
1525 "type" : "field",
1526 "value" : ["standard_metadata_4", "drop"]
1527 }
1528 ],
1529 "source_info" : {
1530 "filename" : "include/actions.p4",
1531 "line" : 4,
1532 "column" : 45,
1533 "source_fragment" : "standard_metadata) { ..."
1534 }
1535 },
1536 {
1537 "op" : "assign",
1538 "parameters" : [
1539 {
1540 "type" : "field",
1541 "value" : ["standard_metadata", "recirculate_port"]
1542 },
1543 {
1544 "type" : "field",
1545 "value" : ["standard_metadata_4", "recirculate_port"]
1546 }
1547 ],
1548 "source_info" : {
1549 "filename" : "include/actions.p4",
1550 "line" : 4,
1551 "column" : 45,
1552 "source_fragment" : "standard_metadata) { ..."
1553 }
1554 },
1555 {
1556 "op" : "assign",
1557 "parameters" : [
1558 {
1559 "type" : "field",
1560 "value" : ["standard_metadata", "packet_length"]
1561 },
1562 {
1563 "type" : "field",
1564 "value" : ["standard_metadata_4", "packet_length"]
1565 }
1566 ],
1567 "source_info" : {
1568 "filename" : "include/actions.p4",
1569 "line" : 4,
1570 "column" : 45,
1571 "source_fragment" : "standard_metadata) { ..."
1572 }
1573 },
1574 {
1575 "op" : "assign",
1576 "parameters" : [
1577 {
1578 "type" : "field",
1579 "value" : ["standard_metadata", "enq_timestamp"]
1580 },
1581 {
1582 "type" : "field",
1583 "value" : ["standard_metadata_4", "enq_timestamp"]
1584 }
1585 ],
1586 "source_info" : {
1587 "filename" : "include/actions.p4",
1588 "line" : 4,
1589 "column" : 45,
1590 "source_fragment" : "standard_metadata) { ..."
1591 }
1592 },
1593 {
1594 "op" : "assign",
1595 "parameters" : [
1596 {
1597 "type" : "field",
1598 "value" : ["standard_metadata", "enq_qdepth"]
1599 },
1600 {
1601 "type" : "field",
1602 "value" : ["standard_metadata_4", "enq_qdepth"]
1603 }
1604 ],
1605 "source_info" : {
1606 "filename" : "include/actions.p4",
1607 "line" : 4,
1608 "column" : 45,
1609 "source_fragment" : "standard_metadata) { ..."
1610 }
1611 },
1612 {
1613 "op" : "assign",
1614 "parameters" : [
1615 {
1616 "type" : "field",
1617 "value" : ["standard_metadata", "deq_timedelta"]
1618 },
1619 {
1620 "type" : "field",
1621 "value" : ["standard_metadata_4", "deq_timedelta"]
1622 }
1623 ],
1624 "source_info" : {
1625 "filename" : "include/actions.p4",
1626 "line" : 4,
1627 "column" : 45,
1628 "source_fragment" : "standard_metadata) { ..."
1629 }
1630 },
1631 {
1632 "op" : "assign",
1633 "parameters" : [
1634 {
1635 "type" : "field",
1636 "value" : ["standard_metadata", "deq_qdepth"]
1637 },
1638 {
1639 "type" : "field",
1640 "value" : ["standard_metadata_4", "deq_qdepth"]
1641 }
1642 ],
1643 "source_info" : {
1644 "filename" : "include/actions.p4",
1645 "line" : 4,
1646 "column" : 45,
1647 "source_fragment" : "standard_metadata) { ..."
1648 }
1649 },
1650 {
1651 "op" : "assign",
1652 "parameters" : [
1653 {
1654 "type" : "field",
1655 "value" : ["standard_metadata", "ingress_global_timestamp"]
1656 },
1657 {
1658 "type" : "field",
1659 "value" : ["standard_metadata_4", "ingress_global_timestamp"]
1660 }
1661 ],
1662 "source_info" : {
1663 "filename" : "include/actions.p4",
1664 "line" : 4,
1665 "column" : 45,
1666 "source_fragment" : "standard_metadata) { ..."
1667 }
1668 },
1669 {
1670 "op" : "assign",
1671 "parameters" : [
1672 {
1673 "type" : "field",
1674 "value" : ["standard_metadata", "lf_field_list"]
1675 },
1676 {
1677 "type" : "field",
1678 "value" : ["standard_metadata_4", "lf_field_list"]
1679 }
1680 ],
1681 "source_info" : {
1682 "filename" : "include/actions.p4",
1683 "line" : 4,
1684 "column" : 45,
1685 "source_fragment" : "standard_metadata) { ..."
1686 }
1687 },
1688 {
1689 "op" : "assign",
1690 "parameters" : [
1691 {
1692 "type" : "field",
1693 "value" : ["standard_metadata", "mcast_grp"]
1694 },
1695 {
1696 "type" : "field",
1697 "value" : ["standard_metadata_4", "mcast_grp"]
1698 }
1699 ],
1700 "source_info" : {
1701 "filename" : "include/actions.p4",
1702 "line" : 4,
1703 "column" : 45,
1704 "source_fragment" : "standard_metadata) { ..."
1705 }
1706 },
1707 {
1708 "op" : "assign",
1709 "parameters" : [
1710 {
1711 "type" : "field",
1712 "value" : ["standard_metadata", "resubmit_flag"]
1713 },
1714 {
1715 "type" : "field",
1716 "value" : ["standard_metadata_4", "resubmit_flag"]
1717 }
1718 ],
1719 "source_info" : {
1720 "filename" : "include/actions.p4",
1721 "line" : 4,
1722 "column" : 45,
1723 "source_fragment" : "standard_metadata) { ..."
1724 }
1725 },
1726 {
1727 "op" : "assign",
1728 "parameters" : [
1729 {
1730 "type" : "field",
1731 "value" : ["standard_metadata", "egress_rid"]
1732 },
1733 {
1734 "type" : "field",
1735 "value" : ["standard_metadata_4", "egress_rid"]
1736 }
1737 ],
1738 "source_info" : {
1739 "filename" : "include/actions.p4",
1740 "line" : 4,
1741 "column" : 45,
1742 "source_fragment" : "standard_metadata) { ..."
1743 }
1744 }
1745 ]
1746 },
1747 {
1748 "name" : "drop",
1749 "id" : 2,
1750 "runtime_data" : [],
1751 "primitives" : [
1752 {
1753 "op" : "assign",
1754 "parameters" : [
1755 {
1756 "type" : "field",
1757 "value" : ["standard_metadata_5", "ingress_port"]
1758 },
1759 {
1760 "type" : "field",
1761 "value" : ["standard_metadata", "ingress_port"]
1762 }
1763 ],
1764 "source_info" : {
1765 "filename" : "include/actions.p4",
1766 "line" : 12,
1767 "column" : 38,
1768 "source_fragment" : "standard_metadata) { ..."
1769 }
1770 },
1771 {
1772 "op" : "assign",
1773 "parameters" : [
1774 {
1775 "type" : "field",
1776 "value" : ["standard_metadata_5", "egress_spec"]
1777 },
1778 {
1779 "type" : "field",
1780 "value" : ["standard_metadata", "egress_spec"]
1781 }
1782 ],
1783 "source_info" : {
1784 "filename" : "include/actions.p4",
1785 "line" : 12,
1786 "column" : 38,
1787 "source_fragment" : "standard_metadata) { ..."
1788 }
1789 },
1790 {
1791 "op" : "assign",
1792 "parameters" : [
1793 {
1794 "type" : "field",
1795 "value" : ["standard_metadata_5", "egress_port"]
1796 },
1797 {
1798 "type" : "field",
1799 "value" : ["standard_metadata", "egress_port"]
1800 }
1801 ],
1802 "source_info" : {
1803 "filename" : "include/actions.p4",
1804 "line" : 12,
1805 "column" : 38,
1806 "source_fragment" : "standard_metadata) { ..."
1807 }
1808 },
1809 {
1810 "op" : "assign",
1811 "parameters" : [
1812 {
1813 "type" : "field",
1814 "value" : ["standard_metadata_5", "clone_spec"]
1815 },
1816 {
1817 "type" : "field",
1818 "value" : ["standard_metadata", "clone_spec"]
1819 }
1820 ],
1821 "source_info" : {
1822 "filename" : "include/actions.p4",
1823 "line" : 12,
1824 "column" : 38,
1825 "source_fragment" : "standard_metadata) { ..."
1826 }
1827 },
1828 {
1829 "op" : "assign",
1830 "parameters" : [
1831 {
1832 "type" : "field",
1833 "value" : ["standard_metadata_5", "instance_type"]
1834 },
1835 {
1836 "type" : "field",
1837 "value" : ["standard_metadata", "instance_type"]
1838 }
1839 ],
1840 "source_info" : {
1841 "filename" : "include/actions.p4",
1842 "line" : 12,
1843 "column" : 38,
1844 "source_fragment" : "standard_metadata) { ..."
1845 }
1846 },
1847 {
1848 "op" : "assign",
1849 "parameters" : [
1850 {
1851 "type" : "field",
1852 "value" : ["standard_metadata_5", "drop"]
1853 },
1854 {
1855 "type" : "field",
1856 "value" : ["standard_metadata", "drop"]
1857 }
1858 ],
1859 "source_info" : {
1860 "filename" : "include/actions.p4",
1861 "line" : 12,
1862 "column" : 38,
1863 "source_fragment" : "standard_metadata) { ..."
1864 }
1865 },
1866 {
1867 "op" : "assign",
1868 "parameters" : [
1869 {
1870 "type" : "field",
1871 "value" : ["standard_metadata_5", "recirculate_port"]
1872 },
1873 {
1874 "type" : "field",
1875 "value" : ["standard_metadata", "recirculate_port"]
1876 }
1877 ],
1878 "source_info" : {
1879 "filename" : "include/actions.p4",
1880 "line" : 12,
1881 "column" : 38,
1882 "source_fragment" : "standard_metadata) { ..."
1883 }
1884 },
1885 {
1886 "op" : "assign",
1887 "parameters" : [
1888 {
1889 "type" : "field",
1890 "value" : ["standard_metadata_5", "packet_length"]
1891 },
1892 {
1893 "type" : "field",
1894 "value" : ["standard_metadata", "packet_length"]
1895 }
1896 ],
1897 "source_info" : {
1898 "filename" : "include/actions.p4",
1899 "line" : 12,
1900 "column" : 38,
1901 "source_fragment" : "standard_metadata) { ..."
1902 }
1903 },
1904 {
1905 "op" : "assign",
1906 "parameters" : [
1907 {
1908 "type" : "field",
1909 "value" : ["standard_metadata_5", "enq_timestamp"]
1910 },
1911 {
1912 "type" : "field",
1913 "value" : ["standard_metadata", "enq_timestamp"]
1914 }
1915 ],
1916 "source_info" : {
1917 "filename" : "include/actions.p4",
1918 "line" : 12,
1919 "column" : 38,
1920 "source_fragment" : "standard_metadata) { ..."
1921 }
1922 },
1923 {
1924 "op" : "assign",
1925 "parameters" : [
1926 {
1927 "type" : "field",
1928 "value" : ["standard_metadata_5", "enq_qdepth"]
1929 },
1930 {
1931 "type" : "field",
1932 "value" : ["standard_metadata", "enq_qdepth"]
1933 }
1934 ],
1935 "source_info" : {
1936 "filename" : "include/actions.p4",
1937 "line" : 12,
1938 "column" : 38,
1939 "source_fragment" : "standard_metadata) { ..."
1940 }
1941 },
1942 {
1943 "op" : "assign",
1944 "parameters" : [
1945 {
1946 "type" : "field",
1947 "value" : ["standard_metadata_5", "deq_timedelta"]
1948 },
1949 {
1950 "type" : "field",
1951 "value" : ["standard_metadata", "deq_timedelta"]
1952 }
1953 ],
1954 "source_info" : {
1955 "filename" : "include/actions.p4",
1956 "line" : 12,
1957 "column" : 38,
1958 "source_fragment" : "standard_metadata) { ..."
1959 }
1960 },
1961 {
1962 "op" : "assign",
1963 "parameters" : [
1964 {
1965 "type" : "field",
1966 "value" : ["standard_metadata_5", "deq_qdepth"]
1967 },
1968 {
1969 "type" : "field",
1970 "value" : ["standard_metadata", "deq_qdepth"]
1971 }
1972 ],
1973 "source_info" : {
1974 "filename" : "include/actions.p4",
1975 "line" : 12,
1976 "column" : 38,
1977 "source_fragment" : "standard_metadata) { ..."
1978 }
1979 },
1980 {
1981 "op" : "assign",
1982 "parameters" : [
1983 {
1984 "type" : "field",
1985 "value" : ["standard_metadata_5", "ingress_global_timestamp"]
1986 },
1987 {
1988 "type" : "field",
1989 "value" : ["standard_metadata", "ingress_global_timestamp"]
1990 }
1991 ],
1992 "source_info" : {
1993 "filename" : "include/actions.p4",
1994 "line" : 12,
1995 "column" : 38,
1996 "source_fragment" : "standard_metadata) { ..."
1997 }
1998 },
1999 {
2000 "op" : "assign",
2001 "parameters" : [
2002 {
2003 "type" : "field",
2004 "value" : ["standard_metadata_5", "lf_field_list"]
2005 },
2006 {
2007 "type" : "field",
2008 "value" : ["standard_metadata", "lf_field_list"]
2009 }
2010 ],
2011 "source_info" : {
2012 "filename" : "include/actions.p4",
2013 "line" : 12,
2014 "column" : 38,
2015 "source_fragment" : "standard_metadata) { ..."
2016 }
2017 },
2018 {
2019 "op" : "assign",
2020 "parameters" : [
2021 {
2022 "type" : "field",
2023 "value" : ["standard_metadata_5", "mcast_grp"]
2024 },
2025 {
2026 "type" : "field",
2027 "value" : ["standard_metadata", "mcast_grp"]
2028 }
2029 ],
2030 "source_info" : {
2031 "filename" : "include/actions.p4",
2032 "line" : 12,
2033 "column" : 38,
2034 "source_fragment" : "standard_metadata) { ..."
2035 }
2036 },
2037 {
2038 "op" : "assign",
2039 "parameters" : [
2040 {
2041 "type" : "field",
2042 "value" : ["standard_metadata_5", "resubmit_flag"]
2043 },
2044 {
2045 "type" : "field",
2046 "value" : ["standard_metadata", "resubmit_flag"]
2047 }
2048 ],
2049 "source_info" : {
2050 "filename" : "include/actions.p4",
2051 "line" : 12,
2052 "column" : 38,
2053 "source_fragment" : "standard_metadata) { ..."
2054 }
2055 },
2056 {
2057 "op" : "assign",
2058 "parameters" : [
2059 {
2060 "type" : "field",
2061 "value" : ["standard_metadata_5", "egress_rid"]
2062 },
2063 {
2064 "type" : "field",
2065 "value" : ["standard_metadata", "egress_rid"]
2066 }
2067 ],
2068 "source_info" : {
2069 "filename" : "include/actions.p4",
2070 "line" : 12,
2071 "column" : 38,
2072 "source_fragment" : "standard_metadata) { ..."
2073 }
2074 },
2075 {
2076 "op" : "assign",
2077 "parameters" : [
2078 {
2079 "type" : "field",
2080 "value" : ["standard_metadata_5", "egress_spec"]
2081 },
2082 {
2083 "type" : "hexstr",
2084 "value" : "0x01ff"
2085 }
2086 ],
2087 "source_info" : {
2088 "filename" : "include/actions.p4",
2089 "line" : 13,
2090 "column" : 4,
2091 "source_fragment" : "standard_metadata.egress_spec = 9w511"
2092 }
2093 },
2094 {
2095 "op" : "assign",
2096 "parameters" : [
2097 {
2098 "type" : "field",
2099 "value" : ["standard_metadata", "ingress_port"]
2100 },
2101 {
2102 "type" : "field",
2103 "value" : ["standard_metadata_5", "ingress_port"]
2104 }
2105 ],
2106 "source_info" : {
2107 "filename" : "include/actions.p4",
2108 "line" : 12,
2109 "column" : 38,
2110 "source_fragment" : "standard_metadata) { ..."
2111 }
2112 },
2113 {
2114 "op" : "assign",
2115 "parameters" : [
2116 {
2117 "type" : "field",
2118 "value" : ["standard_metadata", "egress_spec"]
2119 },
2120 {
2121 "type" : "field",
2122 "value" : ["standard_metadata_5", "egress_spec"]
2123 }
2124 ],
2125 "source_info" : {
2126 "filename" : "include/actions.p4",
2127 "line" : 12,
2128 "column" : 38,
2129 "source_fragment" : "standard_metadata) { ..."
2130 }
2131 },
2132 {
2133 "op" : "assign",
2134 "parameters" : [
2135 {
2136 "type" : "field",
2137 "value" : ["standard_metadata", "egress_port"]
2138 },
2139 {
2140 "type" : "field",
2141 "value" : ["standard_metadata_5", "egress_port"]
2142 }
2143 ],
2144 "source_info" : {
2145 "filename" : "include/actions.p4",
2146 "line" : 12,
2147 "column" : 38,
2148 "source_fragment" : "standard_metadata) { ..."
2149 }
2150 },
2151 {
2152 "op" : "assign",
2153 "parameters" : [
2154 {
2155 "type" : "field",
2156 "value" : ["standard_metadata", "clone_spec"]
2157 },
2158 {
2159 "type" : "field",
2160 "value" : ["standard_metadata_5", "clone_spec"]
2161 }
2162 ],
2163 "source_info" : {
2164 "filename" : "include/actions.p4",
2165 "line" : 12,
2166 "column" : 38,
2167 "source_fragment" : "standard_metadata) { ..."
2168 }
2169 },
2170 {
2171 "op" : "assign",
2172 "parameters" : [
2173 {
2174 "type" : "field",
2175 "value" : ["standard_metadata", "instance_type"]
2176 },
2177 {
2178 "type" : "field",
2179 "value" : ["standard_metadata_5", "instance_type"]
2180 }
2181 ],
2182 "source_info" : {
2183 "filename" : "include/actions.p4",
2184 "line" : 12,
2185 "column" : 38,
2186 "source_fragment" : "standard_metadata) { ..."
2187 }
2188 },
2189 {
2190 "op" : "assign",
2191 "parameters" : [
2192 {
2193 "type" : "field",
2194 "value" : ["standard_metadata", "drop"]
2195 },
2196 {
2197 "type" : "field",
2198 "value" : ["standard_metadata_5", "drop"]
2199 }
2200 ],
2201 "source_info" : {
2202 "filename" : "include/actions.p4",
2203 "line" : 12,
2204 "column" : 38,
2205 "source_fragment" : "standard_metadata) { ..."
2206 }
2207 },
2208 {
2209 "op" : "assign",
2210 "parameters" : [
2211 {
2212 "type" : "field",
2213 "value" : ["standard_metadata", "recirculate_port"]
2214 },
2215 {
2216 "type" : "field",
2217 "value" : ["standard_metadata_5", "recirculate_port"]
2218 }
2219 ],
2220 "source_info" : {
2221 "filename" : "include/actions.p4",
2222 "line" : 12,
2223 "column" : 38,
2224 "source_fragment" : "standard_metadata) { ..."
2225 }
2226 },
2227 {
2228 "op" : "assign",
2229 "parameters" : [
2230 {
2231 "type" : "field",
2232 "value" : ["standard_metadata", "packet_length"]
2233 },
2234 {
2235 "type" : "field",
2236 "value" : ["standard_metadata_5", "packet_length"]
2237 }
2238 ],
2239 "source_info" : {
2240 "filename" : "include/actions.p4",
2241 "line" : 12,
2242 "column" : 38,
2243 "source_fragment" : "standard_metadata) { ..."
2244 }
2245 },
2246 {
2247 "op" : "assign",
2248 "parameters" : [
2249 {
2250 "type" : "field",
2251 "value" : ["standard_metadata", "enq_timestamp"]
2252 },
2253 {
2254 "type" : "field",
2255 "value" : ["standard_metadata_5", "enq_timestamp"]
2256 }
2257 ],
2258 "source_info" : {
2259 "filename" : "include/actions.p4",
2260 "line" : 12,
2261 "column" : 38,
2262 "source_fragment" : "standard_metadata) { ..."
2263 }
2264 },
2265 {
2266 "op" : "assign",
2267 "parameters" : [
2268 {
2269 "type" : "field",
2270 "value" : ["standard_metadata", "enq_qdepth"]
2271 },
2272 {
2273 "type" : "field",
2274 "value" : ["standard_metadata_5", "enq_qdepth"]
2275 }
2276 ],
2277 "source_info" : {
2278 "filename" : "include/actions.p4",
2279 "line" : 12,
2280 "column" : 38,
2281 "source_fragment" : "standard_metadata) { ..."
2282 }
2283 },
2284 {
2285 "op" : "assign",
2286 "parameters" : [
2287 {
2288 "type" : "field",
2289 "value" : ["standard_metadata", "deq_timedelta"]
2290 },
2291 {
2292 "type" : "field",
2293 "value" : ["standard_metadata_5", "deq_timedelta"]
2294 }
2295 ],
2296 "source_info" : {
2297 "filename" : "include/actions.p4",
2298 "line" : 12,
2299 "column" : 38,
2300 "source_fragment" : "standard_metadata) { ..."
2301 }
2302 },
2303 {
2304 "op" : "assign",
2305 "parameters" : [
2306 {
2307 "type" : "field",
2308 "value" : ["standard_metadata", "deq_qdepth"]
2309 },
2310 {
2311 "type" : "field",
2312 "value" : ["standard_metadata_5", "deq_qdepth"]
2313 }
2314 ],
2315 "source_info" : {
2316 "filename" : "include/actions.p4",
2317 "line" : 12,
2318 "column" : 38,
2319 "source_fragment" : "standard_metadata) { ..."
2320 }
2321 },
2322 {
2323 "op" : "assign",
2324 "parameters" : [
2325 {
2326 "type" : "field",
2327 "value" : ["standard_metadata", "ingress_global_timestamp"]
2328 },
2329 {
2330 "type" : "field",
2331 "value" : ["standard_metadata_5", "ingress_global_timestamp"]
2332 }
2333 ],
2334 "source_info" : {
2335 "filename" : "include/actions.p4",
2336 "line" : 12,
2337 "column" : 38,
2338 "source_fragment" : "standard_metadata) { ..."
2339 }
2340 },
2341 {
2342 "op" : "assign",
2343 "parameters" : [
2344 {
2345 "type" : "field",
2346 "value" : ["standard_metadata", "lf_field_list"]
2347 },
2348 {
2349 "type" : "field",
2350 "value" : ["standard_metadata_5", "lf_field_list"]
2351 }
2352 ],
2353 "source_info" : {
2354 "filename" : "include/actions.p4",
2355 "line" : 12,
2356 "column" : 38,
2357 "source_fragment" : "standard_metadata) { ..."
2358 }
2359 },
2360 {
2361 "op" : "assign",
2362 "parameters" : [
2363 {
2364 "type" : "field",
2365 "value" : ["standard_metadata", "mcast_grp"]
2366 },
2367 {
2368 "type" : "field",
2369 "value" : ["standard_metadata_5", "mcast_grp"]
2370 }
2371 ],
2372 "source_info" : {
2373 "filename" : "include/actions.p4",
2374 "line" : 12,
2375 "column" : 38,
2376 "source_fragment" : "standard_metadata) { ..."
2377 }
2378 },
2379 {
2380 "op" : "assign",
2381 "parameters" : [
2382 {
2383 "type" : "field",
2384 "value" : ["standard_metadata", "resubmit_flag"]
2385 },
2386 {
2387 "type" : "field",
2388 "value" : ["standard_metadata_5", "resubmit_flag"]
2389 }
2390 ],
2391 "source_info" : {
2392 "filename" : "include/actions.p4",
2393 "line" : 12,
2394 "column" : 38,
2395 "source_fragment" : "standard_metadata) { ..."
2396 }
2397 },
2398 {
2399 "op" : "assign",
2400 "parameters" : [
2401 {
2402 "type" : "field",
2403 "value" : ["standard_metadata", "egress_rid"]
2404 },
2405 {
2406 "type" : "field",
2407 "value" : ["standard_metadata_5", "egress_rid"]
2408 }
2409 ],
2410 "source_info" : {
2411 "filename" : "include/actions.p4",
2412 "line" : 12,
2413 "column" : 38,
2414 "source_fragment" : "standard_metadata) { ..."
2415 }
2416 }
2417 ]
2418 },
2419 {
2420 "name" : "NoAction",
2421 "id" : 3,
2422 "runtime_data" : [],
2423 "primitives" : []
2424 },
2425 {
2426 "name" : "act",
2427 "id" : 4,
2428 "runtime_data" : [],
2429 "primitives" : [
2430 {
2431 "op" : "assign",
2432 "parameters" : [
2433 {
2434 "type" : "field",
2435 "value" : ["scalars", "tmp"]
2436 },
2437 {
2438 "type" : "expression",
2439 "value" : {
2440 "type" : "expression",
2441 "value" : {
2442 "op" : "&",
2443 "left" : {
2444 "type" : "field",
2445 "value" : ["standard_metadata", "ingress_port"]
2446 },
2447 "right" : {
2448 "type" : "hexstr",
2449 "value" : "0xffffffff"
2450 }
2451 }
2452 }
2453 }
2454 ]
2455 },
2456 {
2457 "op" : "count",
2458 "parameters" : [
2459 {
2460 "type" : "counter_array",
2461 "value" : "port_counters_control.ingress_port_counter"
2462 },
2463 {
2464 "type" : "field",
2465 "value" : ["scalars", "tmp"]
2466 }
2467 ],
2468 "source_info" : {
2469 "filename" : "include/port_counters.p4",
2470 "line" : 11,
2471 "column" : 12,
2472 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
2473 }
2474 },
2475 {
2476 "op" : "assign",
2477 "parameters" : [
2478 {
2479 "type" : "field",
2480 "value" : ["scalars", "tmp_0"]
2481 },
2482 {
2483 "type" : "expression",
2484 "value" : {
2485 "type" : "expression",
2486 "value" : {
2487 "op" : "&",
2488 "left" : {
2489 "type" : "field",
2490 "value" : ["standard_metadata", "egress_spec"]
2491 },
2492 "right" : {
2493 "type" : "hexstr",
2494 "value" : "0xffffffff"
2495 }
2496 }
2497 }
2498 }
2499 ]
2500 },
2501 {
2502 "op" : "count",
2503 "parameters" : [
2504 {
2505 "type" : "counter_array",
2506 "value" : "port_counters_control.egress_port_counter"
2507 },
2508 {
2509 "type" : "field",
2510 "value" : ["scalars", "tmp_0"]
2511 }
2512 ],
2513 "source_info" : {
2514 "filename" : "include/port_counters.p4",
2515 "line" : 12,
2516 "column" : 12,
2517 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
2518 }
2519 }
2520 ]
2521 }
2522 ],
2523 "pipelines" : [
2524 {
2525 "name" : "ingress",
2526 "id" : 0,
2527 "source_info" : {
2528 "filename" : "default.p4",
2529 "line" : 10,
2530 "column" : 8,
2531 "source_fragment" : "ingress"
2532 },
2533 "init_table" : "table0",
2534 "tables" : [
2535 {
2536 "name" : "table0",
2537 "id" : 0,
2538 "source_info" : {
2539 "filename" : "default.p4",
2540 "line" : 13,
2541 "column" : 10,
2542 "source_fragment" : "table0"
2543 },
2544 "key" : [
2545 {
2546 "match_type" : "ternary",
2547 "target" : ["standard_metadata", "ingress_port"],
2548 "mask" : null
2549 },
2550 {
2551 "match_type" : "ternary",
2552 "target" : ["ethernet", "dstAddr"],
2553 "mask" : null
2554 },
2555 {
2556 "match_type" : "ternary",
2557 "target" : ["ethernet", "srcAddr"],
2558 "mask" : null
2559 },
2560 {
2561 "match_type" : "ternary",
2562 "target" : ["ethernet", "etherType"],
2563 "mask" : null
2564 }
2565 ],
2566 "match_type" : "ternary",
2567 "type" : "simple",
2568 "max_size" : 1024,
2569 "support_timeout" : false,
2570 "direct_meters" : null,
2571 "action_ids" : [0, 1, 2, 3],
2572 "actions" : ["set_egress_port", "send_to_cpu", "drop", "NoAction"],
2573 "base_default_next" : "node_3",
2574 "next_tables" : {
2575 "set_egress_port" : "node_3",
2576 "send_to_cpu" : "node_3",
2577 "drop" : "node_3",
2578 "NoAction" : "node_3"
2579 },
2580 "default_entry" : {
2581 "action_id" : 3,
2582 "action_const" : false,
2583 "action_data" : [],
2584 "action_entry_const" : false
2585 }
2586 },
2587 {
2588 "name" : "tbl_act",
2589 "id" : 1,
2590 "key" : [],
2591 "match_type" : "exact",
2592 "type" : "simple",
2593 "max_size" : 1024,
2594 "with_counters" : false,
2595 "support_timeout" : false,
2596 "direct_meters" : null,
2597 "action_ids" : [4],
2598 "actions" : ["act"],
2599 "base_default_next" : null,
2600 "next_tables" : {
2601 "act" : null
2602 },
2603 "default_entry" : {
2604 "action_id" : 4,
2605 "action_const" : true,
2606 "action_data" : [],
2607 "action_entry_const" : true
2608 }
2609 }
2610 ],
2611 "action_profiles" : [],
2612 "conditionals" : [
2613 {
2614 "name" : "node_3",
2615 "id" : 0,
2616 "source_info" : {
2617 "filename" : "include/port_counters.p4",
2618 "line" : 10,
2619 "column" : 12,
2620 "source_fragment" : "standard_metadata.egress_spec < 254"
2621 },
2622 "expression" : {
2623 "type" : "expression",
2624 "value" : {
2625 "op" : "<",
2626 "left" : {
2627 "type" : "field",
2628 "value" : ["standard_metadata", "egress_spec"]
2629 },
2630 "right" : {
2631 "type" : "hexstr",
2632 "value" : "0x00fe"
2633 }
2634 }
2635 },
2636 "false_next" : null,
2637 "true_next" : "tbl_act"
2638 }
2639 ]
2640 },
2641 {
2642 "name" : "egress",
2643 "id" : 1,
2644 "source_info" : {
2645 "filename" : "default.p4",
2646 "line" : 36,
2647 "column" : 8,
2648 "source_fragment" : "egress"
2649 },
2650 "init_table" : null,
2651 "tables" : [],
2652 "action_profiles" : [],
2653 "conditionals" : []
2654 }
2655 ],
2656 "checksums" : [],
2657 "force_arith" : [],
2658 "extern_instances" : [],
2659 "field_aliases" : [
2660 [
2661 "queueing_metadata.enq_timestamp",
2662 ["standard_metadata", "enq_timestamp"]
2663 ],
2664 [
2665 "queueing_metadata.enq_qdepth",
2666 ["standard_metadata", "enq_qdepth"]
2667 ],
2668 [
2669 "queueing_metadata.deq_timedelta",
2670 ["standard_metadata", "deq_timedelta"]
2671 ],
2672 [
2673 "queueing_metadata.deq_qdepth",
2674 ["standard_metadata", "deq_qdepth"]
2675 ],
2676 [
2677 "intrinsic_metadata.ingress_global_timestamp",
2678 ["standard_metadata", "ingress_global_timestamp"]
2679 ],
2680 [
2681 "intrinsic_metadata.lf_field_list",
2682 ["standard_metadata", "lf_field_list"]
2683 ],
2684 [
2685 "intrinsic_metadata.mcast_grp",
2686 ["standard_metadata", "mcast_grp"]
2687 ],
2688 [
2689 "intrinsic_metadata.resubmit_flag",
2690 ["standard_metadata", "resubmit_flag"]
2691 ],
2692 [
2693 "intrinsic_metadata.egress_rid",
2694 ["standard_metadata", "egress_rid"]
2695 ]
2696 ]
2697}