blob: 868441581d53c20132f603162124ae713147e97f [file] [log] [blame]
Carmelo Cascone103c0a02018-03-24 00:36:06 -07001{
2 "program" : "fabric.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 ["last_ipv4_dscp", 6, false],
13 ["tmp", 4, false],
14 ["tmp_0", 32, false],
15 ["tmp_1", 32, false],
16 ["spgw_ingress_tmp_2", 1, false],
17 ["spgw_ingress_tmp_3", 1, false],
18 ["spgw_ingress_tmp_4", 1, false],
19 ["next_tmp_0", 1, false],
20 ["spgw_ingress_hasReturned_0", 1, false],
21 ["fabric_metadata_t.fwd_type", 3, false],
22 ["fabric_metadata_t.next_id", 32, false],
23 ["fabric_metadata_t.pop_vlan_at_egress", 1, false],
24 ["fabric_metadata_t.ip_proto", 8, false],
25 ["fabric_metadata_t.l4_src_port", 16, false],
26 ["fabric_metadata_t.l4_dst_port", 16, false],
27 ["fabric_metadata_t.original_ether_type", 16, false],
28 ["_padding_2", 5, false]
29 ]
30 },
31 {
32 "name" : "ethernet_t",
33 "id" : 1,
34 "fields" : [
35 ["dst_addr", 48, false],
36 ["src_addr", 48, false],
37 ["ether_type", 16, false]
38 ]
39 },
40 {
41 "name" : "vlan_tag_t",
42 "id" : 2,
43 "fields" : [
44 ["pri", 3, false],
45 ["cfi", 1, false],
46 ["vlan_id", 12, false],
47 ["ether_type", 16, false]
48 ]
49 },
50 {
51 "name" : "mpls_t",
52 "id" : 3,
53 "fields" : [
54 ["label", 20, false],
55 ["tc", 3, false],
56 ["bos", 1, false],
57 ["ttl", 8, false]
58 ]
59 },
60 {
61 "name" : "ipv4_t",
62 "id" : 4,
63 "fields" : [
64 ["version", 4, false],
65 ["ihl", 4, false],
66 ["dscp", 6, false],
67 ["ecn", 2, false],
68 ["total_len", 16, false],
69 ["identification", 16, false],
70 ["flags", 3, false],
71 ["frag_offset", 13, false],
72 ["ttl", 8, false],
73 ["protocol", 8, false],
74 ["hdr_checksum", 16, false],
75 ["src_addr", 32, false],
76 ["dst_addr", 32, false]
77 ]
78 },
79 {
80 "name" : "udp_t",
81 "id" : 5,
82 "fields" : [
83 ["src_port", 16, false],
84 ["dst_port", 16, false],
85 ["len", 16, false],
86 ["checksum", 16, false]
87 ]
88 },
89 {
90 "name" : "gtpu_t",
91 "id" : 6,
92 "fields" : [
93 ["version", 3, false],
94 ["pt", 1, false],
95 ["spare", 1, false],
96 ["ex_flag", 1, false],
97 ["seq_flag", 1, false],
98 ["npdu_flag", 1, false],
99 ["msgtype", 8, false],
100 ["msglen", 16, false],
101 ["teid", 32, false]
102 ]
103 },
104 {
105 "name" : "arp_t",
106 "id" : 7,
107 "fields" : [
108 ["hw_type", 16, false],
109 ["proto_type", 16, false],
110 ["hw_addr_len", 8, false],
111 ["proto_addr_len", 8, false],
112 ["opcode", 16, false]
113 ]
114 },
115 {
116 "name" : "tcp_t",
117 "id" : 8,
118 "fields" : [
119 ["src_port", 16, false],
120 ["dst_port", 16, false],
121 ["seq_no", 32, false],
122 ["ack_no", 32, false],
123 ["data_offset", 4, false],
124 ["res", 3, false],
125 ["ecn", 3, false],
126 ["ctrl", 6, false],
127 ["window", 16, false],
128 ["checksum", 16, false],
129 ["urgent_ptr", 16, false]
130 ]
131 },
132 {
133 "name" : "icmp_t",
134 "id" : 9,
135 "fields" : [
136 ["icmp_type", 8, false],
137 ["icmp_code", 8, false],
138 ["checksum", 16, false],
139 ["identifier", 16, false],
140 ["sequence_number", 16, false],
141 ["timestamp", 64, false]
142 ]
143 },
144 {
145 "name" : "packet_out_header_t",
146 "id" : 10,
147 "fields" : [
148 ["egress_port", 9, false],
149 ["_pad", 7, false]
150 ]
151 },
152 {
153 "name" : "packet_in_header_t",
154 "id" : 11,
155 "fields" : [
156 ["ingress_port", 9, false],
157 ["_pad", 7, false]
158 ]
159 },
160 {
161 "name" : "intl4_shim_t",
162 "id" : 12,
163 "fields" : [
164 ["int_type", 8, false],
165 ["rsvd1", 8, false],
166 ["len", 8, false],
167 ["rsvd2", 8, false]
168 ]
169 },
170 {
171 "name" : "int_header_t",
172 "id" : 13,
173 "fields" : [
174 ["ver", 4, false],
175 ["rep", 2, false],
176 ["c", 1, false],
177 ["e", 1, false],
178 ["rsvd1", 3, false],
179 ["ins_cnt", 5, false],
180 ["max_hop_cnt", 8, false],
181 ["total_hop_cnt", 8, false],
182 ["instruction_mask_0003", 4, false],
183 ["instruction_mask_0407", 4, false],
184 ["instruction_mask_0811", 4, false],
185 ["instruction_mask_1215", 4, false],
186 ["rsvd2", 16, false]
187 ]
188 },
189 {
190 "name" : "int_switch_id_t",
191 "id" : 14,
192 "fields" : [
193 ["switch_id", 32, false]
194 ]
195 },
196 {
197 "name" : "int_port_ids_t",
198 "id" : 15,
199 "fields" : [
200 ["ingress_port_id", 16, false],
201 ["egress_port_id", 16, false]
202 ]
203 },
204 {
205 "name" : "int_hop_latency_t",
206 "id" : 16,
207 "fields" : [
208 ["hop_latency", 32, false]
209 ]
210 },
211 {
212 "name" : "int_q_occupancy_t",
213 "id" : 17,
214 "fields" : [
215 ["q_id", 8, false],
216 ["q_occupancy", 24, false]
217 ]
218 },
219 {
220 "name" : "int_ingress_tstamp_t",
221 "id" : 18,
222 "fields" : [
223 ["ingress_tstamp", 32, false]
224 ]
225 },
226 {
227 "name" : "int_egress_tstamp_t",
228 "id" : 19,
229 "fields" : [
230 ["egress_tstamp", 32, false]
231 ]
232 },
233 {
234 "name" : "int_q_congestion_t",
235 "id" : 20,
236 "fields" : [
237 ["q_id", 8, false],
238 ["q_congestion", 24, false]
239 ]
240 },
241 {
242 "name" : "int_egress_port_tx_util_t",
243 "id" : 21,
244 "fields" : [
245 ["egress_port_tx_util", 32, false]
246 ]
247 },
248 {
249 "name" : "spgw_meta_t",
250 "id" : 22,
251 "fields" : [
252 ["do_spgw", 1, false],
253 ["direction", 1, false],
254 ["teid", 32, false],
255 ["s1u_enb_addr", 32, false],
256 ["s1u_sgw_addr", 32, false],
257 ["_padding", 6, false]
258 ]
259 },
260 {
261 "name" : "int_metadata_t",
262 "id" : 23,
263 "fields" : [
264 ["insert_byte_cnt", 16, false],
265 ["int_hdr_word_len", 8, false],
266 ["switch_id", 32, false],
267 ["ins_cnt_tmp", 5, false],
268 ["_padding_0", 3, false]
269 ]
270 },
271 {
272 "name" : "standard_metadata",
273 "id" : 24,
274 "fields" : [
275 ["ingress_port", 9, false],
276 ["egress_spec", 9, false],
277 ["egress_port", 9, false],
278 ["clone_spec", 32, false],
279 ["instance_type", 32, false],
280 ["drop", 1, false],
281 ["recirculate_port", 16, false],
282 ["packet_length", 32, false],
283 ["enq_timestamp", 32, false],
284 ["enq_qdepth", 19, false],
285 ["deq_timedelta", 32, false],
286 ["deq_qdepth", 19, false],
287 ["ingress_global_timestamp", 48, false],
288 ["egress_global_timestamp", 48, false],
289 ["lf_field_list", 32, false],
290 ["mcast_grp", 16, false],
291 ["resubmit_flag", 32, false],
292 ["egress_rid", 16, false],
293 ["checksum_error", 1, false],
294 ["recirculate_flag", 32, false],
295 ["_padding_1", 5, false]
296 ]
297 }
298 ],
299 "headers" : [
300 {
301 "name" : "scalars",
302 "id" : 0,
303 "header_type" : "scalars_0",
304 "metadata" : true,
305 "pi_omit" : true
306 },
307 {
308 "name" : "standard_metadata",
309 "id" : 1,
310 "header_type" : "standard_metadata",
311 "metadata" : true,
312 "pi_omit" : true
313 },
314 {
315 "name" : "ethernet",
316 "id" : 2,
317 "header_type" : "ethernet_t",
318 "metadata" : false,
319 "pi_omit" : true
320 },
321 {
322 "name" : "vlan_tag",
323 "id" : 3,
324 "header_type" : "vlan_tag_t",
325 "metadata" : false,
326 "pi_omit" : true
327 },
328 {
329 "name" : "mpls",
330 "id" : 4,
331 "header_type" : "mpls_t",
332 "metadata" : false,
333 "pi_omit" : true
334 },
335 {
336 "name" : "gtpu_ipv4",
337 "id" : 5,
338 "header_type" : "ipv4_t",
339 "metadata" : false,
340 "pi_omit" : true
341 },
342 {
343 "name" : "gtpu_udp",
344 "id" : 6,
345 "header_type" : "udp_t",
346 "metadata" : false,
347 "pi_omit" : true
348 },
349 {
350 "name" : "gtpu",
351 "id" : 7,
352 "header_type" : "gtpu_t",
353 "metadata" : false,
354 "pi_omit" : true
355 },
356 {
357 "name" : "ipv4",
358 "id" : 8,
359 "header_type" : "ipv4_t",
360 "metadata" : false,
361 "pi_omit" : true
362 },
363 {
364 "name" : "arp",
365 "id" : 9,
366 "header_type" : "arp_t",
367 "metadata" : false,
368 "pi_omit" : true
369 },
370 {
371 "name" : "tcp",
372 "id" : 10,
373 "header_type" : "tcp_t",
374 "metadata" : false,
375 "pi_omit" : true
376 },
377 {
378 "name" : "udp",
379 "id" : 11,
380 "header_type" : "udp_t",
381 "metadata" : false,
382 "pi_omit" : true
383 },
384 {
385 "name" : "icmp",
386 "id" : 12,
387 "header_type" : "icmp_t",
388 "metadata" : false,
389 "pi_omit" : true
390 },
391 {
392 "name" : "packet_out",
393 "id" : 13,
394 "header_type" : "packet_out_header_t",
395 "metadata" : false,
396 "pi_omit" : true
397 },
398 {
399 "name" : "packet_in",
400 "id" : 14,
401 "header_type" : "packet_in_header_t",
402 "metadata" : false,
403 "pi_omit" : true
404 },
405 {
406 "name" : "intl4_shim",
407 "id" : 15,
408 "header_type" : "intl4_shim_t",
409 "metadata" : false,
410 "pi_omit" : true
411 },
412 {
413 "name" : "int_header",
414 "id" : 16,
415 "header_type" : "int_header_t",
416 "metadata" : false,
417 "pi_omit" : true
418 },
419 {
420 "name" : "int_switch_id",
421 "id" : 17,
422 "header_type" : "int_switch_id_t",
423 "metadata" : false,
424 "pi_omit" : true
425 },
426 {
427 "name" : "int_port_ids",
428 "id" : 18,
429 "header_type" : "int_port_ids_t",
430 "metadata" : false,
431 "pi_omit" : true
432 },
433 {
434 "name" : "int_hop_latency",
435 "id" : 19,
436 "header_type" : "int_hop_latency_t",
437 "metadata" : false,
438 "pi_omit" : true
439 },
440 {
441 "name" : "int_q_occupancy",
442 "id" : 20,
443 "header_type" : "int_q_occupancy_t",
444 "metadata" : false,
445 "pi_omit" : true
446 },
447 {
448 "name" : "int_ingress_tstamp",
449 "id" : 21,
450 "header_type" : "int_ingress_tstamp_t",
451 "metadata" : false,
452 "pi_omit" : true
453 },
454 {
455 "name" : "int_egress_tstamp",
456 "id" : 22,
457 "header_type" : "int_egress_tstamp_t",
458 "metadata" : false,
459 "pi_omit" : true
460 },
461 {
462 "name" : "int_q_congestion",
463 "id" : 23,
464 "header_type" : "int_q_congestion_t",
465 "metadata" : false,
466 "pi_omit" : true
467 },
468 {
469 "name" : "int_egress_port_tx_util",
470 "id" : 24,
471 "header_type" : "int_egress_port_tx_util_t",
472 "metadata" : false,
473 "pi_omit" : true
474 },
475 {
476 "name" : "userMetadata.spgw",
477 "id" : 25,
478 "header_type" : "spgw_meta_t",
479 "metadata" : true,
480 "pi_omit" : true
481 },
482 {
483 "name" : "userMetadata.int_metadata",
484 "id" : 26,
485 "header_type" : "int_metadata_t",
486 "metadata" : true,
487 "pi_omit" : true
488 }
489 ],
490 "header_stacks" : [],
491 "header_union_types" : [],
492 "header_unions" : [],
493 "header_union_stacks" : [],
494 "field_lists" : [],
495 "errors" : [
496 ["NoError", 1],
497 ["PacketTooShort", 2],
498 ["NoMatch", 3],
499 ["StackOutOfBounds", 4],
500 ["HeaderTooShort", 5],
501 ["ParserTimeout", 6]
502 ],
503 "enums" : [],
504 "parsers" : [
505 {
506 "name" : "parser",
507 "id" : 0,
508 "init_state" : "start",
509 "parse_states" : [
510 {
511 "name" : "start",
512 "id" : 0,
513 "parser_ops" : [],
514 "transitions" : [
515 {
516 "type" : "hexstr",
517 "value" : "0x00ff",
518 "mask" : null,
519 "next_state" : "parse_packet_out"
520 },
521 {
522 "value" : "default",
523 "mask" : null,
524 "next_state" : "parse_ethernet"
525 }
526 ],
527 "transition_key" : [
528 {
529 "type" : "field",
530 "value" : ["standard_metadata", "ingress_port"]
531 }
532 ]
533 },
534 {
535 "name" : "parse_packet_out",
536 "id" : 1,
537 "parser_ops" : [
538 {
539 "parameters" : [
540 {
541 "type" : "regular",
542 "value" : "packet_out"
543 }
544 ],
545 "op" : "extract"
546 }
547 ],
548 "transitions" : [
549 {
550 "value" : "default",
551 "mask" : null,
552 "next_state" : "parse_ethernet"
553 }
554 ],
555 "transition_key" : []
556 },
557 {
558 "name" : "parse_ethernet",
559 "id" : 2,
560 "parser_ops" : [
561 {
562 "parameters" : [
563 {
564 "type" : "regular",
565 "value" : "ethernet"
566 }
567 ],
568 "op" : "extract"
569 },
570 {
571 "parameters" : [
572 {
573 "type" : "field",
574 "value" : ["scalars", "fabric_metadata_t.original_ether_type"]
575 },
576 {
577 "type" : "field",
578 "value" : ["ethernet", "ether_type"]
579 }
580 ],
581 "op" : "set"
582 }
583 ],
584 "transitions" : [
585 {
586 "type" : "hexstr",
587 "value" : "0x8100",
588 "mask" : null,
589 "next_state" : "parse_vlan_tag"
590 },
591 {
592 "type" : "hexstr",
593 "value" : "0x8847",
594 "mask" : null,
595 "next_state" : "parse_mpls"
596 },
597 {
598 "type" : "hexstr",
599 "value" : "0x0806",
600 "mask" : null,
601 "next_state" : "parse_arp"
602 },
603 {
604 "type" : "hexstr",
605 "value" : "0x0800",
606 "mask" : null,
607 "next_state" : "parse_ipv4"
608 },
609 {
610 "value" : "default",
611 "mask" : null,
612 "next_state" : null
613 }
614 ],
615 "transition_key" : [
616 {
617 "type" : "field",
618 "value" : ["ethernet", "ether_type"]
619 }
620 ]
621 },
622 {
623 "name" : "parse_vlan_tag",
624 "id" : 3,
625 "parser_ops" : [
626 {
627 "parameters" : [
628 {
629 "type" : "regular",
630 "value" : "vlan_tag"
631 }
632 ],
633 "op" : "extract"
634 }
635 ],
636 "transitions" : [
637 {
638 "type" : "hexstr",
639 "value" : "0x0806",
640 "mask" : null,
641 "next_state" : "parse_arp"
642 },
643 {
644 "type" : "hexstr",
645 "value" : "0x0800",
646 "mask" : null,
647 "next_state" : "parse_ipv4"
648 },
649 {
650 "type" : "hexstr",
651 "value" : "0x8847",
652 "mask" : null,
653 "next_state" : "parse_mpls"
654 },
655 {
656 "value" : "default",
657 "mask" : null,
658 "next_state" : null
659 }
660 ],
661 "transition_key" : [
662 {
663 "type" : "field",
664 "value" : ["vlan_tag", "ether_type"]
665 }
666 ]
667 },
668 {
669 "name" : "parse_mpls",
670 "id" : 4,
671 "parser_ops" : [
672 {
673 "parameters" : [
674 {
675 "type" : "regular",
676 "value" : "mpls"
677 }
678 ],
679 "op" : "extract"
680 },
681 {
682 "parameters" : [
683 {
684 "type" : "field",
685 "value" : ["scalars", "tmp"]
686 },
687 {
688 "type" : "lookahead",
689 "value" : [0, 4]
690 }
691 ],
692 "op" : "set"
693 }
694 ],
695 "transitions" : [
696 {
697 "type" : "hexstr",
698 "value" : "0x04",
699 "mask" : null,
700 "next_state" : "parse_ipv4"
701 },
702 {
703 "value" : "default",
704 "mask" : null,
705 "next_state" : "parse_ethernet"
706 }
707 ],
708 "transition_key" : [
709 {
710 "type" : "field",
711 "value" : ["scalars", "tmp"]
712 }
713 ]
714 },
715 {
716 "name" : "parse_ipv4",
717 "id" : 5,
718 "parser_ops" : [
719 {
720 "parameters" : [
721 {
722 "type" : "regular",
723 "value" : "ipv4"
724 }
725 ],
726 "op" : "extract"
727 },
728 {
729 "parameters" : [
730 {
731 "type" : "field",
732 "value" : ["scalars", "last_ipv4_dscp"]
733 },
734 {
735 "type" : "field",
736 "value" : ["ipv4", "dscp"]
737 }
738 ],
739 "op" : "set"
740 },
741 {
742 "parameters" : [
743 {
744 "type" : "field",
745 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
746 },
747 {
748 "type" : "field",
749 "value" : ["ipv4", "protocol"]
750 }
751 ],
752 "op" : "set"
753 }
754 ],
755 "transitions" : [
756 {
757 "type" : "hexstr",
758 "value" : "0x06",
759 "mask" : null,
760 "next_state" : "parse_tcp"
761 },
762 {
763 "type" : "hexstr",
764 "value" : "0x11",
765 "mask" : null,
766 "next_state" : "parse_udp"
767 },
768 {
769 "type" : "hexstr",
770 "value" : "0x01",
771 "mask" : null,
772 "next_state" : "parse_icmp"
773 },
774 {
775 "value" : "default",
776 "mask" : null,
777 "next_state" : null
778 }
779 ],
780 "transition_key" : [
781 {
782 "type" : "field",
783 "value" : ["ipv4", "protocol"]
784 }
785 ]
786 },
787 {
788 "name" : "parse_arp",
789 "id" : 6,
790 "parser_ops" : [
791 {
792 "parameters" : [
793 {
794 "type" : "regular",
795 "value" : "arp"
796 }
797 ],
798 "op" : "extract"
799 }
800 ],
801 "transitions" : [
802 {
803 "value" : "default",
804 "mask" : null,
805 "next_state" : null
806 }
807 ],
808 "transition_key" : []
809 },
810 {
811 "name" : "parse_tcp",
812 "id" : 7,
813 "parser_ops" : [
814 {
815 "parameters" : [
816 {
817 "type" : "regular",
818 "value" : "tcp"
819 }
820 ],
821 "op" : "extract"
822 },
823 {
824 "parameters" : [
825 {
826 "type" : "field",
827 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
828 },
829 {
830 "type" : "field",
831 "value" : ["tcp", "src_port"]
832 }
833 ],
834 "op" : "set"
835 },
836 {
837 "parameters" : [
838 {
839 "type" : "field",
840 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
841 },
842 {
843 "type" : "field",
844 "value" : ["tcp", "dst_port"]
845 }
846 ],
847 "op" : "set"
848 }
849 ],
850 "transitions" : [
851 {
852 "value" : "default",
853 "mask" : null,
854 "next_state" : null
855 }
856 ],
857 "transition_key" : []
858 },
859 {
860 "name" : "parse_udp",
861 "id" : 8,
862 "parser_ops" : [
863 {
864 "parameters" : [
865 {
866 "type" : "regular",
867 "value" : "udp"
868 }
869 ],
870 "op" : "extract"
871 },
872 {
873 "parameters" : [
874 {
875 "type" : "field",
876 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
877 },
878 {
879 "type" : "field",
880 "value" : ["udp", "src_port"]
881 }
882 ],
883 "op" : "set"
884 },
885 {
886 "parameters" : [
887 {
888 "type" : "field",
889 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
890 },
891 {
892 "type" : "field",
893 "value" : ["udp", "dst_port"]
894 }
895 ],
896 "op" : "set"
897 }
898 ],
899 "transitions" : [
900 {
901 "type" : "hexstr",
902 "value" : "0x0868",
903 "mask" : null,
904 "next_state" : "parse_gtpu"
905 },
906 {
907 "value" : "default",
908 "mask" : null,
909 "next_state" : "parse_int"
910 }
911 ],
912 "transition_key" : [
913 {
914 "type" : "field",
915 "value" : ["udp", "dst_port"]
916 }
917 ]
918 },
919 {
920 "name" : "parse_icmp",
921 "id" : 9,
922 "parser_ops" : [
923 {
924 "parameters" : [
925 {
926 "type" : "regular",
927 "value" : "icmp"
928 }
929 ],
930 "op" : "extract"
931 }
932 ],
933 "transitions" : [
934 {
935 "value" : "default",
936 "mask" : null,
937 "next_state" : null
938 }
939 ],
940 "transition_key" : []
941 },
942 {
943 "name" : "parse_gtpu",
944 "id" : 10,
945 "parser_ops" : [
946 {
947 "parameters" : [
948 {
949 "type" : "regular",
950 "value" : "gtpu"
951 }
952 ],
953 "op" : "extract"
954 },
955 {
956 "parameters" : [
957 {
958 "type" : "regular",
959 "value" : "gtpu_ipv4"
960 }
961 ],
962 "op" : "extract"
963 },
964 {
965 "parameters" : [
966 {
967 "type" : "field",
968 "value" : ["scalars", "last_ipv4_dscp"]
969 },
970 {
971 "type" : "field",
972 "value" : ["gtpu_ipv4", "dscp"]
973 }
974 ],
975 "op" : "set"
976 }
977 ],
978 "transitions" : [
979 {
980 "type" : "hexstr",
981 "value" : "0x06",
982 "mask" : null,
983 "next_state" : "parse_tcp"
984 },
985 {
986 "type" : "hexstr",
987 "value" : "0x11",
988 "mask" : null,
989 "next_state" : "parse_udp_inner"
990 },
991 {
992 "type" : "hexstr",
993 "value" : "0x01",
994 "mask" : null,
995 "next_state" : "parse_icmp"
996 },
997 {
998 "value" : "default",
999 "mask" : null,
1000 "next_state" : null
1001 }
1002 ],
1003 "transition_key" : [
1004 {
1005 "type" : "field",
1006 "value" : ["gtpu_ipv4", "protocol"]
1007 }
1008 ]
1009 },
1010 {
1011 "name" : "parse_udp_inner",
1012 "id" : 11,
1013 "parser_ops" : [
1014 {
1015 "parameters" : [
1016 {
1017 "type" : "regular",
1018 "value" : "gtpu_udp"
1019 }
1020 ],
1021 "op" : "extract"
1022 },
1023 {
1024 "parameters" : [
1025 {
1026 "type" : "field",
1027 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1028 },
1029 {
1030 "type" : "field",
1031 "value" : ["gtpu_udp", "src_port"]
1032 }
1033 ],
1034 "op" : "set"
1035 },
1036 {
1037 "parameters" : [
1038 {
1039 "type" : "field",
1040 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1041 },
1042 {
1043 "type" : "field",
1044 "value" : ["gtpu_udp", "dst_port"]
1045 }
1046 ],
1047 "op" : "set"
1048 }
1049 ],
1050 "transitions" : [
1051 {
1052 "value" : "default",
1053 "mask" : null,
1054 "next_state" : "parse_int"
1055 }
1056 ],
1057 "transition_key" : []
1058 },
1059 {
1060 "name" : "parse_int",
1061 "id" : 12,
1062 "parser_ops" : [],
1063 "transitions" : [
1064 {
1065 "type" : "hexstr",
1066 "value" : "0x20",
1067 "mask" : "0x20",
1068 "next_state" : "parse_intl4_shim"
1069 },
1070 {
1071 "value" : "default",
1072 "mask" : null,
1073 "next_state" : null
1074 }
1075 ],
1076 "transition_key" : [
1077 {
1078 "type" : "field",
1079 "value" : ["scalars", "last_ipv4_dscp"]
1080 }
1081 ]
1082 },
1083 {
1084 "name" : "parse_intl4_shim",
1085 "id" : 13,
1086 "parser_ops" : [
1087 {
1088 "parameters" : [
1089 {
1090 "type" : "regular",
1091 "value" : "intl4_shim"
1092 }
1093 ],
1094 "op" : "extract"
1095 },
1096 {
1097 "parameters" : [
1098 {
1099 "type" : "regular",
1100 "value" : "int_header"
1101 }
1102 ],
1103 "op" : "extract"
1104 },
1105 {
1106 "parameters" : [
1107 {
1108 "type" : "field",
1109 "value" : ["userMetadata.int_metadata", "ins_cnt_tmp"]
1110 },
1111 {
1112 "type" : "field",
1113 "value" : ["int_header", "ins_cnt"]
1114 }
1115 ],
1116 "op" : "set"
1117 }
1118 ],
1119 "transitions" : [
1120 {
1121 "value" : "default",
1122 "mask" : null,
1123 "next_state" : null
1124 }
1125 ],
1126 "transition_key" : []
1127 }
1128 ]
1129 }
1130 ],
1131 "parse_vsets" : [],
1132 "deparsers" : [
1133 {
1134 "name" : "deparser",
1135 "id" : 0,
1136 "source_info" : {
1137 "filename" : "include/parser.p4",
1138 "line" : 196,
1139 "column" : 8,
1140 "source_fragment" : "FabricDeparser"
1141 },
1142 "order" : ["packet_in", "ethernet", "vlan_tag", "mpls", "arp", "gtpu_ipv4", "gtpu_udp", "gtpu", "ipv4", "tcp", "udp", "icmp", "intl4_shim", "int_header", "int_switch_id", "int_port_ids", "int_hop_latency", "int_q_occupancy", "int_ingress_tstamp", "int_egress_tstamp", "int_q_congestion", "int_egress_port_tx_util"]
1143 }
1144 ],
1145 "meter_arrays" : [],
1146 "counter_arrays" : [
1147 {
1148 "name" : "spgw_ingress.ue_counter",
1149 "id" : 0,
1150 "is_direct" : true,
1151 "binding" : "spgw_ingress.ue_cdr_table"
1152 },
1153 {
1154 "name" : "filtering.ingress_port_vlan_counter",
1155 "id" : 1,
1156 "is_direct" : true,
1157 "binding" : "filtering.ingress_port_vlan"
1158 },
1159 {
1160 "name" : "filtering.fwd_classifier_counter",
1161 "id" : 2,
1162 "is_direct" : true,
1163 "binding" : "filtering.fwd_classifier"
1164 },
1165 {
1166 "name" : "forwarding.bridging_counter",
1167 "id" : 3,
1168 "is_direct" : true,
1169 "binding" : "forwarding.bridging"
1170 },
1171 {
1172 "name" : "forwarding.mpls_counter",
1173 "id" : 4,
1174 "is_direct" : true,
1175 "binding" : "forwarding.mpls"
1176 },
1177 {
1178 "name" : "forwarding.unicast_v4_counter",
1179 "id" : 5,
1180 "is_direct" : true,
1181 "binding" : "forwarding.unicast_v4"
1182 },
1183 {
1184 "name" : "forwarding.acl_counter",
1185 "id" : 6,
1186 "is_direct" : true,
1187 "binding" : "forwarding.acl"
1188 },
1189 {
1190 "name" : "next.simple_counter",
1191 "id" : 7,
1192 "is_direct" : true,
1193 "binding" : "next.simple"
1194 },
1195 {
1196 "name" : "next.hashed_counter",
1197 "id" : 8,
1198 "is_direct" : true,
1199 "binding" : "next.hashed"
1200 },
1201 {
1202 "name" : "port_counters_control.egress_port_counter",
1203 "id" : 9,
1204 "source_info" : {
1205 "filename" : "include/control/port_counter.p4",
1206 "line" : 23,
1207 "column" : 48,
1208 "source_fragment" : "egress_port_counter"
1209 },
1210 "size" : 511,
1211 "is_direct" : false
1212 },
1213 {
1214 "name" : "port_counters_control.ingress_port_counter",
1215 "id" : 10,
1216 "source_info" : {
1217 "filename" : "include/control/port_counter.p4",
1218 "line" : 24,
1219 "column" : 48,
1220 "source_fragment" : "ingress_port_counter"
1221 },
1222 "size" : 511,
1223 "is_direct" : false
1224 }
1225 ],
1226 "register_arrays" : [],
1227 "calculations" : [
1228 {
1229 "name" : "calc",
1230 "id" : 0,
1231 "source_info" : {
1232 "filename" : "include/checksum.p4",
1233 "line" : 57,
1234 "column" : 8,
1235 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1236 },
1237 "algo" : "csum16",
1238 "input" : [
1239 {
1240 "type" : "field",
1241 "value" : ["ipv4", "version"]
1242 },
1243 {
1244 "type" : "field",
1245 "value" : ["ipv4", "ihl"]
1246 },
1247 {
1248 "type" : "field",
1249 "value" : ["ipv4", "dscp"]
1250 },
1251 {
1252 "type" : "field",
1253 "value" : ["ipv4", "ecn"]
1254 },
1255 {
1256 "type" : "field",
1257 "value" : ["ipv4", "total_len"]
1258 },
1259 {
1260 "type" : "field",
1261 "value" : ["ipv4", "identification"]
1262 },
1263 {
1264 "type" : "field",
1265 "value" : ["ipv4", "flags"]
1266 },
1267 {
1268 "type" : "field",
1269 "value" : ["ipv4", "frag_offset"]
1270 },
1271 {
1272 "type" : "field",
1273 "value" : ["ipv4", "ttl"]
1274 },
1275 {
1276 "type" : "field",
1277 "value" : ["ipv4", "protocol"]
1278 },
1279 {
1280 "type" : "field",
1281 "value" : ["ipv4", "src_addr"]
1282 },
1283 {
1284 "type" : "field",
1285 "value" : ["ipv4", "dst_addr"]
1286 }
1287 ]
1288 },
1289 {
1290 "name" : "calc_0",
1291 "id" : 1,
1292 "source_info" : {
1293 "filename" : "include/checksum.p4",
1294 "line" : 28,
1295 "column" : 8,
1296 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1297 },
1298 "algo" : "csum16",
1299 "input" : [
1300 {
1301 "type" : "field",
1302 "value" : ["ipv4", "version"]
1303 },
1304 {
1305 "type" : "field",
1306 "value" : ["ipv4", "ihl"]
1307 },
1308 {
1309 "type" : "field",
1310 "value" : ["ipv4", "dscp"]
1311 },
1312 {
1313 "type" : "field",
1314 "value" : ["ipv4", "ecn"]
1315 },
1316 {
1317 "type" : "field",
1318 "value" : ["ipv4", "total_len"]
1319 },
1320 {
1321 "type" : "field",
1322 "value" : ["ipv4", "identification"]
1323 },
1324 {
1325 "type" : "field",
1326 "value" : ["ipv4", "flags"]
1327 },
1328 {
1329 "type" : "field",
1330 "value" : ["ipv4", "frag_offset"]
1331 },
1332 {
1333 "type" : "field",
1334 "value" : ["ipv4", "ttl"]
1335 },
1336 {
1337 "type" : "field",
1338 "value" : ["ipv4", "protocol"]
1339 },
1340 {
1341 "type" : "field",
1342 "value" : ["ipv4", "src_addr"]
1343 },
1344 {
1345 "type" : "field",
1346 "value" : ["ipv4", "dst_addr"]
1347 }
1348 ]
1349 },
1350 {
1351 "name" : "calc_1",
1352 "id" : 2,
1353 "source_info" : {
1354 "filename" : "include/spgw.p4",
1355 "line" : 294,
1356 "column" : 8,
1357 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1358 },
1359 "algo" : "csum16",
1360 "input" : [
1361 {
1362 "type" : "field",
1363 "value" : ["gtpu_ipv4", "version"]
1364 },
1365 {
1366 "type" : "field",
1367 "value" : ["gtpu_ipv4", "ihl"]
1368 },
1369 {
1370 "type" : "field",
1371 "value" : ["gtpu_ipv4", "dscp"]
1372 },
1373 {
1374 "type" : "field",
1375 "value" : ["gtpu_ipv4", "ecn"]
1376 },
1377 {
1378 "type" : "field",
1379 "value" : ["gtpu_ipv4", "total_len"]
1380 },
1381 {
1382 "type" : "field",
1383 "value" : ["gtpu_ipv4", "identification"]
1384 },
1385 {
1386 "type" : "field",
1387 "value" : ["gtpu_ipv4", "flags"]
1388 },
1389 {
1390 "type" : "field",
1391 "value" : ["gtpu_ipv4", "frag_offset"]
1392 },
1393 {
1394 "type" : "field",
1395 "value" : ["gtpu_ipv4", "ttl"]
1396 },
1397 {
1398 "type" : "field",
1399 "value" : ["gtpu_ipv4", "protocol"]
1400 },
1401 {
1402 "type" : "field",
1403 "value" : ["gtpu_ipv4", "src_addr"]
1404 },
1405 {
1406 "type" : "field",
1407 "value" : ["gtpu_ipv4", "dst_addr"]
1408 }
1409 ]
1410 }
1411 ],
1412 "learn_lists" : [],
1413 "actions" : [
1414 {
1415 "name" : "NoAction",
1416 "id" : 0,
1417 "runtime_data" : [],
1418 "primitives" : []
1419 },
1420 {
1421 "name" : "NoAction",
1422 "id" : 1,
1423 "runtime_data" : [],
1424 "primitives" : []
1425 },
1426 {
1427 "name" : "NoAction",
1428 "id" : 2,
1429 "runtime_data" : [],
1430 "primitives" : []
1431 },
1432 {
1433 "name" : "NoAction",
1434 "id" : 3,
1435 "runtime_data" : [],
1436 "primitives" : []
1437 },
1438 {
1439 "name" : "NoAction",
1440 "id" : 4,
1441 "runtime_data" : [],
1442 "primitives" : []
1443 },
1444 {
1445 "name" : "NoAction",
1446 "id" : 5,
1447 "runtime_data" : [],
1448 "primitives" : []
1449 },
1450 {
1451 "name" : "NoAction",
1452 "id" : 6,
1453 "runtime_data" : [],
1454 "primitives" : []
1455 },
1456 {
1457 "name" : "NoAction",
1458 "id" : 7,
1459 "runtime_data" : [],
1460 "primitives" : []
1461 },
1462 {
1463 "name" : "NoAction",
1464 "id" : 8,
1465 "runtime_data" : [],
1466 "primitives" : []
1467 },
1468 {
1469 "name" : "nop",
1470 "id" : 9,
1471 "runtime_data" : [],
1472 "primitives" : []
1473 },
1474 {
1475 "name" : "nop",
1476 "id" : 10,
1477 "runtime_data" : [],
1478 "primitives" : []
1479 },
1480 {
1481 "name" : "spgw_ingress.drop_now",
1482 "id" : 11,
1483 "runtime_data" : [],
1484 "primitives" : [
1485 {
1486 "op" : "drop",
1487 "parameters" : [],
1488 "source_info" : {
1489 "filename" : "include/spgw.p4",
1490 "line" : 33,
1491 "column" : 8,
1492 "source_fragment" : "mark_to_drop()"
1493 }
1494 },
1495 {
1496 "op" : "exit",
1497 "parameters" : [],
1498 "source_info" : {
1499 "filename" : "include/spgw.p4",
1500 "line" : 34,
1501 "column" : 8,
1502 "source_fragment" : "exit"
1503 }
1504 }
1505 ]
1506 },
1507 {
1508 "name" : "spgw_ingress.gtpu_decap",
1509 "id" : 12,
1510 "runtime_data" : [],
1511 "primitives" : [
1512 {
1513 "op" : "remove_header",
1514 "parameters" : [
1515 {
1516 "type" : "header",
1517 "value" : "gtpu_ipv4"
1518 }
1519 ],
1520 "source_info" : {
1521 "filename" : "include/spgw.p4",
1522 "line" : 38,
1523 "column" : 8,
1524 "source_fragment" : "gtpu_ipv4.setInvalid()"
1525 }
1526 },
1527 {
1528 "op" : "remove_header",
1529 "parameters" : [
1530 {
1531 "type" : "header",
1532 "value" : "gtpu_udp"
1533 }
1534 ],
1535 "source_info" : {
1536 "filename" : "include/spgw.p4",
1537 "line" : 39,
1538 "column" : 8,
1539 "source_fragment" : "gtpu_udp.setInvalid()"
1540 }
1541 },
1542 {
1543 "op" : "remove_header",
1544 "parameters" : [
1545 {
1546 "type" : "header",
1547 "value" : "gtpu"
1548 }
1549 ],
1550 "source_info" : {
1551 "filename" : "include/spgw.p4",
1552 "line" : 40,
1553 "column" : 8,
1554 "source_fragment" : "gtpu.setInvalid()"
1555 }
1556 }
1557 ]
1558 },
1559 {
1560 "name" : "spgw_ingress.set_dl_sess_info",
1561 "id" : 13,
1562 "runtime_data" : [
1563 {
1564 "name" : "teid",
1565 "bitwidth" : 32
1566 },
1567 {
1568 "name" : "s1u_enb_addr",
1569 "bitwidth" : 32
1570 },
1571 {
1572 "name" : "s1u_sgw_addr",
1573 "bitwidth" : 32
1574 }
1575 ],
1576 "primitives" : [
1577 {
1578 "op" : "assign",
1579 "parameters" : [
1580 {
1581 "type" : "field",
1582 "value" : ["userMetadata.spgw", "teid"]
1583 },
1584 {
1585 "type" : "runtime_data",
1586 "value" : 0
1587 }
1588 ],
1589 "source_info" : {
1590 "filename" : "include/spgw.p4",
1591 "line" : 46,
1592 "column" : 8,
1593 "source_fragment" : "spgw_meta.teid = teid"
1594 }
1595 },
1596 {
1597 "op" : "assign",
1598 "parameters" : [
1599 {
1600 "type" : "field",
1601 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
1602 },
1603 {
1604 "type" : "runtime_data",
1605 "value" : 1
1606 }
1607 ],
1608 "source_info" : {
1609 "filename" : "include/spgw.p4",
1610 "line" : 47,
1611 "column" : 8,
1612 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
1613 }
1614 },
1615 {
1616 "op" : "assign",
1617 "parameters" : [
1618 {
1619 "type" : "field",
1620 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
1621 },
1622 {
1623 "type" : "runtime_data",
1624 "value" : 2
1625 }
1626 ],
1627 "source_info" : {
1628 "filename" : "include/spgw.p4",
1629 "line" : 48,
1630 "column" : 8,
1631 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
1632 }
1633 }
1634 ]
1635 },
1636 {
1637 "name" : "spgw_ingress.update_ue_cdr",
1638 "id" : 14,
1639 "runtime_data" : [],
1640 "primitives" : []
1641 },
1642 {
1643 "name" : "filtering.drop",
1644 "id" : 15,
1645 "runtime_data" : [],
1646 "primitives" : [
1647 {
1648 "op" : "drop",
1649 "parameters" : [],
1650 "source_info" : {
1651 "filename" : "include/control/filtering.p4",
1652 "line" : 31,
1653 "column" : 8,
1654 "source_fragment" : "mark_to_drop()"
1655 }
1656 }
1657 ]
1658 },
1659 {
1660 "name" : "filtering.set_vlan",
1661 "id" : 16,
1662 "runtime_data" : [
1663 {
1664 "name" : "new_vlan_id",
1665 "bitwidth" : 12
1666 }
1667 ],
1668 "primitives" : [
1669 {
1670 "op" : "assign",
1671 "parameters" : [
1672 {
1673 "type" : "field",
1674 "value" : ["vlan_tag", "vlan_id"]
1675 },
1676 {
1677 "type" : "runtime_data",
1678 "value" : 0
1679 }
1680 ],
1681 "source_info" : {
1682 "filename" : "include/control/filtering.p4",
1683 "line" : 35,
1684 "column" : 8,
1685 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
1686 }
1687 }
1688 ]
1689 },
1690 {
1691 "name" : "filtering.push_internal_vlan",
1692 "id" : 17,
1693 "runtime_data" : [
1694 {
1695 "name" : "new_vlan_id",
1696 "bitwidth" : 12
1697 }
1698 ],
1699 "primitives" : [
1700 {
1701 "op" : "add_header",
1702 "parameters" : [
1703 {
1704 "type" : "header",
1705 "value" : "vlan_tag"
1706 }
1707 ],
1708 "source_info" : {
1709 "filename" : "include/control/filtering.p4",
1710 "line" : 41,
1711 "column" : 8,
1712 "source_fragment" : "hdr.vlan_tag.setValid()"
1713 }
1714 },
1715 {
1716 "op" : "assign",
1717 "parameters" : [
1718 {
1719 "type" : "field",
1720 "value" : ["vlan_tag", "cfi"]
1721 },
1722 {
1723 "type" : "hexstr",
1724 "value" : "0x00"
1725 }
1726 ],
1727 "source_info" : {
1728 "filename" : "include/control/filtering.p4",
1729 "line" : 42,
1730 "column" : 8,
1731 "source_fragment" : "hdr.vlan_tag.cfi = 0"
1732 }
1733 },
1734 {
1735 "op" : "assign",
1736 "parameters" : [
1737 {
1738 "type" : "field",
1739 "value" : ["vlan_tag", "pri"]
1740 },
1741 {
1742 "type" : "hexstr",
1743 "value" : "0x00"
1744 }
1745 ],
1746 "source_info" : {
1747 "filename" : "include/control/filtering.p4",
1748 "line" : 43,
1749 "column" : 8,
1750 "source_fragment" : "hdr.vlan_tag.pri = 0"
1751 }
1752 },
1753 {
1754 "op" : "assign",
1755 "parameters" : [
1756 {
1757 "type" : "field",
1758 "value" : ["vlan_tag", "ether_type"]
1759 },
1760 {
1761 "type" : "field",
1762 "value" : ["ethernet", "ether_type"]
1763 }
1764 ],
1765 "source_info" : {
1766 "filename" : "include/control/filtering.p4",
1767 "line" : 44,
1768 "column" : 8,
1769 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
1770 }
1771 },
1772 {
1773 "op" : "assign",
1774 "parameters" : [
1775 {
1776 "type" : "field",
1777 "value" : ["ethernet", "ether_type"]
1778 },
1779 {
1780 "type" : "hexstr",
1781 "value" : "0x8100"
1782 }
1783 ],
1784 "source_info" : {
1785 "filename" : "include/control/../define.p4",
1786 "line" : 32,
1787 "column" : 31,
1788 "source_fragment" : "0x8100; ..."
1789 }
1790 },
1791 {
1792 "op" : "assign",
1793 "parameters" : [
1794 {
1795 "type" : "field",
1796 "value" : ["vlan_tag", "vlan_id"]
1797 },
1798 {
1799 "type" : "runtime_data",
1800 "value" : 0
1801 }
1802 ],
1803 "source_info" : {
1804 "filename" : "include/control/filtering.p4",
1805 "line" : 35,
1806 "column" : 8,
1807 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
1808 }
1809 },
1810 {
1811 "op" : "assign",
1812 "parameters" : [
1813 {
1814 "type" : "field",
1815 "value" : ["scalars", "fabric_metadata_t.pop_vlan_at_egress"]
1816 },
1817 {
1818 "type" : "expression",
1819 "value" : {
1820 "type" : "expression",
1821 "value" : {
1822 "op" : "b2d",
1823 "left" : null,
1824 "right" : {
1825 "type" : "bool",
1826 "value" : true
1827 }
1828 }
1829 }
1830 }
1831 ],
1832 "source_info" : {
1833 "filename" : "include/control/filtering.p4",
1834 "line" : 49,
1835 "column" : 8,
1836 "source_fragment" : "fabric_metadata.pop_vlan_at_egress = true"
1837 }
1838 }
1839 ]
1840 },
1841 {
1842 "name" : "filtering.set_forwarding_type",
1843 "id" : 18,
1844 "runtime_data" : [
1845 {
1846 "name" : "fwd_type",
1847 "bitwidth" : 3
1848 }
1849 ],
1850 "primitives" : [
1851 {
1852 "op" : "assign",
1853 "parameters" : [
1854 {
1855 "type" : "field",
1856 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
1857 },
1858 {
1859 "type" : "runtime_data",
1860 "value" : 0
1861 }
1862 ],
1863 "source_info" : {
1864 "filename" : "include/control/filtering.p4",
1865 "line" : 53,
1866 "column" : 8,
1867 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
1868 }
1869 }
1870 ]
1871 },
1872 {
1873 "name" : "forwarding.drop",
1874 "id" : 19,
1875 "runtime_data" : [],
1876 "primitives" : [
1877 {
1878 "op" : "drop",
1879 "parameters" : [],
1880 "source_info" : {
1881 "filename" : "include/control/forwarding.p4",
1882 "line" : 36,
1883 "column" : 8,
1884 "source_fragment" : "mark_to_drop()"
1885 }
1886 }
1887 ]
1888 },
1889 {
1890 "name" : "forwarding.set_next_id",
1891 "id" : 20,
1892 "runtime_data" : [
1893 {
1894 "name" : "next_id",
1895 "bitwidth" : 32
1896 }
1897 ],
1898 "primitives" : [
1899 {
1900 "op" : "assign",
1901 "parameters" : [
1902 {
1903 "type" : "field",
1904 "value" : ["scalars", "fabric_metadata_t.next_id"]
1905 },
1906 {
1907 "type" : "runtime_data",
1908 "value" : 0
1909 }
1910 ],
1911 "source_info" : {
1912 "filename" : "include/control/forwarding.p4",
1913 "line" : 40,
1914 "column" : 8,
1915 "source_fragment" : "fabric_metadata.next_id = next_id"
1916 }
1917 }
1918 ]
1919 },
1920 {
1921 "name" : "forwarding.set_next_id",
1922 "id" : 21,
1923 "runtime_data" : [
1924 {
1925 "name" : "next_id",
1926 "bitwidth" : 32
1927 }
1928 ],
1929 "primitives" : [
1930 {
1931 "op" : "assign",
1932 "parameters" : [
1933 {
1934 "type" : "field",
1935 "value" : ["scalars", "fabric_metadata_t.next_id"]
1936 },
1937 {
1938 "type" : "runtime_data",
1939 "value" : 0
1940 }
1941 ],
1942 "source_info" : {
1943 "filename" : "include/control/forwarding.p4",
1944 "line" : 40,
1945 "column" : 8,
1946 "source_fragment" : "fabric_metadata.next_id = next_id"
1947 }
1948 }
1949 ]
1950 },
1951 {
1952 "name" : "forwarding.set_next_id",
1953 "id" : 22,
1954 "runtime_data" : [
1955 {
1956 "name" : "next_id",
1957 "bitwidth" : 32
1958 }
1959 ],
1960 "primitives" : [
1961 {
1962 "op" : "assign",
1963 "parameters" : [
1964 {
1965 "type" : "field",
1966 "value" : ["scalars", "fabric_metadata_t.next_id"]
1967 },
1968 {
1969 "type" : "runtime_data",
1970 "value" : 0
1971 }
1972 ],
1973 "source_info" : {
1974 "filename" : "include/control/forwarding.p4",
1975 "line" : 40,
1976 "column" : 8,
1977 "source_fragment" : "fabric_metadata.next_id = next_id"
1978 }
1979 }
1980 ]
1981 },
1982 {
1983 "name" : "forwarding.pop_mpls_and_next",
1984 "id" : 23,
1985 "runtime_data" : [
1986 {
1987 "name" : "next_id",
1988 "bitwidth" : 32
1989 }
1990 ],
1991 "primitives" : [
1992 {
1993 "op" : "remove_header",
1994 "parameters" : [
1995 {
1996 "type" : "header",
1997 "value" : "mpls"
1998 }
1999 ],
2000 "source_info" : {
2001 "filename" : "include/control/forwarding.p4",
2002 "line" : 44,
2003 "column" : 8,
2004 "source_fragment" : "hdr.mpls.setInvalid()"
2005 }
2006 },
2007 {
2008 "op" : "assign",
2009 "parameters" : [
2010 {
2011 "type" : "field",
2012 "value" : ["scalars", "fabric_metadata_t.next_id"]
2013 },
2014 {
2015 "type" : "runtime_data",
2016 "value" : 0
2017 }
2018 ],
2019 "source_info" : {
2020 "filename" : "include/control/forwarding.p4",
2021 "line" : 45,
2022 "column" : 8,
2023 "source_fragment" : "fabric_metadata.next_id = next_id"
2024 }
2025 }
2026 ]
2027 },
2028 {
2029 "name" : "forwarding.duplicate_to_controller",
2030 "id" : 24,
2031 "runtime_data" : [],
2032 "primitives" : [
2033 {
2034 "op" : "assign",
2035 "parameters" : [
2036 {
2037 "type" : "field",
2038 "value" : ["standard_metadata", "egress_spec"]
2039 },
2040 {
2041 "type" : "hexstr",
2042 "value" : "0x00ff"
2043 }
2044 ],
2045 "source_info" : {
2046 "filename" : "include/control/forwarding.p4",
2047 "line" : 49,
2048 "column" : 8,
2049 "source_fragment" : "standard_metadata.egress_spec = 255"
2050 }
2051 }
2052 ]
2053 },
2054 {
2055 "name" : "next.output",
2056 "id" : 25,
2057 "runtime_data" : [
2058 {
2059 "name" : "port_num",
2060 "bitwidth" : 9
2061 }
2062 ],
2063 "primitives" : [
2064 {
2065 "op" : "assign",
2066 "parameters" : [
2067 {
2068 "type" : "field",
2069 "value" : ["standard_metadata", "egress_spec"]
2070 },
2071 {
2072 "type" : "runtime_data",
2073 "value" : 0
2074 }
2075 ],
2076 "source_info" : {
2077 "filename" : "include/control/next.p4",
2078 "line" : 32,
2079 "column" : 8,
2080 "source_fragment" : "standard_metadata.egress_spec = port_num"
2081 }
2082 }
2083 ]
2084 },
2085 {
2086 "name" : "next.set_vlan_output",
2087 "id" : 26,
2088 "runtime_data" : [
2089 {
2090 "name" : "new_vlan_id",
2091 "bitwidth" : 12
2092 },
2093 {
2094 "name" : "port_num",
2095 "bitwidth" : 9
2096 }
2097 ],
2098 "primitives" : [
2099 {
2100 "op" : "assign",
2101 "parameters" : [
2102 {
2103 "type" : "field",
2104 "value" : ["vlan_tag", "vlan_id"]
2105 },
2106 {
2107 "type" : "runtime_data",
2108 "value" : 0
2109 }
2110 ],
2111 "source_info" : {
2112 "filename" : "include/control/next.p4",
2113 "line" : 36,
2114 "column" : 8,
2115 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2116 }
2117 },
2118 {
2119 "op" : "assign",
2120 "parameters" : [
2121 {
2122 "type" : "field",
2123 "value" : ["scalars", "fabric_metadata_t.pop_vlan_at_egress"]
2124 },
2125 {
2126 "type" : "expression",
2127 "value" : {
2128 "type" : "expression",
2129 "value" : {
2130 "op" : "b2d",
2131 "left" : null,
2132 "right" : {
2133 "type" : "bool",
2134 "value" : false
2135 }
2136 }
2137 }
2138 }
2139 ],
2140 "source_info" : {
2141 "filename" : "include/control/next.p4",
2142 "line" : 39,
2143 "column" : 8,
2144 "source_fragment" : "fabric_metadata.pop_vlan_at_egress = false"
2145 }
2146 },
2147 {
2148 "op" : "assign",
2149 "parameters" : [
2150 {
2151 "type" : "field",
2152 "value" : ["standard_metadata", "egress_spec"]
2153 },
2154 {
2155 "type" : "runtime_data",
2156 "value" : 1
2157 }
2158 ],
2159 "source_info" : {
2160 "filename" : "include/control/next.p4",
2161 "line" : 32,
2162 "column" : 8,
2163 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2164 }
2165 }
2166 ]
2167 },
2168 {
2169 "name" : "next.l3_routing",
2170 "id" : 27,
2171 "runtime_data" : [
2172 {
2173 "name" : "port_num",
2174 "bitwidth" : 9
2175 },
2176 {
2177 "name" : "smac",
2178 "bitwidth" : 48
2179 },
2180 {
2181 "name" : "dmac",
2182 "bitwidth" : 48
2183 }
2184 ],
2185 "primitives" : [
2186 {
2187 "op" : "assign",
2188 "parameters" : [
2189 {
2190 "type" : "field",
2191 "value" : ["ethernet", "src_addr"]
2192 },
2193 {
2194 "type" : "runtime_data",
2195 "value" : 1
2196 }
2197 ],
2198 "source_info" : {
2199 "filename" : "include/control/next.p4",
2200 "line" : 44,
2201 "column" : 8,
2202 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2203 }
2204 },
2205 {
2206 "op" : "assign",
2207 "parameters" : [
2208 {
2209 "type" : "field",
2210 "value" : ["ethernet", "dst_addr"]
2211 },
2212 {
2213 "type" : "runtime_data",
2214 "value" : 2
2215 }
2216 ],
2217 "source_info" : {
2218 "filename" : "include/control/next.p4",
2219 "line" : 48,
2220 "column" : 8,
2221 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2222 }
2223 },
2224 {
2225 "op" : "assign",
2226 "parameters" : [
2227 {
2228 "type" : "field",
2229 "value" : ["standard_metadata", "egress_spec"]
2230 },
2231 {
2232 "type" : "runtime_data",
2233 "value" : 0
2234 }
2235 ],
2236 "source_info" : {
2237 "filename" : "include/control/next.p4",
2238 "line" : 32,
2239 "column" : 8,
2240 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2241 }
2242 }
2243 ]
2244 },
2245 {
2246 "name" : "next.l3_routing",
2247 "id" : 28,
2248 "runtime_data" : [
2249 {
2250 "name" : "port_num",
2251 "bitwidth" : 9
2252 },
2253 {
2254 "name" : "smac",
2255 "bitwidth" : 48
2256 },
2257 {
2258 "name" : "dmac",
2259 "bitwidth" : 48
2260 }
2261 ],
2262 "primitives" : [
2263 {
2264 "op" : "assign",
2265 "parameters" : [
2266 {
2267 "type" : "field",
2268 "value" : ["ethernet", "src_addr"]
2269 },
2270 {
2271 "type" : "runtime_data",
2272 "value" : 1
2273 }
2274 ],
2275 "source_info" : {
2276 "filename" : "include/control/next.p4",
2277 "line" : 44,
2278 "column" : 8,
2279 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2280 }
2281 },
2282 {
2283 "op" : "assign",
2284 "parameters" : [
2285 {
2286 "type" : "field",
2287 "value" : ["ethernet", "dst_addr"]
2288 },
2289 {
2290 "type" : "runtime_data",
2291 "value" : 2
2292 }
2293 ],
2294 "source_info" : {
2295 "filename" : "include/control/next.p4",
2296 "line" : 48,
2297 "column" : 8,
2298 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2299 }
2300 },
2301 {
2302 "op" : "assign",
2303 "parameters" : [
2304 {
2305 "type" : "field",
2306 "value" : ["standard_metadata", "egress_spec"]
2307 },
2308 {
2309 "type" : "runtime_data",
2310 "value" : 0
2311 }
2312 ],
2313 "source_info" : {
2314 "filename" : "include/control/next.p4",
2315 "line" : 32,
2316 "column" : 8,
2317 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2318 }
2319 }
2320 ]
2321 },
2322 {
2323 "name" : "next.mpls_routing_v4",
2324 "id" : 29,
2325 "runtime_data" : [
2326 {
2327 "name" : "port_num",
2328 "bitwidth" : 9
2329 },
2330 {
2331 "name" : "smac",
2332 "bitwidth" : 48
2333 },
2334 {
2335 "name" : "dmac",
2336 "bitwidth" : 48
2337 },
2338 {
2339 "name" : "label",
2340 "bitwidth" : 20
2341 }
2342 ],
2343 "primitives" : [
2344 {
2345 "op" : "assign",
2346 "parameters" : [
2347 {
2348 "type" : "field",
2349 "value" : ["ethernet", "src_addr"]
2350 },
2351 {
2352 "type" : "runtime_data",
2353 "value" : 1
2354 }
2355 ],
2356 "source_info" : {
2357 "filename" : "include/control/next.p4",
2358 "line" : 44,
2359 "column" : 8,
2360 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2361 }
2362 },
2363 {
2364 "op" : "assign",
2365 "parameters" : [
2366 {
2367 "type" : "field",
2368 "value" : ["ethernet", "dst_addr"]
2369 },
2370 {
2371 "type" : "runtime_data",
2372 "value" : 2
2373 }
2374 ],
2375 "source_info" : {
2376 "filename" : "include/control/next.p4",
2377 "line" : 48,
2378 "column" : 8,
2379 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2380 }
2381 },
2382 {
2383 "op" : "assign",
2384 "parameters" : [
2385 {
2386 "type" : "field",
2387 "value" : ["standard_metadata", "egress_spec"]
2388 },
2389 {
2390 "type" : "runtime_data",
2391 "value" : 0
2392 }
2393 ],
2394 "source_info" : {
2395 "filename" : "include/control/next.p4",
2396 "line" : 32,
2397 "column" : 8,
2398 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2399 }
2400 },
2401 {
2402 "op" : "add_header",
2403 "parameters" : [
2404 {
2405 "type" : "header",
2406 "value" : "mpls"
2407 }
2408 ],
2409 "source_info" : {
2410 "filename" : "include/control/next.p4",
2411 "line" : 59,
2412 "column" : 8,
2413 "source_fragment" : "hdr.mpls.setValid()"
2414 }
2415 },
2416 {
2417 "op" : "assign",
2418 "parameters" : [
2419 {
2420 "type" : "field",
2421 "value" : ["vlan_tag", "ether_type"]
2422 },
2423 {
2424 "type" : "hexstr",
2425 "value" : "0x8847"
2426 }
2427 ],
2428 "source_info" : {
2429 "filename" : "include/control/../define.p4",
2430 "line" : 33,
2431 "column" : 31,
2432 "source_fragment" : "0x8847; ..."
2433 }
2434 },
2435 {
2436 "op" : "assign",
2437 "parameters" : [
2438 {
2439 "type" : "field",
2440 "value" : ["mpls", "label"]
2441 },
2442 {
2443 "type" : "runtime_data",
2444 "value" : 3
2445 }
2446 ],
2447 "source_info" : {
2448 "filename" : "include/control/next.p4",
2449 "line" : 61,
2450 "column" : 8,
2451 "source_fragment" : "hdr.mpls.label = label; ..."
2452 }
2453 },
2454 {
2455 "op" : "assign",
2456 "parameters" : [
2457 {
2458 "type" : "field",
2459 "value" : ["mpls", "tc"]
2460 },
2461 {
2462 "type" : "hexstr",
2463 "value" : "0x00"
2464 }
2465 ],
2466 "source_info" : {
2467 "filename" : "include/control/next.p4",
2468 "line" : 62,
2469 "column" : 8,
2470 "source_fragment" : "hdr.mpls.tc = tc; ..."
2471 }
2472 },
2473 {
2474 "op" : "assign",
2475 "parameters" : [
2476 {
2477 "type" : "field",
2478 "value" : ["mpls", "bos"]
2479 },
2480 {
2481 "type" : "hexstr",
2482 "value" : "0x01"
2483 }
2484 ],
2485 "source_info" : {
2486 "filename" : "include/control/next.p4",
2487 "line" : 63,
2488 "column" : 8,
2489 "source_fragment" : "hdr.mpls.bos = 1w1"
2490 }
2491 },
2492 {
2493 "op" : "assign",
2494 "parameters" : [
2495 {
2496 "type" : "field",
2497 "value" : ["mpls", "ttl"]
2498 },
2499 {
2500 "type" : "hexstr",
2501 "value" : "0x40"
2502 }
2503 ],
2504 "source_info" : {
2505 "filename" : "include/control/../define.p4",
2506 "line" : 67,
2507 "column" : 32,
2508 "source_fragment" : "64; ..."
2509 }
2510 }
2511 ]
2512 },
2513 {
2514 "name" : "next.mpls_routing_v4",
2515 "id" : 30,
2516 "runtime_data" : [
2517 {
2518 "name" : "port_num",
2519 "bitwidth" : 9
2520 },
2521 {
2522 "name" : "smac",
2523 "bitwidth" : 48
2524 },
2525 {
2526 "name" : "dmac",
2527 "bitwidth" : 48
2528 },
2529 {
2530 "name" : "label",
2531 "bitwidth" : 20
2532 }
2533 ],
2534 "primitives" : [
2535 {
2536 "op" : "assign",
2537 "parameters" : [
2538 {
2539 "type" : "field",
2540 "value" : ["ethernet", "src_addr"]
2541 },
2542 {
2543 "type" : "runtime_data",
2544 "value" : 1
2545 }
2546 ],
2547 "source_info" : {
2548 "filename" : "include/control/next.p4",
2549 "line" : 44,
2550 "column" : 8,
2551 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2552 }
2553 },
2554 {
2555 "op" : "assign",
2556 "parameters" : [
2557 {
2558 "type" : "field",
2559 "value" : ["ethernet", "dst_addr"]
2560 },
2561 {
2562 "type" : "runtime_data",
2563 "value" : 2
2564 }
2565 ],
2566 "source_info" : {
2567 "filename" : "include/control/next.p4",
2568 "line" : 48,
2569 "column" : 8,
2570 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2571 }
2572 },
2573 {
2574 "op" : "assign",
2575 "parameters" : [
2576 {
2577 "type" : "field",
2578 "value" : ["standard_metadata", "egress_spec"]
2579 },
2580 {
2581 "type" : "runtime_data",
2582 "value" : 0
2583 }
2584 ],
2585 "source_info" : {
2586 "filename" : "include/control/next.p4",
2587 "line" : 32,
2588 "column" : 8,
2589 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2590 }
2591 },
2592 {
2593 "op" : "add_header",
2594 "parameters" : [
2595 {
2596 "type" : "header",
2597 "value" : "mpls"
2598 }
2599 ],
2600 "source_info" : {
2601 "filename" : "include/control/next.p4",
2602 "line" : 59,
2603 "column" : 8,
2604 "source_fragment" : "hdr.mpls.setValid()"
2605 }
2606 },
2607 {
2608 "op" : "assign",
2609 "parameters" : [
2610 {
2611 "type" : "field",
2612 "value" : ["vlan_tag", "ether_type"]
2613 },
2614 {
2615 "type" : "hexstr",
2616 "value" : "0x8847"
2617 }
2618 ],
2619 "source_info" : {
2620 "filename" : "include/control/../define.p4",
2621 "line" : 33,
2622 "column" : 31,
2623 "source_fragment" : "0x8847; ..."
2624 }
2625 },
2626 {
2627 "op" : "assign",
2628 "parameters" : [
2629 {
2630 "type" : "field",
2631 "value" : ["mpls", "label"]
2632 },
2633 {
2634 "type" : "runtime_data",
2635 "value" : 3
2636 }
2637 ],
2638 "source_info" : {
2639 "filename" : "include/control/next.p4",
2640 "line" : 61,
2641 "column" : 8,
2642 "source_fragment" : "hdr.mpls.label = label; ..."
2643 }
2644 },
2645 {
2646 "op" : "assign",
2647 "parameters" : [
2648 {
2649 "type" : "field",
2650 "value" : ["mpls", "tc"]
2651 },
2652 {
2653 "type" : "hexstr",
2654 "value" : "0x00"
2655 }
2656 ],
2657 "source_info" : {
2658 "filename" : "include/control/next.p4",
2659 "line" : 62,
2660 "column" : 8,
2661 "source_fragment" : "hdr.mpls.tc = tc; ..."
2662 }
2663 },
2664 {
2665 "op" : "assign",
2666 "parameters" : [
2667 {
2668 "type" : "field",
2669 "value" : ["mpls", "bos"]
2670 },
2671 {
2672 "type" : "hexstr",
2673 "value" : "0x01"
2674 }
2675 ],
2676 "source_info" : {
2677 "filename" : "include/control/next.p4",
2678 "line" : 63,
2679 "column" : 8,
2680 "source_fragment" : "hdr.mpls.bos = 1w1"
2681 }
2682 },
2683 {
2684 "op" : "assign",
2685 "parameters" : [
2686 {
2687 "type" : "field",
2688 "value" : ["mpls", "ttl"]
2689 },
2690 {
2691 "type" : "hexstr",
2692 "value" : "0x40"
2693 }
2694 ],
2695 "source_info" : {
2696 "filename" : "include/control/../define.p4",
2697 "line" : 67,
2698 "column" : 32,
2699 "source_fragment" : "64; ..."
2700 }
2701 }
2702 ]
2703 },
2704 {
2705 "name" : "next.mpls_routing_v6",
2706 "id" : 31,
2707 "runtime_data" : [
2708 {
2709 "name" : "port_num",
2710 "bitwidth" : 9
2711 },
2712 {
2713 "name" : "smac",
2714 "bitwidth" : 48
2715 },
2716 {
2717 "name" : "dmac",
2718 "bitwidth" : 48
2719 },
2720 {
2721 "name" : "label",
2722 "bitwidth" : 20
2723 }
2724 ],
2725 "primitives" : [
2726 {
2727 "op" : "assign",
2728 "parameters" : [
2729 {
2730 "type" : "field",
2731 "value" : ["ethernet", "src_addr"]
2732 },
2733 {
2734 "type" : "runtime_data",
2735 "value" : 1
2736 }
2737 ],
2738 "source_info" : {
2739 "filename" : "include/control/next.p4",
2740 "line" : 44,
2741 "column" : 8,
2742 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2743 }
2744 },
2745 {
2746 "op" : "assign",
2747 "parameters" : [
2748 {
2749 "type" : "field",
2750 "value" : ["ethernet", "dst_addr"]
2751 },
2752 {
2753 "type" : "runtime_data",
2754 "value" : 2
2755 }
2756 ],
2757 "source_info" : {
2758 "filename" : "include/control/next.p4",
2759 "line" : 48,
2760 "column" : 8,
2761 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2762 }
2763 },
2764 {
2765 "op" : "assign",
2766 "parameters" : [
2767 {
2768 "type" : "field",
2769 "value" : ["standard_metadata", "egress_spec"]
2770 },
2771 {
2772 "type" : "runtime_data",
2773 "value" : 0
2774 }
2775 ],
2776 "source_info" : {
2777 "filename" : "include/control/next.p4",
2778 "line" : 32,
2779 "column" : 8,
2780 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2781 }
2782 },
2783 {
2784 "op" : "add_header",
2785 "parameters" : [
2786 {
2787 "type" : "header",
2788 "value" : "mpls"
2789 }
2790 ],
2791 "source_info" : {
2792 "filename" : "include/control/next.p4",
2793 "line" : 59,
2794 "column" : 8,
2795 "source_fragment" : "hdr.mpls.setValid()"
2796 }
2797 },
2798 {
2799 "op" : "assign",
2800 "parameters" : [
2801 {
2802 "type" : "field",
2803 "value" : ["vlan_tag", "ether_type"]
2804 },
2805 {
2806 "type" : "hexstr",
2807 "value" : "0x8847"
2808 }
2809 ],
2810 "source_info" : {
2811 "filename" : "include/control/../define.p4",
2812 "line" : 33,
2813 "column" : 31,
2814 "source_fragment" : "0x8847; ..."
2815 }
2816 },
2817 {
2818 "op" : "assign",
2819 "parameters" : [
2820 {
2821 "type" : "field",
2822 "value" : ["mpls", "label"]
2823 },
2824 {
2825 "type" : "runtime_data",
2826 "value" : 3
2827 }
2828 ],
2829 "source_info" : {
2830 "filename" : "include/control/next.p4",
2831 "line" : 61,
2832 "column" : 8,
2833 "source_fragment" : "hdr.mpls.label = label; ..."
2834 }
2835 },
2836 {
2837 "op" : "assign",
2838 "parameters" : [
2839 {
2840 "type" : "field",
2841 "value" : ["mpls", "tc"]
2842 },
2843 {
2844 "type" : "hexstr",
2845 "value" : "0x00"
2846 }
2847 ],
2848 "source_info" : {
2849 "filename" : "include/control/next.p4",
2850 "line" : 62,
2851 "column" : 8,
2852 "source_fragment" : "hdr.mpls.tc = tc; ..."
2853 }
2854 },
2855 {
2856 "op" : "assign",
2857 "parameters" : [
2858 {
2859 "type" : "field",
2860 "value" : ["mpls", "bos"]
2861 },
2862 {
2863 "type" : "hexstr",
2864 "value" : "0x01"
2865 }
2866 ],
2867 "source_info" : {
2868 "filename" : "include/control/next.p4",
2869 "line" : 63,
2870 "column" : 8,
2871 "source_fragment" : "hdr.mpls.bos = 1w1"
2872 }
2873 },
2874 {
2875 "op" : "assign",
2876 "parameters" : [
2877 {
2878 "type" : "field",
2879 "value" : ["mpls", "ttl"]
2880 },
2881 {
2882 "type" : "hexstr",
2883 "value" : "0x40"
2884 }
2885 ],
2886 "source_info" : {
2887 "filename" : "include/control/../define.p4",
2888 "line" : 67,
2889 "column" : 32,
2890 "source_fragment" : "64; ..."
2891 }
2892 }
2893 ]
2894 },
2895 {
2896 "name" : "act",
2897 "id" : 32,
2898 "runtime_data" : [],
2899 "primitives" : [
2900 {
2901 "op" : "assign",
2902 "parameters" : [
2903 {
2904 "type" : "field",
2905 "value" : ["standard_metadata", "egress_spec"]
2906 },
2907 {
2908 "type" : "field",
2909 "value" : ["packet_out", "egress_port"]
2910 }
2911 ],
2912 "source_info" : {
2913 "filename" : "include/control/packetio.p4",
2914 "line" : 26,
2915 "column" : 12,
2916 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
2917 }
2918 },
2919 {
2920 "op" : "remove_header",
2921 "parameters" : [
2922 {
2923 "type" : "header",
2924 "value" : "packet_out"
2925 }
2926 ],
2927 "source_info" : {
2928 "filename" : "include/control/packetio.p4",
2929 "line" : 27,
2930 "column" : 12,
2931 "source_fragment" : "hdr.packet_out.setInvalid()"
2932 }
2933 }
2934 ]
2935 },
2936 {
2937 "name" : "act_0",
2938 "id" : 33,
2939 "runtime_data" : [],
2940 "primitives" : [
2941 {
2942 "op" : "assign",
2943 "parameters" : [
2944 {
2945 "type" : "field",
2946 "value" : ["scalars", "spgw_ingress_tmp_2"]
2947 },
2948 {
2949 "type" : "expression",
2950 "value" : {
2951 "type" : "expression",
2952 "value" : {
2953 "op" : "b2d",
2954 "left" : null,
2955 "right" : {
2956 "type" : "bool",
2957 "value" : true
2958 }
2959 }
2960 }
2961 }
2962 ]
2963 }
2964 ]
2965 },
2966 {
2967 "name" : "act_1",
2968 "id" : 34,
2969 "runtime_data" : [],
2970 "primitives" : [
2971 {
2972 "op" : "assign",
2973 "parameters" : [
2974 {
2975 "type" : "field",
2976 "value" : ["scalars", "spgw_ingress_tmp_2"]
2977 },
2978 {
2979 "type" : "expression",
2980 "value" : {
2981 "type" : "expression",
2982 "value" : {
2983 "op" : "b2d",
2984 "left" : null,
2985 "right" : {
2986 "type" : "bool",
2987 "value" : false
2988 }
2989 }
2990 }
2991 }
2992 ]
2993 }
2994 ]
2995 },
2996 {
2997 "name" : "act_2",
2998 "id" : 35,
2999 "runtime_data" : [],
3000 "primitives" : [
3001 {
3002 "op" : "assign",
3003 "parameters" : [
3004 {
3005 "type" : "field",
3006 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
3007 },
3008 {
3009 "type" : "field",
3010 "value" : ["ipv4", "src_addr"]
3011 }
3012 ],
3013 "source_info" : {
3014 "filename" : "include/spgw.p4",
3015 "line" : 152,
3016 "column" : 12,
3017 "source_fragment" : "spgw_meta.s1u_enb_addr = ipv4.src_addr"
3018 }
3019 },
3020 {
3021 "op" : "assign",
3022 "parameters" : [
3023 {
3024 "type" : "field",
3025 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
3026 },
3027 {
3028 "type" : "field",
3029 "value" : ["ipv4", "dst_addr"]
3030 }
3031 ],
3032 "source_info" : {
3033 "filename" : "include/spgw.p4",
3034 "line" : 153,
3035 "column" : 12,
3036 "source_fragment" : "spgw_meta.s1u_sgw_addr = ipv4.dst_addr"
3037 }
3038 },
3039 {
3040 "op" : "assign_header",
3041 "parameters" : [
3042 {
3043 "type" : "header",
3044 "value" : "ipv4"
3045 },
3046 {
3047 "type" : "header",
3048 "value" : "gtpu_ipv4"
3049 }
3050 ],
3051 "source_info" : {
3052 "filename" : "include/spgw.p4",
3053 "line" : 154,
3054 "column" : 17,
3055 "source_fragment" : "= gtpu_ipv4; ..."
3056 }
3057 },
3058 {
3059 "op" : "assign_header",
3060 "parameters" : [
3061 {
3062 "type" : "header",
3063 "value" : "udp"
3064 },
3065 {
3066 "type" : "header",
3067 "value" : "gtpu_udp"
3068 }
3069 ],
3070 "source_info" : {
3071 "filename" : "include/spgw.p4",
3072 "line" : 155,
3073 "column" : 16,
3074 "source_fragment" : "= gtpu_udp; ..."
3075 }
3076 }
3077 ]
3078 },
3079 {
3080 "name" : "act_3",
3081 "id" : 36,
3082 "runtime_data" : [],
3083 "primitives" : [
3084 {
3085 "op" : "assign",
3086 "parameters" : [
3087 {
3088 "type" : "field",
3089 "value" : ["userMetadata.spgw", "do_spgw"]
3090 },
3091 {
3092 "type" : "hexstr",
3093 "value" : "0x01"
3094 }
3095 ],
3096 "source_info" : {
3097 "filename" : "include/spgw.p4",
3098 "line" : 159,
3099 "column" : 16,
3100 "source_fragment" : "spgw_meta.do_spgw = 1w1"
3101 }
3102 },
3103 {
3104 "op" : "assign",
3105 "parameters" : [
3106 {
3107 "type" : "field",
3108 "value" : ["userMetadata.spgw", "direction"]
3109 },
3110 {
3111 "type" : "hexstr",
3112 "value" : "0x00"
3113 }
3114 ],
3115 "source_info" : {
3116 "filename" : "include/control/../define.p4",
3117 "line" : 88,
3118 "column" : 31,
3119 "source_fragment" : "1w0; ..."
3120 }
3121 }
3122 ]
3123 },
3124 {
3125 "name" : "act_4",
3126 "id" : 37,
3127 "runtime_data" : [],
3128 "primitives" : [
3129 {
3130 "op" : "assign",
3131 "parameters" : [
3132 {
3133 "type" : "field",
3134 "value" : ["scalars", "spgw_ingress_tmp_3"]
3135 },
3136 {
3137 "type" : "expression",
3138 "value" : {
3139 "type" : "expression",
3140 "value" : {
3141 "op" : "b2d",
3142 "left" : null,
3143 "right" : {
3144 "type" : "bool",
3145 "value" : true
3146 }
3147 }
3148 }
3149 }
3150 ]
3151 }
3152 ]
3153 },
3154 {
3155 "name" : "act_5",
3156 "id" : 38,
3157 "runtime_data" : [],
3158 "primitives" : [
3159 {
3160 "op" : "assign",
3161 "parameters" : [
3162 {
3163 "type" : "field",
3164 "value" : ["scalars", "spgw_ingress_tmp_3"]
3165 },
3166 {
3167 "type" : "expression",
3168 "value" : {
3169 "type" : "expression",
3170 "value" : {
3171 "op" : "b2d",
3172 "left" : null,
3173 "right" : {
3174 "type" : "bool",
3175 "value" : false
3176 }
3177 }
3178 }
3179 }
3180 ]
3181 }
3182 ]
3183 },
3184 {
3185 "name" : "act_6",
3186 "id" : 39,
3187 "runtime_data" : [],
3188 "primitives" : [
3189 {
3190 "op" : "assign",
3191 "parameters" : [
3192 {
3193 "type" : "field",
3194 "value" : ["userMetadata.spgw", "do_spgw"]
3195 },
3196 {
3197 "type" : "hexstr",
3198 "value" : "0x01"
3199 }
3200 ],
3201 "source_info" : {
3202 "filename" : "include/spgw.p4",
3203 "line" : 163,
3204 "column" : 12,
3205 "source_fragment" : "spgw_meta.do_spgw = 1w1"
3206 }
3207 },
3208 {
3209 "op" : "assign",
3210 "parameters" : [
3211 {
3212 "type" : "field",
3213 "value" : ["userMetadata.spgw", "direction"]
3214 },
3215 {
3216 "type" : "hexstr",
3217 "value" : "0x01"
3218 }
3219 ],
3220 "source_info" : {
3221 "filename" : "include/control/../define.p4",
3222 "line" : 89,
3223 "column" : 33,
3224 "source_fragment" : "1w1; ..."
3225 }
3226 }
3227 ]
3228 },
3229 {
3230 "name" : "act_7",
3231 "id" : 40,
3232 "runtime_data" : [],
3233 "primitives" : [
3234 {
3235 "op" : "assign",
3236 "parameters" : [
3237 {
3238 "type" : "field",
3239 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
3240 },
3241 {
3242 "type" : "expression",
3243 "value" : {
3244 "type" : "expression",
3245 "value" : {
3246 "op" : "b2d",
3247 "left" : null,
3248 "right" : {
3249 "type" : "bool",
3250 "value" : false
3251 }
3252 }
3253 }
3254 }
3255 ]
3256 },
3257 {
3258 "op" : "assign",
3259 "parameters" : [
3260 {
3261 "type" : "field",
3262 "value" : ["userMetadata.spgw", "do_spgw"]
3263 },
3264 {
3265 "type" : "hexstr",
3266 "value" : "0x00"
3267 }
3268 ],
3269 "source_info" : {
3270 "filename" : "include/spgw.p4",
3271 "line" : 146,
3272 "column" : 8,
3273 "source_fragment" : "spgw_meta.do_spgw = 1w0"
3274 }
3275 }
3276 ]
3277 },
3278 {
3279 "name" : "act_8",
3280 "id" : 41,
3281 "runtime_data" : [],
3282 "primitives" : [
3283 {
3284 "op" : "assign",
3285 "parameters" : [
3286 {
3287 "type" : "field",
3288 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
3289 },
3290 {
3291 "type" : "expression",
3292 "value" : {
3293 "type" : "expression",
3294 "value" : {
3295 "op" : "b2d",
3296 "left" : null,
3297 "right" : {
3298 "type" : "bool",
3299 "value" : true
3300 }
3301 }
3302 }
3303 }
3304 ],
3305 "source_info" : {
3306 "filename" : "include/spgw.p4",
3307 "line" : 169,
3308 "column" : 12,
3309 "source_fragment" : "return"
3310 }
3311 }
3312 ]
3313 },
3314 {
3315 "name" : "act_9",
3316 "id" : 42,
3317 "runtime_data" : [],
3318 "primitives" : [
3319 {
3320 "op" : "assign",
3321 "parameters" : [
3322 {
3323 "type" : "field",
3324 "value" : ["scalars", "spgw_ingress_tmp_4"]
3325 },
3326 {
3327 "type" : "expression",
3328 "value" : {
3329 "type" : "expression",
3330 "value" : {
3331 "op" : "b2d",
3332 "left" : null,
3333 "right" : {
3334 "type" : "bool",
3335 "value" : true
3336 }
3337 }
3338 }
3339 }
3340 ]
3341 }
3342 ]
3343 },
3344 {
3345 "name" : "act_10",
3346 "id" : 43,
3347 "runtime_data" : [],
3348 "primitives" : [
3349 {
3350 "op" : "assign",
3351 "parameters" : [
3352 {
3353 "type" : "field",
3354 "value" : ["scalars", "spgw_ingress_tmp_4"]
3355 },
3356 {
3357 "type" : "expression",
3358 "value" : {
3359 "type" : "expression",
3360 "value" : {
3361 "op" : "b2d",
3362 "left" : null,
3363 "right" : {
3364 "type" : "bool",
3365 "value" : false
3366 }
3367 }
3368 }
3369 }
3370 ]
3371 }
3372 ]
3373 },
3374 {
3375 "name" : "act_11",
3376 "id" : 44,
3377 "runtime_data" : [],
3378 "primitives" : [
3379 {
3380 "op" : "assign",
3381 "parameters" : [
3382 {
3383 "type" : "field",
3384 "value" : ["vlan_tag", "ether_type"]
3385 },
3386 {
3387 "type" : "hexstr",
3388 "value" : "0x0800"
3389 }
3390 ],
3391 "source_info" : {
3392 "filename" : "include/control/../define.p4",
3393 "line" : 35,
3394 "column" : 31,
3395 "source_fragment" : "0x0800; ..."
3396 }
3397 },
3398 {
3399 "op" : "assign",
3400 "parameters" : [
3401 {
3402 "type" : "field",
3403 "value" : ["scalars", "fabric_metadata_t.original_ether_type"]
3404 },
3405 {
3406 "type" : "hexstr",
3407 "value" : "0x0800"
3408 }
3409 ],
3410 "source_info" : {
3411 "filename" : "include/control/../define.p4",
3412 "line" : 35,
3413 "column" : 31,
3414 "source_fragment" : "0x0800; ..."
3415 }
3416 }
3417 ]
3418 },
3419 {
3420 "name" : "act_12",
3421 "id" : 45,
3422 "runtime_data" : [],
3423 "primitives" : [
3424 {
3425 "op" : "assign",
3426 "parameters" : [
3427 {
3428 "type" : "field",
3429 "value" : ["scalars", "next_tmp_0"]
3430 },
3431 {
3432 "type" : "expression",
3433 "value" : {
3434 "type" : "expression",
3435 "value" : {
3436 "op" : "b2d",
3437 "left" : null,
3438 "right" : {
3439 "type" : "bool",
3440 "value" : true
3441 }
3442 }
3443 }
3444 }
3445 ]
3446 }
3447 ]
3448 },
3449 {
3450 "name" : "act_13",
3451 "id" : 46,
3452 "runtime_data" : [],
3453 "primitives" : [
3454 {
3455 "op" : "assign",
3456 "parameters" : [
3457 {
3458 "type" : "field",
3459 "value" : ["scalars", "next_tmp_0"]
3460 },
3461 {
3462 "type" : "expression",
3463 "value" : {
3464 "type" : "expression",
3465 "value" : {
3466 "op" : "b2d",
3467 "left" : null,
3468 "right" : {
3469 "type" : "bool",
3470 "value" : false
3471 }
3472 }
3473 }
3474 }
3475 ]
3476 }
3477 ]
3478 },
3479 {
3480 "name" : "act_14",
3481 "id" : 47,
3482 "runtime_data" : [],
3483 "primitives" : [
3484 {
3485 "op" : "assign",
3486 "parameters" : [
3487 {
3488 "type" : "field",
3489 "value" : ["ipv4", "ttl"]
3490 },
3491 {
3492 "type" : "expression",
3493 "value" : {
3494 "type" : "expression",
3495 "value" : {
3496 "op" : "&",
3497 "left" : {
3498 "type" : "expression",
3499 "value" : {
3500 "op" : "+",
3501 "left" : {
3502 "type" : "field",
3503 "value" : ["ipv4", "ttl"]
3504 },
3505 "right" : {
3506 "type" : "hexstr",
3507 "value" : "0xff"
3508 }
3509 }
3510 },
3511 "right" : {
3512 "type" : "hexstr",
3513 "value" : "0xff"
3514 }
3515 }
3516 }
3517 }
3518 ],
3519 "source_info" : {
3520 "filename" : "include/control/next.p4",
3521 "line" : 143,
3522 "column" : 20,
3523 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
3524 }
3525 }
3526 ]
3527 },
3528 {
3529 "name" : "act_15",
3530 "id" : 48,
3531 "runtime_data" : [],
3532 "primitives" : [
3533 {
3534 "op" : "assign",
3535 "parameters" : [
3536 {
3537 "type" : "field",
3538 "value" : ["scalars", "tmp_0"]
3539 },
3540 {
3541 "type" : "expression",
3542 "value" : {
3543 "type" : "expression",
3544 "value" : {
3545 "op" : "&",
3546 "left" : {
3547 "type" : "field",
3548 "value" : ["standard_metadata", "egress_spec"]
3549 },
3550 "right" : {
3551 "type" : "hexstr",
3552 "value" : "0xffffffff"
3553 }
3554 }
3555 }
3556 }
3557 ]
3558 },
3559 {
3560 "op" : "count",
3561 "parameters" : [
3562 {
3563 "type" : "counter_array",
3564 "value" : "port_counters_control.egress_port_counter"
3565 },
3566 {
3567 "type" : "field",
3568 "value" : ["scalars", "tmp_0"]
3569 }
3570 ],
3571 "source_info" : {
3572 "filename" : "include/control/port_counter.p4",
3573 "line" : 28,
3574 "column" : 12,
3575 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
3576 }
3577 }
3578 ]
3579 },
3580 {
3581 "name" : "act_16",
3582 "id" : 49,
3583 "runtime_data" : [],
3584 "primitives" : [
3585 {
3586 "op" : "assign",
3587 "parameters" : [
3588 {
3589 "type" : "field",
3590 "value" : ["scalars", "tmp_1"]
3591 },
3592 {
3593 "type" : "expression",
3594 "value" : {
3595 "type" : "expression",
3596 "value" : {
3597 "op" : "&",
3598 "left" : {
3599 "type" : "field",
3600 "value" : ["standard_metadata", "ingress_port"]
3601 },
3602 "right" : {
3603 "type" : "hexstr",
3604 "value" : "0xffffffff"
3605 }
3606 }
3607 }
3608 }
3609 ]
3610 },
3611 {
3612 "op" : "count",
3613 "parameters" : [
3614 {
3615 "type" : "counter_array",
3616 "value" : "port_counters_control.ingress_port_counter"
3617 },
3618 {
3619 "type" : "field",
3620 "value" : ["scalars", "tmp_1"]
3621 }
3622 ],
3623 "source_info" : {
3624 "filename" : "include/control/port_counter.p4",
3625 "line" : 31,
3626 "column" : 12,
3627 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
3628 }
3629 }
3630 ]
3631 },
3632 {
3633 "name" : "act_17",
3634 "id" : 50,
3635 "runtime_data" : [],
3636 "primitives" : [
3637 {
3638 "op" : "assign",
3639 "parameters" : [
3640 {
3641 "type" : "field",
3642 "value" : ["ethernet", "ether_type"]
3643 },
3644 {
3645 "type" : "field",
3646 "value" : ["vlan_tag", "ether_type"]
3647 }
3648 ],
3649 "source_info" : {
3650 "filename" : "include/control/next.p4",
3651 "line" : 167,
3652 "column" : 12,
3653 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
3654 }
3655 },
3656 {
3657 "op" : "remove_header",
3658 "parameters" : [
3659 {
3660 "type" : "header",
3661 "value" : "vlan_tag"
3662 }
3663 ],
3664 "source_info" : {
3665 "filename" : "include/control/next.p4",
3666 "line" : 168,
3667 "column" : 12,
3668 "source_fragment" : "hdr.vlan_tag.setInvalid()"
3669 }
3670 }
3671 ]
3672 },
3673 {
3674 "name" : "NoAction",
3675 "id" : 51,
3676 "runtime_data" : [],
3677 "primitives" : []
3678 },
3679 {
3680 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i0",
3681 "id" : 52,
3682 "runtime_data" : [],
3683 "primitives" : []
3684 },
3685 {
3686 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i1",
3687 "id" : 53,
3688 "runtime_data" : [],
3689 "primitives" : [
3690 {
3691 "op" : "add_header",
3692 "parameters" : [
3693 {
3694 "type" : "header",
3695 "value" : "int_q_occupancy"
3696 }
3697 ],
3698 "source_info" : {
3699 "filename" : "include/int_transit.p4",
3700 "line" : 24,
3701 "column" : 8,
3702 "source_fragment" : "hdr.int_q_occupancy.setValid()"
3703 }
3704 },
3705 {
3706 "op" : "assign",
3707 "parameters" : [
3708 {
3709 "type" : "field",
3710 "value" : ["int_q_occupancy", "q_id"]
3711 },
3712 {
3713 "type" : "hexstr",
3714 "value" : "0x00"
3715 }
3716 ],
3717 "source_info" : {
3718 "filename" : "include/int_transit.p4",
3719 "line" : 25,
3720 "column" : 8,
3721 "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00"
3722 }
3723 },
3724 {
3725 "op" : "assign",
3726 "parameters" : [
3727 {
3728 "type" : "field",
3729 "value" : ["int_q_occupancy", "q_occupancy"]
3730 },
3731 {
3732 "type" : "expression",
3733 "value" : {
3734 "type" : "expression",
3735 "value" : {
3736 "op" : "&",
3737 "left" : {
3738 "type" : "field",
3739 "value" : ["standard_metadata", "deq_qdepth"]
3740 },
3741 "right" : {
3742 "type" : "hexstr",
3743 "value" : "0xffffff"
3744 }
3745 }
3746 }
3747 }
3748 ],
3749 "source_info" : {
3750 "filename" : "include/int_transit.p4",
3751 "line" : 26,
3752 "column" : 8,
3753 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth"
3754 }
3755 }
3756 ]
3757 },
3758 {
3759 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i2",
3760 "id" : 54,
3761 "runtime_data" : [],
3762 "primitives" : [
3763 {
3764 "op" : "add_header",
3765 "parameters" : [
3766 {
3767 "type" : "header",
3768 "value" : "int_hop_latency"
3769 }
3770 ],
3771 "source_info" : {
3772 "filename" : "include/int_transit.p4",
3773 "line" : 19,
3774 "column" : 8,
3775 "source_fragment" : "hdr.int_hop_latency.setValid()"
3776 }
3777 },
3778 {
3779 "op" : "assign",
3780 "parameters" : [
3781 {
3782 "type" : "field",
3783 "value" : ["int_hop_latency", "hop_latency"]
3784 },
3785 {
3786 "type" : "hexstr",
3787 "value" : "0xffffffff"
3788 }
3789 ],
3790 "source_info" : {
3791 "filename" : "include/int_transit.p4",
3792 "line" : 20,
3793 "column" : 8,
3794 "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff"
3795 }
3796 }
3797 ]
3798 },
3799 {
3800 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i3",
3801 "id" : 55,
3802 "runtime_data" : [],
3803 "primitives" : [
3804 {
3805 "op" : "add_header",
3806 "parameters" : [
3807 {
3808 "type" : "header",
3809 "value" : "int_q_occupancy"
3810 }
3811 ],
3812 "source_info" : {
3813 "filename" : "include/int_transit.p4",
3814 "line" : 24,
3815 "column" : 8,
3816 "source_fragment" : "hdr.int_q_occupancy.setValid()"
3817 }
3818 },
3819 {
3820 "op" : "assign",
3821 "parameters" : [
3822 {
3823 "type" : "field",
3824 "value" : ["int_q_occupancy", "q_id"]
3825 },
3826 {
3827 "type" : "hexstr",
3828 "value" : "0x00"
3829 }
3830 ],
3831 "source_info" : {
3832 "filename" : "include/int_transit.p4",
3833 "line" : 25,
3834 "column" : 8,
3835 "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00"
3836 }
3837 },
3838 {
3839 "op" : "assign",
3840 "parameters" : [
3841 {
3842 "type" : "field",
3843 "value" : ["int_q_occupancy", "q_occupancy"]
3844 },
3845 {
3846 "type" : "expression",
3847 "value" : {
3848 "type" : "expression",
3849 "value" : {
3850 "op" : "&",
3851 "left" : {
3852 "type" : "field",
3853 "value" : ["standard_metadata", "deq_qdepth"]
3854 },
3855 "right" : {
3856 "type" : "hexstr",
3857 "value" : "0xffffff"
3858 }
3859 }
3860 }
3861 }
3862 ],
3863 "source_info" : {
3864 "filename" : "include/int_transit.p4",
3865 "line" : 26,
3866 "column" : 8,
3867 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth"
3868 }
3869 },
3870 {
3871 "op" : "add_header",
3872 "parameters" : [
3873 {
3874 "type" : "header",
3875 "value" : "int_hop_latency"
3876 }
3877 ],
3878 "source_info" : {
3879 "filename" : "include/int_transit.p4",
3880 "line" : 19,
3881 "column" : 8,
3882 "source_fragment" : "hdr.int_hop_latency.setValid()"
3883 }
3884 },
3885 {
3886 "op" : "assign",
3887 "parameters" : [
3888 {
3889 "type" : "field",
3890 "value" : ["int_hop_latency", "hop_latency"]
3891 },
3892 {
3893 "type" : "hexstr",
3894 "value" : "0xffffffff"
3895 }
3896 ],
3897 "source_info" : {
3898 "filename" : "include/int_transit.p4",
3899 "line" : 20,
3900 "column" : 8,
3901 "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff"
3902 }
3903 }
3904 ]
3905 },
3906 {
3907 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i4",
3908 "id" : 56,
3909 "runtime_data" : [],
3910 "primitives" : [
3911 {
3912 "op" : "add_header",
3913 "parameters" : [
3914 {
3915 "type" : "header",
3916 "value" : "int_port_ids"
3917 }
3918 ],
3919 "source_info" : {
3920 "filename" : "include/int_transit.p4",
3921 "line" : 11,
3922 "column" : 8,
3923 "source_fragment" : "hdr.int_port_ids.setValid()"
3924 }
3925 },
3926 {
3927 "op" : "assign",
3928 "parameters" : [
3929 {
3930 "type" : "field",
3931 "value" : ["int_port_ids", "ingress_port_id"]
3932 },
3933 {
3934 "type" : "expression",
3935 "value" : {
3936 "type" : "expression",
3937 "value" : {
3938 "op" : "&",
3939 "left" : {
3940 "type" : "field",
3941 "value" : ["standard_metadata", "ingress_port"]
3942 },
3943 "right" : {
3944 "type" : "hexstr",
3945 "value" : "0xffff"
3946 }
3947 }
3948 }
3949 }
3950 ],
3951 "source_info" : {
3952 "filename" : "include/int_transit.p4",
3953 "line" : 12,
3954 "column" : 8,
3955 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
3956 }
3957 },
3958 {
3959 "op" : "assign",
3960 "parameters" : [
3961 {
3962 "type" : "field",
3963 "value" : ["int_port_ids", "egress_port_id"]
3964 },
3965 {
3966 "type" : "expression",
3967 "value" : {
3968 "type" : "expression",
3969 "value" : {
3970 "op" : "&",
3971 "left" : {
3972 "type" : "field",
3973 "value" : ["standard_metadata", "egress_port"]
3974 },
3975 "right" : {
3976 "type" : "hexstr",
3977 "value" : "0xffff"
3978 }
3979 }
3980 }
3981 }
3982 ],
3983 "source_info" : {
3984 "filename" : "include/int_transit.p4",
3985 "line" : 14,
3986 "column" : 8,
3987 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
3988 }
3989 }
3990 ]
3991 },
3992 {
3993 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i5",
3994 "id" : 57,
3995 "runtime_data" : [],
3996 "primitives" : [
3997 {
3998 "op" : "add_header",
3999 "parameters" : [
4000 {
4001 "type" : "header",
4002 "value" : "int_q_occupancy"
4003 }
4004 ],
4005 "source_info" : {
4006 "filename" : "include/int_transit.p4",
4007 "line" : 24,
4008 "column" : 8,
4009 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4010 }
4011 },
4012 {
4013 "op" : "assign",
4014 "parameters" : [
4015 {
4016 "type" : "field",
4017 "value" : ["int_q_occupancy", "q_id"]
4018 },
4019 {
4020 "type" : "hexstr",
4021 "value" : "0x00"
4022 }
4023 ],
4024 "source_info" : {
4025 "filename" : "include/int_transit.p4",
4026 "line" : 25,
4027 "column" : 8,
4028 "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00"
4029 }
4030 },
4031 {
4032 "op" : "assign",
4033 "parameters" : [
4034 {
4035 "type" : "field",
4036 "value" : ["int_q_occupancy", "q_occupancy"]
4037 },
4038 {
4039 "type" : "expression",
4040 "value" : {
4041 "type" : "expression",
4042 "value" : {
4043 "op" : "&",
4044 "left" : {
4045 "type" : "field",
4046 "value" : ["standard_metadata", "deq_qdepth"]
4047 },
4048 "right" : {
4049 "type" : "hexstr",
4050 "value" : "0xffffff"
4051 }
4052 }
4053 }
4054 }
4055 ],
4056 "source_info" : {
4057 "filename" : "include/int_transit.p4",
4058 "line" : 26,
4059 "column" : 8,
4060 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth"
4061 }
4062 },
4063 {
4064 "op" : "add_header",
4065 "parameters" : [
4066 {
4067 "type" : "header",
4068 "value" : "int_port_ids"
4069 }
4070 ],
4071 "source_info" : {
4072 "filename" : "include/int_transit.p4",
4073 "line" : 11,
4074 "column" : 8,
4075 "source_fragment" : "hdr.int_port_ids.setValid()"
4076 }
4077 },
4078 {
4079 "op" : "assign",
4080 "parameters" : [
4081 {
4082 "type" : "field",
4083 "value" : ["int_port_ids", "ingress_port_id"]
4084 },
4085 {
4086 "type" : "expression",
4087 "value" : {
4088 "type" : "expression",
4089 "value" : {
4090 "op" : "&",
4091 "left" : {
4092 "type" : "field",
4093 "value" : ["standard_metadata", "ingress_port"]
4094 },
4095 "right" : {
4096 "type" : "hexstr",
4097 "value" : "0xffff"
4098 }
4099 }
4100 }
4101 }
4102 ],
4103 "source_info" : {
4104 "filename" : "include/int_transit.p4",
4105 "line" : 12,
4106 "column" : 8,
4107 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
4108 }
4109 },
4110 {
4111 "op" : "assign",
4112 "parameters" : [
4113 {
4114 "type" : "field",
4115 "value" : ["int_port_ids", "egress_port_id"]
4116 },
4117 {
4118 "type" : "expression",
4119 "value" : {
4120 "type" : "expression",
4121 "value" : {
4122 "op" : "&",
4123 "left" : {
4124 "type" : "field",
4125 "value" : ["standard_metadata", "egress_port"]
4126 },
4127 "right" : {
4128 "type" : "hexstr",
4129 "value" : "0xffff"
4130 }
4131 }
4132 }
4133 }
4134 ],
4135 "source_info" : {
4136 "filename" : "include/int_transit.p4",
4137 "line" : 14,
4138 "column" : 8,
4139 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
4140 }
4141 }
4142 ]
4143 },
4144 {
4145 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i6",
4146 "id" : 58,
4147 "runtime_data" : [],
4148 "primitives" : [
4149 {
4150 "op" : "add_header",
4151 "parameters" : [
4152 {
4153 "type" : "header",
4154 "value" : "int_hop_latency"
4155 }
4156 ],
4157 "source_info" : {
4158 "filename" : "include/int_transit.p4",
4159 "line" : 19,
4160 "column" : 8,
4161 "source_fragment" : "hdr.int_hop_latency.setValid()"
4162 }
4163 },
4164 {
4165 "op" : "assign",
4166 "parameters" : [
4167 {
4168 "type" : "field",
4169 "value" : ["int_hop_latency", "hop_latency"]
4170 },
4171 {
4172 "type" : "hexstr",
4173 "value" : "0xffffffff"
4174 }
4175 ],
4176 "source_info" : {
4177 "filename" : "include/int_transit.p4",
4178 "line" : 20,
4179 "column" : 8,
4180 "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff"
4181 }
4182 },
4183 {
4184 "op" : "add_header",
4185 "parameters" : [
4186 {
4187 "type" : "header",
4188 "value" : "int_port_ids"
4189 }
4190 ],
4191 "source_info" : {
4192 "filename" : "include/int_transit.p4",
4193 "line" : 11,
4194 "column" : 8,
4195 "source_fragment" : "hdr.int_port_ids.setValid()"
4196 }
4197 },
4198 {
4199 "op" : "assign",
4200 "parameters" : [
4201 {
4202 "type" : "field",
4203 "value" : ["int_port_ids", "ingress_port_id"]
4204 },
4205 {
4206 "type" : "expression",
4207 "value" : {
4208 "type" : "expression",
4209 "value" : {
4210 "op" : "&",
4211 "left" : {
4212 "type" : "field",
4213 "value" : ["standard_metadata", "ingress_port"]
4214 },
4215 "right" : {
4216 "type" : "hexstr",
4217 "value" : "0xffff"
4218 }
4219 }
4220 }
4221 }
4222 ],
4223 "source_info" : {
4224 "filename" : "include/int_transit.p4",
4225 "line" : 12,
4226 "column" : 8,
4227 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
4228 }
4229 },
4230 {
4231 "op" : "assign",
4232 "parameters" : [
4233 {
4234 "type" : "field",
4235 "value" : ["int_port_ids", "egress_port_id"]
4236 },
4237 {
4238 "type" : "expression",
4239 "value" : {
4240 "type" : "expression",
4241 "value" : {
4242 "op" : "&",
4243 "left" : {
4244 "type" : "field",
4245 "value" : ["standard_metadata", "egress_port"]
4246 },
4247 "right" : {
4248 "type" : "hexstr",
4249 "value" : "0xffff"
4250 }
4251 }
4252 }
4253 }
4254 ],
4255 "source_info" : {
4256 "filename" : "include/int_transit.p4",
4257 "line" : 14,
4258 "column" : 8,
4259 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
4260 }
4261 }
4262 ]
4263 },
4264 {
4265 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i7",
4266 "id" : 59,
4267 "runtime_data" : [],
4268 "primitives" : [
4269 {
4270 "op" : "add_header",
4271 "parameters" : [
4272 {
4273 "type" : "header",
4274 "value" : "int_q_occupancy"
4275 }
4276 ],
4277 "source_info" : {
4278 "filename" : "include/int_transit.p4",
4279 "line" : 24,
4280 "column" : 8,
4281 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4282 }
4283 },
4284 {
4285 "op" : "assign",
4286 "parameters" : [
4287 {
4288 "type" : "field",
4289 "value" : ["int_q_occupancy", "q_id"]
4290 },
4291 {
4292 "type" : "hexstr",
4293 "value" : "0x00"
4294 }
4295 ],
4296 "source_info" : {
4297 "filename" : "include/int_transit.p4",
4298 "line" : 25,
4299 "column" : 8,
4300 "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00"
4301 }
4302 },
4303 {
4304 "op" : "assign",
4305 "parameters" : [
4306 {
4307 "type" : "field",
4308 "value" : ["int_q_occupancy", "q_occupancy"]
4309 },
4310 {
4311 "type" : "expression",
4312 "value" : {
4313 "type" : "expression",
4314 "value" : {
4315 "op" : "&",
4316 "left" : {
4317 "type" : "field",
4318 "value" : ["standard_metadata", "deq_qdepth"]
4319 },
4320 "right" : {
4321 "type" : "hexstr",
4322 "value" : "0xffffff"
4323 }
4324 }
4325 }
4326 }
4327 ],
4328 "source_info" : {
4329 "filename" : "include/int_transit.p4",
4330 "line" : 26,
4331 "column" : 8,
4332 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth"
4333 }
4334 },
4335 {
4336 "op" : "add_header",
4337 "parameters" : [
4338 {
4339 "type" : "header",
4340 "value" : "int_hop_latency"
4341 }
4342 ],
4343 "source_info" : {
4344 "filename" : "include/int_transit.p4",
4345 "line" : 19,
4346 "column" : 8,
4347 "source_fragment" : "hdr.int_hop_latency.setValid()"
4348 }
4349 },
4350 {
4351 "op" : "assign",
4352 "parameters" : [
4353 {
4354 "type" : "field",
4355 "value" : ["int_hop_latency", "hop_latency"]
4356 },
4357 {
4358 "type" : "hexstr",
4359 "value" : "0xffffffff"
4360 }
4361 ],
4362 "source_info" : {
4363 "filename" : "include/int_transit.p4",
4364 "line" : 20,
4365 "column" : 8,
4366 "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff"
4367 }
4368 },
4369 {
4370 "op" : "add_header",
4371 "parameters" : [
4372 {
4373 "type" : "header",
4374 "value" : "int_port_ids"
4375 }
4376 ],
4377 "source_info" : {
4378 "filename" : "include/int_transit.p4",
4379 "line" : 11,
4380 "column" : 8,
4381 "source_fragment" : "hdr.int_port_ids.setValid()"
4382 }
4383 },
4384 {
4385 "op" : "assign",
4386 "parameters" : [
4387 {
4388 "type" : "field",
4389 "value" : ["int_port_ids", "ingress_port_id"]
4390 },
4391 {
4392 "type" : "expression",
4393 "value" : {
4394 "type" : "expression",
4395 "value" : {
4396 "op" : "&",
4397 "left" : {
4398 "type" : "field",
4399 "value" : ["standard_metadata", "ingress_port"]
4400 },
4401 "right" : {
4402 "type" : "hexstr",
4403 "value" : "0xffff"
4404 }
4405 }
4406 }
4407 }
4408 ],
4409 "source_info" : {
4410 "filename" : "include/int_transit.p4",
4411 "line" : 12,
4412 "column" : 8,
4413 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
4414 }
4415 },
4416 {
4417 "op" : "assign",
4418 "parameters" : [
4419 {
4420 "type" : "field",
4421 "value" : ["int_port_ids", "egress_port_id"]
4422 },
4423 {
4424 "type" : "expression",
4425 "value" : {
4426 "type" : "expression",
4427 "value" : {
4428 "op" : "&",
4429 "left" : {
4430 "type" : "field",
4431 "value" : ["standard_metadata", "egress_port"]
4432 },
4433 "right" : {
4434 "type" : "hexstr",
4435 "value" : "0xffff"
4436 }
4437 }
4438 }
4439 }
4440 ],
4441 "source_info" : {
4442 "filename" : "include/int_transit.p4",
4443 "line" : 14,
4444 "column" : 8,
4445 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
4446 }
4447 }
4448 ]
4449 },
4450 {
4451 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i8",
4452 "id" : 60,
4453 "runtime_data" : [],
4454 "primitives" : [
4455 {
4456 "op" : "add_header",
4457 "parameters" : [
4458 {
4459 "type" : "header",
4460 "value" : "int_switch_id"
4461 }
4462 ],
4463 "source_info" : {
4464 "filename" : "include/int_transit.p4",
4465 "line" : 6,
4466 "column" : 8,
4467 "source_fragment" : "hdr.int_switch_id.setValid()"
4468 }
4469 },
4470 {
4471 "op" : "assign",
4472 "parameters" : [
4473 {
4474 "type" : "field",
4475 "value" : ["int_switch_id", "switch_id"]
4476 },
4477 {
4478 "type" : "field",
4479 "value" : ["userMetadata.int_metadata", "switch_id"]
4480 }
4481 ],
4482 "source_info" : {
4483 "filename" : "include/int_transit.p4",
4484 "line" : 7,
4485 "column" : 8,
4486 "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id"
4487 }
4488 }
4489 ]
4490 },
4491 {
4492 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i9",
4493 "id" : 61,
4494 "runtime_data" : [],
4495 "primitives" : [
4496 {
4497 "op" : "add_header",
4498 "parameters" : [
4499 {
4500 "type" : "header",
4501 "value" : "int_q_occupancy"
4502 }
4503 ],
4504 "source_info" : {
4505 "filename" : "include/int_transit.p4",
4506 "line" : 24,
4507 "column" : 8,
4508 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4509 }
4510 },
4511 {
4512 "op" : "assign",
4513 "parameters" : [
4514 {
4515 "type" : "field",
4516 "value" : ["int_q_occupancy", "q_id"]
4517 },
4518 {
4519 "type" : "hexstr",
4520 "value" : "0x00"
4521 }
4522 ],
4523 "source_info" : {
4524 "filename" : "include/int_transit.p4",
4525 "line" : 25,
4526 "column" : 8,
4527 "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00"
4528 }
4529 },
4530 {
4531 "op" : "assign",
4532 "parameters" : [
4533 {
4534 "type" : "field",
4535 "value" : ["int_q_occupancy", "q_occupancy"]
4536 },
4537 {
4538 "type" : "expression",
4539 "value" : {
4540 "type" : "expression",
4541 "value" : {
4542 "op" : "&",
4543 "left" : {
4544 "type" : "field",
4545 "value" : ["standard_metadata", "deq_qdepth"]
4546 },
4547 "right" : {
4548 "type" : "hexstr",
4549 "value" : "0xffffff"
4550 }
4551 }
4552 }
4553 }
4554 ],
4555 "source_info" : {
4556 "filename" : "include/int_transit.p4",
4557 "line" : 26,
4558 "column" : 8,
4559 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth"
4560 }
4561 },
4562 {
4563 "op" : "add_header",
4564 "parameters" : [
4565 {
4566 "type" : "header",
4567 "value" : "int_switch_id"
4568 }
4569 ],
4570 "source_info" : {
4571 "filename" : "include/int_transit.p4",
4572 "line" : 6,
4573 "column" : 8,
4574 "source_fragment" : "hdr.int_switch_id.setValid()"
4575 }
4576 },
4577 {
4578 "op" : "assign",
4579 "parameters" : [
4580 {
4581 "type" : "field",
4582 "value" : ["int_switch_id", "switch_id"]
4583 },
4584 {
4585 "type" : "field",
4586 "value" : ["userMetadata.int_metadata", "switch_id"]
4587 }
4588 ],
4589 "source_info" : {
4590 "filename" : "include/int_transit.p4",
4591 "line" : 7,
4592 "column" : 8,
4593 "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id"
4594 }
4595 }
4596 ]
4597 },
4598 {
4599 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i10",
4600 "id" : 62,
4601 "runtime_data" : [],
4602 "primitives" : [
4603 {
4604 "op" : "add_header",
4605 "parameters" : [
4606 {
4607 "type" : "header",
4608 "value" : "int_hop_latency"
4609 }
4610 ],
4611 "source_info" : {
4612 "filename" : "include/int_transit.p4",
4613 "line" : 19,
4614 "column" : 8,
4615 "source_fragment" : "hdr.int_hop_latency.setValid()"
4616 }
4617 },
4618 {
4619 "op" : "assign",
4620 "parameters" : [
4621 {
4622 "type" : "field",
4623 "value" : ["int_hop_latency", "hop_latency"]
4624 },
4625 {
4626 "type" : "hexstr",
4627 "value" : "0xffffffff"
4628 }
4629 ],
4630 "source_info" : {
4631 "filename" : "include/int_transit.p4",
4632 "line" : 20,
4633 "column" : 8,
4634 "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff"
4635 }
4636 },
4637 {
4638 "op" : "add_header",
4639 "parameters" : [
4640 {
4641 "type" : "header",
4642 "value" : "int_switch_id"
4643 }
4644 ],
4645 "source_info" : {
4646 "filename" : "include/int_transit.p4",
4647 "line" : 6,
4648 "column" : 8,
4649 "source_fragment" : "hdr.int_switch_id.setValid()"
4650 }
4651 },
4652 {
4653 "op" : "assign",
4654 "parameters" : [
4655 {
4656 "type" : "field",
4657 "value" : ["int_switch_id", "switch_id"]
4658 },
4659 {
4660 "type" : "field",
4661 "value" : ["userMetadata.int_metadata", "switch_id"]
4662 }
4663 ],
4664 "source_info" : {
4665 "filename" : "include/int_transit.p4",
4666 "line" : 7,
4667 "column" : 8,
4668 "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id"
4669 }
4670 }
4671 ]
4672 },
4673 {
4674 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i11",
4675 "id" : 63,
4676 "runtime_data" : [],
4677 "primitives" : [
4678 {
4679 "op" : "add_header",
4680 "parameters" : [
4681 {
4682 "type" : "header",
4683 "value" : "int_q_occupancy"
4684 }
4685 ],
4686 "source_info" : {
4687 "filename" : "include/int_transit.p4",
4688 "line" : 24,
4689 "column" : 8,
4690 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4691 }
4692 },
4693 {
4694 "op" : "assign",
4695 "parameters" : [
4696 {
4697 "type" : "field",
4698 "value" : ["int_q_occupancy", "q_id"]
4699 },
4700 {
4701 "type" : "hexstr",
4702 "value" : "0x00"
4703 }
4704 ],
4705 "source_info" : {
4706 "filename" : "include/int_transit.p4",
4707 "line" : 25,
4708 "column" : 8,
4709 "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00"
4710 }
4711 },
4712 {
4713 "op" : "assign",
4714 "parameters" : [
4715 {
4716 "type" : "field",
4717 "value" : ["int_q_occupancy", "q_occupancy"]
4718 },
4719 {
4720 "type" : "expression",
4721 "value" : {
4722 "type" : "expression",
4723 "value" : {
4724 "op" : "&",
4725 "left" : {
4726 "type" : "field",
4727 "value" : ["standard_metadata", "deq_qdepth"]
4728 },
4729 "right" : {
4730 "type" : "hexstr",
4731 "value" : "0xffffff"
4732 }
4733 }
4734 }
4735 }
4736 ],
4737 "source_info" : {
4738 "filename" : "include/int_transit.p4",
4739 "line" : 26,
4740 "column" : 8,
4741 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth"
4742 }
4743 },
4744 {
4745 "op" : "add_header",
4746 "parameters" : [
4747 {
4748 "type" : "header",
4749 "value" : "int_hop_latency"
4750 }
4751 ],
4752 "source_info" : {
4753 "filename" : "include/int_transit.p4",
4754 "line" : 19,
4755 "column" : 8,
4756 "source_fragment" : "hdr.int_hop_latency.setValid()"
4757 }
4758 },
4759 {
4760 "op" : "assign",
4761 "parameters" : [
4762 {
4763 "type" : "field",
4764 "value" : ["int_hop_latency", "hop_latency"]
4765 },
4766 {
4767 "type" : "hexstr",
4768 "value" : "0xffffffff"
4769 }
4770 ],
4771 "source_info" : {
4772 "filename" : "include/int_transit.p4",
4773 "line" : 20,
4774 "column" : 8,
4775 "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff"
4776 }
4777 },
4778 {
4779 "op" : "add_header",
4780 "parameters" : [
4781 {
4782 "type" : "header",
4783 "value" : "int_switch_id"
4784 }
4785 ],
4786 "source_info" : {
4787 "filename" : "include/int_transit.p4",
4788 "line" : 6,
4789 "column" : 8,
4790 "source_fragment" : "hdr.int_switch_id.setValid()"
4791 }
4792 },
4793 {
4794 "op" : "assign",
4795 "parameters" : [
4796 {
4797 "type" : "field",
4798 "value" : ["int_switch_id", "switch_id"]
4799 },
4800 {
4801 "type" : "field",
4802 "value" : ["userMetadata.int_metadata", "switch_id"]
4803 }
4804 ],
4805 "source_info" : {
4806 "filename" : "include/int_transit.p4",
4807 "line" : 7,
4808 "column" : 8,
4809 "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id"
4810 }
4811 }
4812 ]
4813 },
4814 {
4815 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i12",
4816 "id" : 64,
4817 "runtime_data" : [],
4818 "primitives" : [
4819 {
4820 "op" : "add_header",
4821 "parameters" : [
4822 {
4823 "type" : "header",
4824 "value" : "int_port_ids"
4825 }
4826 ],
4827 "source_info" : {
4828 "filename" : "include/int_transit.p4",
4829 "line" : 11,
4830 "column" : 8,
4831 "source_fragment" : "hdr.int_port_ids.setValid()"
4832 }
4833 },
4834 {
4835 "op" : "assign",
4836 "parameters" : [
4837 {
4838 "type" : "field",
4839 "value" : ["int_port_ids", "ingress_port_id"]
4840 },
4841 {
4842 "type" : "expression",
4843 "value" : {
4844 "type" : "expression",
4845 "value" : {
4846 "op" : "&",
4847 "left" : {
4848 "type" : "field",
4849 "value" : ["standard_metadata", "ingress_port"]
4850 },
4851 "right" : {
4852 "type" : "hexstr",
4853 "value" : "0xffff"
4854 }
4855 }
4856 }
4857 }
4858 ],
4859 "source_info" : {
4860 "filename" : "include/int_transit.p4",
4861 "line" : 12,
4862 "column" : 8,
4863 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
4864 }
4865 },
4866 {
4867 "op" : "assign",
4868 "parameters" : [
4869 {
4870 "type" : "field",
4871 "value" : ["int_port_ids", "egress_port_id"]
4872 },
4873 {
4874 "type" : "expression",
4875 "value" : {
4876 "type" : "expression",
4877 "value" : {
4878 "op" : "&",
4879 "left" : {
4880 "type" : "field",
4881 "value" : ["standard_metadata", "egress_port"]
4882 },
4883 "right" : {
4884 "type" : "hexstr",
4885 "value" : "0xffff"
4886 }
4887 }
4888 }
4889 }
4890 ],
4891 "source_info" : {
4892 "filename" : "include/int_transit.p4",
4893 "line" : 14,
4894 "column" : 8,
4895 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
4896 }
4897 },
4898 {
4899 "op" : "add_header",
4900 "parameters" : [
4901 {
4902 "type" : "header",
4903 "value" : "int_switch_id"
4904 }
4905 ],
4906 "source_info" : {
4907 "filename" : "include/int_transit.p4",
4908 "line" : 6,
4909 "column" : 8,
4910 "source_fragment" : "hdr.int_switch_id.setValid()"
4911 }
4912 },
4913 {
4914 "op" : "assign",
4915 "parameters" : [
4916 {
4917 "type" : "field",
4918 "value" : ["int_switch_id", "switch_id"]
4919 },
4920 {
4921 "type" : "field",
4922 "value" : ["userMetadata.int_metadata", "switch_id"]
4923 }
4924 ],
4925 "source_info" : {
4926 "filename" : "include/int_transit.p4",
4927 "line" : 7,
4928 "column" : 8,
4929 "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id"
4930 }
4931 }
4932 ]
4933 },
4934 {
4935 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i13",
4936 "id" : 65,
4937 "runtime_data" : [],
4938 "primitives" : [
4939 {
4940 "op" : "add_header",
4941 "parameters" : [
4942 {
4943 "type" : "header",
4944 "value" : "int_q_occupancy"
4945 }
4946 ],
4947 "source_info" : {
4948 "filename" : "include/int_transit.p4",
4949 "line" : 24,
4950 "column" : 8,
4951 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4952 }
4953 },
4954 {
4955 "op" : "assign",
4956 "parameters" : [
4957 {
4958 "type" : "field",
4959 "value" : ["int_q_occupancy", "q_id"]
4960 },
4961 {
4962 "type" : "hexstr",
4963 "value" : "0x00"
4964 }
4965 ],
4966 "source_info" : {
4967 "filename" : "include/int_transit.p4",
4968 "line" : 25,
4969 "column" : 8,
4970 "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00"
4971 }
4972 },
4973 {
4974 "op" : "assign",
4975 "parameters" : [
4976 {
4977 "type" : "field",
4978 "value" : ["int_q_occupancy", "q_occupancy"]
4979 },
4980 {
4981 "type" : "expression",
4982 "value" : {
4983 "type" : "expression",
4984 "value" : {
4985 "op" : "&",
4986 "left" : {
4987 "type" : "field",
4988 "value" : ["standard_metadata", "deq_qdepth"]
4989 },
4990 "right" : {
4991 "type" : "hexstr",
4992 "value" : "0xffffff"
4993 }
4994 }
4995 }
4996 }
4997 ],
4998 "source_info" : {
4999 "filename" : "include/int_transit.p4",
5000 "line" : 26,
5001 "column" : 8,
5002 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth"
5003 }
5004 },
5005 {
5006 "op" : "add_header",
5007 "parameters" : [
5008 {
5009 "type" : "header",
5010 "value" : "int_port_ids"
5011 }
5012 ],
5013 "source_info" : {
5014 "filename" : "include/int_transit.p4",
5015 "line" : 11,
5016 "column" : 8,
5017 "source_fragment" : "hdr.int_port_ids.setValid()"
5018 }
5019 },
5020 {
5021 "op" : "assign",
5022 "parameters" : [
5023 {
5024 "type" : "field",
5025 "value" : ["int_port_ids", "ingress_port_id"]
5026 },
5027 {
5028 "type" : "expression",
5029 "value" : {
5030 "type" : "expression",
5031 "value" : {
5032 "op" : "&",
5033 "left" : {
5034 "type" : "field",
5035 "value" : ["standard_metadata", "ingress_port"]
5036 },
5037 "right" : {
5038 "type" : "hexstr",
5039 "value" : "0xffff"
5040 }
5041 }
5042 }
5043 }
5044 ],
5045 "source_info" : {
5046 "filename" : "include/int_transit.p4",
5047 "line" : 12,
5048 "column" : 8,
5049 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5050 }
5051 },
5052 {
5053 "op" : "assign",
5054 "parameters" : [
5055 {
5056 "type" : "field",
5057 "value" : ["int_port_ids", "egress_port_id"]
5058 },
5059 {
5060 "type" : "expression",
5061 "value" : {
5062 "type" : "expression",
5063 "value" : {
5064 "op" : "&",
5065 "left" : {
5066 "type" : "field",
5067 "value" : ["standard_metadata", "egress_port"]
5068 },
5069 "right" : {
5070 "type" : "hexstr",
5071 "value" : "0xffff"
5072 }
5073 }
5074 }
5075 }
5076 ],
5077 "source_info" : {
5078 "filename" : "include/int_transit.p4",
5079 "line" : 14,
5080 "column" : 8,
5081 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5082 }
5083 },
5084 {
5085 "op" : "add_header",
5086 "parameters" : [
5087 {
5088 "type" : "header",
5089 "value" : "int_switch_id"
5090 }
5091 ],
5092 "source_info" : {
5093 "filename" : "include/int_transit.p4",
5094 "line" : 6,
5095 "column" : 8,
5096 "source_fragment" : "hdr.int_switch_id.setValid()"
5097 }
5098 },
5099 {
5100 "op" : "assign",
5101 "parameters" : [
5102 {
5103 "type" : "field",
5104 "value" : ["int_switch_id", "switch_id"]
5105 },
5106 {
5107 "type" : "field",
5108 "value" : ["userMetadata.int_metadata", "switch_id"]
5109 }
5110 ],
5111 "source_info" : {
5112 "filename" : "include/int_transit.p4",
5113 "line" : 7,
5114 "column" : 8,
5115 "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id"
5116 }
5117 }
5118 ]
5119 },
5120 {
5121 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i14",
5122 "id" : 66,
5123 "runtime_data" : [],
5124 "primitives" : [
5125 {
5126 "op" : "add_header",
5127 "parameters" : [
5128 {
5129 "type" : "header",
5130 "value" : "int_hop_latency"
5131 }
5132 ],
5133 "source_info" : {
5134 "filename" : "include/int_transit.p4",
5135 "line" : 19,
5136 "column" : 8,
5137 "source_fragment" : "hdr.int_hop_latency.setValid()"
5138 }
5139 },
5140 {
5141 "op" : "assign",
5142 "parameters" : [
5143 {
5144 "type" : "field",
5145 "value" : ["int_hop_latency", "hop_latency"]
5146 },
5147 {
5148 "type" : "hexstr",
5149 "value" : "0xffffffff"
5150 }
5151 ],
5152 "source_info" : {
5153 "filename" : "include/int_transit.p4",
5154 "line" : 20,
5155 "column" : 8,
5156 "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff"
5157 }
5158 },
5159 {
5160 "op" : "add_header",
5161 "parameters" : [
5162 {
5163 "type" : "header",
5164 "value" : "int_port_ids"
5165 }
5166 ],
5167 "source_info" : {
5168 "filename" : "include/int_transit.p4",
5169 "line" : 11,
5170 "column" : 8,
5171 "source_fragment" : "hdr.int_port_ids.setValid()"
5172 }
5173 },
5174 {
5175 "op" : "assign",
5176 "parameters" : [
5177 {
5178 "type" : "field",
5179 "value" : ["int_port_ids", "ingress_port_id"]
5180 },
5181 {
5182 "type" : "expression",
5183 "value" : {
5184 "type" : "expression",
5185 "value" : {
5186 "op" : "&",
5187 "left" : {
5188 "type" : "field",
5189 "value" : ["standard_metadata", "ingress_port"]
5190 },
5191 "right" : {
5192 "type" : "hexstr",
5193 "value" : "0xffff"
5194 }
5195 }
5196 }
5197 }
5198 ],
5199 "source_info" : {
5200 "filename" : "include/int_transit.p4",
5201 "line" : 12,
5202 "column" : 8,
5203 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5204 }
5205 },
5206 {
5207 "op" : "assign",
5208 "parameters" : [
5209 {
5210 "type" : "field",
5211 "value" : ["int_port_ids", "egress_port_id"]
5212 },
5213 {
5214 "type" : "expression",
5215 "value" : {
5216 "type" : "expression",
5217 "value" : {
5218 "op" : "&",
5219 "left" : {
5220 "type" : "field",
5221 "value" : ["standard_metadata", "egress_port"]
5222 },
5223 "right" : {
5224 "type" : "hexstr",
5225 "value" : "0xffff"
5226 }
5227 }
5228 }
5229 }
5230 ],
5231 "source_info" : {
5232 "filename" : "include/int_transit.p4",
5233 "line" : 14,
5234 "column" : 8,
5235 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5236 }
5237 },
5238 {
5239 "op" : "add_header",
5240 "parameters" : [
5241 {
5242 "type" : "header",
5243 "value" : "int_switch_id"
5244 }
5245 ],
5246 "source_info" : {
5247 "filename" : "include/int_transit.p4",
5248 "line" : 6,
5249 "column" : 8,
5250 "source_fragment" : "hdr.int_switch_id.setValid()"
5251 }
5252 },
5253 {
5254 "op" : "assign",
5255 "parameters" : [
5256 {
5257 "type" : "field",
5258 "value" : ["int_switch_id", "switch_id"]
5259 },
5260 {
5261 "type" : "field",
5262 "value" : ["userMetadata.int_metadata", "switch_id"]
5263 }
5264 ],
5265 "source_info" : {
5266 "filename" : "include/int_transit.p4",
5267 "line" : 7,
5268 "column" : 8,
5269 "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id"
5270 }
5271 }
5272 ]
5273 },
5274 {
5275 "name" : "int_egress.int_metadata_insert.int_set_header_0003_i15",
5276 "id" : 67,
5277 "runtime_data" : [],
5278 "primitives" : [
5279 {
5280 "op" : "add_header",
5281 "parameters" : [
5282 {
5283 "type" : "header",
5284 "value" : "int_q_occupancy"
5285 }
5286 ],
5287 "source_info" : {
5288 "filename" : "include/int_transit.p4",
5289 "line" : 24,
5290 "column" : 8,
5291 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5292 }
5293 },
5294 {
5295 "op" : "assign",
5296 "parameters" : [
5297 {
5298 "type" : "field",
5299 "value" : ["int_q_occupancy", "q_id"]
5300 },
5301 {
5302 "type" : "hexstr",
5303 "value" : "0x00"
5304 }
5305 ],
5306 "source_info" : {
5307 "filename" : "include/int_transit.p4",
5308 "line" : 25,
5309 "column" : 8,
5310 "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00"
5311 }
5312 },
5313 {
5314 "op" : "assign",
5315 "parameters" : [
5316 {
5317 "type" : "field",
5318 "value" : ["int_q_occupancy", "q_occupancy"]
5319 },
5320 {
5321 "type" : "expression",
5322 "value" : {
5323 "type" : "expression",
5324 "value" : {
5325 "op" : "&",
5326 "left" : {
5327 "type" : "field",
5328 "value" : ["standard_metadata", "deq_qdepth"]
5329 },
5330 "right" : {
5331 "type" : "hexstr",
5332 "value" : "0xffffff"
5333 }
5334 }
5335 }
5336 }
5337 ],
5338 "source_info" : {
5339 "filename" : "include/int_transit.p4",
5340 "line" : 26,
5341 "column" : 8,
5342 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth"
5343 }
5344 },
5345 {
5346 "op" : "add_header",
5347 "parameters" : [
5348 {
5349 "type" : "header",
5350 "value" : "int_hop_latency"
5351 }
5352 ],
5353 "source_info" : {
5354 "filename" : "include/int_transit.p4",
5355 "line" : 19,
5356 "column" : 8,
5357 "source_fragment" : "hdr.int_hop_latency.setValid()"
5358 }
5359 },
5360 {
5361 "op" : "assign",
5362 "parameters" : [
5363 {
5364 "type" : "field",
5365 "value" : ["int_hop_latency", "hop_latency"]
5366 },
5367 {
5368 "type" : "hexstr",
5369 "value" : "0xffffffff"
5370 }
5371 ],
5372 "source_info" : {
5373 "filename" : "include/int_transit.p4",
5374 "line" : 20,
5375 "column" : 8,
5376 "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff"
5377 }
5378 },
5379 {
5380 "op" : "add_header",
5381 "parameters" : [
5382 {
5383 "type" : "header",
5384 "value" : "int_port_ids"
5385 }
5386 ],
5387 "source_info" : {
5388 "filename" : "include/int_transit.p4",
5389 "line" : 11,
5390 "column" : 8,
5391 "source_fragment" : "hdr.int_port_ids.setValid()"
5392 }
5393 },
5394 {
5395 "op" : "assign",
5396 "parameters" : [
5397 {
5398 "type" : "field",
5399 "value" : ["int_port_ids", "ingress_port_id"]
5400 },
5401 {
5402 "type" : "expression",
5403 "value" : {
5404 "type" : "expression",
5405 "value" : {
5406 "op" : "&",
5407 "left" : {
5408 "type" : "field",
5409 "value" : ["standard_metadata", "ingress_port"]
5410 },
5411 "right" : {
5412 "type" : "hexstr",
5413 "value" : "0xffff"
5414 }
5415 }
5416 }
5417 }
5418 ],
5419 "source_info" : {
5420 "filename" : "include/int_transit.p4",
5421 "line" : 12,
5422 "column" : 8,
5423 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5424 }
5425 },
5426 {
5427 "op" : "assign",
5428 "parameters" : [
5429 {
5430 "type" : "field",
5431 "value" : ["int_port_ids", "egress_port_id"]
5432 },
5433 {
5434 "type" : "expression",
5435 "value" : {
5436 "type" : "expression",
5437 "value" : {
5438 "op" : "&",
5439 "left" : {
5440 "type" : "field",
5441 "value" : ["standard_metadata", "egress_port"]
5442 },
5443 "right" : {
5444 "type" : "hexstr",
5445 "value" : "0xffff"
5446 }
5447 }
5448 }
5449 }
5450 ],
5451 "source_info" : {
5452 "filename" : "include/int_transit.p4",
5453 "line" : 14,
5454 "column" : 8,
5455 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5456 }
5457 },
5458 {
5459 "op" : "add_header",
5460 "parameters" : [
5461 {
5462 "type" : "header",
5463 "value" : "int_switch_id"
5464 }
5465 ],
5466 "source_info" : {
5467 "filename" : "include/int_transit.p4",
5468 "line" : 6,
5469 "column" : 8,
5470 "source_fragment" : "hdr.int_switch_id.setValid()"
5471 }
5472 },
5473 {
5474 "op" : "assign",
5475 "parameters" : [
5476 {
5477 "type" : "field",
5478 "value" : ["int_switch_id", "switch_id"]
5479 },
5480 {
5481 "type" : "field",
5482 "value" : ["userMetadata.int_metadata", "switch_id"]
5483 }
5484 ],
5485 "source_info" : {
5486 "filename" : "include/int_transit.p4",
5487 "line" : 7,
5488 "column" : 8,
5489 "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id"
5490 }
5491 }
5492 ]
5493 },
5494 {
5495 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i0",
5496 "id" : 68,
5497 "runtime_data" : [],
5498 "primitives" : []
5499 },
5500 {
5501 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i1",
5502 "id" : 69,
5503 "runtime_data" : [],
5504 "primitives" : [
5505 {
5506 "op" : "add_header",
5507 "parameters" : [
5508 {
5509 "type" : "header",
5510 "value" : "int_egress_port_tx_util"
5511 }
5512 ],
5513 "source_info" : {
5514 "filename" : "include/int_transit.p4",
5515 "line" : 48,
5516 "column" : 8,
5517 "source_fragment" : "hdr.int_egress_port_tx_util.setValid()"
5518 }
5519 },
5520 {
5521 "op" : "assign",
5522 "parameters" : [
5523 {
5524 "type" : "field",
5525 "value" : ["int_egress_port_tx_util", "egress_port_tx_util"]
5526 },
5527 {
5528 "type" : "hexstr",
5529 "value" : "0xffffffff"
5530 }
5531 ],
5532 "source_info" : {
5533 "filename" : "include/int_transit.p4",
5534 "line" : 49,
5535 "column" : 8,
5536 "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff"
5537 }
5538 }
5539 ]
5540 },
5541 {
5542 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i2",
5543 "id" : 70,
5544 "runtime_data" : [],
5545 "primitives" : [
5546 {
5547 "op" : "add_header",
5548 "parameters" : [
5549 {
5550 "type" : "header",
5551 "value" : "int_q_congestion"
5552 }
5553 ],
5554 "source_info" : {
5555 "filename" : "include/int_transit.p4",
5556 "line" : 42,
5557 "column" : 8,
5558 "source_fragment" : "hdr.int_q_congestion.setValid()"
5559 }
5560 },
5561 {
5562 "op" : "assign",
5563 "parameters" : [
5564 {
5565 "type" : "field",
5566 "value" : ["int_q_congestion", "q_id"]
5567 },
5568 {
5569 "type" : "hexstr",
5570 "value" : "0xff"
5571 }
5572 ],
5573 "source_info" : {
5574 "filename" : "include/int_transit.p4",
5575 "line" : 43,
5576 "column" : 8,
5577 "source_fragment" : "hdr.int_q_congestion.q_id = 0xff"
5578 }
5579 },
5580 {
5581 "op" : "assign",
5582 "parameters" : [
5583 {
5584 "type" : "field",
5585 "value" : ["int_q_congestion", "q_congestion"]
5586 },
5587 {
5588 "type" : "hexstr",
5589 "value" : "0xffffff"
5590 }
5591 ],
5592 "source_info" : {
5593 "filename" : "include/int_transit.p4",
5594 "line" : 44,
5595 "column" : 8,
5596 "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff"
5597 }
5598 }
5599 ]
5600 },
5601 {
5602 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i3",
5603 "id" : 71,
5604 "runtime_data" : [],
5605 "primitives" : [
5606 {
5607 "op" : "add_header",
5608 "parameters" : [
5609 {
5610 "type" : "header",
5611 "value" : "int_egress_port_tx_util"
5612 }
5613 ],
5614 "source_info" : {
5615 "filename" : "include/int_transit.p4",
5616 "line" : 48,
5617 "column" : 8,
5618 "source_fragment" : "hdr.int_egress_port_tx_util.setValid()"
5619 }
5620 },
5621 {
5622 "op" : "assign",
5623 "parameters" : [
5624 {
5625 "type" : "field",
5626 "value" : ["int_egress_port_tx_util", "egress_port_tx_util"]
5627 },
5628 {
5629 "type" : "hexstr",
5630 "value" : "0xffffffff"
5631 }
5632 ],
5633 "source_info" : {
5634 "filename" : "include/int_transit.p4",
5635 "line" : 49,
5636 "column" : 8,
5637 "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff"
5638 }
5639 },
5640 {
5641 "op" : "add_header",
5642 "parameters" : [
5643 {
5644 "type" : "header",
5645 "value" : "int_q_congestion"
5646 }
5647 ],
5648 "source_info" : {
5649 "filename" : "include/int_transit.p4",
5650 "line" : 42,
5651 "column" : 8,
5652 "source_fragment" : "hdr.int_q_congestion.setValid()"
5653 }
5654 },
5655 {
5656 "op" : "assign",
5657 "parameters" : [
5658 {
5659 "type" : "field",
5660 "value" : ["int_q_congestion", "q_id"]
5661 },
5662 {
5663 "type" : "hexstr",
5664 "value" : "0xff"
5665 }
5666 ],
5667 "source_info" : {
5668 "filename" : "include/int_transit.p4",
5669 "line" : 43,
5670 "column" : 8,
5671 "source_fragment" : "hdr.int_q_congestion.q_id = 0xff"
5672 }
5673 },
5674 {
5675 "op" : "assign",
5676 "parameters" : [
5677 {
5678 "type" : "field",
5679 "value" : ["int_q_congestion", "q_congestion"]
5680 },
5681 {
5682 "type" : "hexstr",
5683 "value" : "0xffffff"
5684 }
5685 ],
5686 "source_info" : {
5687 "filename" : "include/int_transit.p4",
5688 "line" : 44,
5689 "column" : 8,
5690 "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff"
5691 }
5692 }
5693 ]
5694 },
5695 {
5696 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i4",
5697 "id" : 72,
5698 "runtime_data" : [],
5699 "primitives" : [
5700 {
5701 "op" : "add_header",
5702 "parameters" : [
5703 {
5704 "type" : "header",
5705 "value" : "int_egress_tstamp"
5706 }
5707 ],
5708 "source_info" : {
5709 "filename" : "include/int_transit.p4",
5710 "line" : 36,
5711 "column" : 8,
5712 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
5713 }
5714 },
5715 {
5716 "op" : "assign",
5717 "parameters" : [
5718 {
5719 "type" : "field",
5720 "value" : ["int_egress_tstamp", "egress_tstamp"]
5721 },
5722 {
5723 "type" : "expression",
5724 "value" : {
5725 "type" : "expression",
5726 "value" : {
5727 "op" : "&",
5728 "left" : {
5729 "type" : "field",
5730 "value" : ["standard_metadata", "egress_global_timestamp"]
5731 },
5732 "right" : {
5733 "type" : "hexstr",
5734 "value" : "0xffffffff"
5735 }
5736 }
5737 }
5738 }
5739 ],
5740 "source_info" : {
5741 "filename" : "include/int_transit.p4",
5742 "line" : 37,
5743 "column" : 8,
5744 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
5745 }
5746 }
5747 ]
5748 },
5749 {
5750 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i5",
5751 "id" : 73,
5752 "runtime_data" : [],
5753 "primitives" : [
5754 {
5755 "op" : "add_header",
5756 "parameters" : [
5757 {
5758 "type" : "header",
5759 "value" : "int_egress_port_tx_util"
5760 }
5761 ],
5762 "source_info" : {
5763 "filename" : "include/int_transit.p4",
5764 "line" : 48,
5765 "column" : 8,
5766 "source_fragment" : "hdr.int_egress_port_tx_util.setValid()"
5767 }
5768 },
5769 {
5770 "op" : "assign",
5771 "parameters" : [
5772 {
5773 "type" : "field",
5774 "value" : ["int_egress_port_tx_util", "egress_port_tx_util"]
5775 },
5776 {
5777 "type" : "hexstr",
5778 "value" : "0xffffffff"
5779 }
5780 ],
5781 "source_info" : {
5782 "filename" : "include/int_transit.p4",
5783 "line" : 49,
5784 "column" : 8,
5785 "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff"
5786 }
5787 },
5788 {
5789 "op" : "add_header",
5790 "parameters" : [
5791 {
5792 "type" : "header",
5793 "value" : "int_egress_tstamp"
5794 }
5795 ],
5796 "source_info" : {
5797 "filename" : "include/int_transit.p4",
5798 "line" : 36,
5799 "column" : 8,
5800 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
5801 }
5802 },
5803 {
5804 "op" : "assign",
5805 "parameters" : [
5806 {
5807 "type" : "field",
5808 "value" : ["int_egress_tstamp", "egress_tstamp"]
5809 },
5810 {
5811 "type" : "expression",
5812 "value" : {
5813 "type" : "expression",
5814 "value" : {
5815 "op" : "&",
5816 "left" : {
5817 "type" : "field",
5818 "value" : ["standard_metadata", "egress_global_timestamp"]
5819 },
5820 "right" : {
5821 "type" : "hexstr",
5822 "value" : "0xffffffff"
5823 }
5824 }
5825 }
5826 }
5827 ],
5828 "source_info" : {
5829 "filename" : "include/int_transit.p4",
5830 "line" : 37,
5831 "column" : 8,
5832 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
5833 }
5834 }
5835 ]
5836 },
5837 {
5838 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i6",
5839 "id" : 74,
5840 "runtime_data" : [],
5841 "primitives" : [
5842 {
5843 "op" : "add_header",
5844 "parameters" : [
5845 {
5846 "type" : "header",
5847 "value" : "int_q_congestion"
5848 }
5849 ],
5850 "source_info" : {
5851 "filename" : "include/int_transit.p4",
5852 "line" : 42,
5853 "column" : 8,
5854 "source_fragment" : "hdr.int_q_congestion.setValid()"
5855 }
5856 },
5857 {
5858 "op" : "assign",
5859 "parameters" : [
5860 {
5861 "type" : "field",
5862 "value" : ["int_q_congestion", "q_id"]
5863 },
5864 {
5865 "type" : "hexstr",
5866 "value" : "0xff"
5867 }
5868 ],
5869 "source_info" : {
5870 "filename" : "include/int_transit.p4",
5871 "line" : 43,
5872 "column" : 8,
5873 "source_fragment" : "hdr.int_q_congestion.q_id = 0xff"
5874 }
5875 },
5876 {
5877 "op" : "assign",
5878 "parameters" : [
5879 {
5880 "type" : "field",
5881 "value" : ["int_q_congestion", "q_congestion"]
5882 },
5883 {
5884 "type" : "hexstr",
5885 "value" : "0xffffff"
5886 }
5887 ],
5888 "source_info" : {
5889 "filename" : "include/int_transit.p4",
5890 "line" : 44,
5891 "column" : 8,
5892 "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff"
5893 }
5894 },
5895 {
5896 "op" : "add_header",
5897 "parameters" : [
5898 {
5899 "type" : "header",
5900 "value" : "int_egress_tstamp"
5901 }
5902 ],
5903 "source_info" : {
5904 "filename" : "include/int_transit.p4",
5905 "line" : 36,
5906 "column" : 8,
5907 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
5908 }
5909 },
5910 {
5911 "op" : "assign",
5912 "parameters" : [
5913 {
5914 "type" : "field",
5915 "value" : ["int_egress_tstamp", "egress_tstamp"]
5916 },
5917 {
5918 "type" : "expression",
5919 "value" : {
5920 "type" : "expression",
5921 "value" : {
5922 "op" : "&",
5923 "left" : {
5924 "type" : "field",
5925 "value" : ["standard_metadata", "egress_global_timestamp"]
5926 },
5927 "right" : {
5928 "type" : "hexstr",
5929 "value" : "0xffffffff"
5930 }
5931 }
5932 }
5933 }
5934 ],
5935 "source_info" : {
5936 "filename" : "include/int_transit.p4",
5937 "line" : 37,
5938 "column" : 8,
5939 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
5940 }
5941 }
5942 ]
5943 },
5944 {
5945 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i7",
5946 "id" : 75,
5947 "runtime_data" : [],
5948 "primitives" : [
5949 {
5950 "op" : "add_header",
5951 "parameters" : [
5952 {
5953 "type" : "header",
5954 "value" : "int_egress_port_tx_util"
5955 }
5956 ],
5957 "source_info" : {
5958 "filename" : "include/int_transit.p4",
5959 "line" : 48,
5960 "column" : 8,
5961 "source_fragment" : "hdr.int_egress_port_tx_util.setValid()"
5962 }
5963 },
5964 {
5965 "op" : "assign",
5966 "parameters" : [
5967 {
5968 "type" : "field",
5969 "value" : ["int_egress_port_tx_util", "egress_port_tx_util"]
5970 },
5971 {
5972 "type" : "hexstr",
5973 "value" : "0xffffffff"
5974 }
5975 ],
5976 "source_info" : {
5977 "filename" : "include/int_transit.p4",
5978 "line" : 49,
5979 "column" : 8,
5980 "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff"
5981 }
5982 },
5983 {
5984 "op" : "add_header",
5985 "parameters" : [
5986 {
5987 "type" : "header",
5988 "value" : "int_q_congestion"
5989 }
5990 ],
5991 "source_info" : {
5992 "filename" : "include/int_transit.p4",
5993 "line" : 42,
5994 "column" : 8,
5995 "source_fragment" : "hdr.int_q_congestion.setValid()"
5996 }
5997 },
5998 {
5999 "op" : "assign",
6000 "parameters" : [
6001 {
6002 "type" : "field",
6003 "value" : ["int_q_congestion", "q_id"]
6004 },
6005 {
6006 "type" : "hexstr",
6007 "value" : "0xff"
6008 }
6009 ],
6010 "source_info" : {
6011 "filename" : "include/int_transit.p4",
6012 "line" : 43,
6013 "column" : 8,
6014 "source_fragment" : "hdr.int_q_congestion.q_id = 0xff"
6015 }
6016 },
6017 {
6018 "op" : "assign",
6019 "parameters" : [
6020 {
6021 "type" : "field",
6022 "value" : ["int_q_congestion", "q_congestion"]
6023 },
6024 {
6025 "type" : "hexstr",
6026 "value" : "0xffffff"
6027 }
6028 ],
6029 "source_info" : {
6030 "filename" : "include/int_transit.p4",
6031 "line" : 44,
6032 "column" : 8,
6033 "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff"
6034 }
6035 },
6036 {
6037 "op" : "add_header",
6038 "parameters" : [
6039 {
6040 "type" : "header",
6041 "value" : "int_egress_tstamp"
6042 }
6043 ],
6044 "source_info" : {
6045 "filename" : "include/int_transit.p4",
6046 "line" : 36,
6047 "column" : 8,
6048 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6049 }
6050 },
6051 {
6052 "op" : "assign",
6053 "parameters" : [
6054 {
6055 "type" : "field",
6056 "value" : ["int_egress_tstamp", "egress_tstamp"]
6057 },
6058 {
6059 "type" : "expression",
6060 "value" : {
6061 "type" : "expression",
6062 "value" : {
6063 "op" : "&",
6064 "left" : {
6065 "type" : "field",
6066 "value" : ["standard_metadata", "egress_global_timestamp"]
6067 },
6068 "right" : {
6069 "type" : "hexstr",
6070 "value" : "0xffffffff"
6071 }
6072 }
6073 }
6074 }
6075 ],
6076 "source_info" : {
6077 "filename" : "include/int_transit.p4",
6078 "line" : 37,
6079 "column" : 8,
6080 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
6081 }
6082 }
6083 ]
6084 },
6085 {
6086 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i8",
6087 "id" : 76,
6088 "runtime_data" : [],
6089 "primitives" : [
6090 {
6091 "op" : "add_header",
6092 "parameters" : [
6093 {
6094 "type" : "header",
6095 "value" : "int_ingress_tstamp"
6096 }
6097 ],
6098 "source_info" : {
6099 "filename" : "include/int_transit.p4",
6100 "line" : 30,
6101 "column" : 8,
6102 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
6103 }
6104 },
6105 {
6106 "op" : "assign",
6107 "parameters" : [
6108 {
6109 "type" : "field",
6110 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
6111 },
6112 {
6113 "type" : "expression",
6114 "value" : {
6115 "type" : "expression",
6116 "value" : {
6117 "op" : "&",
6118 "left" : {
6119 "type" : "field",
6120 "value" : ["standard_metadata", "ingress_global_timestamp"]
6121 },
6122 "right" : {
6123 "type" : "hexstr",
6124 "value" : "0xffffffff"
6125 }
6126 }
6127 }
6128 }
6129 ],
6130 "source_info" : {
6131 "filename" : "include/int_transit.p4",
6132 "line" : 31,
6133 "column" : 8,
6134 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
6135 }
6136 }
6137 ]
6138 },
6139 {
6140 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i9",
6141 "id" : 77,
6142 "runtime_data" : [],
6143 "primitives" : [
6144 {
6145 "op" : "add_header",
6146 "parameters" : [
6147 {
6148 "type" : "header",
6149 "value" : "int_egress_port_tx_util"
6150 }
6151 ],
6152 "source_info" : {
6153 "filename" : "include/int_transit.p4",
6154 "line" : 48,
6155 "column" : 8,
6156 "source_fragment" : "hdr.int_egress_port_tx_util.setValid()"
6157 }
6158 },
6159 {
6160 "op" : "assign",
6161 "parameters" : [
6162 {
6163 "type" : "field",
6164 "value" : ["int_egress_port_tx_util", "egress_port_tx_util"]
6165 },
6166 {
6167 "type" : "hexstr",
6168 "value" : "0xffffffff"
6169 }
6170 ],
6171 "source_info" : {
6172 "filename" : "include/int_transit.p4",
6173 "line" : 49,
6174 "column" : 8,
6175 "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff"
6176 }
6177 },
6178 {
6179 "op" : "add_header",
6180 "parameters" : [
6181 {
6182 "type" : "header",
6183 "value" : "int_ingress_tstamp"
6184 }
6185 ],
6186 "source_info" : {
6187 "filename" : "include/int_transit.p4",
6188 "line" : 30,
6189 "column" : 8,
6190 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
6191 }
6192 },
6193 {
6194 "op" : "assign",
6195 "parameters" : [
6196 {
6197 "type" : "field",
6198 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
6199 },
6200 {
6201 "type" : "expression",
6202 "value" : {
6203 "type" : "expression",
6204 "value" : {
6205 "op" : "&",
6206 "left" : {
6207 "type" : "field",
6208 "value" : ["standard_metadata", "ingress_global_timestamp"]
6209 },
6210 "right" : {
6211 "type" : "hexstr",
6212 "value" : "0xffffffff"
6213 }
6214 }
6215 }
6216 }
6217 ],
6218 "source_info" : {
6219 "filename" : "include/int_transit.p4",
6220 "line" : 31,
6221 "column" : 8,
6222 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
6223 }
6224 }
6225 ]
6226 },
6227 {
6228 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i10",
6229 "id" : 78,
6230 "runtime_data" : [],
6231 "primitives" : [
6232 {
6233 "op" : "add_header",
6234 "parameters" : [
6235 {
6236 "type" : "header",
6237 "value" : "int_q_congestion"
6238 }
6239 ],
6240 "source_info" : {
6241 "filename" : "include/int_transit.p4",
6242 "line" : 42,
6243 "column" : 8,
6244 "source_fragment" : "hdr.int_q_congestion.setValid()"
6245 }
6246 },
6247 {
6248 "op" : "assign",
6249 "parameters" : [
6250 {
6251 "type" : "field",
6252 "value" : ["int_q_congestion", "q_id"]
6253 },
6254 {
6255 "type" : "hexstr",
6256 "value" : "0xff"
6257 }
6258 ],
6259 "source_info" : {
6260 "filename" : "include/int_transit.p4",
6261 "line" : 43,
6262 "column" : 8,
6263 "source_fragment" : "hdr.int_q_congestion.q_id = 0xff"
6264 }
6265 },
6266 {
6267 "op" : "assign",
6268 "parameters" : [
6269 {
6270 "type" : "field",
6271 "value" : ["int_q_congestion", "q_congestion"]
6272 },
6273 {
6274 "type" : "hexstr",
6275 "value" : "0xffffff"
6276 }
6277 ],
6278 "source_info" : {
6279 "filename" : "include/int_transit.p4",
6280 "line" : 44,
6281 "column" : 8,
6282 "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff"
6283 }
6284 },
6285 {
6286 "op" : "add_header",
6287 "parameters" : [
6288 {
6289 "type" : "header",
6290 "value" : "int_ingress_tstamp"
6291 }
6292 ],
6293 "source_info" : {
6294 "filename" : "include/int_transit.p4",
6295 "line" : 30,
6296 "column" : 8,
6297 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
6298 }
6299 },
6300 {
6301 "op" : "assign",
6302 "parameters" : [
6303 {
6304 "type" : "field",
6305 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
6306 },
6307 {
6308 "type" : "expression",
6309 "value" : {
6310 "type" : "expression",
6311 "value" : {
6312 "op" : "&",
6313 "left" : {
6314 "type" : "field",
6315 "value" : ["standard_metadata", "ingress_global_timestamp"]
6316 },
6317 "right" : {
6318 "type" : "hexstr",
6319 "value" : "0xffffffff"
6320 }
6321 }
6322 }
6323 }
6324 ],
6325 "source_info" : {
6326 "filename" : "include/int_transit.p4",
6327 "line" : 31,
6328 "column" : 8,
6329 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
6330 }
6331 }
6332 ]
6333 },
6334 {
6335 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i11",
6336 "id" : 79,
6337 "runtime_data" : [],
6338 "primitives" : [
6339 {
6340 "op" : "add_header",
6341 "parameters" : [
6342 {
6343 "type" : "header",
6344 "value" : "int_egress_port_tx_util"
6345 }
6346 ],
6347 "source_info" : {
6348 "filename" : "include/int_transit.p4",
6349 "line" : 48,
6350 "column" : 8,
6351 "source_fragment" : "hdr.int_egress_port_tx_util.setValid()"
6352 }
6353 },
6354 {
6355 "op" : "assign",
6356 "parameters" : [
6357 {
6358 "type" : "field",
6359 "value" : ["int_egress_port_tx_util", "egress_port_tx_util"]
6360 },
6361 {
6362 "type" : "hexstr",
6363 "value" : "0xffffffff"
6364 }
6365 ],
6366 "source_info" : {
6367 "filename" : "include/int_transit.p4",
6368 "line" : 49,
6369 "column" : 8,
6370 "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff"
6371 }
6372 },
6373 {
6374 "op" : "add_header",
6375 "parameters" : [
6376 {
6377 "type" : "header",
6378 "value" : "int_q_congestion"
6379 }
6380 ],
6381 "source_info" : {
6382 "filename" : "include/int_transit.p4",
6383 "line" : 42,
6384 "column" : 8,
6385 "source_fragment" : "hdr.int_q_congestion.setValid()"
6386 }
6387 },
6388 {
6389 "op" : "assign",
6390 "parameters" : [
6391 {
6392 "type" : "field",
6393 "value" : ["int_q_congestion", "q_id"]
6394 },
6395 {
6396 "type" : "hexstr",
6397 "value" : "0xff"
6398 }
6399 ],
6400 "source_info" : {
6401 "filename" : "include/int_transit.p4",
6402 "line" : 43,
6403 "column" : 8,
6404 "source_fragment" : "hdr.int_q_congestion.q_id = 0xff"
6405 }
6406 },
6407 {
6408 "op" : "assign",
6409 "parameters" : [
6410 {
6411 "type" : "field",
6412 "value" : ["int_q_congestion", "q_congestion"]
6413 },
6414 {
6415 "type" : "hexstr",
6416 "value" : "0xffffff"
6417 }
6418 ],
6419 "source_info" : {
6420 "filename" : "include/int_transit.p4",
6421 "line" : 44,
6422 "column" : 8,
6423 "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff"
6424 }
6425 },
6426 {
6427 "op" : "add_header",
6428 "parameters" : [
6429 {
6430 "type" : "header",
6431 "value" : "int_ingress_tstamp"
6432 }
6433 ],
6434 "source_info" : {
6435 "filename" : "include/int_transit.p4",
6436 "line" : 30,
6437 "column" : 8,
6438 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
6439 }
6440 },
6441 {
6442 "op" : "assign",
6443 "parameters" : [
6444 {
6445 "type" : "field",
6446 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
6447 },
6448 {
6449 "type" : "expression",
6450 "value" : {
6451 "type" : "expression",
6452 "value" : {
6453 "op" : "&",
6454 "left" : {
6455 "type" : "field",
6456 "value" : ["standard_metadata", "ingress_global_timestamp"]
6457 },
6458 "right" : {
6459 "type" : "hexstr",
6460 "value" : "0xffffffff"
6461 }
6462 }
6463 }
6464 }
6465 ],
6466 "source_info" : {
6467 "filename" : "include/int_transit.p4",
6468 "line" : 31,
6469 "column" : 8,
6470 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
6471 }
6472 }
6473 ]
6474 },
6475 {
6476 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i12",
6477 "id" : 80,
6478 "runtime_data" : [],
6479 "primitives" : [
6480 {
6481 "op" : "add_header",
6482 "parameters" : [
6483 {
6484 "type" : "header",
6485 "value" : "int_egress_tstamp"
6486 }
6487 ],
6488 "source_info" : {
6489 "filename" : "include/int_transit.p4",
6490 "line" : 36,
6491 "column" : 8,
6492 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6493 }
6494 },
6495 {
6496 "op" : "assign",
6497 "parameters" : [
6498 {
6499 "type" : "field",
6500 "value" : ["int_egress_tstamp", "egress_tstamp"]
6501 },
6502 {
6503 "type" : "expression",
6504 "value" : {
6505 "type" : "expression",
6506 "value" : {
6507 "op" : "&",
6508 "left" : {
6509 "type" : "field",
6510 "value" : ["standard_metadata", "egress_global_timestamp"]
6511 },
6512 "right" : {
6513 "type" : "hexstr",
6514 "value" : "0xffffffff"
6515 }
6516 }
6517 }
6518 }
6519 ],
6520 "source_info" : {
6521 "filename" : "include/int_transit.p4",
6522 "line" : 37,
6523 "column" : 8,
6524 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
6525 }
6526 },
6527 {
6528 "op" : "add_header",
6529 "parameters" : [
6530 {
6531 "type" : "header",
6532 "value" : "int_ingress_tstamp"
6533 }
6534 ],
6535 "source_info" : {
6536 "filename" : "include/int_transit.p4",
6537 "line" : 30,
6538 "column" : 8,
6539 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
6540 }
6541 },
6542 {
6543 "op" : "assign",
6544 "parameters" : [
6545 {
6546 "type" : "field",
6547 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
6548 },
6549 {
6550 "type" : "expression",
6551 "value" : {
6552 "type" : "expression",
6553 "value" : {
6554 "op" : "&",
6555 "left" : {
6556 "type" : "field",
6557 "value" : ["standard_metadata", "ingress_global_timestamp"]
6558 },
6559 "right" : {
6560 "type" : "hexstr",
6561 "value" : "0xffffffff"
6562 }
6563 }
6564 }
6565 }
6566 ],
6567 "source_info" : {
6568 "filename" : "include/int_transit.p4",
6569 "line" : 31,
6570 "column" : 8,
6571 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
6572 }
6573 }
6574 ]
6575 },
6576 {
6577 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i13",
6578 "id" : 81,
6579 "runtime_data" : [],
6580 "primitives" : [
6581 {
6582 "op" : "add_header",
6583 "parameters" : [
6584 {
6585 "type" : "header",
6586 "value" : "int_egress_port_tx_util"
6587 }
6588 ],
6589 "source_info" : {
6590 "filename" : "include/int_transit.p4",
6591 "line" : 48,
6592 "column" : 8,
6593 "source_fragment" : "hdr.int_egress_port_tx_util.setValid()"
6594 }
6595 },
6596 {
6597 "op" : "assign",
6598 "parameters" : [
6599 {
6600 "type" : "field",
6601 "value" : ["int_egress_port_tx_util", "egress_port_tx_util"]
6602 },
6603 {
6604 "type" : "hexstr",
6605 "value" : "0xffffffff"
6606 }
6607 ],
6608 "source_info" : {
6609 "filename" : "include/int_transit.p4",
6610 "line" : 49,
6611 "column" : 8,
6612 "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff"
6613 }
6614 },
6615 {
6616 "op" : "add_header",
6617 "parameters" : [
6618 {
6619 "type" : "header",
6620 "value" : "int_egress_tstamp"
6621 }
6622 ],
6623 "source_info" : {
6624 "filename" : "include/int_transit.p4",
6625 "line" : 36,
6626 "column" : 8,
6627 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6628 }
6629 },
6630 {
6631 "op" : "assign",
6632 "parameters" : [
6633 {
6634 "type" : "field",
6635 "value" : ["int_egress_tstamp", "egress_tstamp"]
6636 },
6637 {
6638 "type" : "expression",
6639 "value" : {
6640 "type" : "expression",
6641 "value" : {
6642 "op" : "&",
6643 "left" : {
6644 "type" : "field",
6645 "value" : ["standard_metadata", "egress_global_timestamp"]
6646 },
6647 "right" : {
6648 "type" : "hexstr",
6649 "value" : "0xffffffff"
6650 }
6651 }
6652 }
6653 }
6654 ],
6655 "source_info" : {
6656 "filename" : "include/int_transit.p4",
6657 "line" : 37,
6658 "column" : 8,
6659 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
6660 }
6661 },
6662 {
6663 "op" : "add_header",
6664 "parameters" : [
6665 {
6666 "type" : "header",
6667 "value" : "int_ingress_tstamp"
6668 }
6669 ],
6670 "source_info" : {
6671 "filename" : "include/int_transit.p4",
6672 "line" : 30,
6673 "column" : 8,
6674 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
6675 }
6676 },
6677 {
6678 "op" : "assign",
6679 "parameters" : [
6680 {
6681 "type" : "field",
6682 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
6683 },
6684 {
6685 "type" : "expression",
6686 "value" : {
6687 "type" : "expression",
6688 "value" : {
6689 "op" : "&",
6690 "left" : {
6691 "type" : "field",
6692 "value" : ["standard_metadata", "ingress_global_timestamp"]
6693 },
6694 "right" : {
6695 "type" : "hexstr",
6696 "value" : "0xffffffff"
6697 }
6698 }
6699 }
6700 }
6701 ],
6702 "source_info" : {
6703 "filename" : "include/int_transit.p4",
6704 "line" : 31,
6705 "column" : 8,
6706 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
6707 }
6708 }
6709 ]
6710 },
6711 {
6712 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i14",
6713 "id" : 82,
6714 "runtime_data" : [],
6715 "primitives" : [
6716 {
6717 "op" : "add_header",
6718 "parameters" : [
6719 {
6720 "type" : "header",
6721 "value" : "int_q_congestion"
6722 }
6723 ],
6724 "source_info" : {
6725 "filename" : "include/int_transit.p4",
6726 "line" : 42,
6727 "column" : 8,
6728 "source_fragment" : "hdr.int_q_congestion.setValid()"
6729 }
6730 },
6731 {
6732 "op" : "assign",
6733 "parameters" : [
6734 {
6735 "type" : "field",
6736 "value" : ["int_q_congestion", "q_id"]
6737 },
6738 {
6739 "type" : "hexstr",
6740 "value" : "0xff"
6741 }
6742 ],
6743 "source_info" : {
6744 "filename" : "include/int_transit.p4",
6745 "line" : 43,
6746 "column" : 8,
6747 "source_fragment" : "hdr.int_q_congestion.q_id = 0xff"
6748 }
6749 },
6750 {
6751 "op" : "assign",
6752 "parameters" : [
6753 {
6754 "type" : "field",
6755 "value" : ["int_q_congestion", "q_congestion"]
6756 },
6757 {
6758 "type" : "hexstr",
6759 "value" : "0xffffff"
6760 }
6761 ],
6762 "source_info" : {
6763 "filename" : "include/int_transit.p4",
6764 "line" : 44,
6765 "column" : 8,
6766 "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff"
6767 }
6768 },
6769 {
6770 "op" : "add_header",
6771 "parameters" : [
6772 {
6773 "type" : "header",
6774 "value" : "int_egress_tstamp"
6775 }
6776 ],
6777 "source_info" : {
6778 "filename" : "include/int_transit.p4",
6779 "line" : 36,
6780 "column" : 8,
6781 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6782 }
6783 },
6784 {
6785 "op" : "assign",
6786 "parameters" : [
6787 {
6788 "type" : "field",
6789 "value" : ["int_egress_tstamp", "egress_tstamp"]
6790 },
6791 {
6792 "type" : "expression",
6793 "value" : {
6794 "type" : "expression",
6795 "value" : {
6796 "op" : "&",
6797 "left" : {
6798 "type" : "field",
6799 "value" : ["standard_metadata", "egress_global_timestamp"]
6800 },
6801 "right" : {
6802 "type" : "hexstr",
6803 "value" : "0xffffffff"
6804 }
6805 }
6806 }
6807 }
6808 ],
6809 "source_info" : {
6810 "filename" : "include/int_transit.p4",
6811 "line" : 37,
6812 "column" : 8,
6813 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
6814 }
6815 },
6816 {
6817 "op" : "add_header",
6818 "parameters" : [
6819 {
6820 "type" : "header",
6821 "value" : "int_ingress_tstamp"
6822 }
6823 ],
6824 "source_info" : {
6825 "filename" : "include/int_transit.p4",
6826 "line" : 30,
6827 "column" : 8,
6828 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
6829 }
6830 },
6831 {
6832 "op" : "assign",
6833 "parameters" : [
6834 {
6835 "type" : "field",
6836 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
6837 },
6838 {
6839 "type" : "expression",
6840 "value" : {
6841 "type" : "expression",
6842 "value" : {
6843 "op" : "&",
6844 "left" : {
6845 "type" : "field",
6846 "value" : ["standard_metadata", "ingress_global_timestamp"]
6847 },
6848 "right" : {
6849 "type" : "hexstr",
6850 "value" : "0xffffffff"
6851 }
6852 }
6853 }
6854 }
6855 ],
6856 "source_info" : {
6857 "filename" : "include/int_transit.p4",
6858 "line" : 31,
6859 "column" : 8,
6860 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
6861 }
6862 }
6863 ]
6864 },
6865 {
6866 "name" : "int_egress.int_metadata_insert.int_set_header_0407_i15",
6867 "id" : 83,
6868 "runtime_data" : [],
6869 "primitives" : [
6870 {
6871 "op" : "add_header",
6872 "parameters" : [
6873 {
6874 "type" : "header",
6875 "value" : "int_egress_port_tx_util"
6876 }
6877 ],
6878 "source_info" : {
6879 "filename" : "include/int_transit.p4",
6880 "line" : 48,
6881 "column" : 8,
6882 "source_fragment" : "hdr.int_egress_port_tx_util.setValid()"
6883 }
6884 },
6885 {
6886 "op" : "assign",
6887 "parameters" : [
6888 {
6889 "type" : "field",
6890 "value" : ["int_egress_port_tx_util", "egress_port_tx_util"]
6891 },
6892 {
6893 "type" : "hexstr",
6894 "value" : "0xffffffff"
6895 }
6896 ],
6897 "source_info" : {
6898 "filename" : "include/int_transit.p4",
6899 "line" : 49,
6900 "column" : 8,
6901 "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff"
6902 }
6903 },
6904 {
6905 "op" : "add_header",
6906 "parameters" : [
6907 {
6908 "type" : "header",
6909 "value" : "int_q_congestion"
6910 }
6911 ],
6912 "source_info" : {
6913 "filename" : "include/int_transit.p4",
6914 "line" : 42,
6915 "column" : 8,
6916 "source_fragment" : "hdr.int_q_congestion.setValid()"
6917 }
6918 },
6919 {
6920 "op" : "assign",
6921 "parameters" : [
6922 {
6923 "type" : "field",
6924 "value" : ["int_q_congestion", "q_id"]
6925 },
6926 {
6927 "type" : "hexstr",
6928 "value" : "0xff"
6929 }
6930 ],
6931 "source_info" : {
6932 "filename" : "include/int_transit.p4",
6933 "line" : 43,
6934 "column" : 8,
6935 "source_fragment" : "hdr.int_q_congestion.q_id = 0xff"
6936 }
6937 },
6938 {
6939 "op" : "assign",
6940 "parameters" : [
6941 {
6942 "type" : "field",
6943 "value" : ["int_q_congestion", "q_congestion"]
6944 },
6945 {
6946 "type" : "hexstr",
6947 "value" : "0xffffff"
6948 }
6949 ],
6950 "source_info" : {
6951 "filename" : "include/int_transit.p4",
6952 "line" : 44,
6953 "column" : 8,
6954 "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff"
6955 }
6956 },
6957 {
6958 "op" : "add_header",
6959 "parameters" : [
6960 {
6961 "type" : "header",
6962 "value" : "int_egress_tstamp"
6963 }
6964 ],
6965 "source_info" : {
6966 "filename" : "include/int_transit.p4",
6967 "line" : 36,
6968 "column" : 8,
6969 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6970 }
6971 },
6972 {
6973 "op" : "assign",
6974 "parameters" : [
6975 {
6976 "type" : "field",
6977 "value" : ["int_egress_tstamp", "egress_tstamp"]
6978 },
6979 {
6980 "type" : "expression",
6981 "value" : {
6982 "type" : "expression",
6983 "value" : {
6984 "op" : "&",
6985 "left" : {
6986 "type" : "field",
6987 "value" : ["standard_metadata", "egress_global_timestamp"]
6988 },
6989 "right" : {
6990 "type" : "hexstr",
6991 "value" : "0xffffffff"
6992 }
6993 }
6994 }
6995 }
6996 ],
6997 "source_info" : {
6998 "filename" : "include/int_transit.p4",
6999 "line" : 37,
7000 "column" : 8,
7001 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7002 }
7003 },
7004 {
7005 "op" : "add_header",
7006 "parameters" : [
7007 {
7008 "type" : "header",
7009 "value" : "int_ingress_tstamp"
7010 }
7011 ],
7012 "source_info" : {
7013 "filename" : "include/int_transit.p4",
7014 "line" : 30,
7015 "column" : 8,
7016 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7017 }
7018 },
7019 {
7020 "op" : "assign",
7021 "parameters" : [
7022 {
7023 "type" : "field",
7024 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7025 },
7026 {
7027 "type" : "expression",
7028 "value" : {
7029 "type" : "expression",
7030 "value" : {
7031 "op" : "&",
7032 "left" : {
7033 "type" : "field",
7034 "value" : ["standard_metadata", "ingress_global_timestamp"]
7035 },
7036 "right" : {
7037 "type" : "hexstr",
7038 "value" : "0xffffffff"
7039 }
7040 }
7041 }
7042 }
7043 ],
7044 "source_info" : {
7045 "filename" : "include/int_transit.p4",
7046 "line" : 31,
7047 "column" : 8,
7048 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7049 }
7050 }
7051 ]
7052 },
7053 {
7054 "name" : "int_egress.int_outer_encap.int_update_ipv4",
7055 "id" : 84,
7056 "runtime_data" : [],
7057 "primitives" : [
7058 {
7059 "op" : "assign",
7060 "parameters" : [
7061 {
7062 "type" : "field",
7063 "value" : ["ipv4", "total_len"]
7064 },
7065 {
7066 "type" : "expression",
7067 "value" : {
7068 "type" : "expression",
7069 "value" : {
7070 "op" : "&",
7071 "left" : {
7072 "type" : "expression",
7073 "value" : {
7074 "op" : "+",
7075 "left" : {
7076 "type" : "field",
7077 "value" : ["ipv4", "total_len"]
7078 },
7079 "right" : {
7080 "type" : "field",
7081 "value" : ["userMetadata.int_metadata", "insert_byte_cnt"]
7082 }
7083 }
7084 },
7085 "right" : {
7086 "type" : "hexstr",
7087 "value" : "0xffff"
7088 }
7089 }
7090 }
7091 }
7092 ],
7093 "source_info" : {
7094 "filename" : "include/int_transit.p4",
7095 "line" : 243,
7096 "column" : 8,
7097 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + int_metadata.insert_byte_cnt"
7098 }
7099 }
7100 ]
7101 },
7102 {
7103 "name" : "int_egress.int_outer_encap.int_update_udp",
7104 "id" : 85,
7105 "runtime_data" : [],
7106 "primitives" : [
7107 {
7108 "op" : "assign",
7109 "parameters" : [
7110 {
7111 "type" : "field",
7112 "value" : ["udp", "len"]
7113 },
7114 {
7115 "type" : "expression",
7116 "value" : {
7117 "type" : "expression",
7118 "value" : {
7119 "op" : "&",
7120 "left" : {
7121 "type" : "expression",
7122 "value" : {
7123 "op" : "+",
7124 "left" : {
7125 "type" : "field",
7126 "value" : ["udp", "len"]
7127 },
7128 "right" : {
7129 "type" : "field",
7130 "value" : ["userMetadata.int_metadata", "insert_byte_cnt"]
7131 }
7132 }
7133 },
7134 "right" : {
7135 "type" : "hexstr",
7136 "value" : "0xffff"
7137 }
7138 }
7139 }
7140 }
7141 ],
7142 "source_info" : {
7143 "filename" : "include/int_transit.p4",
7144 "line" : 247,
7145 "column" : 8,
7146 "source_fragment" : "hdr.udp.len = hdr.udp.len + int_metadata.insert_byte_cnt"
7147 }
7148 },
7149 {
7150 "op" : "assign",
7151 "parameters" : [
7152 {
7153 "type" : "field",
7154 "value" : ["udp", "checksum"]
7155 },
7156 {
7157 "type" : "hexstr",
7158 "value" : "0x0000"
7159 }
7160 ],
7161 "source_info" : {
7162 "filename" : "include/int_transit.p4",
7163 "line" : 248,
7164 "column" : 8,
7165 "source_fragment" : "hdr.udp.checksum = 0"
7166 }
7167 }
7168 ]
7169 },
7170 {
7171 "name" : "int_egress.int_outer_encap.int_update_shim",
7172 "id" : 86,
7173 "runtime_data" : [],
7174 "primitives" : [
7175 {
7176 "op" : "assign",
7177 "parameters" : [
7178 {
7179 "type" : "field",
7180 "value" : ["intl4_shim", "len"]
7181 },
7182 {
7183 "type" : "expression",
7184 "value" : {
7185 "type" : "expression",
7186 "value" : {
7187 "op" : "&",
7188 "left" : {
7189 "type" : "expression",
7190 "value" : {
7191 "op" : "+",
7192 "left" : {
7193 "type" : "field",
7194 "value" : ["intl4_shim", "len"]
7195 },
7196 "right" : {
7197 "type" : "field",
7198 "value" : ["userMetadata.int_metadata", "int_hdr_word_len"]
7199 }
7200 }
7201 },
7202 "right" : {
7203 "type" : "hexstr",
7204 "value" : "0xff"
7205 }
7206 }
7207 }
7208 }
7209 ],
7210 "source_info" : {
7211 "filename" : "include/int_transit.p4",
7212 "line" : 251,
7213 "column" : 8,
7214 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + int_metadata.int_hdr_word_len"
7215 }
7216 }
7217 ]
7218 },
7219 {
7220 "name" : "int_egress.int_transit",
7221 "id" : 87,
7222 "runtime_data" : [
7223 {
7224 "name" : "switch_id",
7225 "bitwidth" : 32
7226 }
7227 ],
7228 "primitives" : [
7229 {
7230 "op" : "assign",
7231 "parameters" : [
7232 {
7233 "type" : "field",
7234 "value" : ["userMetadata.int_metadata", "switch_id"]
7235 },
7236 {
7237 "type" : "runtime_data",
7238 "value" : 0
7239 }
7240 ],
7241 "source_info" : {
7242 "filename" : "include/int_transit.p4",
7243 "line" : 271,
7244 "column" : 8,
7245 "source_fragment" : "int_metadata.switch_id = switch_id"
7246 }
7247 },
7248 {
7249 "op" : "assign",
7250 "parameters" : [
7251 {
7252 "type" : "field",
7253 "value" : ["userMetadata.int_metadata", "insert_byte_cnt"]
7254 },
7255 {
7256 "type" : "expression",
7257 "value" : {
7258 "type" : "expression",
7259 "value" : {
7260 "op" : "&",
7261 "left" : {
7262 "type" : "expression",
7263 "value" : {
7264 "op" : "&",
7265 "left" : {
7266 "type" : "expression",
7267 "value" : {
7268 "op" : "<<",
7269 "left" : {
7270 "type" : "field",
7271 "value" : ["int_header", "ins_cnt"]
7272 },
7273 "right" : {
7274 "type" : "hexstr",
7275 "value" : "0x2"
7276 }
7277 }
7278 },
7279 "right" : {
7280 "type" : "hexstr",
7281 "value" : "0x1f"
7282 }
7283 }
7284 },
7285 "right" : {
7286 "type" : "hexstr",
7287 "value" : "0xffff"
7288 }
7289 }
7290 }
7291 }
7292 ],
7293 "source_info" : {
7294 "filename" : "include/int_transit.p4",
7295 "line" : 272,
7296 "column" : 8,
7297 "source_fragment" : "int_metadata.insert_byte_cnt = (bit<16>) (hdr.int_header.ins_cnt << 2)"
7298 }
7299 },
7300 {
7301 "op" : "assign",
7302 "parameters" : [
7303 {
7304 "type" : "field",
7305 "value" : ["userMetadata.int_metadata", "int_hdr_word_len"]
7306 },
7307 {
7308 "type" : "expression",
7309 "value" : {
7310 "type" : "expression",
7311 "value" : {
7312 "op" : "&",
7313 "left" : {
7314 "type" : "field",
7315 "value" : ["userMetadata.int_metadata", "ins_cnt_tmp"]
7316 },
7317 "right" : {
7318 "type" : "hexstr",
7319 "value" : "0xff"
7320 }
7321 }
7322 }
7323 }
7324 ],
7325 "source_info" : {
7326 "filename" : "include/int_transit.p4",
7327 "line" : 273,
7328 "column" : 8,
7329 "source_fragment" : "int_metadata.int_hdr_word_len = (bit<8>) int_metadata.ins_cnt_tmp"
7330 }
7331 }
7332 ]
7333 },
7334 {
7335 "name" : "int_egress.int_hop_cnt_increment",
7336 "id" : 88,
7337 "runtime_data" : [],
7338 "primitives" : [
7339 {
7340 "op" : "assign",
7341 "parameters" : [
7342 {
7343 "type" : "field",
7344 "value" : ["int_header", "total_hop_cnt"]
7345 },
7346 {
7347 "type" : "expression",
7348 "value" : {
7349 "type" : "expression",
7350 "value" : {
7351 "op" : "&",
7352 "left" : {
7353 "type" : "expression",
7354 "value" : {
7355 "op" : "+",
7356 "left" : {
7357 "type" : "field",
7358 "value" : ["int_header", "total_hop_cnt"]
7359 },
7360 "right" : {
7361 "type" : "hexstr",
7362 "value" : "0x01"
7363 }
7364 }
7365 },
7366 "right" : {
7367 "type" : "hexstr",
7368 "value" : "0xff"
7369 }
7370 }
7371 }
7372 }
7373 ],
7374 "source_info" : {
7375 "filename" : "include/int_transit.p4",
7376 "line" : 281,
7377 "column" : 8,
7378 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
7379 }
7380 }
7381 ]
7382 },
7383 {
7384 "name" : "int_egress.int_hop_cnt_exceeded",
7385 "id" : 89,
7386 "runtime_data" : [],
7387 "primitives" : [
7388 {
7389 "op" : "assign",
7390 "parameters" : [
7391 {
7392 "type" : "field",
7393 "value" : ["int_header", "e"]
7394 },
7395 {
7396 "type" : "hexstr",
7397 "value" : "0x01"
7398 }
7399 ],
7400 "source_info" : {
7401 "filename" : "include/int_transit.p4",
7402 "line" : 284,
7403 "column" : 8,
7404 "source_fragment" : "hdr.int_header.e = 1"
7405 }
7406 }
7407 ]
7408 },
7409 {
7410 "name" : "spgw_egress.gtpu_encap",
7411 "id" : 90,
7412 "runtime_data" : [],
7413 "primitives" : [
7414 {
7415 "op" : "add_header",
7416 "parameters" : [
7417 {
7418 "type" : "header",
7419 "value" : "gtpu_ipv4"
7420 }
7421 ],
7422 "source_info" : {
7423 "filename" : "include/spgw.p4",
7424 "line" : 211,
7425 "column" : 8,
7426 "source_fragment" : "gtpu_ipv4.setValid()"
7427 }
7428 },
7429 {
7430 "op" : "assign",
7431 "parameters" : [
7432 {
7433 "type" : "field",
7434 "value" : ["gtpu_ipv4", "version"]
7435 },
7436 {
7437 "type" : "hexstr",
7438 "value" : "0x04"
7439 }
7440 ],
7441 "source_info" : {
7442 "filename" : "include/spgw.p4",
7443 "line" : 212,
7444 "column" : 8,
7445 "source_fragment" : "gtpu_ipv4.version = 4"
7446 }
7447 },
7448 {
7449 "op" : "assign",
7450 "parameters" : [
7451 {
7452 "type" : "field",
7453 "value" : ["gtpu_ipv4", "ihl"]
7454 },
7455 {
7456 "type" : "hexstr",
7457 "value" : "0x05"
7458 }
7459 ],
7460 "source_info" : {
7461 "filename" : "include/control/../define.p4",
7462 "line" : 54,
7463 "column" : 28,
7464 "source_fragment" : "5; ..."
7465 }
7466 },
7467 {
7468 "op" : "assign",
7469 "parameters" : [
7470 {
7471 "type" : "field",
7472 "value" : ["gtpu_ipv4", "dscp"]
7473 },
7474 {
7475 "type" : "hexstr",
7476 "value" : "0x00"
7477 }
7478 ],
7479 "source_info" : {
7480 "filename" : "include/spgw.p4",
7481 "line" : 214,
7482 "column" : 8,
7483 "source_fragment" : "gtpu_ipv4.dscp = 0"
7484 }
7485 },
7486 {
7487 "op" : "assign",
7488 "parameters" : [
7489 {
7490 "type" : "field",
7491 "value" : ["gtpu_ipv4", "ecn"]
7492 },
7493 {
7494 "type" : "hexstr",
7495 "value" : "0x00"
7496 }
7497 ],
7498 "source_info" : {
7499 "filename" : "include/spgw.p4",
7500 "line" : 215,
7501 "column" : 8,
7502 "source_fragment" : "gtpu_ipv4.ecn = 0"
7503 }
7504 },
7505 {
7506 "op" : "assign",
7507 "parameters" : [
7508 {
7509 "type" : "field",
7510 "value" : ["gtpu_ipv4", "total_len"]
7511 },
7512 {
7513 "type" : "expression",
7514 "value" : {
7515 "type" : "expression",
7516 "value" : {
7517 "op" : "&",
7518 "left" : {
7519 "type" : "expression",
7520 "value" : {
7521 "op" : "+",
7522 "left" : {
7523 "type" : "field",
7524 "value" : ["ipv4", "total_len"]
7525 },
7526 "right" : {
7527 "type" : "hexstr",
7528 "value" : "0x0024"
7529 }
7530 }
7531 },
7532 "right" : {
7533 "type" : "hexstr",
7534 "value" : "0xffff"
7535 }
7536 }
7537 }
7538 }
7539 ],
7540 "source_info" : {
7541 "filename" : "include/spgw.p4",
7542 "line" : 216,
7543 "column" : 8,
7544 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
7545 }
7546 },
7547 {
7548 "op" : "assign",
7549 "parameters" : [
7550 {
7551 "type" : "field",
7552 "value" : ["gtpu_ipv4", "identification"]
7553 },
7554 {
7555 "type" : "hexstr",
7556 "value" : "0x1513"
7557 }
7558 ],
7559 "source_info" : {
7560 "filename" : "include/spgw.p4",
7561 "line" : 218,
7562 "column" : 8,
7563 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
7564 }
7565 },
7566 {
7567 "op" : "assign",
7568 "parameters" : [
7569 {
7570 "type" : "field",
7571 "value" : ["gtpu_ipv4", "flags"]
7572 },
7573 {
7574 "type" : "hexstr",
7575 "value" : "0x00"
7576 }
7577 ],
7578 "source_info" : {
7579 "filename" : "include/spgw.p4",
7580 "line" : 219,
7581 "column" : 8,
7582 "source_fragment" : "gtpu_ipv4.flags = 0"
7583 }
7584 },
7585 {
7586 "op" : "assign",
7587 "parameters" : [
7588 {
7589 "type" : "field",
7590 "value" : ["gtpu_ipv4", "frag_offset"]
7591 },
7592 {
7593 "type" : "hexstr",
7594 "value" : "0x0000"
7595 }
7596 ],
7597 "source_info" : {
7598 "filename" : "include/spgw.p4",
7599 "line" : 220,
7600 "column" : 8,
7601 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
7602 }
7603 },
7604 {
7605 "op" : "assign",
7606 "parameters" : [
7607 {
7608 "type" : "field",
7609 "value" : ["gtpu_ipv4", "ttl"]
7610 },
7611 {
7612 "type" : "hexstr",
7613 "value" : "0x40"
7614 }
7615 ],
7616 "source_info" : {
7617 "filename" : "include/control/../define.p4",
7618 "line" : 78,
7619 "column" : 32,
7620 "source_fragment" : "64; ..."
7621 }
7622 },
7623 {
7624 "op" : "assign",
7625 "parameters" : [
7626 {
7627 "type" : "field",
7628 "value" : ["gtpu_ipv4", "protocol"]
7629 },
7630 {
7631 "type" : "hexstr",
7632 "value" : "0x11"
7633 }
7634 ],
7635 "source_info" : {
7636 "filename" : "include/control/../define.p4",
7637 "line" : 51,
7638 "column" : 25,
7639 "source_fragment" : "17; ..."
7640 }
7641 },
7642 {
7643 "op" : "assign",
7644 "parameters" : [
7645 {
7646 "type" : "field",
7647 "value" : ["gtpu_ipv4", "dst_addr"]
7648 },
7649 {
7650 "type" : "field",
7651 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
7652 }
7653 ],
7654 "source_info" : {
7655 "filename" : "include/spgw.p4",
7656 "line" : 223,
7657 "column" : 8,
7658 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
7659 }
7660 },
7661 {
7662 "op" : "assign",
7663 "parameters" : [
7664 {
7665 "type" : "field",
7666 "value" : ["gtpu_ipv4", "src_addr"]
7667 },
7668 {
7669 "type" : "field",
7670 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
7671 }
7672 ],
7673 "source_info" : {
7674 "filename" : "include/spgw.p4",
7675 "line" : 224,
7676 "column" : 8,
7677 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
7678 }
7679 },
7680 {
7681 "op" : "assign",
7682 "parameters" : [
7683 {
7684 "type" : "field",
7685 "value" : ["gtpu_ipv4", "hdr_checksum"]
7686 },
7687 {
7688 "type" : "hexstr",
7689 "value" : "0x0000"
7690 }
7691 ],
7692 "source_info" : {
7693 "filename" : "include/spgw.p4",
7694 "line" : 225,
7695 "column" : 8,
7696 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
7697 }
7698 },
7699 {
7700 "op" : "add_header",
7701 "parameters" : [
7702 {
7703 "type" : "header",
7704 "value" : "gtpu_udp"
7705 }
7706 ],
7707 "source_info" : {
7708 "filename" : "include/spgw.p4",
7709 "line" : 227,
7710 "column" : 8,
7711 "source_fragment" : "gtpu_udp.setValid()"
7712 }
7713 },
7714 {
7715 "op" : "assign",
7716 "parameters" : [
7717 {
7718 "type" : "field",
7719 "value" : ["gtpu_udp", "src_port"]
7720 },
7721 {
7722 "type" : "hexstr",
7723 "value" : "0x0868"
7724 }
7725 ],
7726 "source_info" : {
7727 "filename" : "include/spgw.p4",
7728 "line" : 228,
7729 "column" : 8,
7730 "source_fragment" : "gtpu_udp.src_port = 2152"
7731 }
7732 },
7733 {
7734 "op" : "assign",
7735 "parameters" : [
7736 {
7737 "type" : "field",
7738 "value" : ["gtpu_udp", "dst_port"]
7739 },
7740 {
7741 "type" : "hexstr",
7742 "value" : "0x0868"
7743 }
7744 ],
7745 "source_info" : {
7746 "filename" : "include/spgw.p4",
7747 "line" : 229,
7748 "column" : 8,
7749 "source_fragment" : "gtpu_udp.dst_port = 2152"
7750 }
7751 },
7752 {
7753 "op" : "assign",
7754 "parameters" : [
7755 {
7756 "type" : "field",
7757 "value" : ["gtpu_udp", "len"]
7758 },
7759 {
7760 "type" : "expression",
7761 "value" : {
7762 "type" : "expression",
7763 "value" : {
7764 "op" : "&",
7765 "left" : {
7766 "type" : "expression",
7767 "value" : {
7768 "op" : "+",
7769 "left" : {
7770 "type" : "field",
7771 "value" : ["ipv4", "total_len"]
7772 },
7773 "right" : {
7774 "type" : "hexstr",
7775 "value" : "0x0010"
7776 }
7777 }
7778 },
7779 "right" : {
7780 "type" : "hexstr",
7781 "value" : "0xffff"
7782 }
7783 }
7784 }
7785 }
7786 ],
7787 "source_info" : {
7788 "filename" : "include/spgw.p4",
7789 "line" : 230,
7790 "column" : 8,
7791 "source_fragment" : "gtpu_udp.len = ipv4.total_len ..."
7792 }
7793 },
7794 {
7795 "op" : "assign",
7796 "parameters" : [
7797 {
7798 "type" : "field",
7799 "value" : ["gtpu_udp", "checksum"]
7800 },
7801 {
7802 "type" : "hexstr",
7803 "value" : "0x0000"
7804 }
7805 ],
7806 "source_info" : {
7807 "filename" : "include/spgw.p4",
7808 "line" : 232,
7809 "column" : 8,
7810 "source_fragment" : "gtpu_udp.checksum = 0"
7811 }
7812 },
7813 {
7814 "op" : "add_header",
7815 "parameters" : [
7816 {
7817 "type" : "header",
7818 "value" : "gtpu"
7819 }
7820 ],
7821 "source_info" : {
7822 "filename" : "include/spgw.p4",
7823 "line" : 234,
7824 "column" : 8,
7825 "source_fragment" : "gtpu.setValid()"
7826 }
7827 },
7828 {
7829 "op" : "assign",
7830 "parameters" : [
7831 {
7832 "type" : "field",
7833 "value" : ["gtpu", "version"]
7834 },
7835 {
7836 "type" : "hexstr",
7837 "value" : "0x01"
7838 }
7839 ],
7840 "source_info" : {
7841 "filename" : "include/spgw.p4",
7842 "line" : 235,
7843 "column" : 8,
7844 "source_fragment" : "gtpu.version = 0x01"
7845 }
7846 },
7847 {
7848 "op" : "assign",
7849 "parameters" : [
7850 {
7851 "type" : "field",
7852 "value" : ["gtpu", "pt"]
7853 },
7854 {
7855 "type" : "hexstr",
7856 "value" : "0x01"
7857 }
7858 ],
7859 "source_info" : {
7860 "filename" : "include/spgw.p4",
7861 "line" : 236,
7862 "column" : 8,
7863 "source_fragment" : "gtpu.pt = 0x01"
7864 }
7865 },
7866 {
7867 "op" : "assign",
7868 "parameters" : [
7869 {
7870 "type" : "field",
7871 "value" : ["gtpu", "spare"]
7872 },
7873 {
7874 "type" : "hexstr",
7875 "value" : "0x00"
7876 }
7877 ],
7878 "source_info" : {
7879 "filename" : "include/spgw.p4",
7880 "line" : 237,
7881 "column" : 8,
7882 "source_fragment" : "gtpu.spare = 0"
7883 }
7884 },
7885 {
7886 "op" : "assign",
7887 "parameters" : [
7888 {
7889 "type" : "field",
7890 "value" : ["gtpu", "ex_flag"]
7891 },
7892 {
7893 "type" : "hexstr",
7894 "value" : "0x00"
7895 }
7896 ],
7897 "source_info" : {
7898 "filename" : "include/spgw.p4",
7899 "line" : 238,
7900 "column" : 8,
7901 "source_fragment" : "gtpu.ex_flag = 0"
7902 }
7903 },
7904 {
7905 "op" : "assign",
7906 "parameters" : [
7907 {
7908 "type" : "field",
7909 "value" : ["gtpu", "seq_flag"]
7910 },
7911 {
7912 "type" : "hexstr",
7913 "value" : "0x00"
7914 }
7915 ],
7916 "source_info" : {
7917 "filename" : "include/spgw.p4",
7918 "line" : 239,
7919 "column" : 8,
7920 "source_fragment" : "gtpu.seq_flag = 0"
7921 }
7922 },
7923 {
7924 "op" : "assign",
7925 "parameters" : [
7926 {
7927 "type" : "field",
7928 "value" : ["gtpu", "npdu_flag"]
7929 },
7930 {
7931 "type" : "hexstr",
7932 "value" : "0x00"
7933 }
7934 ],
7935 "source_info" : {
7936 "filename" : "include/spgw.p4",
7937 "line" : 240,
7938 "column" : 8,
7939 "source_fragment" : "gtpu.npdu_flag = 0"
7940 }
7941 },
7942 {
7943 "op" : "assign",
7944 "parameters" : [
7945 {
7946 "type" : "field",
7947 "value" : ["gtpu", "msgtype"]
7948 },
7949 {
7950 "type" : "hexstr",
7951 "value" : "0xff"
7952 }
7953 ],
7954 "source_info" : {
7955 "filename" : "include/spgw.p4",
7956 "line" : 241,
7957 "column" : 8,
7958 "source_fragment" : "gtpu.msgtype = 0xff"
7959 }
7960 },
7961 {
7962 "op" : "assign",
7963 "parameters" : [
7964 {
7965 "type" : "field",
7966 "value" : ["gtpu", "msglen"]
7967 },
7968 {
7969 "type" : "field",
7970 "value" : ["ipv4", "total_len"]
7971 }
7972 ],
7973 "source_info" : {
7974 "filename" : "include/spgw.p4",
7975 "line" : 242,
7976 "column" : 8,
7977 "source_fragment" : "gtpu.msglen = ipv4.total_len"
7978 }
7979 },
7980 {
7981 "op" : "assign",
7982 "parameters" : [
7983 {
7984 "type" : "field",
7985 "value" : ["gtpu", "teid"]
7986 },
7987 {
7988 "type" : "field",
7989 "value" : ["userMetadata.spgw", "teid"]
7990 }
7991 ],
7992 "source_info" : {
7993 "filename" : "include/spgw.p4",
7994 "line" : 243,
7995 "column" : 8,
7996 "source_fragment" : "gtpu.teid = spgw_meta.teid"
7997 }
7998 }
7999 ]
8000 },
8001 {
8002 "name" : "act_18",
8003 "id" : 91,
8004 "runtime_data" : [],
8005 "primitives" : [
8006 {
8007 "op" : "add_header",
8008 "parameters" : [
8009 {
8010 "type" : "header",
8011 "value" : "packet_in"
8012 }
8013 ],
8014 "source_info" : {
8015 "filename" : "include/control/packetio.p4",
8016 "line" : 39,
8017 "column" : 12,
8018 "source_fragment" : "hdr.packet_in.setValid()"
8019 }
8020 },
8021 {
8022 "op" : "assign",
8023 "parameters" : [
8024 {
8025 "type" : "field",
8026 "value" : ["packet_in", "ingress_port"]
8027 },
8028 {
8029 "type" : "field",
8030 "value" : ["standard_metadata", "ingress_port"]
8031 }
8032 ],
8033 "source_info" : {
8034 "filename" : "include/control/packetio.p4",
8035 "line" : 40,
8036 "column" : 12,
8037 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
8038 }
8039 }
8040 ]
8041 },
8042 {
8043 "name" : "act_19",
8044 "id" : 92,
8045 "runtime_data" : [],
8046 "primitives" : [
8047 {
8048 "op" : "remove_header",
8049 "parameters" : [
8050 {
8051 "type" : "header",
8052 "value" : "gtpu_ipv4"
8053 }
8054 ],
8055 "source_info" : {
8056 "filename" : "fabric.p4",
8057 "line" : 78,
8058 "column" : 36,
8059 "source_fragment" : "hdr.gtpu_ipv4"
8060 }
8061 },
8062 {
8063 "op" : "remove_header",
8064 "parameters" : [
8065 {
8066 "type" : "header",
8067 "value" : "gtpu_udp"
8068 }
8069 ],
8070 "source_info" : {
8071 "filename" : "fabric.p4",
8072 "line" : 78,
8073 "column" : 51,
8074 "source_fragment" : "hdr.gtpu_udp"
8075 }
8076 },
8077 {
8078 "op" : "remove_header",
8079 "parameters" : [
8080 {
8081 "type" : "header",
8082 "value" : "gtpu"
8083 }
8084 ],
8085 "source_info" : {
8086 "filename" : "fabric.p4",
8087 "line" : 78,
8088 "column" : 65,
8089 "source_fragment" : "hdr.gtpu"
8090 }
8091 }
8092 ]
8093 }
8094 ],
8095 "pipelines" : [
8096 {
8097 "name" : "ingress",
8098 "id" : 0,
8099 "source_info" : {
8100 "filename" : "fabric.p4",
8101 "line" : 37,
8102 "column" : 8,
8103 "source_fragment" : "FabricIngress"
8104 },
8105 "init_table" : "node_2",
8106 "tables" : [
8107 {
8108 "name" : "tbl_act",
8109 "id" : 0,
8110 "key" : [],
8111 "match_type" : "exact",
8112 "type" : "simple",
8113 "max_size" : 1024,
8114 "with_counters" : false,
8115 "support_timeout" : false,
8116 "direct_meters" : null,
8117 "action_ids" : [32],
8118 "actions" : ["act"],
8119 "base_default_next" : null,
8120 "next_tables" : {
8121 "act" : null
8122 },
8123 "default_entry" : {
8124 "action_id" : 32,
8125 "action_const" : true,
8126 "action_data" : [],
8127 "action_entry_const" : true
8128 }
8129 },
8130 {
8131 "name" : "tbl_act_0",
8132 "id" : 1,
8133 "key" : [],
8134 "match_type" : "exact",
8135 "type" : "simple",
8136 "max_size" : 1024,
8137 "with_counters" : false,
8138 "support_timeout" : false,
8139 "direct_meters" : null,
8140 "action_ids" : [40],
8141 "actions" : ["act_7"],
8142 "base_default_next" : "node_5",
8143 "next_tables" : {
8144 "act_7" : "node_5"
8145 },
8146 "default_entry" : {
8147 "action_id" : 40,
8148 "action_const" : true,
8149 "action_data" : [],
8150 "action_entry_const" : true
8151 }
8152 },
8153 {
8154 "name" : "tbl_act_1",
8155 "id" : 2,
8156 "key" : [],
8157 "match_type" : "exact",
8158 "type" : "simple",
8159 "max_size" : 1024,
8160 "with_counters" : false,
8161 "support_timeout" : false,
8162 "direct_meters" : null,
8163 "action_ids" : [35],
8164 "actions" : ["act_2"],
8165 "base_default_next" : "spgw_ingress.s1u_filter_table",
8166 "next_tables" : {
8167 "act_2" : "spgw_ingress.s1u_filter_table"
8168 },
8169 "default_entry" : {
8170 "action_id" : 35,
8171 "action_const" : true,
8172 "action_data" : [],
8173 "action_entry_const" : true
8174 }
8175 },
8176 {
8177 "name" : "spgw_ingress.s1u_filter_table",
8178 "id" : 3,
8179 "source_info" : {
8180 "filename" : "include/spgw.p4",
8181 "line" : 65,
8182 "column" : 10,
8183 "source_fragment" : "s1u_filter_table"
8184 },
8185 "key" : [
8186 {
8187 "match_type" : "exact",
8188 "name" : "spgw_meta.s1u_sgw_addr",
8189 "target" : ["userMetadata.spgw", "s1u_sgw_addr"],
8190 "mask" : null
8191 }
8192 ],
8193 "match_type" : "exact",
8194 "type" : "simple",
8195 "max_size" : 1024,
8196 "with_counters" : false,
8197 "support_timeout" : false,
8198 "direct_meters" : null,
8199 "action_ids" : [1],
8200 "actions" : ["NoAction"],
8201 "base_default_next" : null,
8202 "next_tables" : {
8203 "__HIT__" : "tbl_act_2",
8204 "__MISS__" : "tbl_act_3"
8205 },
8206 "default_entry" : {
8207 "action_id" : 1,
8208 "action_const" : false,
8209 "action_data" : [],
8210 "action_entry_const" : false
8211 }
8212 },
8213 {
8214 "name" : "tbl_act_2",
8215 "id" : 4,
8216 "key" : [],
8217 "match_type" : "exact",
8218 "type" : "simple",
8219 "max_size" : 1024,
8220 "with_counters" : false,
8221 "support_timeout" : false,
8222 "direct_meters" : null,
8223 "action_ids" : [33],
8224 "actions" : ["act_0"],
8225 "base_default_next" : "node_10",
8226 "next_tables" : {
8227 "act_0" : "node_10"
8228 },
8229 "default_entry" : {
8230 "action_id" : 33,
8231 "action_const" : true,
8232 "action_data" : [],
8233 "action_entry_const" : true
8234 }
8235 },
8236 {
8237 "name" : "tbl_act_3",
8238 "id" : 5,
8239 "key" : [],
8240 "match_type" : "exact",
8241 "type" : "simple",
8242 "max_size" : 1024,
8243 "with_counters" : false,
8244 "support_timeout" : false,
8245 "direct_meters" : null,
8246 "action_ids" : [34],
8247 "actions" : ["act_1"],
8248 "base_default_next" : "node_10",
8249 "next_tables" : {
8250 "act_1" : "node_10"
8251 },
8252 "default_entry" : {
8253 "action_id" : 34,
8254 "action_const" : true,
8255 "action_data" : [],
8256 "action_entry_const" : true
8257 }
8258 },
8259 {
8260 "name" : "tbl_act_4",
8261 "id" : 6,
8262 "key" : [],
8263 "match_type" : "exact",
8264 "type" : "simple",
8265 "max_size" : 1024,
8266 "with_counters" : false,
8267 "support_timeout" : false,
8268 "direct_meters" : null,
8269 "action_ids" : [36],
8270 "actions" : ["act_3"],
8271 "base_default_next" : "node_17",
8272 "next_tables" : {
8273 "act_3" : "node_17"
8274 },
8275 "default_entry" : {
8276 "action_id" : 36,
8277 "action_const" : true,
8278 "action_data" : [],
8279 "action_entry_const" : true
8280 }
8281 },
8282 {
8283 "name" : "spgw_ingress.ue_filter_table",
8284 "id" : 7,
8285 "source_info" : {
8286 "filename" : "include/spgw.p4",
8287 "line" : 55,
8288 "column" : 10,
8289 "source_fragment" : "ue_filter_table"
8290 },
8291 "key" : [
8292 {
8293 "match_type" : "lpm",
8294 "name" : "ipv4.dst_addr",
8295 "target" : ["ipv4", "dst_addr"],
8296 "mask" : null
8297 }
8298 ],
8299 "match_type" : "lpm",
8300 "type" : "simple",
8301 "max_size" : 1024,
8302 "with_counters" : false,
8303 "support_timeout" : false,
8304 "direct_meters" : null,
8305 "action_ids" : [0],
8306 "actions" : ["NoAction"],
8307 "base_default_next" : null,
8308 "next_tables" : {
8309 "__HIT__" : "tbl_act_5",
8310 "__MISS__" : "tbl_act_6"
8311 },
8312 "default_entry" : {
8313 "action_id" : 0,
8314 "action_const" : false,
8315 "action_data" : [],
8316 "action_entry_const" : false
8317 }
8318 },
8319 {
8320 "name" : "tbl_act_5",
8321 "id" : 8,
8322 "key" : [],
8323 "match_type" : "exact",
8324 "type" : "simple",
8325 "max_size" : 1024,
8326 "with_counters" : false,
8327 "support_timeout" : false,
8328 "direct_meters" : null,
8329 "action_ids" : [37],
8330 "actions" : ["act_4"],
8331 "base_default_next" : "node_15",
8332 "next_tables" : {
8333 "act_4" : "node_15"
8334 },
8335 "default_entry" : {
8336 "action_id" : 37,
8337 "action_const" : true,
8338 "action_data" : [],
8339 "action_entry_const" : true
8340 }
8341 },
8342 {
8343 "name" : "tbl_act_6",
8344 "id" : 9,
8345 "key" : [],
8346 "match_type" : "exact",
8347 "type" : "simple",
8348 "max_size" : 1024,
8349 "with_counters" : false,
8350 "support_timeout" : false,
8351 "direct_meters" : null,
8352 "action_ids" : [38],
8353 "actions" : ["act_5"],
8354 "base_default_next" : "node_15",
8355 "next_tables" : {
8356 "act_5" : "node_15"
8357 },
8358 "default_entry" : {
8359 "action_id" : 38,
8360 "action_const" : true,
8361 "action_data" : [],
8362 "action_entry_const" : true
8363 }
8364 },
8365 {
8366 "name" : "tbl_act_7",
8367 "id" : 10,
8368 "key" : [],
8369 "match_type" : "exact",
8370 "type" : "simple",
8371 "max_size" : 1024,
8372 "with_counters" : false,
8373 "support_timeout" : false,
8374 "direct_meters" : null,
8375 "action_ids" : [39],
8376 "actions" : ["act_6"],
8377 "base_default_next" : "node_17",
8378 "next_tables" : {
8379 "act_6" : "node_17"
8380 },
8381 "default_entry" : {
8382 "action_id" : 39,
8383 "action_const" : true,
8384 "action_data" : [],
8385 "action_entry_const" : true
8386 }
8387 },
8388 {
8389 "name" : "tbl_act_8",
8390 "id" : 11,
8391 "key" : [],
8392 "match_type" : "exact",
8393 "type" : "simple",
8394 "max_size" : 1024,
8395 "with_counters" : false,
8396 "support_timeout" : false,
8397 "direct_meters" : null,
8398 "action_ids" : [41],
8399 "actions" : ["act_8"],
8400 "base_default_next" : "node_19",
8401 "next_tables" : {
8402 "act_8" : "node_19"
8403 },
8404 "default_entry" : {
8405 "action_id" : 41,
8406 "action_const" : true,
8407 "action_data" : [],
8408 "action_entry_const" : true
8409 }
8410 },
8411 {
8412 "name" : "tbl_spgw_ingress_gtpu_decap",
8413 "id" : 12,
8414 "key" : [],
8415 "match_type" : "exact",
8416 "type" : "simple",
8417 "max_size" : 1024,
8418 "with_counters" : false,
8419 "support_timeout" : false,
8420 "direct_meters" : null,
8421 "action_ids" : [12],
8422 "actions" : ["spgw_ingress.gtpu_decap"],
8423 "base_default_next" : "node_22",
8424 "next_tables" : {
8425 "spgw_ingress.gtpu_decap" : "node_22"
8426 },
8427 "default_entry" : {
8428 "action_id" : 12,
8429 "action_const" : true,
8430 "action_data" : [],
8431 "action_entry_const" : true
8432 }
8433 },
8434 {
8435 "name" : "spgw_ingress.dl_sess_lookup",
8436 "id" : 13,
8437 "source_info" : {
8438 "filename" : "include/spgw.p4",
8439 "line" : 124,
8440 "column" : 10,
8441 "source_fragment" : "dl_sess_lookup"
8442 },
8443 "key" : [
8444 {
8445 "match_type" : "exact",
8446 "name" : "ipv4.dst_addr",
8447 "target" : ["ipv4", "dst_addr"],
8448 "mask" : null
8449 }
8450 ],
8451 "match_type" : "exact",
8452 "type" : "simple",
8453 "max_size" : 1024,
8454 "with_counters" : false,
8455 "support_timeout" : false,
8456 "direct_meters" : null,
8457 "action_ids" : [13, 2],
8458 "actions" : ["spgw_ingress.set_dl_sess_info", "NoAction"],
8459 "base_default_next" : null,
8460 "next_tables" : {
8461 "__HIT__" : "tbl_act_9",
8462 "__MISS__" : "tbl_act_10"
8463 },
8464 "default_entry" : {
8465 "action_id" : 2,
8466 "action_const" : false,
8467 "action_data" : [],
8468 "action_entry_const" : false
8469 }
8470 },
8471 {
8472 "name" : "tbl_act_9",
8473 "id" : 14,
8474 "key" : [],
8475 "match_type" : "exact",
8476 "type" : "simple",
8477 "max_size" : 1024,
8478 "with_counters" : false,
8479 "support_timeout" : false,
8480 "direct_meters" : null,
8481 "action_ids" : [42],
8482 "actions" : ["act_9"],
8483 "base_default_next" : "node_26",
8484 "next_tables" : {
8485 "act_9" : "node_26"
8486 },
8487 "default_entry" : {
8488 "action_id" : 42,
8489 "action_const" : true,
8490 "action_data" : [],
8491 "action_entry_const" : true
8492 }
8493 },
8494 {
8495 "name" : "tbl_act_10",
8496 "id" : 15,
8497 "key" : [],
8498 "match_type" : "exact",
8499 "type" : "simple",
8500 "max_size" : 1024,
8501 "with_counters" : false,
8502 "support_timeout" : false,
8503 "direct_meters" : null,
8504 "action_ids" : [43],
8505 "actions" : ["act_10"],
8506 "base_default_next" : "node_26",
8507 "next_tables" : {
8508 "act_10" : "node_26"
8509 },
8510 "default_entry" : {
8511 "action_id" : 43,
8512 "action_const" : true,
8513 "action_data" : [],
8514 "action_entry_const" : true
8515 }
8516 },
8517 {
8518 "name" : "tbl_spgw_ingress_drop_now",
8519 "id" : 16,
8520 "key" : [],
8521 "match_type" : "exact",
8522 "type" : "simple",
8523 "max_size" : 1024,
8524 "with_counters" : false,
8525 "support_timeout" : false,
8526 "direct_meters" : null,
8527 "action_ids" : [11],
8528 "actions" : ["spgw_ingress.drop_now"],
8529 "base_default_next" : "spgw_ingress.ue_cdr_table",
8530 "next_tables" : {
8531 "spgw_ingress.drop_now" : "spgw_ingress.ue_cdr_table"
8532 },
8533 "default_entry" : {
8534 "action_id" : 11,
8535 "action_const" : true,
8536 "action_data" : [],
8537 "action_entry_const" : true
8538 }
8539 },
8540 {
8541 "name" : "spgw_ingress.ue_cdr_table",
8542 "id" : 17,
8543 "source_info" : {
8544 "filename" : "include/spgw.p4",
8545 "line" : 134,
8546 "column" : 10,
8547 "source_fragment" : "ue_cdr_table"
8548 },
8549 "key" : [
8550 {
8551 "match_type" : "exact",
8552 "name" : "ipv4.dst_addr",
8553 "target" : ["ipv4", "dst_addr"],
8554 "mask" : null
8555 }
8556 ],
8557 "match_type" : "exact",
8558 "type" : "simple",
8559 "max_size" : 1024,
8560 "with_counters" : true,
8561 "support_timeout" : false,
8562 "direct_meters" : null,
8563 "action_ids" : [14, 3],
8564 "actions" : ["spgw_ingress.update_ue_cdr", "NoAction"],
8565 "base_default_next" : "filtering.ingress_port_vlan",
8566 "next_tables" : {
8567 "spgw_ingress.update_ue_cdr" : "filtering.ingress_port_vlan",
8568 "NoAction" : "filtering.ingress_port_vlan"
8569 },
8570 "default_entry" : {
8571 "action_id" : 3,
8572 "action_const" : false,
8573 "action_data" : [],
8574 "action_entry_const" : false
8575 }
8576 },
8577 {
8578 "name" : "filtering.ingress_port_vlan",
8579 "id" : 18,
8580 "source_info" : {
8581 "filename" : "include/control/filtering.p4",
8582 "line" : 57,
8583 "column" : 10,
8584 "source_fragment" : "ingress_port_vlan"
8585 },
8586 "key" : [
8587 {
8588 "match_type" : "exact",
8589 "name" : "standard_metadata.ingress_port",
8590 "target" : ["standard_metadata", "ingress_port"],
8591 "mask" : null
8592 },
8593 {
8594 "match_type" : "exact",
8595 "name" : "hdr.vlan_tag.is_valid",
8596 "target" : ["vlan_tag", "$valid$"],
8597 "mask" : null
8598 },
8599 {
8600 "match_type" : "ternary",
8601 "name" : "hdr.vlan_tag.vlan_id",
8602 "target" : ["vlan_tag", "vlan_id"],
8603 "mask" : null
8604 }
8605 ],
8606 "match_type" : "ternary",
8607 "type" : "simple",
8608 "max_size" : 1024,
8609 "with_counters" : true,
8610 "support_timeout" : false,
8611 "direct_meters" : null,
8612 "action_ids" : [17, 16, 9, 15],
8613 "actions" : ["filtering.push_internal_vlan", "filtering.set_vlan", "nop", "filtering.drop"],
8614 "base_default_next" : "filtering.fwd_classifier",
8615 "next_tables" : {
8616 "filtering.push_internal_vlan" : "filtering.fwd_classifier",
8617 "filtering.set_vlan" : "filtering.fwd_classifier",
8618 "nop" : "filtering.fwd_classifier",
8619 "filtering.drop" : "filtering.fwd_classifier"
8620 },
8621 "default_entry" : {
8622 "action_id" : 9,
8623 "action_const" : true,
8624 "action_data" : [],
8625 "action_entry_const" : true
8626 }
8627 },
8628 {
8629 "name" : "filtering.fwd_classifier",
8630 "id" : 19,
8631 "source_info" : {
8632 "filename" : "include/control/filtering.p4",
8633 "line" : 76,
8634 "column" : 10,
8635 "source_fragment" : "fwd_classifier"
8636 },
8637 "key" : [
8638 {
8639 "match_type" : "exact",
8640 "name" : "standard_metadata.ingress_port",
8641 "target" : ["standard_metadata", "ingress_port"],
8642 "mask" : null
8643 },
8644 {
8645 "match_type" : "exact",
8646 "name" : "hdr.ethernet.dst_addr",
8647 "target" : ["ethernet", "dst_addr"],
8648 "mask" : null
8649 },
8650 {
8651 "match_type" : "exact",
8652 "name" : "fabric_metadata.original_ether_type",
8653 "target" : ["scalars", "fabric_metadata_t.original_ether_type"],
8654 "mask" : null
8655 }
8656 ],
8657 "match_type" : "exact",
8658 "type" : "simple",
8659 "max_size" : 1024,
8660 "with_counters" : true,
8661 "support_timeout" : false,
8662 "direct_meters" : null,
8663 "action_ids" : [18],
8664 "actions" : ["filtering.set_forwarding_type"],
8665 "base_default_next" : "node_31",
8666 "next_tables" : {
8667 "filtering.set_forwarding_type" : "node_31"
8668 },
8669 "default_entry" : {
8670 "action_id" : 18,
8671 "action_const" : true,
8672 "action_data" : ["0x0"],
8673 "action_entry_const" : true
8674 }
8675 },
8676 {
8677 "name" : "forwarding.bridging",
8678 "id" : 20,
8679 "source_info" : {
8680 "filename" : "include/control/forwarding.p4",
8681 "line" : 52,
8682 "column" : 10,
8683 "source_fragment" : "bridging"
8684 },
8685 "key" : [
8686 {
8687 "match_type" : "exact",
8688 "name" : "hdr.vlan_tag.vlan_id",
8689 "target" : ["vlan_tag", "vlan_id"],
8690 "mask" : null
8691 },
8692 {
8693 "match_type" : "ternary",
8694 "name" : "hdr.ethernet.dst_addr",
8695 "target" : ["ethernet", "dst_addr"],
8696 "mask" : null
8697 }
8698 ],
8699 "match_type" : "ternary",
8700 "type" : "simple",
8701 "max_size" : 1024,
8702 "with_counters" : true,
8703 "support_timeout" : false,
8704 "direct_meters" : null,
8705 "action_ids" : [20, 4],
8706 "actions" : ["forwarding.set_next_id", "NoAction"],
8707 "base_default_next" : "forwarding.acl",
8708 "next_tables" : {
8709 "forwarding.set_next_id" : "forwarding.acl",
8710 "NoAction" : "forwarding.acl"
8711 },
8712 "default_entry" : {
8713 "action_id" : 4,
8714 "action_const" : false,
8715 "action_data" : [],
8716 "action_entry_const" : false
8717 }
8718 },
8719 {
8720 "name" : "forwarding.mpls",
8721 "id" : 21,
8722 "source_info" : {
8723 "filename" : "include/control/forwarding.p4",
8724 "line" : 64,
8725 "column" : 10,
8726 "source_fragment" : "mpls"
8727 },
8728 "key" : [
8729 {
8730 "match_type" : "exact",
8731 "name" : "hdr.mpls.label",
8732 "target" : ["mpls", "label"],
8733 "mask" : null
8734 }
8735 ],
8736 "match_type" : "exact",
8737 "type" : "simple",
8738 "max_size" : 1024,
8739 "with_counters" : true,
8740 "support_timeout" : false,
8741 "direct_meters" : null,
8742 "action_ids" : [23, 5],
8743 "actions" : ["forwarding.pop_mpls_and_next", "NoAction"],
8744 "base_default_next" : "tbl_act_11",
8745 "next_tables" : {
8746 "forwarding.pop_mpls_and_next" : "tbl_act_11",
8747 "NoAction" : "tbl_act_11"
8748 },
8749 "default_entry" : {
8750 "action_id" : 5,
8751 "action_const" : false,
8752 "action_data" : [],
8753 "action_entry_const" : false
8754 }
8755 },
8756 {
8757 "name" : "tbl_act_11",
8758 "id" : 22,
8759 "key" : [],
8760 "match_type" : "exact",
8761 "type" : "simple",
8762 "max_size" : 1024,
8763 "with_counters" : false,
8764 "support_timeout" : false,
8765 "direct_meters" : null,
8766 "action_ids" : [44],
8767 "actions" : ["act_11"],
8768 "base_default_next" : "forwarding.acl",
8769 "next_tables" : {
8770 "act_11" : "forwarding.acl"
8771 },
8772 "default_entry" : {
8773 "action_id" : 44,
8774 "action_const" : true,
8775 "action_data" : [],
8776 "action_entry_const" : true
8777 }
8778 },
8779 {
8780 "name" : "forwarding.unicast_v4",
8781 "id" : 23,
8782 "source_info" : {
8783 "filename" : "include/control/forwarding.p4",
8784 "line" : 75,
8785 "column" : 10,
8786 "source_fragment" : "unicast_v4"
8787 },
8788 "key" : [
8789 {
8790 "match_type" : "lpm",
8791 "name" : "hdr.ipv4.dst_addr",
8792 "target" : ["ipv4", "dst_addr"],
8793 "mask" : null
8794 }
8795 ],
8796 "match_type" : "lpm",
8797 "type" : "simple",
8798 "max_size" : 1024,
8799 "with_counters" : true,
8800 "support_timeout" : false,
8801 "direct_meters" : null,
8802 "action_ids" : [21, 6],
8803 "actions" : ["forwarding.set_next_id", "NoAction"],
8804 "base_default_next" : "forwarding.acl",
8805 "next_tables" : {
8806 "forwarding.set_next_id" : "forwarding.acl",
8807 "NoAction" : "forwarding.acl"
8808 },
8809 "default_entry" : {
8810 "action_id" : 6,
8811 "action_const" : false,
8812 "action_data" : [],
8813 "action_entry_const" : false
8814 }
8815 },
8816 {
8817 "name" : "forwarding.acl",
8818 "id" : 24,
8819 "source_info" : {
8820 "filename" : "include/control/forwarding.p4",
8821 "line" : 133,
8822 "column" : 10,
8823 "source_fragment" : "acl"
8824 },
8825 "key" : [
8826 {
8827 "match_type" : "ternary",
8828 "name" : "standard_metadata.ingress_port",
8829 "target" : ["standard_metadata", "ingress_port"],
8830 "mask" : null
8831 },
8832 {
8833 "match_type" : "ternary",
8834 "name" : "fabric_metadata.ip_proto",
8835 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
8836 "mask" : null
8837 },
8838 {
8839 "match_type" : "ternary",
8840 "name" : "fabric_metadata.l4_src_port",
8841 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
8842 "mask" : null
8843 },
8844 {
8845 "match_type" : "ternary",
8846 "name" : "fabric_metadata.l4_dst_port",
8847 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
8848 "mask" : null
8849 },
8850 {
8851 "match_type" : "ternary",
8852 "name" : "fabric_metadata.original_ether_type",
8853 "target" : ["scalars", "fabric_metadata_t.original_ether_type"],
8854 "mask" : null
8855 },
8856 {
8857 "match_type" : "ternary",
8858 "name" : "hdr.ethernet.dst_addr",
8859 "target" : ["ethernet", "dst_addr"],
8860 "mask" : null
8861 },
8862 {
8863 "match_type" : "ternary",
8864 "name" : "hdr.ethernet.src_addr",
8865 "target" : ["ethernet", "src_addr"],
8866 "mask" : null
8867 },
8868 {
8869 "match_type" : "ternary",
8870 "name" : "hdr.vlan_tag.vlan_id",
8871 "target" : ["vlan_tag", "vlan_id"],
8872 "mask" : null
8873 },
8874 {
8875 "match_type" : "ternary",
8876 "name" : "hdr.ipv4.src_addr",
8877 "target" : ["ipv4", "src_addr"],
8878 "mask" : null
8879 },
8880 {
8881 "match_type" : "ternary",
8882 "name" : "hdr.ipv4.dst_addr",
8883 "target" : ["ipv4", "dst_addr"],
8884 "mask" : null
8885 },
8886 {
8887 "match_type" : "ternary",
8888 "name" : "hdr.icmp.icmp_type",
8889 "target" : ["icmp", "icmp_type"],
8890 "mask" : null
8891 },
8892 {
8893 "match_type" : "ternary",
8894 "name" : "hdr.icmp.icmp_code",
8895 "target" : ["icmp", "icmp_code"],
8896 "mask" : null
8897 }
8898 ],
8899 "match_type" : "ternary",
8900 "type" : "simple",
8901 "max_size" : 256,
8902 "with_counters" : true,
8903 "support_timeout" : false,
8904 "direct_meters" : null,
8905 "action_ids" : [22, 24, 19, 10],
8906 "actions" : ["forwarding.set_next_id", "forwarding.duplicate_to_controller", "forwarding.drop", "nop"],
8907 "base_default_next" : "next.simple",
8908 "next_tables" : {
8909 "forwarding.set_next_id" : "next.simple",
8910 "forwarding.duplicate_to_controller" : "next.simple",
8911 "forwarding.drop" : "next.simple",
8912 "nop" : "next.simple"
8913 },
8914 "default_entry" : {
8915 "action_id" : 10,
8916 "action_const" : true,
8917 "action_data" : [],
8918 "action_entry_const" : true
8919 }
8920 },
8921 {
8922 "name" : "next.simple",
8923 "id" : 25,
8924 "source_info" : {
8925 "filename" : "include/control/next.p4",
8926 "line" : 83,
8927 "column" : 10,
8928 "source_fragment" : "simple"
8929 },
8930 "key" : [
8931 {
8932 "match_type" : "exact",
8933 "name" : "fabric_metadata.next_id",
8934 "target" : ["scalars", "fabric_metadata_t.next_id"],
8935 "mask" : null
8936 }
8937 ],
8938 "match_type" : "exact",
8939 "type" : "simple",
8940 "max_size" : 1024,
8941 "with_counters" : true,
8942 "support_timeout" : false,
8943 "direct_meters" : null,
8944 "action_ids" : [25, 26, 27, 29, 7],
8945 "actions" : ["next.output", "next.set_vlan_output", "next.l3_routing", "next.mpls_routing_v4", "NoAction"],
8946 "base_default_next" : null,
8947 "next_tables" : {
8948 "__HIT__" : "tbl_act_12",
8949 "__MISS__" : "tbl_act_13"
8950 },
8951 "default_entry" : {
8952 "action_id" : 7,
8953 "action_const" : false,
8954 "action_data" : [],
8955 "action_entry_const" : false
8956 }
8957 },
8958 {
8959 "name" : "tbl_act_12",
8960 "id" : 26,
8961 "key" : [],
8962 "match_type" : "exact",
8963 "type" : "simple",
8964 "max_size" : 1024,
8965 "with_counters" : false,
8966 "support_timeout" : false,
8967 "direct_meters" : null,
8968 "action_ids" : [45],
8969 "actions" : ["act_12"],
8970 "base_default_next" : "node_42",
8971 "next_tables" : {
8972 "act_12" : "node_42"
8973 },
8974 "default_entry" : {
8975 "action_id" : 45,
8976 "action_const" : true,
8977 "action_data" : [],
8978 "action_entry_const" : true
8979 }
8980 },
8981 {
8982 "name" : "tbl_act_13",
8983 "id" : 27,
8984 "key" : [],
8985 "match_type" : "exact",
8986 "type" : "simple",
8987 "max_size" : 1024,
8988 "with_counters" : false,
8989 "support_timeout" : false,
8990 "direct_meters" : null,
8991 "action_ids" : [46],
8992 "actions" : ["act_13"],
8993 "base_default_next" : "node_42",
8994 "next_tables" : {
8995 "act_13" : "node_42"
8996 },
8997 "default_entry" : {
8998 "action_id" : 46,
8999 "action_const" : true,
9000 "action_data" : [],
9001 "action_entry_const" : true
9002 }
9003 },
9004 {
9005 "name" : "tbl_act_14",
9006 "id" : 28,
9007 "key" : [],
9008 "match_type" : "exact",
9009 "type" : "simple",
9010 "max_size" : 1024,
9011 "with_counters" : false,
9012 "support_timeout" : false,
9013 "direct_meters" : null,
9014 "action_ids" : [47],
9015 "actions" : ["act_14"],
9016 "base_default_next" : "next.hashed",
9017 "next_tables" : {
9018 "act_14" : "next.hashed"
9019 },
9020 "default_entry" : {
9021 "action_id" : 47,
9022 "action_const" : true,
9023 "action_data" : [],
9024 "action_entry_const" : true
9025 }
9026 },
9027 {
9028 "name" : "next.hashed",
9029 "id" : 29,
9030 "source_info" : {
9031 "filename" : "include/control/next.p4",
9032 "line" : 97,
9033 "column" : 10,
9034 "source_fragment" : "hashed"
9035 },
9036 "key" : [
9037 {
9038 "match_type" : "exact",
9039 "name" : "fabric_metadata.next_id",
9040 "target" : ["scalars", "fabric_metadata_t.next_id"],
9041 "mask" : null
9042 }
9043 ],
9044 "match_type" : "exact",
9045 "type" : "indirect_ws",
9046 "action_profile" : "next.ecmp_selector",
9047 "max_size" : 1024,
9048 "with_counters" : true,
9049 "support_timeout" : false,
9050 "direct_meters" : null,
9051 "action_ids" : [28, 30, 31, 8],
9052 "actions" : ["next.l3_routing", "next.mpls_routing_v4", "next.mpls_routing_v6", "NoAction"],
9053 "base_default_next" : "node_47",
9054 "next_tables" : {
9055 "next.l3_routing" : "node_47",
9056 "next.mpls_routing_v4" : "node_47",
9057 "next.mpls_routing_v6" : "node_47",
9058 "NoAction" : "node_47"
9059 }
9060 },
9061 {
9062 "name" : "tbl_act_15",
9063 "id" : 30,
9064 "key" : [],
9065 "match_type" : "exact",
9066 "type" : "simple",
9067 "max_size" : 1024,
9068 "with_counters" : false,
9069 "support_timeout" : false,
9070 "direct_meters" : null,
9071 "action_ids" : [48],
9072 "actions" : ["act_15"],
9073 "base_default_next" : "node_49",
9074 "next_tables" : {
9075 "act_15" : "node_49"
9076 },
9077 "default_entry" : {
9078 "action_id" : 48,
9079 "action_const" : true,
9080 "action_data" : [],
9081 "action_entry_const" : true
9082 }
9083 },
9084 {
9085 "name" : "tbl_act_16",
9086 "id" : 31,
9087 "key" : [],
9088 "match_type" : "exact",
9089 "type" : "simple",
9090 "max_size" : 1024,
9091 "with_counters" : false,
9092 "support_timeout" : false,
9093 "direct_meters" : null,
9094 "action_ids" : [49],
9095 "actions" : ["act_16"],
9096 "base_default_next" : "node_51",
9097 "next_tables" : {
9098 "act_16" : "node_51"
9099 },
9100 "default_entry" : {
9101 "action_id" : 49,
9102 "action_const" : true,
9103 "action_data" : [],
9104 "action_entry_const" : true
9105 }
9106 },
9107 {
9108 "name" : "tbl_act_17",
9109 "id" : 32,
9110 "key" : [],
9111 "match_type" : "exact",
9112 "type" : "simple",
9113 "max_size" : 1024,
9114 "with_counters" : false,
9115 "support_timeout" : false,
9116 "direct_meters" : null,
9117 "action_ids" : [50],
9118 "actions" : ["act_17"],
9119 "base_default_next" : null,
9120 "next_tables" : {
9121 "act_17" : null
9122 },
9123 "default_entry" : {
9124 "action_id" : 50,
9125 "action_const" : true,
9126 "action_data" : [],
9127 "action_entry_const" : true
9128 }
9129 }
9130 ],
9131 "action_profiles" : [
9132 {
9133 "name" : "next.ecmp_selector",
9134 "id" : 0,
9135 "max_size" : 64,
9136 "selector" : {
9137 "algo" : "crc16",
9138 "input" : [
9139 {
9140 "type" : "field",
9141 "value" : ["ipv4", "dst_addr"]
9142 },
9143 {
9144 "type" : "field",
9145 "value" : ["ipv4", "src_addr"]
9146 },
9147 {
9148 "type" : "field",
9149 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
9150 },
9151 {
9152 "type" : "field",
9153 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
9154 },
9155 {
9156 "type" : "field",
9157 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
9158 }
9159 ]
9160 }
9161 }
9162 ],
9163 "conditionals" : [
9164 {
9165 "name" : "node_2",
9166 "id" : 0,
9167 "source_info" : {
9168 "filename" : "include/control/packetio.p4",
9169 "line" : 25,
9170 "column" : 12,
9171 "source_fragment" : "hdr.packet_out.isValid()"
9172 },
9173 "expression" : {
9174 "type" : "expression",
9175 "value" : {
9176 "op" : "d2b",
9177 "left" : null,
9178 "right" : {
9179 "type" : "field",
9180 "value" : ["packet_out", "$valid$"]
9181 }
9182 }
9183 },
9184 "true_next" : "tbl_act",
9185 "false_next" : "tbl_act_0"
9186 },
9187 {
9188 "name" : "node_5",
9189 "id" : 1,
9190 "source_info" : {
9191 "filename" : "include/spgw.p4",
9192 "line" : 147,
9193 "column" : 12,
9194 "source_fragment" : "gtpu.isValid()"
9195 },
9196 "expression" : {
9197 "type" : "expression",
9198 "value" : {
9199 "op" : "d2b",
9200 "left" : null,
9201 "right" : {
9202 "type" : "field",
9203 "value" : ["gtpu", "$valid$"]
9204 }
9205 }
9206 },
9207 "true_next" : "tbl_act_1",
9208 "false_next" : "spgw_ingress.ue_filter_table"
9209 },
9210 {
9211 "name" : "node_10",
9212 "id" : 2,
9213 "expression" : {
9214 "type" : "expression",
9215 "value" : {
9216 "op" : "d2b",
9217 "left" : null,
9218 "right" : {
9219 "type" : "field",
9220 "value" : ["scalars", "spgw_ingress_tmp_2"]
9221 }
9222 }
9223 },
9224 "true_next" : "tbl_act_4",
9225 "false_next" : "node_17"
9226 },
9227 {
9228 "name" : "node_15",
9229 "id" : 3,
9230 "expression" : {
9231 "type" : "expression",
9232 "value" : {
9233 "op" : "d2b",
9234 "left" : null,
9235 "right" : {
9236 "type" : "field",
9237 "value" : ["scalars", "spgw_ingress_tmp_3"]
9238 }
9239 }
9240 },
9241 "true_next" : "tbl_act_7",
9242 "false_next" : "node_17"
9243 },
9244 {
9245 "name" : "node_17",
9246 "id" : 4,
9247 "source_info" : {
9248 "filename" : "include/spgw.p4",
9249 "line" : 167,
9250 "column" : 12,
9251 "source_fragment" : "spgw_meta.do_spgw == 1w0"
9252 },
9253 "expression" : {
9254 "type" : "expression",
9255 "value" : {
9256 "op" : "==",
9257 "left" : {
9258 "type" : "field",
9259 "value" : ["userMetadata.spgw", "do_spgw"]
9260 },
9261 "right" : {
9262 "type" : "hexstr",
9263 "value" : "0x00"
9264 }
9265 }
9266 },
9267 "true_next" : "tbl_act_8",
9268 "false_next" : "node_19"
9269 },
9270 {
9271 "name" : "node_19",
9272 "id" : 5,
9273 "expression" : {
9274 "type" : "expression",
9275 "value" : {
9276 "op" : "not",
9277 "left" : null,
9278 "right" : {
9279 "type" : "expression",
9280 "value" : {
9281 "op" : "d2b",
9282 "left" : null,
9283 "right" : {
9284 "type" : "field",
9285 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
9286 }
9287 }
9288 }
9289 }
9290 },
9291 "true_next" : "node_20",
9292 "false_next" : "filtering.ingress_port_vlan"
9293 },
9294 {
9295 "name" : "node_20",
9296 "id" : 6,
9297 "source_info" : {
9298 "filename" : "include/spgw.p4",
9299 "line" : 172,
9300 "column" : 12,
9301 "source_fragment" : "spgw_meta.direction == DIR_UPLINK"
9302 },
9303 "expression" : {
9304 "type" : "expression",
9305 "value" : {
9306 "op" : "==",
9307 "left" : {
9308 "type" : "field",
9309 "value" : ["userMetadata.spgw", "direction"]
9310 },
9311 "right" : {
9312 "type" : "hexstr",
9313 "value" : "0x00"
9314 }
9315 }
9316 },
9317 "true_next" : "tbl_spgw_ingress_gtpu_decap",
9318 "false_next" : "node_22"
9319 },
9320 {
9321 "name" : "node_22",
9322 "id" : 7,
9323 "source_info" : {
9324 "filename" : "include/spgw.p4",
9325 "line" : 189,
9326 "column" : 12,
9327 "source_fragment" : "spgw_meta.direction == DIR_DOWNLINK"
9328 },
9329 "expression" : {
9330 "type" : "expression",
9331 "value" : {
9332 "op" : "==",
9333 "left" : {
9334 "type" : "field",
9335 "value" : ["userMetadata.spgw", "direction"]
9336 },
9337 "right" : {
9338 "type" : "hexstr",
9339 "value" : "0x01"
9340 }
9341 }
9342 },
9343 "true_next" : "spgw_ingress.dl_sess_lookup",
9344 "false_next" : "filtering.ingress_port_vlan"
9345 },
9346 {
9347 "name" : "node_26",
9348 "id" : 8,
9349 "source_info" : {
9350 "filename" : "include/spgw.p4",
9351 "line" : 190,
9352 "column" : 16,
9353 "source_fragment" : "!dl_sess_lookup.apply().hit"
9354 },
9355 "expression" : {
9356 "type" : "expression",
9357 "value" : {
9358 "op" : "not",
9359 "left" : null,
9360 "right" : {
9361 "type" : "expression",
9362 "value" : {
9363 "op" : "d2b",
9364 "left" : null,
9365 "right" : {
9366 "type" : "field",
9367 "value" : ["scalars", "spgw_ingress_tmp_4"]
9368 }
9369 }
9370 }
9371 }
9372 },
9373 "true_next" : "tbl_spgw_ingress_drop_now",
9374 "false_next" : "spgw_ingress.ue_cdr_table"
9375 },
9376 {
9377 "name" : "node_31",
9378 "id" : 9,
9379 "source_info" : {
9380 "filename" : "include/control/forwarding.p4",
9381 "line" : 163,
9382 "column" : 11,
9383 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
9384 },
9385 "expression" : {
9386 "type" : "expression",
9387 "value" : {
9388 "op" : "==",
9389 "left" : {
9390 "type" : "field",
9391 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
9392 },
9393 "right" : {
9394 "type" : "hexstr",
9395 "value" : "0x00"
9396 }
9397 }
9398 },
9399 "true_next" : "forwarding.bridging",
9400 "false_next" : "node_33"
9401 },
9402 {
9403 "name" : "node_33",
9404 "id" : 10,
9405 "source_info" : {
9406 "filename" : "include/control/forwarding.p4",
9407 "line" : 164,
9408 "column" : 17,
9409 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
9410 },
9411 "expression" : {
9412 "type" : "expression",
9413 "value" : {
9414 "op" : "==",
9415 "left" : {
9416 "type" : "field",
9417 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
9418 },
9419 "right" : {
9420 "type" : "hexstr",
9421 "value" : "0x01"
9422 }
9423 }
9424 },
9425 "true_next" : "forwarding.mpls",
9426 "false_next" : "node_36"
9427 },
9428 {
9429 "name" : "node_36",
9430 "id" : 11,
9431 "source_info" : {
9432 "filename" : "include/control/forwarding.p4",
9433 "line" : 179,
9434 "column" : 17,
9435 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
9436 },
9437 "expression" : {
9438 "type" : "expression",
9439 "value" : {
9440 "op" : "==",
9441 "left" : {
9442 "type" : "field",
9443 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
9444 },
9445 "right" : {
9446 "type" : "hexstr",
9447 "value" : "0x02"
9448 }
9449 }
9450 },
9451 "true_next" : "forwarding.unicast_v4",
9452 "false_next" : "forwarding.acl"
9453 },
9454 {
9455 "name" : "node_42",
9456 "id" : 12,
9457 "expression" : {
9458 "type" : "expression",
9459 "value" : {
9460 "op" : "d2b",
9461 "left" : null,
9462 "right" : {
9463 "type" : "field",
9464 "value" : ["scalars", "next_tmp_0"]
9465 }
9466 }
9467 },
9468 "true_next" : "node_43",
9469 "false_next" : "next.hashed"
9470 },
9471 {
9472 "name" : "node_43",
9473 "id" : 13,
9474 "source_info" : {
9475 "filename" : "include/control/next.p4",
9476 "line" : 141,
9477 "column" : 16,
9478 "source_fragment" : "!hdr.mpls.isValid()"
9479 },
9480 "expression" : {
9481 "type" : "expression",
9482 "value" : {
9483 "op" : "not",
9484 "left" : null,
9485 "right" : {
9486 "type" : "expression",
9487 "value" : {
9488 "op" : "d2b",
9489 "left" : null,
9490 "right" : {
9491 "type" : "field",
9492 "value" : ["mpls", "$valid$"]
9493 }
9494 }
9495 }
9496 }
9497 },
9498 "true_next" : "node_44",
9499 "false_next" : "next.hashed"
9500 },
9501 {
9502 "name" : "node_44",
9503 "id" : 14,
9504 "source_info" : {
9505 "filename" : "include/control/next.p4",
9506 "line" : 142,
9507 "column" : 19,
9508 "source_fragment" : "hdr.ipv4.isValid()"
9509 },
9510 "expression" : {
9511 "type" : "expression",
9512 "value" : {
9513 "op" : "d2b",
9514 "left" : null,
9515 "right" : {
9516 "type" : "field",
9517 "value" : ["ipv4", "$valid$"]
9518 }
9519 }
9520 },
9521 "true_next" : "tbl_act_14",
9522 "false_next" : "next.hashed"
9523 },
9524 {
9525 "name" : "node_47",
9526 "id" : 15,
9527 "source_info" : {
9528 "filename" : "include/control/port_counter.p4",
9529 "line" : 27,
9530 "column" : 12,
9531 "source_fragment" : "standard_metadata.egress_spec < 511"
9532 },
9533 "expression" : {
9534 "type" : "expression",
9535 "value" : {
9536 "op" : "<",
9537 "left" : {
9538 "type" : "field",
9539 "value" : ["standard_metadata", "egress_spec"]
9540 },
9541 "right" : {
9542 "type" : "hexstr",
9543 "value" : "0x01ff"
9544 }
9545 }
9546 },
9547 "true_next" : "tbl_act_15",
9548 "false_next" : "node_49"
9549 },
9550 {
9551 "name" : "node_49",
9552 "id" : 16,
9553 "source_info" : {
9554 "filename" : "include/control/port_counter.p4",
9555 "line" : 30,
9556 "column" : 12,
9557 "source_fragment" : "standard_metadata.ingress_port < 511"
9558 },
9559 "expression" : {
9560 "type" : "expression",
9561 "value" : {
9562 "op" : "<",
9563 "left" : {
9564 "type" : "field",
9565 "value" : ["standard_metadata", "ingress_port"]
9566 },
9567 "right" : {
9568 "type" : "hexstr",
9569 "value" : "0x01ff"
9570 }
9571 }
9572 },
9573 "true_next" : "tbl_act_16",
9574 "false_next" : "node_51"
9575 },
9576 {
9577 "name" : "node_51",
9578 "id" : 17,
9579 "source_info" : {
9580 "filename" : "include/control/next.p4",
9581 "line" : 166,
9582 "column" : 12,
9583 "source_fragment" : "fabric_metadata.pop_vlan_at_egress"
9584 },
9585 "expression" : {
9586 "type" : "expression",
9587 "value" : {
9588 "op" : "d2b",
9589 "left" : null,
9590 "right" : {
9591 "type" : "field",
9592 "value" : ["scalars", "fabric_metadata_t.pop_vlan_at_egress"]
9593 }
9594 }
9595 },
9596 "false_next" : null,
9597 "true_next" : "tbl_act_17"
9598 }
9599 ]
9600 },
9601 {
9602 "name" : "egress",
9603 "id" : 1,
9604 "source_info" : {
9605 "filename" : "fabric.p4",
9606 "line" : 66,
9607 "column" : 8,
9608 "source_fragment" : "FabricEgress"
9609 },
9610 "init_table" : "node_55",
9611 "tables" : [
9612 {
9613 "name" : "tbl_act_18",
9614 "id" : 33,
9615 "key" : [],
9616 "match_type" : "exact",
9617 "type" : "simple",
9618 "max_size" : 1024,
9619 "with_counters" : false,
9620 "support_timeout" : false,
9621 "direct_meters" : null,
9622 "action_ids" : [91],
9623 "actions" : ["act_18"],
9624 "base_default_next" : "node_57",
9625 "next_tables" : {
9626 "act_18" : "node_57"
9627 },
9628 "default_entry" : {
9629 "action_id" : 91,
9630 "action_const" : true,
9631 "action_data" : [],
9632 "action_entry_const" : true
9633 }
9634 },
9635 {
9636 "name" : "tbl_int_egress_int_hop_cnt_increment",
9637 "id" : 34,
9638 "key" : [],
9639 "match_type" : "exact",
9640 "type" : "simple",
9641 "max_size" : 1024,
9642 "with_counters" : false,
9643 "support_timeout" : false,
9644 "direct_meters" : null,
9645 "action_ids" : [88],
9646 "actions" : ["int_egress.int_hop_cnt_increment"],
9647 "base_default_next" : "int_egress.int_prep",
9648 "next_tables" : {
9649 "int_egress.int_hop_cnt_increment" : "int_egress.int_prep"
9650 },
9651 "default_entry" : {
9652 "action_id" : 88,
9653 "action_const" : true,
9654 "action_data" : [],
9655 "action_entry_const" : true
9656 }
9657 },
9658 {
9659 "name" : "int_egress.int_prep",
9660 "id" : 35,
9661 "source_info" : {
9662 "filename" : "include/int_transit.p4",
9663 "line" : 275,
9664 "column" : 10,
9665 "source_fragment" : "int_prep"
9666 },
9667 "key" : [],
9668 "match_type" : "exact",
9669 "type" : "simple",
9670 "max_size" : 1024,
9671 "with_counters" : false,
9672 "support_timeout" : false,
9673 "direct_meters" : null,
9674 "action_ids" : [87, 51],
9675 "actions" : ["int_egress.int_transit", "NoAction"],
9676 "base_default_next" : "int_egress.int_metadata_insert.int_inst_0003",
9677 "next_tables" : {
9678 "int_egress.int_transit" : "int_egress.int_metadata_insert.int_inst_0003",
9679 "NoAction" : "int_egress.int_metadata_insert.int_inst_0003"
9680 },
9681 "default_entry" : {
9682 "action_id" : 51,
9683 "action_const" : false,
9684 "action_data" : [],
9685 "action_entry_const" : false
9686 }
9687 },
9688 {
9689 "name" : "int_egress.int_metadata_insert.int_inst_0003",
9690 "id" : 36,
9691 "source_info" : {
9692 "filename" : "include/int_transit.p4",
9693 "line" : 117,
9694 "column" : 10,
9695 "source_fragment" : "int_inst_0003"
9696 },
9697 "key" : [
9698 {
9699 "match_type" : "exact",
9700 "name" : "hdr.int_header.instruction_mask_0003",
9701 "target" : ["int_header", "instruction_mask_0003"],
9702 "mask" : null
9703 }
9704 ],
9705 "match_type" : "exact",
9706 "type" : "simple",
9707 "max_size" : 17,
9708 "with_counters" : false,
9709 "support_timeout" : false,
9710 "direct_meters" : null,
9711 "action_ids" : [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67],
9712 "actions" : ["int_egress.int_metadata_insert.int_set_header_0003_i0", "int_egress.int_metadata_insert.int_set_header_0003_i1", "int_egress.int_metadata_insert.int_set_header_0003_i2", "int_egress.int_metadata_insert.int_set_header_0003_i3", "int_egress.int_metadata_insert.int_set_header_0003_i4", "int_egress.int_metadata_insert.int_set_header_0003_i5", "int_egress.int_metadata_insert.int_set_header_0003_i6", "int_egress.int_metadata_insert.int_set_header_0003_i7", "int_egress.int_metadata_insert.int_set_header_0003_i8", "int_egress.int_metadata_insert.int_set_header_0003_i9", "int_egress.int_metadata_insert.int_set_header_0003_i10", "int_egress.int_metadata_insert.int_set_header_0003_i11", "int_egress.int_metadata_insert.int_set_header_0003_i12", "int_egress.int_metadata_insert.int_set_header_0003_i13", "int_egress.int_metadata_insert.int_set_header_0003_i14", "int_egress.int_metadata_insert.int_set_header_0003_i15"],
9713 "base_default_next" : "int_egress.int_metadata_insert.int_inst_0407",
9714 "next_tables" : {
9715 "int_egress.int_metadata_insert.int_set_header_0003_i0" : "int_egress.int_metadata_insert.int_inst_0407",
9716 "int_egress.int_metadata_insert.int_set_header_0003_i1" : "int_egress.int_metadata_insert.int_inst_0407",
9717 "int_egress.int_metadata_insert.int_set_header_0003_i2" : "int_egress.int_metadata_insert.int_inst_0407",
9718 "int_egress.int_metadata_insert.int_set_header_0003_i3" : "int_egress.int_metadata_insert.int_inst_0407",
9719 "int_egress.int_metadata_insert.int_set_header_0003_i4" : "int_egress.int_metadata_insert.int_inst_0407",
9720 "int_egress.int_metadata_insert.int_set_header_0003_i5" : "int_egress.int_metadata_insert.int_inst_0407",
9721 "int_egress.int_metadata_insert.int_set_header_0003_i6" : "int_egress.int_metadata_insert.int_inst_0407",
9722 "int_egress.int_metadata_insert.int_set_header_0003_i7" : "int_egress.int_metadata_insert.int_inst_0407",
9723 "int_egress.int_metadata_insert.int_set_header_0003_i8" : "int_egress.int_metadata_insert.int_inst_0407",
9724 "int_egress.int_metadata_insert.int_set_header_0003_i9" : "int_egress.int_metadata_insert.int_inst_0407",
9725 "int_egress.int_metadata_insert.int_set_header_0003_i10" : "int_egress.int_metadata_insert.int_inst_0407",
9726 "int_egress.int_metadata_insert.int_set_header_0003_i11" : "int_egress.int_metadata_insert.int_inst_0407",
9727 "int_egress.int_metadata_insert.int_set_header_0003_i12" : "int_egress.int_metadata_insert.int_inst_0407",
9728 "int_egress.int_metadata_insert.int_set_header_0003_i13" : "int_egress.int_metadata_insert.int_inst_0407",
9729 "int_egress.int_metadata_insert.int_set_header_0003_i14" : "int_egress.int_metadata_insert.int_inst_0407",
9730 "int_egress.int_metadata_insert.int_set_header_0003_i15" : "int_egress.int_metadata_insert.int_inst_0407"
9731 },
9732 "default_entry" : {
9733 "action_id" : 52,
9734 "action_const" : false,
9735 "action_data" : [],
9736 "action_entry_const" : false
9737 }
9738 },
9739 {
9740 "name" : "int_egress.int_metadata_insert.int_inst_0407",
9741 "id" : 37,
9742 "source_info" : {
9743 "filename" : "include/int_transit.p4",
9744 "line" : 208,
9745 "column" : 10,
9746 "source_fragment" : "int_inst_0407"
9747 },
9748 "key" : [
9749 {
9750 "match_type" : "exact",
9751 "name" : "hdr.int_header.instruction_mask_0407",
9752 "target" : ["int_header", "instruction_mask_0407"],
9753 "mask" : null
9754 }
9755 ],
9756 "match_type" : "exact",
9757 "type" : "simple",
9758 "max_size" : 17,
9759 "with_counters" : false,
9760 "support_timeout" : false,
9761 "direct_meters" : null,
9762 "action_ids" : [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83],
9763 "actions" : ["int_egress.int_metadata_insert.int_set_header_0407_i0", "int_egress.int_metadata_insert.int_set_header_0407_i1", "int_egress.int_metadata_insert.int_set_header_0407_i2", "int_egress.int_metadata_insert.int_set_header_0407_i3", "int_egress.int_metadata_insert.int_set_header_0407_i4", "int_egress.int_metadata_insert.int_set_header_0407_i5", "int_egress.int_metadata_insert.int_set_header_0407_i6", "int_egress.int_metadata_insert.int_set_header_0407_i7", "int_egress.int_metadata_insert.int_set_header_0407_i8", "int_egress.int_metadata_insert.int_set_header_0407_i9", "int_egress.int_metadata_insert.int_set_header_0407_i10", "int_egress.int_metadata_insert.int_set_header_0407_i11", "int_egress.int_metadata_insert.int_set_header_0407_i12", "int_egress.int_metadata_insert.int_set_header_0407_i13", "int_egress.int_metadata_insert.int_set_header_0407_i14", "int_egress.int_metadata_insert.int_set_header_0407_i15"],
9764 "base_default_next" : "node_63",
9765 "next_tables" : {
9766 "int_egress.int_metadata_insert.int_set_header_0407_i0" : "node_63",
9767 "int_egress.int_metadata_insert.int_set_header_0407_i1" : "node_63",
9768 "int_egress.int_metadata_insert.int_set_header_0407_i2" : "node_63",
9769 "int_egress.int_metadata_insert.int_set_header_0407_i3" : "node_63",
9770 "int_egress.int_metadata_insert.int_set_header_0407_i4" : "node_63",
9771 "int_egress.int_metadata_insert.int_set_header_0407_i5" : "node_63",
9772 "int_egress.int_metadata_insert.int_set_header_0407_i6" : "node_63",
9773 "int_egress.int_metadata_insert.int_set_header_0407_i7" : "node_63",
9774 "int_egress.int_metadata_insert.int_set_header_0407_i8" : "node_63",
9775 "int_egress.int_metadata_insert.int_set_header_0407_i9" : "node_63",
9776 "int_egress.int_metadata_insert.int_set_header_0407_i10" : "node_63",
9777 "int_egress.int_metadata_insert.int_set_header_0407_i11" : "node_63",
9778 "int_egress.int_metadata_insert.int_set_header_0407_i12" : "node_63",
9779 "int_egress.int_metadata_insert.int_set_header_0407_i13" : "node_63",
9780 "int_egress.int_metadata_insert.int_set_header_0407_i14" : "node_63",
9781 "int_egress.int_metadata_insert.int_set_header_0407_i15" : "node_63"
9782 },
9783 "default_entry" : {
9784 "action_id" : 68,
9785 "action_const" : false,
9786 "action_data" : [],
9787 "action_entry_const" : false
9788 }
9789 },
9790 {
9791 "name" : "tbl_int_egress_int_outer_encap_int_update_ipv4",
9792 "id" : 38,
9793 "key" : [],
9794 "match_type" : "exact",
9795 "type" : "simple",
9796 "max_size" : 1024,
9797 "with_counters" : false,
9798 "support_timeout" : false,
9799 "direct_meters" : null,
9800 "action_ids" : [84],
9801 "actions" : ["int_egress.int_outer_encap.int_update_ipv4"],
9802 "base_default_next" : "node_65",
9803 "next_tables" : {
9804 "int_egress.int_outer_encap.int_update_ipv4" : "node_65"
9805 },
9806 "default_entry" : {
9807 "action_id" : 84,
9808 "action_const" : true,
9809 "action_data" : [],
9810 "action_entry_const" : true
9811 }
9812 },
9813 {
9814 "name" : "tbl_int_egress_int_outer_encap_int_update_udp",
9815 "id" : 39,
9816 "key" : [],
9817 "match_type" : "exact",
9818 "type" : "simple",
9819 "max_size" : 1024,
9820 "with_counters" : false,
9821 "support_timeout" : false,
9822 "direct_meters" : null,
9823 "action_ids" : [85],
9824 "actions" : ["int_egress.int_outer_encap.int_update_udp"],
9825 "base_default_next" : "node_67",
9826 "next_tables" : {
9827 "int_egress.int_outer_encap.int_update_udp" : "node_67"
9828 },
9829 "default_entry" : {
9830 "action_id" : 85,
9831 "action_const" : true,
9832 "action_data" : [],
9833 "action_entry_const" : true
9834 }
9835 },
9836 {
9837 "name" : "tbl_int_egress_int_outer_encap_int_update_shim",
9838 "id" : 40,
9839 "key" : [],
9840 "match_type" : "exact",
9841 "type" : "simple",
9842 "max_size" : 1024,
9843 "with_counters" : false,
9844 "support_timeout" : false,
9845 "direct_meters" : null,
9846 "action_ids" : [86],
9847 "actions" : ["int_egress.int_outer_encap.int_update_shim"],
9848 "base_default_next" : "tbl_act_19",
9849 "next_tables" : {
9850 "int_egress.int_outer_encap.int_update_shim" : "tbl_act_19"
9851 },
9852 "default_entry" : {
9853 "action_id" : 86,
9854 "action_const" : true,
9855 "action_data" : [],
9856 "action_entry_const" : true
9857 }
9858 },
9859 {
9860 "name" : "tbl_int_egress_int_hop_cnt_exceeded",
9861 "id" : 41,
9862 "key" : [],
9863 "match_type" : "exact",
9864 "type" : "simple",
9865 "max_size" : 1024,
9866 "with_counters" : false,
9867 "support_timeout" : false,
9868 "direct_meters" : null,
9869 "action_ids" : [89],
9870 "actions" : ["int_egress.int_hop_cnt_exceeded"],
9871 "base_default_next" : "tbl_act_19",
9872 "next_tables" : {
9873 "int_egress.int_hop_cnt_exceeded" : "tbl_act_19"
9874 },
9875 "default_entry" : {
9876 "action_id" : 89,
9877 "action_const" : true,
9878 "action_data" : [],
9879 "action_entry_const" : true
9880 }
9881 },
9882 {
9883 "name" : "tbl_act_19",
9884 "id" : 42,
9885 "key" : [],
9886 "match_type" : "exact",
9887 "type" : "simple",
9888 "max_size" : 1024,
9889 "with_counters" : false,
9890 "support_timeout" : false,
9891 "direct_meters" : null,
9892 "action_ids" : [92],
9893 "actions" : ["act_19"],
9894 "base_default_next" : "node_71",
9895 "next_tables" : {
9896 "act_19" : "node_71"
9897 },
9898 "default_entry" : {
9899 "action_id" : 92,
9900 "action_const" : true,
9901 "action_data" : [],
9902 "action_entry_const" : true
9903 }
9904 },
9905 {
9906 "name" : "tbl_spgw_egress_gtpu_encap",
9907 "id" : 43,
9908 "key" : [],
9909 "match_type" : "exact",
9910 "type" : "simple",
9911 "max_size" : 1024,
9912 "with_counters" : false,
9913 "support_timeout" : false,
9914 "direct_meters" : null,
9915 "action_ids" : [90],
9916 "actions" : ["spgw_egress.gtpu_encap"],
9917 "base_default_next" : null,
9918 "next_tables" : {
9919 "spgw_egress.gtpu_encap" : null
9920 },
9921 "default_entry" : {
9922 "action_id" : 90,
9923 "action_const" : true,
9924 "action_data" : [],
9925 "action_entry_const" : true
9926 }
9927 }
9928 ],
9929 "action_profiles" : [],
9930 "conditionals" : [
9931 {
9932 "name" : "node_55",
9933 "id" : 18,
9934 "source_info" : {
9935 "filename" : "include/control/packetio.p4",
9936 "line" : 38,
9937 "column" : 12,
9938 "source_fragment" : "standard_metadata.egress_port == 255"
9939 },
9940 "expression" : {
9941 "type" : "expression",
9942 "value" : {
9943 "op" : "==",
9944 "left" : {
9945 "type" : "field",
9946 "value" : ["standard_metadata", "egress_port"]
9947 },
9948 "right" : {
9949 "type" : "hexstr",
9950 "value" : "0x00ff"
9951 }
9952 }
9953 },
9954 "true_next" : "tbl_act_18",
9955 "false_next" : "node_57"
9956 },
9957 {
9958 "name" : "node_57",
9959 "id" : 19,
9960 "source_info" : {
9961 "filename" : "include/int_transit.p4",
9962 "line" : 288,
9963 "column" : 11,
9964 "source_fragment" : "hdr.int_header.isValid()"
9965 },
9966 "expression" : {
9967 "type" : "expression",
9968 "value" : {
9969 "op" : "d2b",
9970 "left" : null,
9971 "right" : {
9972 "type" : "field",
9973 "value" : ["int_header", "$valid$"]
9974 }
9975 }
9976 },
9977 "true_next" : "node_58",
9978 "false_next" : "tbl_act_19"
9979 },
9980 {
9981 "name" : "node_58",
9982 "id" : 20,
9983 "source_info" : {
9984 "filename" : "include/int_transit.p4",
9985 "line" : 289,
9986 "column" : 15,
9987 "source_fragment" : "hdr.int_header.total_hop_cnt != hdr.int_header.max_hop_cnt && ..."
9988 },
9989 "expression" : {
9990 "type" : "expression",
9991 "value" : {
9992 "op" : "and",
9993 "left" : {
9994 "type" : "expression",
9995 "value" : {
9996 "op" : "!=",
9997 "left" : {
9998 "type" : "field",
9999 "value" : ["int_header", "total_hop_cnt"]
10000 },
10001 "right" : {
10002 "type" : "field",
10003 "value" : ["int_header", "max_hop_cnt"]
10004 }
10005 }
10006 },
10007 "right" : {
10008 "type" : "expression",
10009 "value" : {
10010 "op" : "==",
10011 "left" : {
10012 "type" : "field",
10013 "value" : ["int_header", "e"]
10014 },
10015 "right" : {
10016 "type" : "hexstr",
10017 "value" : "0x00"
10018 }
10019 }
10020 }
10021 }
10022 },
10023 "true_next" : "tbl_int_egress_int_hop_cnt_increment",
10024 "false_next" : "tbl_int_egress_int_hop_cnt_exceeded"
10025 },
10026 {
10027 "name" : "node_63",
10028 "id" : 21,
10029 "source_info" : {
10030 "filename" : "include/int_transit.p4",
10031 "line" : 255,
10032 "column" : 12,
10033 "source_fragment" : "hdr.ipv4.isValid()"
10034 },
10035 "expression" : {
10036 "type" : "expression",
10037 "value" : {
10038 "op" : "d2b",
10039 "left" : null,
10040 "right" : {
10041 "type" : "field",
10042 "value" : ["ipv4", "$valid$"]
10043 }
10044 }
10045 },
10046 "true_next" : "tbl_int_egress_int_outer_encap_int_update_ipv4",
10047 "false_next" : "node_65"
10048 },
10049 {
10050 "name" : "node_65",
10051 "id" : 22,
10052 "source_info" : {
10053 "filename" : "include/int_transit.p4",
10054 "line" : 258,
10055 "column" : 12,
10056 "source_fragment" : "hdr.udp.isValid()"
10057 },
10058 "expression" : {
10059 "type" : "expression",
10060 "value" : {
10061 "op" : "d2b",
10062 "left" : null,
10063 "right" : {
10064 "type" : "field",
10065 "value" : ["udp", "$valid$"]
10066 }
10067 }
10068 },
10069 "true_next" : "tbl_int_egress_int_outer_encap_int_update_udp",
10070 "false_next" : "node_67"
10071 },
10072 {
10073 "name" : "node_67",
10074 "id" : 23,
10075 "source_info" : {
10076 "filename" : "include/int_transit.p4",
10077 "line" : 261,
10078 "column" : 12,
10079 "source_fragment" : "hdr.intl4_shim.isValid()"
10080 },
10081 "expression" : {
10082 "type" : "expression",
10083 "value" : {
10084 "op" : "d2b",
10085 "left" : null,
10086 "right" : {
10087 "type" : "field",
10088 "value" : ["intl4_shim", "$valid$"]
10089 }
10090 }
10091 },
10092 "true_next" : "tbl_int_egress_int_outer_encap_int_update_shim",
10093 "false_next" : "tbl_act_19"
10094 },
10095 {
10096 "name" : "node_71",
10097 "id" : 24,
10098 "source_info" : {
10099 "filename" : "include/spgw.p4",
10100 "line" : 247,
10101 "column" : 12,
10102 "source_fragment" : "spgw_meta.do_spgw == 1w1 && spgw_meta.direction == DIR_DOWNLINK"
10103 },
10104 "expression" : {
10105 "type" : "expression",
10106 "value" : {
10107 "op" : "and",
10108 "left" : {
10109 "type" : "expression",
10110 "value" : {
10111 "op" : "==",
10112 "left" : {
10113 "type" : "field",
10114 "value" : ["userMetadata.spgw", "do_spgw"]
10115 },
10116 "right" : {
10117 "type" : "hexstr",
10118 "value" : "0x01"
10119 }
10120 }
10121 },
10122 "right" : {
10123 "type" : "expression",
10124 "value" : {
10125 "op" : "==",
10126 "left" : {
10127 "type" : "field",
10128 "value" : ["userMetadata.spgw", "direction"]
10129 },
10130 "right" : {
10131 "type" : "hexstr",
10132 "value" : "0x01"
10133 }
10134 }
10135 }
10136 }
10137 },
10138 "false_next" : null,
10139 "true_next" : "tbl_spgw_egress_gtpu_encap"
10140 }
10141 ]
10142 }
10143 ],
10144 "checksums" : [
10145 {
10146 "name" : "cksum",
10147 "id" : 0,
10148 "target" : ["ipv4", "hdr_checksum"],
10149 "type" : "generic",
10150 "calculation" : "calc",
10151 "if_cond" : {
10152 "type" : "expression",
10153 "value" : {
10154 "op" : "d2b",
10155 "left" : null,
10156 "right" : {
10157 "type" : "field",
10158 "value" : ["ipv4", "$valid$"]
10159 }
10160 }
10161 }
10162 },
10163 {
10164 "name" : "cksum_0",
10165 "id" : 1,
10166 "target" : ["ipv4", "hdr_checksum"],
10167 "type" : "generic",
10168 "calculation" : "calc_0",
10169 "if_cond" : {
10170 "type" : "expression",
10171 "value" : {
10172 "op" : "d2b",
10173 "left" : null,
10174 "right" : {
10175 "type" : "field",
10176 "value" : ["ipv4", "$valid$"]
10177 }
10178 }
10179 }
10180 },
10181 {
10182 "name" : "cksum_1",
10183 "id" : 2,
10184 "target" : ["gtpu_ipv4", "hdr_checksum"],
10185 "type" : "generic",
10186 "calculation" : "calc_1",
10187 "if_cond" : {
10188 "type" : "expression",
10189 "value" : {
10190 "op" : "d2b",
10191 "left" : null,
10192 "right" : {
10193 "type" : "field",
10194 "value" : ["gtpu_ipv4", "$valid$"]
10195 }
10196 }
10197 }
10198 }
10199 ],
10200 "force_arith" : [],
10201 "extern_instances" : [],
10202 "field_aliases" : [
10203 [
10204 "queueing_metadata.enq_timestamp",
10205 ["standard_metadata", "enq_timestamp"]
10206 ],
10207 [
10208 "queueing_metadata.enq_qdepth",
10209 ["standard_metadata", "enq_qdepth"]
10210 ],
10211 [
10212 "queueing_metadata.deq_timedelta",
10213 ["standard_metadata", "deq_timedelta"]
10214 ],
10215 [
10216 "queueing_metadata.deq_qdepth",
10217 ["standard_metadata", "deq_qdepth"]
10218 ],
10219 [
10220 "intrinsic_metadata.ingress_global_timestamp",
10221 ["standard_metadata", "ingress_global_timestamp"]
10222 ],
10223 [
10224 "intrinsic_metadata.egress_global_timestamp",
10225 ["standard_metadata", "egress_global_timestamp"]
10226 ],
10227 [
10228 "intrinsic_metadata.lf_field_list",
10229 ["standard_metadata", "lf_field_list"]
10230 ],
10231 [
10232 "intrinsic_metadata.mcast_grp",
10233 ["standard_metadata", "mcast_grp"]
10234 ],
10235 [
10236 "intrinsic_metadata.resubmit_flag",
10237 ["standard_metadata", "resubmit_flag"]
10238 ],
10239 [
10240 "intrinsic_metadata.egress_rid",
10241 ["standard_metadata", "egress_rid"]
10242 ],
10243 [
10244 "intrinsic_metadata.recirculate_flag",
10245 ["standard_metadata", "recirculate_flag"]
10246 ]
10247 ]
10248}