blob: 97da4ebb78f11d59f47548d881920b27d37ae533 [file] [log] [blame]
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
7 ["last_ipv4_dscp", 6, false],
8 ["tmp", 4, false],
9 ["tmp_0", 8, false],
10 ["tmp_1", 32, false],
11 ["tmp_2", 32, false],
12 ["spgw_ingress_tmp_1", 1, false],
13 ["spgw_ingress_tmp_2", 1, false],
14 ["filtering_tmp_0", 1, false],
15 ["next_tmp_2", 1, false],
16 ["next_tmp_3", 1, false],
17 ["next_tmp_4", 1, false],
18 ["spgw_normalizer_hasReturned_0", 1, false],
19 ["spgw_ingress_hasReturned_0", 1, false],
20 ["next_hasReturned_0", 1, false],
21 ["process_int_main_process_int_transit_hasReturned_0", 1, false],
22 ["fabric_metadata_t.fwd_type", 3, false],
23 ["fabric_metadata_t.next_id", 32, false],
24 ["fabric_metadata_t.pop_vlan_when_packet_in", 1, false],
25 ["fabric_metadata_t.is_multicast", 1, false],
26 ["fabric_metadata_t.is_controller_packet_out", 1, false],
27 ["fabric_metadata_t.clone_to_cpu", 1, false],
28 ["fabric_metadata_t.ip_proto", 8, false],
29 ["fabric_metadata_t.l4_src_port", 16, false],
30 ["fabric_metadata_t.l4_dst_port", 16, false],
31 ["_padding_2", 5, false]
32 ]
33 },
34 {
35 "name" : "standard_metadata",
36 "id" : 1,
37 "fields" : [
38 ["ingress_port", 9, false],
39 ["egress_spec", 9, false],
40 ["egress_port", 9, false],
41 ["clone_spec", 32, false],
42 ["instance_type", 32, false],
43 ["drop", 1, false],
44 ["recirculate_port", 16, false],
45 ["packet_length", 32, false],
46 ["enq_timestamp", 32, false],
47 ["enq_qdepth", 19, false],
48 ["deq_timedelta", 32, false],
49 ["deq_qdepth", 19, false],
50 ["ingress_global_timestamp", 48, false],
51 ["egress_global_timestamp", 48, false],
52 ["lf_field_list", 32, false],
53 ["mcast_grp", 16, false],
54 ["resubmit_flag", 32, false],
55 ["egress_rid", 16, false],
56 ["checksum_error", 1, false],
57 ["recirculate_flag", 32, false],
58 ["_padding", 5, false]
59 ]
60 },
61 {
62 "name" : "ethernet_t",
63 "id" : 2,
64 "fields" : [
65 ["dst_addr", 48, false],
66 ["src_addr", 48, false],
67 ["ether_type", 16, false]
68 ]
69 },
70 {
71 "name" : "vlan_tag_t",
72 "id" : 3,
73 "fields" : [
74 ["pri", 3, false],
75 ["cfi", 1, false],
76 ["vlan_id", 12, false],
77 ["ether_type", 16, false]
78 ]
79 },
80 {
81 "name" : "mpls_t",
82 "id" : 4,
83 "fields" : [
84 ["label", 20, false],
85 ["tc", 3, false],
86 ["bos", 1, false],
87 ["ttl", 8, false]
88 ]
89 },
90 {
91 "name" : "ipv4_t",
92 "id" : 5,
93 "fields" : [
94 ["version", 4, false],
95 ["ihl", 4, false],
96 ["dscp", 6, false],
97 ["ecn", 2, false],
98 ["total_len", 16, false],
99 ["identification", 16, false],
100 ["flags", 3, false],
101 ["frag_offset", 13, false],
102 ["ttl", 8, false],
103 ["protocol", 8, false],
104 ["hdr_checksum", 16, false],
105 ["src_addr", 32, false],
106 ["dst_addr", 32, false]
107 ]
108 },
109 {
110 "name" : "udp_t",
111 "id" : 6,
112 "fields" : [
113 ["src_port", 16, false],
114 ["dst_port", 16, false],
115 ["len", 16, false],
116 ["checksum", 16, false]
117 ]
118 },
119 {
120 "name" : "gtpu_t",
121 "id" : 7,
122 "fields" : [
123 ["version", 3, false],
124 ["pt", 1, false],
125 ["spare", 1, false],
126 ["ex_flag", 1, false],
127 ["seq_flag", 1, false],
128 ["npdu_flag", 1, false],
129 ["msgtype", 8, false],
130 ["msglen", 16, false],
131 ["teid", 32, false]
132 ]
133 },
134 {
135 "name" : "arp_t",
136 "id" : 8,
137 "fields" : [
138 ["hw_type", 16, false],
139 ["proto_type", 16, false],
140 ["hw_addr_len", 8, false],
141 ["proto_addr_len", 8, false],
142 ["opcode", 16, false]
143 ]
144 },
145 {
146 "name" : "tcp_t",
147 "id" : 9,
148 "fields" : [
149 ["src_port", 16, false],
150 ["dst_port", 16, false],
151 ["seq_no", 32, false],
152 ["ack_no", 32, false],
153 ["data_offset", 4, false],
154 ["res", 3, false],
155 ["ecn", 3, false],
156 ["ctrl", 6, false],
157 ["window", 16, false],
158 ["checksum", 16, false],
159 ["urgent_ptr", 16, false]
160 ]
161 },
162 {
163 "name" : "icmp_t",
164 "id" : 10,
165 "fields" : [
166 ["icmp_type", 8, false],
167 ["icmp_code", 8, false],
168 ["checksum", 16, false],
169 ["identifier", 16, false],
170 ["sequence_number", 16, false],
171 ["timestamp", 64, false]
172 ]
173 },
174 {
175 "name" : "packet_out_header_t",
176 "id" : 11,
177 "fields" : [
178 ["egress_port", 9, false],
179 ["_pad", 7, false]
180 ]
181 },
182 {
183 "name" : "packet_in_header_t",
184 "id" : 12,
185 "fields" : [
186 ["ingress_port", 9, false],
187 ["_pad", 7, false]
188 ]
189 },
190 {
191 "name" : "intl4_shim_t",
192 "id" : 13,
193 "fields" : [
194 ["int_type", 8, false],
195 ["rsvd1", 8, false],
196 ["len_words", 8, false],
197 ["rsvd2", 8, false]
198 ]
199 },
200 {
201 "name" : "int_header_t",
202 "id" : 14,
203 "fields" : [
204 ["ver", 2, false],
205 ["rep", 2, false],
206 ["c", 1, false],
207 ["e", 1, false],
208 ["rsvd1", 5, false],
209 ["ins_cnt", 5, false],
210 ["max_hop_cnt", 8, false],
211 ["total_hop_cnt", 8, false],
212 ["instruction_mask_0003", 4, false],
213 ["instruction_mask_0407", 4, false],
214 ["instruction_mask_0811", 4, false],
215 ["instruction_mask_1215", 4, false],
216 ["rsvd2", 16, false]
217 ]
218 },
219 {
220 "name" : "int_switch_id_t",
221 "id" : 15,
222 "fields" : [
223 ["switch_id", 32, false]
224 ]
225 },
226 {
227 "name" : "int_port_ids_t",
228 "id" : 16,
229 "fields" : [
230 ["ingress_port_id", 16, false],
231 ["egress_port_id", 16, false]
232 ]
233 },
234 {
235 "name" : "int_hop_latency_t",
236 "id" : 17,
237 "fields" : [
238 ["hop_latency", 32, false]
239 ]
240 },
241 {
242 "name" : "int_q_occupancy_t",
243 "id" : 18,
244 "fields" : [
245 ["q_id", 8, false],
246 ["q_occupancy", 24, false]
247 ]
248 },
249 {
250 "name" : "int_ingress_tstamp_t",
251 "id" : 19,
252 "fields" : [
253 ["ingress_tstamp", 32, false]
254 ]
255 },
256 {
257 "name" : "int_egress_tstamp_t",
258 "id" : 20,
259 "fields" : [
260 ["egress_tstamp", 32, false]
261 ]
262 },
263 {
264 "name" : "int_q_congestion_t",
265 "id" : 21,
266 "fields" : [
267 ["q_id", 8, false],
268 ["q_congestion", 24, false]
269 ]
270 },
271 {
272 "name" : "int_egress_port_tx_util_t",
273 "id" : 22,
274 "fields" : [
275 ["egress_port_tx_util", 32, false]
276 ]
277 },
278 {
279 "name" : "int_data_t",
280 "id" : 23,
281 "fields" : [
282 ["data", "*"]
283 ],
284 "max_length" : 1004
285 },
286 {
287 "name" : "intl4_tail_t",
288 "id" : 24,
289 "fields" : [
290 ["next_proto", 8, false],
291 ["dest_port", 16, false],
292 ["padding", 2, false],
293 ["dscp", 6, false]
294 ]
295 },
296 {
297 "name" : "spgw_meta_t",
298 "id" : 25,
299 "fields" : [
300 ["direction", 2, false],
301 ["ipv4_len", 16, false],
302 ["teid", 32, false],
303 ["s1u_enb_addr", 32, false],
304 ["s1u_sgw_addr", 32, false],
305 ["_padding_0", 6, false]
306 ]
307 },
308 {
309 "name" : "int_metadata_t",
310 "id" : 26,
311 "fields" : [
312 ["source", 1, 0],
313 ["transit", 1, 0],
314 ["sink", 1, 0],
315 ["switch_id", 32, false],
316 ["new_words", 8, false],
317 ["new_bytes", 16, false],
318 ["_padding_1", 5, false]
319 ]
320 }
321 ],
322 "headers" : [
323 {
324 "name" : "scalars",
325 "id" : 0,
326 "header_type" : "scalars_0",
327 "metadata" : true,
328 "pi_omit" : true
329 },
330 {
331 "name" : "standard_metadata",
332 "id" : 1,
333 "header_type" : "standard_metadata",
334 "metadata" : true,
335 "pi_omit" : true
336 },
337 {
338 "name" : "ethernet",
339 "id" : 2,
340 "header_type" : "ethernet_t",
341 "metadata" : false,
342 "pi_omit" : true
343 },
344 {
345 "name" : "vlan_tag",
346 "id" : 3,
347 "header_type" : "vlan_tag_t",
348 "metadata" : false,
349 "pi_omit" : true
350 },
351 {
352 "name" : "mpls",
353 "id" : 4,
354 "header_type" : "mpls_t",
355 "metadata" : false,
356 "pi_omit" : true
357 },
358 {
359 "name" : "gtpu_ipv4",
360 "id" : 5,
361 "header_type" : "ipv4_t",
362 "metadata" : false,
363 "pi_omit" : true
364 },
365 {
366 "name" : "gtpu_udp",
367 "id" : 6,
368 "header_type" : "udp_t",
369 "metadata" : false,
370 "pi_omit" : true
371 },
372 {
373 "name" : "gtpu",
374 "id" : 7,
375 "header_type" : "gtpu_t",
376 "metadata" : false,
377 "pi_omit" : true
378 },
379 {
380 "name" : "inner_ipv4",
381 "id" : 8,
382 "header_type" : "ipv4_t",
383 "metadata" : false,
384 "pi_omit" : true
385 },
386 {
387 "name" : "inner_udp",
388 "id" : 9,
389 "header_type" : "udp_t",
390 "metadata" : false,
391 "pi_omit" : true
392 },
393 {
394 "name" : "ipv4",
395 "id" : 10,
396 "header_type" : "ipv4_t",
397 "metadata" : false,
398 "pi_omit" : true
399 },
400 {
401 "name" : "arp",
402 "id" : 11,
403 "header_type" : "arp_t",
404 "metadata" : false,
405 "pi_omit" : true
406 },
407 {
408 "name" : "tcp",
409 "id" : 12,
410 "header_type" : "tcp_t",
411 "metadata" : false,
412 "pi_omit" : true
413 },
414 {
415 "name" : "udp",
416 "id" : 13,
417 "header_type" : "udp_t",
418 "metadata" : false,
419 "pi_omit" : true
420 },
421 {
422 "name" : "icmp",
423 "id" : 14,
424 "header_type" : "icmp_t",
425 "metadata" : false,
426 "pi_omit" : true
427 },
428 {
429 "name" : "packet_out",
430 "id" : 15,
431 "header_type" : "packet_out_header_t",
432 "metadata" : false,
433 "pi_omit" : true
434 },
435 {
436 "name" : "packet_in",
437 "id" : 16,
438 "header_type" : "packet_in_header_t",
439 "metadata" : false,
440 "pi_omit" : true
441 },
442 {
443 "name" : "intl4_shim",
444 "id" : 17,
445 "header_type" : "intl4_shim_t",
446 "metadata" : false,
447 "pi_omit" : true
448 },
449 {
450 "name" : "int_header",
451 "id" : 18,
452 "header_type" : "int_header_t",
453 "metadata" : false,
454 "pi_omit" : true
455 },
456 {
457 "name" : "int_switch_id",
458 "id" : 19,
459 "header_type" : "int_switch_id_t",
460 "metadata" : false,
461 "pi_omit" : true
462 },
463 {
464 "name" : "int_port_ids",
465 "id" : 20,
466 "header_type" : "int_port_ids_t",
467 "metadata" : false,
468 "pi_omit" : true
469 },
470 {
471 "name" : "int_hop_latency",
472 "id" : 21,
473 "header_type" : "int_hop_latency_t",
474 "metadata" : false,
475 "pi_omit" : true
476 },
477 {
478 "name" : "int_q_occupancy",
479 "id" : 22,
480 "header_type" : "int_q_occupancy_t",
481 "metadata" : false,
482 "pi_omit" : true
483 },
484 {
485 "name" : "int_ingress_tstamp",
486 "id" : 23,
487 "header_type" : "int_ingress_tstamp_t",
488 "metadata" : false,
489 "pi_omit" : true
490 },
491 {
492 "name" : "int_egress_tstamp",
493 "id" : 24,
494 "header_type" : "int_egress_tstamp_t",
495 "metadata" : false,
496 "pi_omit" : true
497 },
498 {
499 "name" : "int_q_congestion",
500 "id" : 25,
501 "header_type" : "int_q_congestion_t",
502 "metadata" : false,
503 "pi_omit" : true
504 },
505 {
506 "name" : "int_egress_tx_util",
507 "id" : 26,
508 "header_type" : "int_egress_port_tx_util_t",
509 "metadata" : false,
510 "pi_omit" : true
511 },
512 {
513 "name" : "int_data",
514 "id" : 27,
515 "header_type" : "int_data_t",
516 "metadata" : false,
517 "pi_omit" : true
518 },
519 {
520 "name" : "intl4_tail",
521 "id" : 28,
522 "header_type" : "intl4_tail_t",
523 "metadata" : false,
524 "pi_omit" : true
525 },
526 {
527 "name" : "userMetadata.spgw",
528 "id" : 29,
529 "header_type" : "spgw_meta_t",
530 "metadata" : true,
531 "pi_omit" : true
532 },
533 {
534 "name" : "userMetadata.int_meta",
535 "id" : 30,
536 "header_type" : "int_metadata_t",
537 "metadata" : true,
538 "pi_omit" : true
539 }
540 ],
541 "header_stacks" : [],
542 "header_union_types" : [],
543 "header_unions" : [],
544 "header_union_stacks" : [],
545 "field_lists" : [],
546 "errors" : [],
547 "enums" : [],
548 "parsers" : [
549 {
550 "name" : "parser",
551 "id" : 0,
552 "init_state" : "start",
553 "parse_states" : [
554 {
555 "name" : "start",
556 "id" : 0,
557 "parser_ops" : [],
558 "transitions" : [
559 {
560 "type" : "hexstr",
561 "value" : "0x00ff",
562 "mask" : null,
563 "next_state" : "parse_packet_out"
564 },
565 {
566 "value" : "default",
567 "mask" : null,
568 "next_state" : "parse_ethernet"
569 }
570 ],
571 "transition_key" : [
572 {
573 "type" : "field",
574 "value" : ["standard_metadata", "ingress_port"]
575 }
576 ]
577 },
578 {
579 "name" : "parse_packet_out",
580 "id" : 1,
581 "parser_ops" : [
582 {
583 "parameters" : [
584 {
585 "type" : "regular",
586 "value" : "packet_out"
587 }
588 ],
589 "op" : "extract"
590 }
591 ],
592 "transitions" : [
593 {
594 "value" : "default",
595 "mask" : null,
596 "next_state" : "parse_ethernet"
597 }
598 ],
599 "transition_key" : []
600 },
601 {
602 "name" : "parse_ethernet",
603 "id" : 2,
604 "parser_ops" : [
605 {
606 "parameters" : [
607 {
608 "type" : "regular",
609 "value" : "ethernet"
610 }
611 ],
612 "op" : "extract"
613 }
614 ],
615 "transitions" : [
616 {
617 "type" : "hexstr",
618 "value" : "0x8100",
619 "mask" : null,
620 "next_state" : "parse_vlan_tag"
621 },
622 {
623 "type" : "hexstr",
624 "value" : "0x8847",
625 "mask" : null,
626 "next_state" : "parse_mpls"
627 },
628 {
629 "type" : "hexstr",
630 "value" : "0x0806",
631 "mask" : null,
632 "next_state" : "parse_arp"
633 },
634 {
635 "type" : "hexstr",
636 "value" : "0x0800",
637 "mask" : null,
638 "next_state" : "parse_ipv4"
639 },
640 {
641 "value" : "default",
642 "mask" : null,
643 "next_state" : null
644 }
645 ],
646 "transition_key" : [
647 {
648 "type" : "field",
649 "value" : ["ethernet", "ether_type"]
650 }
651 ]
652 },
653 {
654 "name" : "parse_vlan_tag",
655 "id" : 3,
656 "parser_ops" : [
657 {
658 "parameters" : [
659 {
660 "type" : "regular",
661 "value" : "vlan_tag"
662 }
663 ],
664 "op" : "extract"
665 }
666 ],
667 "transitions" : [
668 {
669 "type" : "hexstr",
670 "value" : "0x0806",
671 "mask" : null,
672 "next_state" : "parse_arp"
673 },
674 {
675 "type" : "hexstr",
676 "value" : "0x0800",
677 "mask" : null,
678 "next_state" : "parse_ipv4"
679 },
680 {
681 "type" : "hexstr",
682 "value" : "0x8847",
683 "mask" : null,
684 "next_state" : "parse_mpls"
685 },
686 {
687 "value" : "default",
688 "mask" : null,
689 "next_state" : null
690 }
691 ],
692 "transition_key" : [
693 {
694 "type" : "field",
695 "value" : ["vlan_tag", "ether_type"]
696 }
697 ]
698 },
699 {
700 "name" : "parse_mpls",
701 "id" : 4,
702 "parser_ops" : [
703 {
704 "parameters" : [
705 {
706 "type" : "regular",
707 "value" : "mpls"
708 }
709 ],
710 "op" : "extract"
711 },
712 {
713 "parameters" : [
714 {
715 "type" : "field",
716 "value" : ["scalars", "tmp"]
717 },
718 {
719 "type" : "lookahead",
720 "value" : [0, 4]
721 }
722 ],
723 "op" : "set"
724 }
725 ],
726 "transitions" : [
727 {
728 "type" : "hexstr",
729 "value" : "0x04",
730 "mask" : null,
731 "next_state" : "parse_ipv4"
732 },
733 {
734 "value" : "default",
735 "mask" : null,
736 "next_state" : "parse_ethernet"
737 }
738 ],
739 "transition_key" : [
740 {
741 "type" : "field",
742 "value" : ["scalars", "tmp"]
743 }
744 ]
745 },
746 {
747 "name" : "parse_ipv4",
748 "id" : 5,
749 "parser_ops" : [
750 {
751 "parameters" : [
752 {
753 "type" : "regular",
754 "value" : "ipv4"
755 }
756 ],
757 "op" : "extract"
758 },
759 {
760 "parameters" : [
761 {
762 "type" : "field",
763 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
764 },
765 {
766 "type" : "field",
767 "value" : ["ipv4", "protocol"]
768 }
769 ],
770 "op" : "set"
771 },
772 {
773 "parameters" : [
774 {
775 "type" : "field",
776 "value" : ["scalars", "last_ipv4_dscp"]
777 },
778 {
779 "type" : "field",
780 "value" : ["ipv4", "dscp"]
781 }
782 ],
783 "op" : "set"
784 }
785 ],
786 "transitions" : [
787 {
788 "type" : "hexstr",
789 "value" : "0x06",
790 "mask" : null,
791 "next_state" : "parse_tcp"
792 },
793 {
794 "type" : "hexstr",
795 "value" : "0x11",
796 "mask" : null,
797 "next_state" : "parse_udp"
798 },
799 {
800 "type" : "hexstr",
801 "value" : "0x01",
802 "mask" : null,
803 "next_state" : "parse_icmp"
804 },
805 {
806 "value" : "default",
807 "mask" : null,
808 "next_state" : null
809 }
810 ],
811 "transition_key" : [
812 {
813 "type" : "field",
814 "value" : ["ipv4", "protocol"]
815 }
816 ]
817 },
818 {
819 "name" : "parse_arp",
820 "id" : 6,
821 "parser_ops" : [
822 {
823 "parameters" : [
824 {
825 "type" : "regular",
826 "value" : "arp"
827 }
828 ],
829 "op" : "extract"
830 }
831 ],
832 "transitions" : [
833 {
834 "value" : "default",
835 "mask" : null,
836 "next_state" : null
837 }
838 ],
839 "transition_key" : []
840 },
841 {
842 "name" : "parse_tcp",
843 "id" : 7,
844 "parser_ops" : [
845 {
846 "parameters" : [
847 {
848 "type" : "regular",
849 "value" : "tcp"
850 }
851 ],
852 "op" : "extract"
853 },
854 {
855 "parameters" : [
856 {
857 "type" : "field",
858 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
859 },
860 {
861 "type" : "field",
862 "value" : ["tcp", "src_port"]
863 }
864 ],
865 "op" : "set"
866 },
867 {
868 "parameters" : [
869 {
870 "type" : "field",
871 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
872 },
873 {
874 "type" : "field",
875 "value" : ["tcp", "dst_port"]
876 }
877 ],
878 "op" : "set"
879 }
880 ],
881 "transitions" : [
882 {
883 "value" : "default",
884 "mask" : null,
885 "next_state" : "parse_int"
886 }
887 ],
888 "transition_key" : []
889 },
890 {
891 "name" : "parse_udp",
892 "id" : 8,
893 "parser_ops" : [
894 {
895 "parameters" : [
896 {
897 "type" : "regular",
898 "value" : "udp"
899 }
900 ],
901 "op" : "extract"
902 },
903 {
904 "parameters" : [
905 {
906 "type" : "field",
907 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
908 },
909 {
910 "type" : "field",
911 "value" : ["udp", "src_port"]
912 }
913 ],
914 "op" : "set"
915 },
916 {
917 "parameters" : [
918 {
919 "type" : "field",
920 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
921 },
922 {
923 "type" : "field",
924 "value" : ["udp", "dst_port"]
925 }
926 ],
927 "op" : "set"
928 }
929 ],
930 "transitions" : [
931 {
932 "type" : "hexstr",
933 "value" : "0x0868",
934 "mask" : null,
935 "next_state" : "parse_gtpu"
936 },
937 {
938 "value" : "default",
939 "mask" : null,
940 "next_state" : "parse_int"
941 }
942 ],
943 "transition_key" : [
944 {
945 "type" : "field",
946 "value" : ["udp", "dst_port"]
947 }
948 ]
949 },
950 {
951 "name" : "parse_icmp",
952 "id" : 9,
953 "parser_ops" : [
954 {
955 "parameters" : [
956 {
957 "type" : "regular",
958 "value" : "icmp"
959 }
960 ],
961 "op" : "extract"
962 }
963 ],
964 "transitions" : [
965 {
966 "value" : "default",
967 "mask" : null,
968 "next_state" : null
969 }
970 ],
971 "transition_key" : []
972 },
973 {
974 "name" : "parse_gtpu",
975 "id" : 10,
976 "parser_ops" : [
977 {
978 "parameters" : [
979 {
980 "type" : "field",
981 "value" : ["scalars", "tmp_0"]
982 },
983 {
984 "type" : "expression",
985 "value" : {
986 "type" : "expression",
987 "value" : {
988 "op" : "&",
989 "left" : {
990 "type" : "expression",
991 "value" : {
992 "op" : "&",
993 "left" : {
994 "type" : "expression",
995 "value" : {
996 "op" : ">>",
997 "left" : {
998 "type" : "field",
999 "value" : ["ipv4", "dst_addr"]
1000 },
1001 "right" : {
1002 "type" : "hexstr",
1003 "value" : "0x18"
1004 }
1005 }
1006 },
1007 "right" : {
1008 "type" : "hexstr",
1009 "value" : "0xffffffff"
1010 }
1011 }
1012 },
1013 "right" : {
1014 "type" : "hexstr",
1015 "value" : "0xff"
1016 }
1017 }
1018 }
1019 }
1020 ],
1021 "op" : "set"
1022 }
1023 ],
1024 "transitions" : [
1025 {
1026 "type" : "hexstr",
1027 "value" : "0x8c",
1028 "mask" : null,
1029 "next_state" : "do_parse_gtpu"
1030 },
1031 {
1032 "value" : "default",
1033 "mask" : null,
1034 "next_state" : null
1035 }
1036 ],
1037 "transition_key" : [
1038 {
1039 "type" : "field",
1040 "value" : ["scalars", "tmp_0"]
1041 }
1042 ]
1043 },
1044 {
1045 "name" : "do_parse_gtpu",
1046 "id" : 11,
1047 "parser_ops" : [
1048 {
1049 "parameters" : [
1050 {
1051 "type" : "regular",
1052 "value" : "gtpu"
1053 }
1054 ],
1055 "op" : "extract"
1056 },
1057 {
1058 "parameters" : [
1059 {
1060 "type" : "regular",
1061 "value" : "inner_ipv4"
1062 }
1063 ],
1064 "op" : "extract"
1065 },
1066 {
1067 "parameters" : [
1068 {
1069 "type" : "field",
1070 "value" : ["scalars", "last_ipv4_dscp"]
1071 },
1072 {
1073 "type" : "field",
1074 "value" : ["inner_ipv4", "dscp"]
1075 }
1076 ],
1077 "op" : "set"
1078 }
1079 ],
1080 "transitions" : [
1081 {
1082 "type" : "hexstr",
1083 "value" : "0x06",
1084 "mask" : null,
1085 "next_state" : "parse_tcp"
1086 },
1087 {
1088 "type" : "hexstr",
1089 "value" : "0x11",
1090 "mask" : null,
1091 "next_state" : "parse_inner_udp"
1092 },
1093 {
1094 "type" : "hexstr",
1095 "value" : "0x01",
1096 "mask" : null,
1097 "next_state" : "parse_icmp"
1098 },
1099 {
1100 "value" : "default",
1101 "mask" : null,
1102 "next_state" : null
1103 }
1104 ],
1105 "transition_key" : [
1106 {
1107 "type" : "field",
1108 "value" : ["inner_ipv4", "protocol"]
1109 }
1110 ]
1111 },
1112 {
1113 "name" : "parse_inner_udp",
1114 "id" : 12,
1115 "parser_ops" : [
1116 {
1117 "parameters" : [
1118 {
1119 "type" : "regular",
1120 "value" : "inner_udp"
1121 }
1122 ],
1123 "op" : "extract"
1124 },
1125 {
1126 "parameters" : [
1127 {
1128 "type" : "field",
1129 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1130 },
1131 {
1132 "type" : "field",
1133 "value" : ["inner_udp", "src_port"]
1134 }
1135 ],
1136 "op" : "set"
1137 },
1138 {
1139 "parameters" : [
1140 {
1141 "type" : "field",
1142 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1143 },
1144 {
1145 "type" : "field",
1146 "value" : ["inner_udp", "dst_port"]
1147 }
1148 ],
1149 "op" : "set"
1150 }
1151 ],
1152 "transitions" : [
1153 {
1154 "value" : "default",
1155 "mask" : null,
1156 "next_state" : "parse_int"
1157 }
1158 ],
1159 "transition_key" : []
1160 },
1161 {
1162 "name" : "parse_int",
1163 "id" : 13,
1164 "parser_ops" : [],
1165 "transitions" : [
1166 {
1167 "type" : "hexstr",
1168 "value" : "0x01",
1169 "mask" : "0x01",
1170 "next_state" : "parse_intl4_shim"
1171 },
1172 {
1173 "value" : "default",
1174 "mask" : null,
1175 "next_state" : null
1176 }
1177 ],
1178 "transition_key" : [
1179 {
1180 "type" : "field",
1181 "value" : ["scalars", "last_ipv4_dscp"]
1182 }
1183 ]
1184 },
1185 {
1186 "name" : "parse_intl4_shim",
1187 "id" : 14,
1188 "parser_ops" : [
1189 {
1190 "parameters" : [
1191 {
1192 "type" : "regular",
1193 "value" : "intl4_shim"
1194 }
1195 ],
1196 "op" : "extract"
1197 },
1198 {
1199 "parameters" : [
1200 {
1201 "type" : "regular",
1202 "value" : "int_header"
1203 }
1204 ],
1205 "op" : "extract"
1206 }
1207 ],
1208 "transitions" : [
1209 {
1210 "type" : "hexstr",
1211 "value" : "0x04",
1212 "mask" : null,
1213 "next_state" : "parse_intl4_tail"
1214 },
1215 {
1216 "value" : "default",
1217 "mask" : null,
1218 "next_state" : "parse_int_data"
1219 }
1220 ],
1221 "transition_key" : [
1222 {
1223 "type" : "field",
1224 "value" : ["intl4_shim", "len_words"]
1225 }
1226 ]
1227 },
1228 {
1229 "name" : "parse_int_data",
1230 "id" : 15,
1231 "parser_ops" : [],
1232 "transitions" : [
1233 {
1234 "value" : "default",
1235 "mask" : null,
1236 "next_state" : null
1237 }
1238 ],
1239 "transition_key" : []
1240 },
1241 {
1242 "name" : "parse_intl4_tail",
1243 "id" : 16,
1244 "parser_ops" : [
1245 {
1246 "parameters" : [
1247 {
1248 "type" : "regular",
1249 "value" : "intl4_tail"
1250 }
1251 ],
1252 "op" : "extract"
1253 }
1254 ],
1255 "transitions" : [
1256 {
1257 "value" : "default",
1258 "mask" : null,
1259 "next_state" : null
1260 }
1261 ],
1262 "transition_key" : []
1263 }
1264 ]
1265 }
1266 ],
1267 "parse_vsets" : [],
1268 "deparsers" : [
1269 {
1270 "name" : "deparser",
1271 "id" : 0,
1272 "source_info" : {
1273 "filename" : "include/parser.p4",
1274 "line" : 228,
1275 "column" : 8,
1276 "source_fragment" : "FabricDeparser"
1277 },
1278 "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_tx_util", "int_data", "intl4_tail"]
1279 }
1280 ],
1281 "meter_arrays" : [],
1282 "counter_arrays" : [
1283 {
1284 "name" : "FabricIngress.spgw_ingress.ue_counter",
1285 "id" : 0,
1286 "is_direct" : true,
1287 "binding" : "FabricIngress.spgw_ingress.dl_sess_lookup"
1288 },
1289 {
1290 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
1291 "id" : 1,
1292 "is_direct" : true,
1293 "binding" : "FabricIngress.process_set_source_sink.tb_set_source"
1294 },
1295 {
1296 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1297 "id" : 2,
1298 "is_direct" : true,
1299 "binding" : "FabricIngress.filtering.ingress_port_vlan"
1300 },
1301 {
1302 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1303 "id" : 3,
1304 "is_direct" : true,
1305 "binding" : "FabricIngress.filtering.fwd_classifier"
1306 },
1307 {
1308 "name" : "FabricIngress.forwarding.bridging_counter",
1309 "id" : 4,
1310 "is_direct" : true,
1311 "binding" : "FabricIngress.forwarding.bridging"
1312 },
1313 {
1314 "name" : "FabricIngress.forwarding.mpls_counter",
1315 "id" : 5,
1316 "is_direct" : true,
1317 "binding" : "FabricIngress.forwarding.mpls"
1318 },
1319 {
1320 "name" : "FabricIngress.forwarding.routing_v4_counter",
1321 "id" : 6,
1322 "is_direct" : true,
1323 "binding" : "FabricIngress.forwarding.routing_v4"
1324 },
1325 {
1326 "name" : "FabricIngress.forwarding.acl_counter",
1327 "id" : 7,
1328 "is_direct" : true,
1329 "binding" : "FabricIngress.forwarding.acl"
1330 },
1331 {
1332 "name" : "FabricIngress.next.vlan_meta_counter",
1333 "id" : 8,
1334 "is_direct" : true,
1335 "binding" : "FabricIngress.next.vlan_meta"
1336 },
1337 {
1338 "name" : "FabricIngress.next.simple_counter",
1339 "id" : 9,
1340 "is_direct" : true,
1341 "binding" : "FabricIngress.next.simple"
1342 },
1343 {
1344 "name" : "FabricIngress.next.hashed_counter",
1345 "id" : 10,
1346 "is_direct" : true,
1347 "binding" : "FabricIngress.next.hashed"
1348 },
1349 {
1350 "name" : "FabricIngress.next.multicast_counter",
1351 "id" : 11,
1352 "is_direct" : true,
1353 "binding" : "FabricIngress.next.multicast"
1354 },
1355 {
1356 "name" : "FabricIngress.port_counters_control.egress_port_counter",
1357 "id" : 12,
1358 "source_info" : {
1359 "filename" : "include/control/port_counter.p4",
1360 "line" : 23,
1361 "column" : 48,
1362 "source_fragment" : "egress_port_counter"
1363 },
1364 "size" : 511,
1365 "is_direct" : false
1366 },
1367 {
1368 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
1369 "id" : 13,
1370 "source_info" : {
1371 "filename" : "include/control/port_counter.p4",
1372 "line" : 24,
1373 "column" : 48,
1374 "source_fragment" : "ingress_port_counter"
1375 },
1376 "size" : 511,
1377 "is_direct" : false
1378 },
1379 {
1380 "name" : "FabricEgress.process_int_main.process_int_source.counter_int_source",
1381 "id" : 14,
1382 "is_direct" : true,
1383 "binding" : "FabricEgress.process_int_main.process_int_source.tb_int_source"
1384 },
1385 {
1386 "name" : "FabricEgress.egress_next.egress_vlan_counter",
1387 "id" : 15,
1388 "is_direct" : true,
1389 "binding" : "FabricEgress.egress_next.egress_vlan"
1390 }
1391 ],
1392 "register_arrays" : [],
1393 "calculations" : [
1394 {
1395 "name" : "calc",
1396 "id" : 0,
1397 "source_info" : {
1398 "filename" : "include/checksum.p4",
1399 "line" : 28,
1400 "column" : 8,
1401 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1402 },
1403 "algo" : "csum16",
1404 "input" : [
1405 {
1406 "type" : "field",
1407 "value" : ["ipv4", "version"]
1408 },
1409 {
1410 "type" : "field",
1411 "value" : ["ipv4", "ihl"]
1412 },
1413 {
1414 "type" : "field",
1415 "value" : ["ipv4", "dscp"]
1416 },
1417 {
1418 "type" : "field",
1419 "value" : ["ipv4", "ecn"]
1420 },
1421 {
1422 "type" : "field",
1423 "value" : ["ipv4", "total_len"]
1424 },
1425 {
1426 "type" : "field",
1427 "value" : ["ipv4", "identification"]
1428 },
1429 {
1430 "type" : "field",
1431 "value" : ["ipv4", "flags"]
1432 },
1433 {
1434 "type" : "field",
1435 "value" : ["ipv4", "frag_offset"]
1436 },
1437 {
1438 "type" : "field",
1439 "value" : ["ipv4", "ttl"]
1440 },
1441 {
1442 "type" : "field",
1443 "value" : ["ipv4", "protocol"]
1444 },
1445 {
1446 "type" : "field",
1447 "value" : ["ipv4", "src_addr"]
1448 },
1449 {
1450 "type" : "field",
1451 "value" : ["ipv4", "dst_addr"]
1452 }
1453 ]
1454 },
1455 {
1456 "name" : "calc_0",
1457 "id" : 1,
1458 "source_info" : {
1459 "filename" : "include/spgw.p4",
1460 "line" : 237,
1461 "column" : 8,
1462 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1463 },
1464 "algo" : "csum16",
1465 "input" : [
1466 {
1467 "type" : "field",
1468 "value" : ["gtpu_ipv4", "version"]
1469 },
1470 {
1471 "type" : "field",
1472 "value" : ["gtpu_ipv4", "ihl"]
1473 },
1474 {
1475 "type" : "field",
1476 "value" : ["gtpu_ipv4", "dscp"]
1477 },
1478 {
1479 "type" : "field",
1480 "value" : ["gtpu_ipv4", "ecn"]
1481 },
1482 {
1483 "type" : "field",
1484 "value" : ["gtpu_ipv4", "total_len"]
1485 },
1486 {
1487 "type" : "field",
1488 "value" : ["gtpu_ipv4", "identification"]
1489 },
1490 {
1491 "type" : "field",
1492 "value" : ["gtpu_ipv4", "flags"]
1493 },
1494 {
1495 "type" : "field",
1496 "value" : ["gtpu_ipv4", "frag_offset"]
1497 },
1498 {
1499 "type" : "field",
1500 "value" : ["gtpu_ipv4", "ttl"]
1501 },
1502 {
1503 "type" : "field",
1504 "value" : ["gtpu_ipv4", "protocol"]
1505 },
1506 {
1507 "type" : "field",
1508 "value" : ["gtpu_ipv4", "src_addr"]
1509 },
1510 {
1511 "type" : "field",
1512 "value" : ["gtpu_ipv4", "dst_addr"]
1513 }
1514 ]
1515 },
1516 {
1517 "name" : "calc_1",
1518 "id" : 2,
1519 "source_info" : {
1520 "filename" : "include/checksum.p4",
1521 "line" : 57,
1522 "column" : 8,
1523 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1524 },
1525 "algo" : "csum16",
1526 "input" : [
1527 {
1528 "type" : "field",
1529 "value" : ["ipv4", "version"]
1530 },
1531 {
1532 "type" : "field",
1533 "value" : ["ipv4", "ihl"]
1534 },
1535 {
1536 "type" : "field",
1537 "value" : ["ipv4", "dscp"]
1538 },
1539 {
1540 "type" : "field",
1541 "value" : ["ipv4", "ecn"]
1542 },
1543 {
1544 "type" : "field",
1545 "value" : ["ipv4", "total_len"]
1546 },
1547 {
1548 "type" : "field",
1549 "value" : ["ipv4", "identification"]
1550 },
1551 {
1552 "type" : "field",
1553 "value" : ["ipv4", "flags"]
1554 },
1555 {
1556 "type" : "field",
1557 "value" : ["ipv4", "frag_offset"]
1558 },
1559 {
1560 "type" : "field",
1561 "value" : ["ipv4", "ttl"]
1562 },
1563 {
1564 "type" : "field",
1565 "value" : ["ipv4", "protocol"]
1566 },
1567 {
1568 "type" : "field",
1569 "value" : ["ipv4", "src_addr"]
1570 },
1571 {
1572 "type" : "field",
1573 "value" : ["ipv4", "dst_addr"]
1574 }
1575 ]
1576 }
1577 ],
1578 "learn_lists" : [],
1579 "actions" : [
1580 {
1581 "name" : "NoAction",
1582 "id" : 0,
1583 "runtime_data" : [],
1584 "primitives" : []
1585 },
1586 {
1587 "name" : "NoAction",
1588 "id" : 1,
1589 "runtime_data" : [],
1590 "primitives" : []
1591 },
1592 {
1593 "name" : "NoAction",
1594 "id" : 2,
1595 "runtime_data" : [],
1596 "primitives" : []
1597 },
1598 {
1599 "name" : "NoAction",
1600 "id" : 3,
1601 "runtime_data" : [],
1602 "primitives" : []
1603 },
1604 {
1605 "name" : "NoAction",
1606 "id" : 4,
1607 "runtime_data" : [],
1608 "primitives" : []
1609 },
1610 {
1611 "name" : "NoAction",
1612 "id" : 5,
1613 "runtime_data" : [],
1614 "primitives" : []
1615 },
1616 {
1617 "name" : "NoAction",
1618 "id" : 6,
1619 "runtime_data" : [],
1620 "primitives" : []
1621 },
1622 {
1623 "name" : "NoAction",
1624 "id" : 7,
1625 "runtime_data" : [],
1626 "primitives" : []
1627 },
1628 {
1629 "name" : "NoAction",
1630 "id" : 8,
1631 "runtime_data" : [],
1632 "primitives" : []
1633 },
1634 {
1635 "name" : "nop",
1636 "id" : 9,
1637 "runtime_data" : [],
1638 "primitives" : []
1639 },
1640 {
1641 "name" : "drop_now",
1642 "id" : 10,
1643 "runtime_data" : [],
1644 "primitives" : [
1645 {
1646 "op" : "drop",
1647 "parameters" : [],
1648 "source_info" : {
1649 "filename" : "include/control/../action.p4",
1650 "line" : 24,
1651 "column" : 4,
1652 "source_fragment" : "mark_to_drop()"
1653 }
1654 },
1655 {
1656 "op" : "exit",
1657 "parameters" : [],
1658 "source_info" : {
1659 "filename" : "include/control/../action.p4",
1660 "line" : 25,
1661 "column" : 4,
1662 "source_fragment" : "exit"
1663 }
1664 }
1665 ]
1666 },
1667 {
1668 "name" : "FabricIngress.spgw_ingress.gtpu_decap",
1669 "id" : 11,
1670 "runtime_data" : [],
1671 "primitives" : [
1672 {
1673 "op" : "remove_header",
1674 "parameters" : [
1675 {
1676 "type" : "header",
1677 "value" : "gtpu_ipv4"
1678 }
1679 ],
1680 "source_info" : {
1681 "filename" : "include/spgw.p4",
1682 "line" : 54,
1683 "column" : 8,
1684 "source_fragment" : "gtpu_ipv4.setInvalid()"
1685 }
1686 },
1687 {
1688 "op" : "remove_header",
1689 "parameters" : [
1690 {
1691 "type" : "header",
1692 "value" : "gtpu_udp"
1693 }
1694 ],
1695 "source_info" : {
1696 "filename" : "include/spgw.p4",
1697 "line" : 55,
1698 "column" : 8,
1699 "source_fragment" : "gtpu_udp.setInvalid()"
1700 }
1701 },
1702 {
1703 "op" : "remove_header",
1704 "parameters" : [
1705 {
1706 "type" : "header",
1707 "value" : "gtpu"
1708 }
1709 ],
1710 "source_info" : {
1711 "filename" : "include/spgw.p4",
1712 "line" : 56,
1713 "column" : 8,
1714 "source_fragment" : "gtpu.setInvalid()"
1715 }
1716 }
1717 ]
1718 },
1719 {
1720 "name" : "FabricIngress.spgw_ingress.set_dl_sess_info",
1721 "id" : 12,
1722 "runtime_data" : [
1723 {
1724 "name" : "teid",
1725 "bitwidth" : 32
1726 },
1727 {
1728 "name" : "s1u_enb_addr",
1729 "bitwidth" : 32
1730 },
1731 {
1732 "name" : "s1u_sgw_addr",
1733 "bitwidth" : 32
1734 }
1735 ],
1736 "primitives" : [
1737 {
1738 "op" : "assign",
1739 "parameters" : [
1740 {
1741 "type" : "field",
1742 "value" : ["userMetadata.spgw", "teid"]
1743 },
1744 {
1745 "type" : "runtime_data",
1746 "value" : 0
1747 }
1748 ],
1749 "source_info" : {
1750 "filename" : "include/spgw.p4",
1751 "line" : 62,
1752 "column" : 8,
1753 "source_fragment" : "spgw_meta.teid = teid"
1754 }
1755 },
1756 {
1757 "op" : "assign",
1758 "parameters" : [
1759 {
1760 "type" : "field",
1761 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
1762 },
1763 {
1764 "type" : "runtime_data",
1765 "value" : 1
1766 }
1767 ],
1768 "source_info" : {
1769 "filename" : "include/spgw.p4",
1770 "line" : 63,
1771 "column" : 8,
1772 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
1773 }
1774 },
1775 {
1776 "op" : "assign",
1777 "parameters" : [
1778 {
1779 "type" : "field",
1780 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
1781 },
1782 {
1783 "type" : "runtime_data",
1784 "value" : 2
1785 }
1786 ],
1787 "source_info" : {
1788 "filename" : "include/spgw.p4",
1789 "line" : 64,
1790 "column" : 8,
1791 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
1792 }
1793 }
1794 ]
1795 },
1796 {
1797 "name" : "FabricIngress.process_set_source_sink.int_set_source",
1798 "id" : 13,
1799 "runtime_data" : [],
1800 "primitives" : [
1801 {
1802 "op" : "assign",
1803 "parameters" : [
1804 {
1805 "type" : "field",
1806 "value" : ["userMetadata.int_meta", "source"]
1807 },
1808 {
1809 "type" : "expression",
1810 "value" : {
1811 "type" : "expression",
1812 "value" : {
1813 "op" : "b2d",
1814 "left" : null,
1815 "right" : {
1816 "type" : "bool",
1817 "value" : true
1818 }
1819 }
1820 }
1821 }
1822 ],
1823 "source_info" : {
1824 "filename" : "include/int/int_main.p4",
1825 "line" : 42,
1826 "column" : 8,
1827 "source_fragment" : "fabric_metadata.int_meta.source = true"
1828 }
1829 }
1830 ]
1831 },
1832 {
1833 "name" : "FabricIngress.filtering.drop",
1834 "id" : 14,
1835 "runtime_data" : [],
1836 "primitives" : [
1837 {
1838 "op" : "drop",
1839 "parameters" : [],
1840 "source_info" : {
1841 "filename" : "include/control/filtering.p4",
1842 "line" : 37,
1843 "column" : 8,
1844 "source_fragment" : "mark_to_drop()"
1845 }
1846 }
1847 ]
1848 },
1849 {
1850 "name" : "FabricIngress.filtering.set_vlan",
1851 "id" : 15,
1852 "runtime_data" : [
1853 {
1854 "name" : "new_vlan_id",
1855 "bitwidth" : 12
1856 }
1857 ],
1858 "primitives" : [
1859 {
1860 "op" : "assign",
1861 "parameters" : [
1862 {
1863 "type" : "field",
1864 "value" : ["vlan_tag", "vlan_id"]
1865 },
1866 {
1867 "type" : "runtime_data",
1868 "value" : 0
1869 }
1870 ],
1871 "source_info" : {
1872 "filename" : "include/control/filtering.p4",
1873 "line" : 42,
1874 "column" : 8,
1875 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
1876 }
1877 }
1878 ]
1879 },
1880 {
1881 "name" : "FabricIngress.filtering.push_internal_vlan",
1882 "id" : 16,
1883 "runtime_data" : [
1884 {
1885 "name" : "new_vlan_id",
1886 "bitwidth" : 12
1887 }
1888 ],
1889 "primitives" : [
1890 {
1891 "op" : "add_header",
1892 "parameters" : [
1893 {
1894 "type" : "header",
1895 "value" : "vlan_tag"
1896 }
1897 ],
1898 "source_info" : {
1899 "filename" : "include/control/filtering.p4",
1900 "line" : 49,
1901 "column" : 8,
1902 "source_fragment" : "hdr.vlan_tag.setValid()"
1903 }
1904 },
1905 {
1906 "op" : "assign",
1907 "parameters" : [
1908 {
1909 "type" : "field",
1910 "value" : ["vlan_tag", "cfi"]
1911 },
1912 {
1913 "type" : "hexstr",
1914 "value" : "0x00"
1915 }
1916 ],
1917 "source_info" : {
1918 "filename" : "include/control/filtering.p4",
1919 "line" : 50,
1920 "column" : 8,
1921 "source_fragment" : "hdr.vlan_tag.cfi = 0"
1922 }
1923 },
1924 {
1925 "op" : "assign",
1926 "parameters" : [
1927 {
1928 "type" : "field",
1929 "value" : ["vlan_tag", "pri"]
1930 },
1931 {
1932 "type" : "hexstr",
1933 "value" : "0x00"
1934 }
1935 ],
1936 "source_info" : {
1937 "filename" : "include/control/filtering.p4",
1938 "line" : 51,
1939 "column" : 8,
1940 "source_fragment" : "hdr.vlan_tag.pri = 0"
1941 }
1942 },
1943 {
1944 "op" : "assign",
1945 "parameters" : [
1946 {
1947 "type" : "field",
1948 "value" : ["vlan_tag", "ether_type"]
1949 },
1950 {
1951 "type" : "field",
1952 "value" : ["ethernet", "ether_type"]
1953 }
1954 ],
1955 "source_info" : {
1956 "filename" : "include/control/filtering.p4",
1957 "line" : 52,
1958 "column" : 8,
1959 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
1960 }
1961 },
1962 {
1963 "op" : "assign",
1964 "parameters" : [
1965 {
1966 "type" : "field",
1967 "value" : ["ethernet", "ether_type"]
1968 },
1969 {
1970 "type" : "hexstr",
1971 "value" : "0x8100"
1972 }
1973 ],
1974 "source_info" : {
1975 "filename" : "include/control/../define.p4",
1976 "line" : 91,
1977 "column" : 31,
1978 "source_fragment" : "0x8100; ..."
1979 }
1980 },
1981 {
1982 "op" : "assign",
1983 "parameters" : [
1984 {
1985 "type" : "field",
1986 "value" : ["vlan_tag", "vlan_id"]
1987 },
1988 {
1989 "type" : "runtime_data",
1990 "value" : 0
1991 }
1992 ],
1993 "source_info" : {
1994 "filename" : "include/control/filtering.p4",
1995 "line" : 54,
1996 "column" : 8,
1997 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
1998 }
1999 },
2000 {
2001 "op" : "assign",
2002 "parameters" : [
2003 {
2004 "type" : "field",
2005 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
2006 },
2007 {
2008 "type" : "expression",
2009 "value" : {
2010 "type" : "expression",
2011 "value" : {
2012 "op" : "b2d",
2013 "left" : null,
2014 "right" : {
2015 "type" : "bool",
2016 "value" : true
2017 }
2018 }
2019 }
2020 }
2021 ],
2022 "source_info" : {
2023 "filename" : "include/control/filtering.p4",
2024 "line" : 57,
2025 "column" : 8,
2026 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
2027 }
2028 }
2029 ]
2030 },
2031 {
2032 "name" : "FabricIngress.filtering.nop_ingress_port_vlan",
2033 "id" : 17,
2034 "runtime_data" : [],
2035 "primitives" : []
2036 },
2037 {
2038 "name" : "FabricIngress.filtering.set_forwarding_type",
2039 "id" : 18,
2040 "runtime_data" : [
2041 {
2042 "name" : "fwd_type",
2043 "bitwidth" : 3
2044 }
2045 ],
2046 "primitives" : [
2047 {
2048 "op" : "assign",
2049 "parameters" : [
2050 {
2051 "type" : "field",
2052 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
2053 },
2054 {
2055 "type" : "runtime_data",
2056 "value" : 0
2057 }
2058 ],
2059 "source_info" : {
2060 "filename" : "include/control/filtering.p4",
2061 "line" : 99,
2062 "column" : 8,
2063 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
2064 }
2065 }
2066 ]
2067 },
2068 {
2069 "name" : "FabricIngress.forwarding.set_next_id_bridging",
2070 "id" : 19,
2071 "runtime_data" : [
2072 {
2073 "name" : "next_id",
2074 "bitwidth" : 32
2075 }
2076 ],
2077 "primitives" : [
2078 {
2079 "op" : "assign",
2080 "parameters" : [
2081 {
2082 "type" : "field",
2083 "value" : ["scalars", "fabric_metadata_t.next_id"]
2084 },
2085 {
2086 "type" : "runtime_data",
2087 "value" : 0
2088 }
2089 ],
2090 "source_info" : {
2091 "filename" : "include/control/forwarding.p4",
2092 "line" : 37,
2093 "column" : 8,
2094 "source_fragment" : "fabric_metadata.next_id = next_id"
2095 }
2096 }
2097 ]
2098 },
2099 {
2100 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
2101 "id" : 20,
2102 "runtime_data" : [
2103 {
2104 "name" : "next_id",
2105 "bitwidth" : 32
2106 }
2107 ],
2108 "primitives" : [
2109 {
2110 "op" : "remove_header",
2111 "parameters" : [
2112 {
2113 "type" : "header",
2114 "value" : "mpls"
2115 }
2116 ],
2117 "source_info" : {
2118 "filename" : "include/control/forwarding.p4",
2119 "line" : 60,
2120 "column" : 8,
2121 "source_fragment" : "hdr.mpls.setInvalid()"
2122 }
2123 },
2124 {
2125 "op" : "assign",
2126 "parameters" : [
2127 {
2128 "type" : "field",
2129 "value" : ["scalars", "fabric_metadata_t.next_id"]
2130 },
2131 {
2132 "type" : "runtime_data",
2133 "value" : 0
2134 }
2135 ],
2136 "source_info" : {
2137 "filename" : "include/control/forwarding.p4",
2138 "line" : 61,
2139 "column" : 8,
2140 "source_fragment" : "fabric_metadata.next_id = next_id"
2141 }
2142 }
2143 ]
2144 },
2145 {
2146 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
2147 "id" : 21,
2148 "runtime_data" : [
2149 {
2150 "name" : "next_id",
2151 "bitwidth" : 32
2152 }
2153 ],
2154 "primitives" : [
2155 {
2156 "op" : "assign",
2157 "parameters" : [
2158 {
2159 "type" : "field",
2160 "value" : ["scalars", "fabric_metadata_t.next_id"]
2161 },
2162 {
2163 "type" : "runtime_data",
2164 "value" : 0
2165 }
2166 ],
2167 "source_info" : {
2168 "filename" : "include/control/forwarding.p4",
2169 "line" : 83,
2170 "column" : 8,
2171 "source_fragment" : "fabric_metadata.next_id = next_id"
2172 }
2173 }
2174 ]
2175 },
2176 {
2177 "name" : "FabricIngress.forwarding.nop_routing_v4",
2178 "id" : 22,
2179 "runtime_data" : [],
2180 "primitives" : []
2181 },
2182 {
2183 "name" : "FabricIngress.forwarding.set_next_id_acl",
2184 "id" : 23,
2185 "runtime_data" : [
2186 {
2187 "name" : "next_id",
2188 "bitwidth" : 32
2189 }
2190 ],
2191 "primitives" : [
2192 {
2193 "op" : "assign",
2194 "parameters" : [
2195 {
2196 "type" : "field",
2197 "value" : ["scalars", "fabric_metadata_t.next_id"]
2198 },
2199 {
2200 "type" : "runtime_data",
2201 "value" : 0
2202 }
2203 ],
2204 "source_info" : {
2205 "filename" : "include/control/forwarding.p4",
2206 "line" : 110,
2207 "column" : 8,
2208 "source_fragment" : "fabric_metadata.next_id = next_id"
2209 }
2210 }
2211 ]
2212 },
2213 {
2214 "name" : "FabricIngress.forwarding.punt_to_cpu",
2215 "id" : 24,
2216 "runtime_data" : [],
2217 "primitives" : [
2218 {
2219 "op" : "assign",
2220 "parameters" : [
2221 {
2222 "type" : "field",
2223 "value" : ["standard_metadata", "egress_spec"]
2224 },
2225 {
2226 "type" : "hexstr",
2227 "value" : "0x00ff"
2228 }
2229 ],
2230 "source_info" : {
2231 "filename" : "include/control/forwarding.p4",
2232 "line" : 116,
2233 "column" : 8,
2234 "source_fragment" : "standard_metadata.egress_spec = 255"
2235 }
2236 },
2237 {
2238 "op" : "exit",
2239 "parameters" : [],
2240 "source_info" : {
2241 "filename" : "include/control/forwarding.p4",
2242 "line" : 118,
2243 "column" : 8,
2244 "source_fragment" : "exit"
2245 }
2246 }
2247 ]
2248 },
2249 {
2250 "name" : "FabricIngress.forwarding.clone_to_cpu",
2251 "id" : 25,
2252 "runtime_data" : [],
2253 "primitives" : [
2254 {
2255 "op" : "assign",
2256 "parameters" : [
2257 {
2258 "type" : "field",
2259 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2260 },
2261 {
2262 "type" : "expression",
2263 "value" : {
2264 "type" : "expression",
2265 "value" : {
2266 "op" : "b2d",
2267 "left" : null,
2268 "right" : {
2269 "type" : "bool",
2270 "value" : true
2271 }
2272 }
2273 }
2274 }
2275 ],
2276 "source_info" : {
2277 "filename" : "include/control/forwarding.p4",
2278 "line" : 123,
2279 "column" : 8,
2280 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2281 }
2282 }
2283 ]
2284 },
2285 {
2286 "name" : "FabricIngress.forwarding.drop",
2287 "id" : 26,
2288 "runtime_data" : [],
2289 "primitives" : [
2290 {
2291 "op" : "drop",
2292 "parameters" : [],
2293 "source_info" : {
2294 "filename" : "include/control/forwarding.p4",
2295 "line" : 128,
2296 "column" : 8,
2297 "source_fragment" : "mark_to_drop()"
2298 }
2299 }
2300 ]
2301 },
2302 {
2303 "name" : "FabricIngress.forwarding.nop_acl",
2304 "id" : 27,
2305 "runtime_data" : [],
2306 "primitives" : []
2307 },
2308 {
2309 "name" : "FabricIngress.next.set_vlan",
2310 "id" : 28,
2311 "runtime_data" : [
2312 {
2313 "name" : "new_vlan_id",
2314 "bitwidth" : 12
2315 }
2316 ],
2317 "primitives" : [
2318 {
2319 "op" : "assign",
2320 "parameters" : [
2321 {
2322 "type" : "field",
2323 "value" : ["vlan_tag", "vlan_id"]
2324 },
2325 {
2326 "type" : "runtime_data",
2327 "value" : 0
2328 }
2329 ],
2330 "source_info" : {
2331 "filename" : "include/control/next.p4",
2332 "line" : 61,
2333 "column" : 8,
2334 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2335 }
2336 }
2337 ]
2338 },
2339 {
2340 "name" : "FabricIngress.next.output_simple",
2341 "id" : 29,
2342 "runtime_data" : [
2343 {
2344 "name" : "port_num",
2345 "bitwidth" : 9
2346 }
2347 ],
2348 "primitives" : [
2349 {
2350 "op" : "assign",
2351 "parameters" : [
2352 {
2353 "type" : "field",
2354 "value" : ["standard_metadata", "egress_spec"]
2355 },
2356 {
2357 "type" : "runtime_data",
2358 "value" : 0
2359 }
2360 ],
2361 "source_info" : {
2362 "filename" : "include/control/next.p4",
2363 "line" : 85,
2364 "column" : 8,
2365 "source_fragment" : "standard_metadata.egress_spec = port_num"
2366 }
2367 }
2368 ]
2369 },
2370 {
2371 "name" : "FabricIngress.next.set_vlan_output",
2372 "id" : 30,
2373 "runtime_data" : [
2374 {
2375 "name" : "new_vlan_id",
2376 "bitwidth" : 12
2377 },
2378 {
2379 "name" : "port_num",
2380 "bitwidth" : 9
2381 }
2382 ],
2383 "primitives" : [
2384 {
2385 "op" : "assign",
2386 "parameters" : [
2387 {
2388 "type" : "field",
2389 "value" : ["vlan_tag", "vlan_id"]
2390 },
2391 {
2392 "type" : "runtime_data",
2393 "value" : 0
2394 }
2395 ],
2396 "source_info" : {
2397 "filename" : "include/control/next.p4",
2398 "line" : 90,
2399 "column" : 8,
2400 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2401 }
2402 },
2403 {
2404 "op" : "assign",
2405 "parameters" : [
2406 {
2407 "type" : "field",
2408 "value" : ["standard_metadata", "egress_spec"]
2409 },
2410 {
2411 "type" : "runtime_data",
2412 "value" : 1
2413 }
2414 ],
2415 "source_info" : {
2416 "filename" : "include/control/next.p4",
2417 "line" : 85,
2418 "column" : 8,
2419 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2420 }
2421 }
2422 ]
2423 },
2424 {
2425 "name" : "FabricIngress.next.l3_routing_simple",
2426 "id" : 31,
2427 "runtime_data" : [
2428 {
2429 "name" : "port_num",
2430 "bitwidth" : 9
2431 },
2432 {
2433 "name" : "smac",
2434 "bitwidth" : 48
2435 },
2436 {
2437 "name" : "dmac",
2438 "bitwidth" : 48
2439 }
2440 ],
2441 "primitives" : [
2442 {
2443 "op" : "assign",
2444 "parameters" : [
2445 {
2446 "type" : "field",
2447 "value" : ["ethernet", "src_addr"]
2448 },
2449 {
2450 "type" : "runtime_data",
2451 "value" : 1
2452 }
2453 ],
2454 "source_info" : {
2455 "filename" : "include/control/next.p4",
2456 "line" : 37,
2457 "column" : 8,
2458 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2459 }
2460 },
2461 {
2462 "op" : "assign",
2463 "parameters" : [
2464 {
2465 "type" : "field",
2466 "value" : ["ethernet", "dst_addr"]
2467 },
2468 {
2469 "type" : "runtime_data",
2470 "value" : 2
2471 }
2472 ],
2473 "source_info" : {
2474 "filename" : "include/control/next.p4",
2475 "line" : 41,
2476 "column" : 8,
2477 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2478 }
2479 },
2480 {
2481 "op" : "assign",
2482 "parameters" : [
2483 {
2484 "type" : "field",
2485 "value" : ["standard_metadata", "egress_spec"]
2486 },
2487 {
2488 "type" : "runtime_data",
2489 "value" : 0
2490 }
2491 ],
2492 "source_info" : {
2493 "filename" : "include/control/next.p4",
2494 "line" : 85,
2495 "column" : 8,
2496 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2497 }
2498 }
2499 ]
2500 },
2501 {
2502 "name" : "FabricIngress.next.mpls_routing_v4_simple",
2503 "id" : 32,
2504 "runtime_data" : [
2505 {
2506 "name" : "port_num",
2507 "bitwidth" : 9
2508 },
2509 {
2510 "name" : "smac",
2511 "bitwidth" : 48
2512 },
2513 {
2514 "name" : "dmac",
2515 "bitwidth" : 48
2516 },
2517 {
2518 "name" : "label",
2519 "bitwidth" : 20
2520 }
2521 ],
2522 "primitives" : [
2523 {
2524 "op" : "assign",
2525 "parameters" : [
2526 {
2527 "type" : "field",
2528 "value" : ["ethernet", "src_addr"]
2529 },
2530 {
2531 "type" : "runtime_data",
2532 "value" : 1
2533 }
2534 ],
2535 "source_info" : {
2536 "filename" : "include/control/next.p4",
2537 "line" : 37,
2538 "column" : 8,
2539 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2540 }
2541 },
2542 {
2543 "op" : "assign",
2544 "parameters" : [
2545 {
2546 "type" : "field",
2547 "value" : ["ethernet", "dst_addr"]
2548 },
2549 {
2550 "type" : "runtime_data",
2551 "value" : 2
2552 }
2553 ],
2554 "source_info" : {
2555 "filename" : "include/control/next.p4",
2556 "line" : 41,
2557 "column" : 8,
2558 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2559 }
2560 },
2561 {
2562 "op" : "assign",
2563 "parameters" : [
2564 {
2565 "type" : "field",
2566 "value" : ["standard_metadata", "egress_spec"]
2567 },
2568 {
2569 "type" : "runtime_data",
2570 "value" : 0
2571 }
2572 ],
2573 "source_info" : {
2574 "filename" : "include/control/next.p4",
2575 "line" : 85,
2576 "column" : 8,
2577 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2578 }
2579 },
2580 {
2581 "op" : "add_header",
2582 "parameters" : [
2583 {
2584 "type" : "header",
2585 "value" : "mpls"
2586 }
2587 ],
2588 "source_info" : {
2589 "filename" : "include/control/next.p4",
2590 "line" : 46,
2591 "column" : 8,
2592 "source_fragment" : "hdr.mpls.setValid()"
2593 }
2594 },
2595 {
2596 "op" : "assign",
2597 "parameters" : [
2598 {
2599 "type" : "field",
2600 "value" : ["vlan_tag", "ether_type"]
2601 },
2602 {
2603 "type" : "hexstr",
2604 "value" : "0x8847"
2605 }
2606 ],
2607 "source_info" : {
2608 "filename" : "include/control/../define.p4",
2609 "line" : 92,
2610 "column" : 31,
2611 "source_fragment" : "0x8847; ..."
2612 }
2613 },
2614 {
2615 "op" : "assign",
2616 "parameters" : [
2617 {
2618 "type" : "field",
2619 "value" : ["mpls", "label"]
2620 },
2621 {
2622 "type" : "runtime_data",
2623 "value" : 3
2624 }
2625 ],
2626 "source_info" : {
2627 "filename" : "include/control/next.p4",
2628 "line" : 48,
2629 "column" : 8,
2630 "source_fragment" : "hdr.mpls.label = label; ..."
2631 }
2632 },
2633 {
2634 "op" : "assign",
2635 "parameters" : [
2636 {
2637 "type" : "field",
2638 "value" : ["mpls", "tc"]
2639 },
2640 {
2641 "type" : "hexstr",
2642 "value" : "0x00"
2643 }
2644 ],
2645 "source_info" : {
2646 "filename" : "include/control/next.p4",
2647 "line" : 49,
2648 "column" : 8,
2649 "source_fragment" : "hdr.mpls.tc = tc; ..."
2650 }
2651 },
2652 {
2653 "op" : "assign",
2654 "parameters" : [
2655 {
2656 "type" : "field",
2657 "value" : ["mpls", "bos"]
2658 },
2659 {
2660 "type" : "hexstr",
2661 "value" : "0x01"
2662 }
2663 ],
2664 "source_info" : {
2665 "filename" : "include/control/next.p4",
2666 "line" : 50,
2667 "column" : 8,
2668 "source_fragment" : "hdr.mpls.bos = 1w1"
2669 }
2670 },
2671 {
2672 "op" : "assign",
2673 "parameters" : [
2674 {
2675 "type" : "field",
2676 "value" : ["mpls", "ttl"]
2677 },
2678 {
2679 "type" : "hexstr",
2680 "value" : "0x40"
2681 }
2682 ],
2683 "source_info" : {
2684 "filename" : "include/control/../define.p4",
2685 "line" : 115,
2686 "column" : 32,
2687 "source_fragment" : "64; ..."
2688 }
2689 }
2690 ]
2691 },
2692 {
2693 "name" : "FabricIngress.next.mpls_routing_v6_simple",
2694 "id" : 33,
2695 "runtime_data" : [
2696 {
2697 "name" : "port_num",
2698 "bitwidth" : 9
2699 },
2700 {
2701 "name" : "smac",
2702 "bitwidth" : 48
2703 },
2704 {
2705 "name" : "dmac",
2706 "bitwidth" : 48
2707 },
2708 {
2709 "name" : "label",
2710 "bitwidth" : 20
2711 }
2712 ],
2713 "primitives" : [
2714 {
2715 "op" : "assign",
2716 "parameters" : [
2717 {
2718 "type" : "field",
2719 "value" : ["ethernet", "src_addr"]
2720 },
2721 {
2722 "type" : "runtime_data",
2723 "value" : 1
2724 }
2725 ],
2726 "source_info" : {
2727 "filename" : "include/control/next.p4",
2728 "line" : 37,
2729 "column" : 8,
2730 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2731 }
2732 },
2733 {
2734 "op" : "assign",
2735 "parameters" : [
2736 {
2737 "type" : "field",
2738 "value" : ["ethernet", "dst_addr"]
2739 },
2740 {
2741 "type" : "runtime_data",
2742 "value" : 2
2743 }
2744 ],
2745 "source_info" : {
2746 "filename" : "include/control/next.p4",
2747 "line" : 41,
2748 "column" : 8,
2749 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2750 }
2751 },
2752 {
2753 "op" : "assign",
2754 "parameters" : [
2755 {
2756 "type" : "field",
2757 "value" : ["standard_metadata", "egress_spec"]
2758 },
2759 {
2760 "type" : "runtime_data",
2761 "value" : 0
2762 }
2763 ],
2764 "source_info" : {
2765 "filename" : "include/control/next.p4",
2766 "line" : 85,
2767 "column" : 8,
2768 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2769 }
2770 },
2771 {
2772 "op" : "add_header",
2773 "parameters" : [
2774 {
2775 "type" : "header",
2776 "value" : "mpls"
2777 }
2778 ],
2779 "source_info" : {
2780 "filename" : "include/control/next.p4",
2781 "line" : 46,
2782 "column" : 8,
2783 "source_fragment" : "hdr.mpls.setValid()"
2784 }
2785 },
2786 {
2787 "op" : "assign",
2788 "parameters" : [
2789 {
2790 "type" : "field",
2791 "value" : ["vlan_tag", "ether_type"]
2792 },
2793 {
2794 "type" : "hexstr",
2795 "value" : "0x8847"
2796 }
2797 ],
2798 "source_info" : {
2799 "filename" : "include/control/../define.p4",
2800 "line" : 92,
2801 "column" : 31,
2802 "source_fragment" : "0x8847; ..."
2803 }
2804 },
2805 {
2806 "op" : "assign",
2807 "parameters" : [
2808 {
2809 "type" : "field",
2810 "value" : ["mpls", "label"]
2811 },
2812 {
2813 "type" : "runtime_data",
2814 "value" : 3
2815 }
2816 ],
2817 "source_info" : {
2818 "filename" : "include/control/next.p4",
2819 "line" : 48,
2820 "column" : 8,
2821 "source_fragment" : "hdr.mpls.label = label; ..."
2822 }
2823 },
2824 {
2825 "op" : "assign",
2826 "parameters" : [
2827 {
2828 "type" : "field",
2829 "value" : ["mpls", "tc"]
2830 },
2831 {
2832 "type" : "hexstr",
2833 "value" : "0x00"
2834 }
2835 ],
2836 "source_info" : {
2837 "filename" : "include/control/next.p4",
2838 "line" : 49,
2839 "column" : 8,
2840 "source_fragment" : "hdr.mpls.tc = tc; ..."
2841 }
2842 },
2843 {
2844 "op" : "assign",
2845 "parameters" : [
2846 {
2847 "type" : "field",
2848 "value" : ["mpls", "bos"]
2849 },
2850 {
2851 "type" : "hexstr",
2852 "value" : "0x01"
2853 }
2854 ],
2855 "source_info" : {
2856 "filename" : "include/control/next.p4",
2857 "line" : 50,
2858 "column" : 8,
2859 "source_fragment" : "hdr.mpls.bos = 1w1"
2860 }
2861 },
2862 {
2863 "op" : "assign",
2864 "parameters" : [
2865 {
2866 "type" : "field",
2867 "value" : ["mpls", "ttl"]
2868 },
2869 {
2870 "type" : "hexstr",
2871 "value" : "0x40"
2872 }
2873 ],
2874 "source_info" : {
2875 "filename" : "include/control/../define.p4",
2876 "line" : 115,
2877 "column" : 32,
2878 "source_fragment" : "64; ..."
2879 }
2880 }
2881 ]
2882 },
2883 {
2884 "name" : "FabricIngress.next.l3_routing_vlan",
2885 "id" : 34,
2886 "runtime_data" : [
2887 {
2888 "name" : "port_num",
2889 "bitwidth" : 9
2890 },
2891 {
2892 "name" : "smac",
2893 "bitwidth" : 48
2894 },
2895 {
2896 "name" : "dmac",
2897 "bitwidth" : 48
2898 },
2899 {
2900 "name" : "new_vlan_id",
2901 "bitwidth" : 12
2902 }
2903 ],
2904 "primitives" : [
2905 {
2906 "op" : "assign",
2907 "parameters" : [
2908 {
2909 "type" : "field",
2910 "value" : ["ethernet", "src_addr"]
2911 },
2912 {
2913 "type" : "runtime_data",
2914 "value" : 1
2915 }
2916 ],
2917 "source_info" : {
2918 "filename" : "include/control/next.p4",
2919 "line" : 37,
2920 "column" : 8,
2921 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2922 }
2923 },
2924 {
2925 "op" : "assign",
2926 "parameters" : [
2927 {
2928 "type" : "field",
2929 "value" : ["ethernet", "dst_addr"]
2930 },
2931 {
2932 "type" : "runtime_data",
2933 "value" : 2
2934 }
2935 ],
2936 "source_info" : {
2937 "filename" : "include/control/next.p4",
2938 "line" : 41,
2939 "column" : 8,
2940 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2941 }
2942 },
2943 {
2944 "op" : "assign",
2945 "parameters" : [
2946 {
2947 "type" : "field",
2948 "value" : ["vlan_tag", "vlan_id"]
2949 },
2950 {
2951 "type" : "runtime_data",
2952 "value" : 3
2953 }
2954 ],
2955 "source_info" : {
2956 "filename" : "include/control/next.p4",
2957 "line" : 90,
2958 "column" : 8,
2959 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
2960 }
2961 },
2962 {
2963 "op" : "assign",
2964 "parameters" : [
2965 {
2966 "type" : "field",
2967 "value" : ["standard_metadata", "egress_spec"]
2968 },
2969 {
2970 "type" : "runtime_data",
2971 "value" : 0
2972 }
2973 ],
2974 "source_info" : {
2975 "filename" : "include/control/next.p4",
2976 "line" : 85,
2977 "column" : 8,
2978 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2979 }
2980 }
2981 ]
2982 },
2983 {
2984 "name" : "FabricIngress.next.l3_routing_hashed",
2985 "id" : 35,
2986 "runtime_data" : [
2987 {
2988 "name" : "port_num",
2989 "bitwidth" : 9
2990 },
2991 {
2992 "name" : "smac",
2993 "bitwidth" : 48
2994 },
2995 {
2996 "name" : "dmac",
2997 "bitwidth" : 48
2998 }
2999 ],
3000 "primitives" : [
3001 {
3002 "op" : "assign",
3003 "parameters" : [
3004 {
3005 "type" : "field",
3006 "value" : ["ethernet", "src_addr"]
3007 },
3008 {
3009 "type" : "runtime_data",
3010 "value" : 1
3011 }
3012 ],
3013 "source_info" : {
3014 "filename" : "include/control/next.p4",
3015 "line" : 37,
3016 "column" : 8,
3017 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3018 }
3019 },
3020 {
3021 "op" : "assign",
3022 "parameters" : [
3023 {
3024 "type" : "field",
3025 "value" : ["ethernet", "dst_addr"]
3026 },
3027 {
3028 "type" : "runtime_data",
3029 "value" : 2
3030 }
3031 ],
3032 "source_info" : {
3033 "filename" : "include/control/next.p4",
3034 "line" : 41,
3035 "column" : 8,
3036 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3037 }
3038 },
3039 {
3040 "op" : "assign",
3041 "parameters" : [
3042 {
3043 "type" : "field",
3044 "value" : ["standard_metadata", "egress_spec"]
3045 },
3046 {
3047 "type" : "runtime_data",
3048 "value" : 0
3049 }
3050 ],
3051 "source_info" : {
3052 "filename" : "include/control/next.p4",
3053 "line" : 149,
3054 "column" : 8,
3055 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3056 }
3057 }
3058 ]
3059 },
3060 {
3061 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
3062 "id" : 36,
3063 "runtime_data" : [
3064 {
3065 "name" : "port_num",
3066 "bitwidth" : 9
3067 },
3068 {
3069 "name" : "smac",
3070 "bitwidth" : 48
3071 },
3072 {
3073 "name" : "dmac",
3074 "bitwidth" : 48
3075 },
3076 {
3077 "name" : "label",
3078 "bitwidth" : 20
3079 }
3080 ],
3081 "primitives" : [
3082 {
3083 "op" : "assign",
3084 "parameters" : [
3085 {
3086 "type" : "field",
3087 "value" : ["ethernet", "src_addr"]
3088 },
3089 {
3090 "type" : "runtime_data",
3091 "value" : 1
3092 }
3093 ],
3094 "source_info" : {
3095 "filename" : "include/control/next.p4",
3096 "line" : 37,
3097 "column" : 8,
3098 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3099 }
3100 },
3101 {
3102 "op" : "assign",
3103 "parameters" : [
3104 {
3105 "type" : "field",
3106 "value" : ["ethernet", "dst_addr"]
3107 },
3108 {
3109 "type" : "runtime_data",
3110 "value" : 2
3111 }
3112 ],
3113 "source_info" : {
3114 "filename" : "include/control/next.p4",
3115 "line" : 41,
3116 "column" : 8,
3117 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3118 }
3119 },
3120 {
3121 "op" : "assign",
3122 "parameters" : [
3123 {
3124 "type" : "field",
3125 "value" : ["standard_metadata", "egress_spec"]
3126 },
3127 {
3128 "type" : "runtime_data",
3129 "value" : 0
3130 }
3131 ],
3132 "source_info" : {
3133 "filename" : "include/control/next.p4",
3134 "line" : 149,
3135 "column" : 8,
3136 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3137 }
3138 },
3139 {
3140 "op" : "add_header",
3141 "parameters" : [
3142 {
3143 "type" : "header",
3144 "value" : "mpls"
3145 }
3146 ],
3147 "source_info" : {
3148 "filename" : "include/control/next.p4",
3149 "line" : 46,
3150 "column" : 8,
3151 "source_fragment" : "hdr.mpls.setValid()"
3152 }
3153 },
3154 {
3155 "op" : "assign",
3156 "parameters" : [
3157 {
3158 "type" : "field",
3159 "value" : ["vlan_tag", "ether_type"]
3160 },
3161 {
3162 "type" : "hexstr",
3163 "value" : "0x8847"
3164 }
3165 ],
3166 "source_info" : {
3167 "filename" : "include/control/../define.p4",
3168 "line" : 92,
3169 "column" : 31,
3170 "source_fragment" : "0x8847; ..."
3171 }
3172 },
3173 {
3174 "op" : "assign",
3175 "parameters" : [
3176 {
3177 "type" : "field",
3178 "value" : ["mpls", "label"]
3179 },
3180 {
3181 "type" : "runtime_data",
3182 "value" : 3
3183 }
3184 ],
3185 "source_info" : {
3186 "filename" : "include/control/next.p4",
3187 "line" : 48,
3188 "column" : 8,
3189 "source_fragment" : "hdr.mpls.label = label; ..."
3190 }
3191 },
3192 {
3193 "op" : "assign",
3194 "parameters" : [
3195 {
3196 "type" : "field",
3197 "value" : ["mpls", "tc"]
3198 },
3199 {
3200 "type" : "hexstr",
3201 "value" : "0x00"
3202 }
3203 ],
3204 "source_info" : {
3205 "filename" : "include/control/next.p4",
3206 "line" : 49,
3207 "column" : 8,
3208 "source_fragment" : "hdr.mpls.tc = tc; ..."
3209 }
3210 },
3211 {
3212 "op" : "assign",
3213 "parameters" : [
3214 {
3215 "type" : "field",
3216 "value" : ["mpls", "bos"]
3217 },
3218 {
3219 "type" : "hexstr",
3220 "value" : "0x01"
3221 }
3222 ],
3223 "source_info" : {
3224 "filename" : "include/control/next.p4",
3225 "line" : 50,
3226 "column" : 8,
3227 "source_fragment" : "hdr.mpls.bos = 1w1"
3228 }
3229 },
3230 {
3231 "op" : "assign",
3232 "parameters" : [
3233 {
3234 "type" : "field",
3235 "value" : ["mpls", "ttl"]
3236 },
3237 {
3238 "type" : "hexstr",
3239 "value" : "0x40"
3240 }
3241 ],
3242 "source_info" : {
3243 "filename" : "include/control/../define.p4",
3244 "line" : 115,
3245 "column" : 32,
3246 "source_fragment" : "64; ..."
3247 }
3248 }
3249 ]
3250 },
3251 {
3252 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
3253 "id" : 37,
3254 "runtime_data" : [
3255 {
3256 "name" : "port_num",
3257 "bitwidth" : 9
3258 },
3259 {
3260 "name" : "smac",
3261 "bitwidth" : 48
3262 },
3263 {
3264 "name" : "dmac",
3265 "bitwidth" : 48
3266 },
3267 {
3268 "name" : "label",
3269 "bitwidth" : 20
3270 }
3271 ],
3272 "primitives" : [
3273 {
3274 "op" : "assign",
3275 "parameters" : [
3276 {
3277 "type" : "field",
3278 "value" : ["ethernet", "src_addr"]
3279 },
3280 {
3281 "type" : "runtime_data",
3282 "value" : 1
3283 }
3284 ],
3285 "source_info" : {
3286 "filename" : "include/control/next.p4",
3287 "line" : 37,
3288 "column" : 8,
3289 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3290 }
3291 },
3292 {
3293 "op" : "assign",
3294 "parameters" : [
3295 {
3296 "type" : "field",
3297 "value" : ["ethernet", "dst_addr"]
3298 },
3299 {
3300 "type" : "runtime_data",
3301 "value" : 2
3302 }
3303 ],
3304 "source_info" : {
3305 "filename" : "include/control/next.p4",
3306 "line" : 41,
3307 "column" : 8,
3308 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3309 }
3310 },
3311 {
3312 "op" : "assign",
3313 "parameters" : [
3314 {
3315 "type" : "field",
3316 "value" : ["standard_metadata", "egress_spec"]
3317 },
3318 {
3319 "type" : "runtime_data",
3320 "value" : 0
3321 }
3322 ],
3323 "source_info" : {
3324 "filename" : "include/control/next.p4",
3325 "line" : 149,
3326 "column" : 8,
3327 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3328 }
3329 },
3330 {
3331 "op" : "add_header",
3332 "parameters" : [
3333 {
3334 "type" : "header",
3335 "value" : "mpls"
3336 }
3337 ],
3338 "source_info" : {
3339 "filename" : "include/control/next.p4",
3340 "line" : 46,
3341 "column" : 8,
3342 "source_fragment" : "hdr.mpls.setValid()"
3343 }
3344 },
3345 {
3346 "op" : "assign",
3347 "parameters" : [
3348 {
3349 "type" : "field",
3350 "value" : ["vlan_tag", "ether_type"]
3351 },
3352 {
3353 "type" : "hexstr",
3354 "value" : "0x8847"
3355 }
3356 ],
3357 "source_info" : {
3358 "filename" : "include/control/../define.p4",
3359 "line" : 92,
3360 "column" : 31,
3361 "source_fragment" : "0x8847; ..."
3362 }
3363 },
3364 {
3365 "op" : "assign",
3366 "parameters" : [
3367 {
3368 "type" : "field",
3369 "value" : ["mpls", "label"]
3370 },
3371 {
3372 "type" : "runtime_data",
3373 "value" : 3
3374 }
3375 ],
3376 "source_info" : {
3377 "filename" : "include/control/next.p4",
3378 "line" : 48,
3379 "column" : 8,
3380 "source_fragment" : "hdr.mpls.label = label; ..."
3381 }
3382 },
3383 {
3384 "op" : "assign",
3385 "parameters" : [
3386 {
3387 "type" : "field",
3388 "value" : ["mpls", "tc"]
3389 },
3390 {
3391 "type" : "hexstr",
3392 "value" : "0x00"
3393 }
3394 ],
3395 "source_info" : {
3396 "filename" : "include/control/next.p4",
3397 "line" : 49,
3398 "column" : 8,
3399 "source_fragment" : "hdr.mpls.tc = tc; ..."
3400 }
3401 },
3402 {
3403 "op" : "assign",
3404 "parameters" : [
3405 {
3406 "type" : "field",
3407 "value" : ["mpls", "bos"]
3408 },
3409 {
3410 "type" : "hexstr",
3411 "value" : "0x01"
3412 }
3413 ],
3414 "source_info" : {
3415 "filename" : "include/control/next.p4",
3416 "line" : 50,
3417 "column" : 8,
3418 "source_fragment" : "hdr.mpls.bos = 1w1"
3419 }
3420 },
3421 {
3422 "op" : "assign",
3423 "parameters" : [
3424 {
3425 "type" : "field",
3426 "value" : ["mpls", "ttl"]
3427 },
3428 {
3429 "type" : "hexstr",
3430 "value" : "0x40"
3431 }
3432 ],
3433 "source_info" : {
3434 "filename" : "include/control/../define.p4",
3435 "line" : 115,
3436 "column" : 32,
3437 "source_fragment" : "64; ..."
3438 }
3439 }
3440 ]
3441 },
3442 {
3443 "name" : "FabricIngress.next.set_mcast_group",
3444 "id" : 38,
3445 "runtime_data" : [
3446 {
3447 "name" : "gid",
3448 "bitwidth" : 16
3449 }
3450 ],
3451 "primitives" : [
3452 {
3453 "op" : "assign",
3454 "parameters" : [
3455 {
3456 "type" : "field",
3457 "value" : ["standard_metadata", "mcast_grp"]
3458 },
3459 {
3460 "type" : "runtime_data",
3461 "value" : 0
3462 }
3463 ],
3464 "source_info" : {
3465 "filename" : "include/control/next.p4",
3466 "line" : 202,
3467 "column" : 8,
3468 "source_fragment" : "standard_metadata.mcast_grp = gid"
3469 }
3470 },
3471 {
3472 "op" : "assign",
3473 "parameters" : [
3474 {
3475 "type" : "field",
3476 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
3477 },
3478 {
3479 "type" : "expression",
3480 "value" : {
3481 "type" : "expression",
3482 "value" : {
3483 "op" : "b2d",
3484 "left" : null,
3485 "right" : {
3486 "type" : "bool",
3487 "value" : true
3488 }
3489 }
3490 }
3491 }
3492 ],
3493 "source_info" : {
3494 "filename" : "include/control/next.p4",
3495 "line" : 203,
3496 "column" : 8,
3497 "source_fragment" : "fabric_metadata.is_multicast = true"
3498 }
3499 }
3500 ]
3501 },
3502 {
3503 "name" : "act",
3504 "id" : 39,
3505 "runtime_data" : [],
3506 "primitives" : [
3507 {
3508 "op" : "assign",
3509 "parameters" : [
3510 {
3511 "type" : "field",
3512 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
3513 },
3514 {
3515 "type" : "expression",
3516 "value" : {
3517 "type" : "expression",
3518 "value" : {
3519 "op" : "b2d",
3520 "left" : null,
3521 "right" : {
3522 "type" : "bool",
3523 "value" : true
3524 }
3525 }
3526 }
3527 }
3528 ],
3529 "source_info" : {
3530 "filename" : "include/spgw.p4",
3531 "line" : 30,
3532 "column" : 32,
3533 "source_fragment" : "return"
3534 }
3535 }
3536 ]
3537 },
3538 {
3539 "name" : "act_0",
3540 "id" : 40,
3541 "runtime_data" : [],
3542 "primitives" : [
3543 {
3544 "op" : "remove_header",
3545 "parameters" : [
3546 {
3547 "type" : "header",
3548 "value" : "gtpu_ipv4"
3549 }
3550 ],
3551 "source_info" : {
3552 "filename" : "fabric.p4",
3553 "line" : 54,
3554 "column" : 50,
3555 "source_fragment" : "hdr.gtpu_ipv4"
3556 }
3557 },
3558 {
3559 "op" : "remove_header",
3560 "parameters" : [
3561 {
3562 "type" : "header",
3563 "value" : "gtpu_udp"
3564 }
3565 ],
3566 "source_info" : {
3567 "filename" : "fabric.p4",
3568 "line" : 54,
3569 "column" : 65,
3570 "source_fragment" : "hdr.gtpu_udp"
3571 }
3572 },
3573 {
3574 "op" : "assign",
3575 "parameters" : [
3576 {
3577 "type" : "field",
3578 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
3579 },
3580 {
3581 "type" : "expression",
3582 "value" : {
3583 "type" : "expression",
3584 "value" : {
3585 "op" : "b2d",
3586 "left" : null,
3587 "right" : {
3588 "type" : "bool",
3589 "value" : false
3590 }
3591 }
3592 }
3593 }
3594 ]
3595 }
3596 ]
3597 },
3598 {
3599 "name" : "act_1",
3600 "id" : 41,
3601 "runtime_data" : [],
3602 "primitives" : [
3603 {
3604 "op" : "assign_header",
3605 "parameters" : [
3606 {
3607 "type" : "header",
3608 "value" : "udp"
3609 },
3610 {
3611 "type" : "header",
3612 "value" : "inner_udp"
3613 }
3614 ],
3615 "source_info" : {
3616 "filename" : "include/spgw.p4",
3617 "line" : 35,
3618 "column" : 16,
3619 "source_fragment" : "= inner_udp; ..."
3620 }
3621 }
3622 ]
3623 },
3624 {
3625 "name" : "act_2",
3626 "id" : 42,
3627 "runtime_data" : [],
3628 "primitives" : [
3629 {
3630 "op" : "remove_header",
3631 "parameters" : [
3632 {
3633 "type" : "header",
3634 "value" : "udp"
3635 }
3636 ],
3637 "source_info" : {
3638 "filename" : "include/spgw.p4",
3639 "line" : 37,
3640 "column" : 12,
3641 "source_fragment" : "udp.setInvalid()"
3642 }
3643 }
3644 ]
3645 },
3646 {
3647 "name" : "act_3",
3648 "id" : 43,
3649 "runtime_data" : [],
3650 "primitives" : [
3651 {
3652 "op" : "assign_header",
3653 "parameters" : [
3654 {
3655 "type" : "header",
3656 "value" : "gtpu_ipv4"
3657 },
3658 {
3659 "type" : "header",
3660 "value" : "ipv4"
3661 }
3662 ],
3663 "source_info" : {
3664 "filename" : "include/spgw.p4",
3665 "line" : 31,
3666 "column" : 18,
3667 "source_fragment" : "= ipv4; ..."
3668 }
3669 },
3670 {
3671 "op" : "assign_header",
3672 "parameters" : [
3673 {
3674 "type" : "header",
3675 "value" : "ipv4"
3676 },
3677 {
3678 "type" : "header",
3679 "value" : "inner_ipv4"
3680 }
3681 ],
3682 "source_info" : {
3683 "filename" : "include/spgw.p4",
3684 "line" : 32,
3685 "column" : 13,
3686 "source_fragment" : "= inner_ipv4; ..."
3687 }
3688 },
3689 {
3690 "op" : "assign_header",
3691 "parameters" : [
3692 {
3693 "type" : "header",
3694 "value" : "gtpu_udp"
3695 },
3696 {
3697 "type" : "header",
3698 "value" : "udp"
3699 }
3700 ],
3701 "source_info" : {
3702 "filename" : "include/spgw.p4",
3703 "line" : 33,
3704 "column" : 17,
3705 "source_fragment" : "= udp; ..."
3706 }
3707 }
3708 ]
3709 },
3710 {
3711 "name" : "act_4",
3712 "id" : 44,
3713 "runtime_data" : [],
3714 "primitives" : [
3715 {
3716 "op" : "assign",
3717 "parameters" : [
3718 {
3719 "type" : "field",
3720 "value" : ["standard_metadata", "egress_spec"]
3721 },
3722 {
3723 "type" : "field",
3724 "value" : ["packet_out", "egress_port"]
3725 }
3726 ],
3727 "source_info" : {
3728 "filename" : "include/control/packetio.p4",
3729 "line" : 26,
3730 "column" : 12,
3731 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
3732 }
3733 },
3734 {
3735 "op" : "remove_header",
3736 "parameters" : [
3737 {
3738 "type" : "header",
3739 "value" : "packet_out"
3740 }
3741 ],
3742 "source_info" : {
3743 "filename" : "include/control/packetio.p4",
3744 "line" : 27,
3745 "column" : 12,
3746 "source_fragment" : "hdr.packet_out.setInvalid()"
3747 }
3748 },
3749 {
3750 "op" : "assign",
3751 "parameters" : [
3752 {
3753 "type" : "field",
3754 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
3755 },
3756 {
3757 "type" : "expression",
3758 "value" : {
3759 "type" : "expression",
3760 "value" : {
3761 "op" : "b2d",
3762 "left" : null,
3763 "right" : {
3764 "type" : "bool",
3765 "value" : true
3766 }
3767 }
3768 }
3769 }
3770 ],
3771 "source_info" : {
3772 "filename" : "include/control/packetio.p4",
3773 "line" : 28,
3774 "column" : 12,
3775 "source_fragment" : "fabric_metadata.is_controller_packet_out = true"
3776 }
3777 }
3778 ]
3779 },
3780 {
3781 "name" : "act_5",
3782 "id" : 45,
3783 "runtime_data" : [],
3784 "primitives" : [
3785 {
3786 "op" : "assign",
3787 "parameters" : [
3788 {
3789 "type" : "field",
3790 "value" : ["scalars", "spgw_ingress_tmp_1"]
3791 },
3792 {
3793 "type" : "expression",
3794 "value" : {
3795 "type" : "expression",
3796 "value" : {
3797 "op" : "b2d",
3798 "left" : null,
3799 "right" : {
3800 "type" : "bool",
3801 "value" : true
3802 }
3803 }
3804 }
3805 }
3806 ]
3807 }
3808 ]
3809 },
3810 {
3811 "name" : "act_6",
3812 "id" : 46,
3813 "runtime_data" : [],
3814 "primitives" : [
3815 {
3816 "op" : "assign",
3817 "parameters" : [
3818 {
3819 "type" : "field",
3820 "value" : ["scalars", "spgw_ingress_tmp_1"]
3821 },
3822 {
3823 "type" : "expression",
3824 "value" : {
3825 "type" : "expression",
3826 "value" : {
3827 "op" : "b2d",
3828 "left" : null,
3829 "right" : {
3830 "type" : "bool",
3831 "value" : false
3832 }
3833 }
3834 }
3835 }
3836 ]
3837 }
3838 ]
3839 },
3840 {
3841 "name" : "act_7",
3842 "id" : 47,
3843 "runtime_data" : [],
3844 "primitives" : [
3845 {
3846 "op" : "assign",
3847 "parameters" : [
3848 {
3849 "type" : "field",
3850 "value" : ["userMetadata.spgw", "direction"]
3851 },
3852 {
3853 "type" : "hexstr",
3854 "value" : "0x01"
3855 }
3856 ],
3857 "source_info" : {
3858 "filename" : "include/control/../define.p4",
3859 "line" : 121,
3860 "column" : 36,
3861 "source_fragment" : "2w1; ..."
3862 }
3863 }
3864 ]
3865 },
3866 {
3867 "name" : "act_8",
3868 "id" : 48,
3869 "runtime_data" : [],
3870 "primitives" : [
3871 {
3872 "op" : "assign",
3873 "parameters" : [
3874 {
3875 "type" : "field",
3876 "value" : ["scalars", "spgw_ingress_tmp_2"]
3877 },
3878 {
3879 "type" : "expression",
3880 "value" : {
3881 "type" : "expression",
3882 "value" : {
3883 "op" : "b2d",
3884 "left" : null,
3885 "right" : {
3886 "type" : "bool",
3887 "value" : true
3888 }
3889 }
3890 }
3891 }
3892 ]
3893 }
3894 ]
3895 },
3896 {
3897 "name" : "act_9",
3898 "id" : 49,
3899 "runtime_data" : [],
3900 "primitives" : [
3901 {
3902 "op" : "assign",
3903 "parameters" : [
3904 {
3905 "type" : "field",
3906 "value" : ["scalars", "spgw_ingress_tmp_2"]
3907 },
3908 {
3909 "type" : "expression",
3910 "value" : {
3911 "type" : "expression",
3912 "value" : {
3913 "op" : "b2d",
3914 "left" : null,
3915 "right" : {
3916 "type" : "bool",
3917 "value" : false
3918 }
3919 }
3920 }
3921 }
3922 ]
3923 }
3924 ]
3925 },
3926 {
3927 "name" : "act_10",
3928 "id" : 50,
3929 "runtime_data" : [],
3930 "primitives" : [
3931 {
3932 "op" : "assign",
3933 "parameters" : [
3934 {
3935 "type" : "field",
3936 "value" : ["userMetadata.spgw", "direction"]
3937 },
3938 {
3939 "type" : "hexstr",
3940 "value" : "0x02"
3941 }
3942 ],
3943 "source_info" : {
3944 "filename" : "include/control/../define.p4",
3945 "line" : 122,
3946 "column" : 38,
3947 "source_fragment" : "2w2; ..."
3948 }
3949 }
3950 ]
3951 },
3952 {
3953 "name" : "act_11",
3954 "id" : 51,
3955 "runtime_data" : [],
3956 "primitives" : [
3957 {
3958 "op" : "assign",
3959 "parameters" : [
3960 {
3961 "type" : "field",
3962 "value" : ["userMetadata.spgw", "direction"]
3963 },
3964 {
3965 "type" : "hexstr",
3966 "value" : "0x00"
3967 }
3968 ],
3969 "source_info" : {
3970 "filename" : "include/control/../define.p4",
3971 "line" : 120,
3972 "column" : 37,
3973 "source_fragment" : "2w0; ..."
3974 }
3975 },
3976 {
3977 "op" : "assign",
3978 "parameters" : [
3979 {
3980 "type" : "field",
3981 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
3982 },
3983 {
3984 "type" : "expression",
3985 "value" : {
3986 "type" : "expression",
3987 "value" : {
3988 "op" : "b2d",
3989 "left" : null,
3990 "right" : {
3991 "type" : "bool",
3992 "value" : true
3993 }
3994 }
3995 }
3996 }
3997 ],
3998 "source_info" : {
3999 "filename" : "include/spgw.p4",
4000 "line" : 153,
4001 "column" : 12,
4002 "source_fragment" : "return"
4003 }
4004 }
4005 ]
4006 },
4007 {
4008 "name" : "act_12",
4009 "id" : 52,
4010 "runtime_data" : [],
4011 "primitives" : [
4012 {
4013 "op" : "assign",
4014 "parameters" : [
4015 {
4016 "type" : "field",
4017 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
4018 },
4019 {
4020 "type" : "expression",
4021 "value" : {
4022 "type" : "expression",
4023 "value" : {
4024 "op" : "b2d",
4025 "left" : null,
4026 "right" : {
4027 "type" : "bool",
4028 "value" : false
4029 }
4030 }
4031 }
4032 }
4033 ]
4034 }
4035 ]
4036 },
4037 {
4038 "name" : "act_13",
4039 "id" : 53,
4040 "runtime_data" : [],
4041 "primitives" : [
4042 {
4043 "op" : "assign",
4044 "parameters" : [
4045 {
4046 "type" : "field",
4047 "value" : ["userMetadata.spgw", "ipv4_len"]
4048 },
4049 {
4050 "type" : "field",
4051 "value" : ["ipv4", "total_len"]
4052 }
4053 ],
4054 "source_info" : {
4055 "filename" : "include/spgw.p4",
4056 "line" : 170,
4057 "column" : 8,
4058 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4059 }
4060 }
4061 ]
4062 },
4063 {
4064 "name" : "act_14",
4065 "id" : 54,
4066 "runtime_data" : [],
4067 "primitives" : [
4068 {
4069 "op" : "assign",
4070 "parameters" : [
4071 {
4072 "type" : "field",
4073 "value" : ["scalars", "filtering_tmp_0"]
4074 },
4075 {
4076 "type" : "expression",
4077 "value" : {
4078 "type" : "expression",
4079 "value" : {
4080 "op" : "b2d",
4081 "left" : null,
4082 "right" : {
4083 "type" : "bool",
4084 "value" : true
4085 }
4086 }
4087 }
4088 }
4089 ]
4090 }
4091 ]
4092 },
4093 {
4094 "name" : "act_15",
4095 "id" : 55,
4096 "runtime_data" : [],
4097 "primitives" : [
4098 {
4099 "op" : "assign",
4100 "parameters" : [
4101 {
4102 "type" : "field",
4103 "value" : ["scalars", "filtering_tmp_0"]
4104 },
4105 {
4106 "type" : "expression",
4107 "value" : {
4108 "type" : "expression",
4109 "value" : {
4110 "op" : "b2d",
4111 "left" : null,
4112 "right" : {
4113 "type" : "bool",
4114 "value" : false
4115 }
4116 }
4117 }
4118 }
4119 ]
4120 }
4121 ]
4122 },
4123 {
4124 "name" : "act_16",
4125 "id" : 56,
4126 "runtime_data" : [],
4127 "primitives" : [
4128 {
4129 "op" : "assign",
4130 "parameters" : [
4131 {
4132 "type" : "field",
4133 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
4134 },
4135 {
4136 "type" : "hexstr",
4137 "value" : "0x07"
4138 }
4139 ],
4140 "source_info" : {
4141 "filename" : "include/control/../define.p4",
4142 "line" : 111,
4143 "column" : 31,
4144 "source_fragment" : "7; ..."
4145 }
4146 }
4147 ]
4148 },
4149 {
4150 "name" : "act_17",
4151 "id" : 57,
4152 "runtime_data" : [],
4153 "primitives" : [
4154 {
4155 "op" : "assign",
4156 "parameters" : [
4157 {
4158 "type" : "field",
4159 "value" : ["vlan_tag", "ether_type"]
4160 },
4161 {
4162 "type" : "hexstr",
4163 "value" : "0x0800"
4164 }
4165 ],
4166 "source_info" : {
4167 "filename" : "include/control/../define.p4",
4168 "line" : 94,
4169 "column" : 31,
4170 "source_fragment" : "0x0800; ..."
4171 }
4172 }
4173 ]
4174 },
4175 {
4176 "name" : "act_18",
4177 "id" : 58,
4178 "runtime_data" : [],
4179 "primitives" : [
4180 {
4181 "op" : "assign",
4182 "parameters" : [
4183 {
4184 "type" : "field",
4185 "value" : ["scalars", "next_hasReturned_0"]
4186 },
4187 {
4188 "type" : "expression",
4189 "value" : {
4190 "type" : "expression",
4191 "value" : {
4192 "op" : "b2d",
4193 "left" : null,
4194 "right" : {
4195 "type" : "bool",
4196 "value" : false
4197 }
4198 }
4199 }
4200 }
4201 ]
4202 }
4203 ]
4204 },
4205 {
4206 "name" : "act_19",
4207 "id" : 59,
4208 "runtime_data" : [],
4209 "primitives" : [
4210 {
4211 "op" : "assign",
4212 "parameters" : [
4213 {
4214 "type" : "field",
4215 "value" : ["scalars", "next_tmp_4"]
4216 },
4217 {
4218 "type" : "expression",
4219 "value" : {
4220 "type" : "expression",
4221 "value" : {
4222 "op" : "b2d",
4223 "left" : null,
4224 "right" : {
4225 "type" : "bool",
4226 "value" : true
4227 }
4228 }
4229 }
4230 }
4231 ]
4232 }
4233 ]
4234 },
4235 {
4236 "name" : "act_20",
4237 "id" : 60,
4238 "runtime_data" : [],
4239 "primitives" : [
4240 {
4241 "op" : "assign",
4242 "parameters" : [
4243 {
4244 "type" : "field",
4245 "value" : ["scalars", "next_tmp_4"]
4246 },
4247 {
4248 "type" : "expression",
4249 "value" : {
4250 "type" : "expression",
4251 "value" : {
4252 "op" : "b2d",
4253 "left" : null,
4254 "right" : {
4255 "type" : "bool",
4256 "value" : false
4257 }
4258 }
4259 }
4260 }
4261 ]
4262 }
4263 ]
4264 },
4265 {
4266 "name" : "act_21",
4267 "id" : 61,
4268 "runtime_data" : [],
4269 "primitives" : [
4270 {
4271 "op" : "assign",
4272 "parameters" : [
4273 {
4274 "type" : "field",
4275 "value" : ["scalars", "next_tmp_3"]
4276 },
4277 {
4278 "type" : "expression",
4279 "value" : {
4280 "type" : "expression",
4281 "value" : {
4282 "op" : "b2d",
4283 "left" : null,
4284 "right" : {
4285 "type" : "bool",
4286 "value" : true
4287 }
4288 }
4289 }
4290 }
4291 ]
4292 }
4293 ]
4294 },
4295 {
4296 "name" : "act_22",
4297 "id" : 62,
4298 "runtime_data" : [],
4299 "primitives" : [
4300 {
4301 "op" : "assign",
4302 "parameters" : [
4303 {
4304 "type" : "field",
4305 "value" : ["scalars", "next_tmp_3"]
4306 },
4307 {
4308 "type" : "expression",
4309 "value" : {
4310 "type" : "expression",
4311 "value" : {
4312 "op" : "b2d",
4313 "left" : null,
4314 "right" : {
4315 "type" : "bool",
4316 "value" : false
4317 }
4318 }
4319 }
4320 }
4321 ]
4322 }
4323 ]
4324 },
4325 {
4326 "name" : "act_23",
4327 "id" : 63,
4328 "runtime_data" : [],
4329 "primitives" : [
4330 {
4331 "op" : "assign",
4332 "parameters" : [
4333 {
4334 "type" : "field",
4335 "value" : ["scalars", "next_tmp_2"]
4336 },
4337 {
4338 "type" : "expression",
4339 "value" : {
4340 "type" : "expression",
4341 "value" : {
4342 "op" : "b2d",
4343 "left" : null,
4344 "right" : {
4345 "type" : "bool",
4346 "value" : true
4347 }
4348 }
4349 }
4350 }
4351 ]
4352 }
4353 ]
4354 },
4355 {
4356 "name" : "act_24",
4357 "id" : 64,
4358 "runtime_data" : [],
4359 "primitives" : [
4360 {
4361 "op" : "assign",
4362 "parameters" : [
4363 {
4364 "type" : "field",
4365 "value" : ["scalars", "next_tmp_2"]
4366 },
4367 {
4368 "type" : "expression",
4369 "value" : {
4370 "type" : "expression",
4371 "value" : {
4372 "op" : "b2d",
4373 "left" : null,
4374 "right" : {
4375 "type" : "bool",
4376 "value" : false
4377 }
4378 }
4379 }
4380 }
4381 ]
4382 }
4383 ]
4384 },
4385 {
4386 "name" : "act_25",
4387 "id" : 65,
4388 "runtime_data" : [],
4389 "primitives" : [
4390 {
4391 "op" : "assign",
4392 "parameters" : [
4393 {
4394 "type" : "field",
4395 "value" : ["scalars", "next_hasReturned_0"]
4396 },
4397 {
4398 "type" : "expression",
4399 "value" : {
4400 "type" : "expression",
4401 "value" : {
4402 "op" : "b2d",
4403 "left" : null,
4404 "right" : {
4405 "type" : "bool",
4406 "value" : true
4407 }
4408 }
4409 }
4410 }
4411 ],
4412 "source_info" : {
4413 "filename" : "include/control/next.p4",
4414 "line" : 223,
4415 "column" : 20,
4416 "source_fragment" : "return"
4417 }
4418 }
4419 ]
4420 },
4421 {
4422 "name" : "act_26",
4423 "id" : 66,
4424 "runtime_data" : [],
4425 "primitives" : [
4426 {
4427 "op" : "assign",
4428 "parameters" : [
4429 {
4430 "type" : "field",
4431 "value" : ["ipv4", "ttl"]
4432 },
4433 {
4434 "type" : "expression",
4435 "value" : {
4436 "type" : "expression",
4437 "value" : {
4438 "op" : "&",
4439 "left" : {
4440 "type" : "expression",
4441 "value" : {
4442 "op" : "+",
4443 "left" : {
4444 "type" : "field",
4445 "value" : ["ipv4", "ttl"]
4446 },
4447 "right" : {
4448 "type" : "hexstr",
4449 "value" : "0xff"
4450 }
4451 }
4452 },
4453 "right" : {
4454 "type" : "hexstr",
4455 "value" : "0xff"
4456 }
4457 }
4458 }
4459 }
4460 ],
4461 "source_info" : {
4462 "filename" : "include/control/next.p4",
4463 "line" : 230,
4464 "column" : 16,
4465 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4466 }
4467 }
4468 ]
4469 },
4470 {
4471 "name" : "act_27",
4472 "id" : 67,
4473 "runtime_data" : [],
4474 "primitives" : [
4475 {
4476 "op" : "assign",
4477 "parameters" : [
4478 {
4479 "type" : "field",
4480 "value" : ["scalars", "tmp_1"]
4481 },
4482 {
4483 "type" : "expression",
4484 "value" : {
4485 "type" : "expression",
4486 "value" : {
4487 "op" : "&",
4488 "left" : {
4489 "type" : "field",
4490 "value" : ["standard_metadata", "egress_spec"]
4491 },
4492 "right" : {
4493 "type" : "hexstr",
4494 "value" : "0xffffffff"
4495 }
4496 }
4497 }
4498 }
4499 ],
4500 "source_info" : {
4501 "filename" : "include/control/port_counter.p4",
4502 "line" : 28,
4503 "column" : 38,
4504 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
4505 }
4506 },
4507 {
4508 "op" : "count",
4509 "parameters" : [
4510 {
4511 "type" : "counter_array",
4512 "value" : "FabricIngress.port_counters_control.egress_port_counter"
4513 },
4514 {
4515 "type" : "field",
4516 "value" : ["scalars", "tmp_1"]
4517 }
4518 ],
4519 "source_info" : {
4520 "filename" : "include/control/port_counter.p4",
4521 "line" : 28,
4522 "column" : 12,
4523 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4524 }
4525 }
4526 ]
4527 },
4528 {
4529 "name" : "act_28",
4530 "id" : 68,
4531 "runtime_data" : [],
4532 "primitives" : [
4533 {
4534 "op" : "assign",
4535 "parameters" : [
4536 {
4537 "type" : "field",
4538 "value" : ["scalars", "tmp_2"]
4539 },
4540 {
4541 "type" : "expression",
4542 "value" : {
4543 "type" : "expression",
4544 "value" : {
4545 "op" : "&",
4546 "left" : {
4547 "type" : "field",
4548 "value" : ["standard_metadata", "ingress_port"]
4549 },
4550 "right" : {
4551 "type" : "hexstr",
4552 "value" : "0xffffffff"
4553 }
4554 }
4555 }
4556 }
4557 ],
4558 "source_info" : {
4559 "filename" : "include/control/port_counter.p4",
4560 "line" : 31,
4561 "column" : 39,
4562 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
4563 }
4564 },
4565 {
4566 "op" : "count",
4567 "parameters" : [
4568 {
4569 "type" : "counter_array",
4570 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
4571 },
4572 {
4573 "type" : "field",
4574 "value" : ["scalars", "tmp_2"]
4575 }
4576 ],
4577 "source_info" : {
4578 "filename" : "include/control/port_counter.p4",
4579 "line" : 31,
4580 "column" : 12,
4581 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4582 }
4583 }
4584 ]
4585 },
4586 {
4587 "name" : "NoAction",
4588 "id" : 69,
4589 "runtime_data" : [],
4590 "primitives" : []
4591 },
4592 {
4593 "name" : "NoAction",
4594 "id" : 70,
4595 "runtime_data" : [],
4596 "primitives" : []
4597 },
4598 {
4599 "name" : "NoAction",
4600 "id" : 71,
4601 "runtime_data" : [],
4602 "primitives" : []
4603 },
4604 {
Carmelo Casconefa421582018-09-13 10:05:57 -07004605 "name" : "nop",
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07004606 "id" : 72,
4607 "runtime_data" : [],
4608 "primitives" : []
4609 },
4610 {
4611 "name" : "nop",
4612 "id" : 73,
4613 "runtime_data" : [],
4614 "primitives" : []
4615 },
4616 {
4617 "name" : "drop_now",
4618 "id" : 74,
4619 "runtime_data" : [],
4620 "primitives" : [
4621 {
4622 "op" : "drop",
4623 "parameters" : [],
4624 "source_info" : {
4625 "filename" : "include/control/../action.p4",
4626 "line" : 24,
4627 "column" : 4,
4628 "source_fragment" : "mark_to_drop()"
4629 }
4630 },
4631 {
4632 "op" : "exit",
4633 "parameters" : [],
4634 "source_info" : {
4635 "filename" : "include/control/../action.p4",
4636 "line" : 25,
4637 "column" : 4,
4638 "source_fragment" : "exit"
4639 }
4640 }
4641 ]
4642 },
4643 {
4644 "name" : "drop_now",
4645 "id" : 75,
4646 "runtime_data" : [],
4647 "primitives" : [
4648 {
4649 "op" : "drop",
4650 "parameters" : [],
4651 "source_info" : {
4652 "filename" : "include/control/../action.p4",
4653 "line" : 24,
4654 "column" : 4,
4655 "source_fragment" : "mark_to_drop()"
4656 }
4657 },
4658 {
4659 "op" : "exit",
4660 "parameters" : [],
4661 "source_info" : {
4662 "filename" : "include/control/../action.p4",
4663 "line" : 25,
4664 "column" : 4,
4665 "source_fragment" : "exit"
4666 }
4667 }
4668 ]
4669 },
4670 {
4671 "name" : "FabricEgress.spgw_egress.gtpu_encap",
4672 "id" : 76,
4673 "runtime_data" : [],
4674 "primitives" : [
4675 {
4676 "op" : "add_header",
4677 "parameters" : [
4678 {
4679 "type" : "header",
4680 "value" : "gtpu_ipv4"
4681 }
4682 ],
4683 "source_info" : {
4684 "filename" : "include/spgw.p4",
4685 "line" : 185,
4686 "column" : 8,
4687 "source_fragment" : "gtpu_ipv4.setValid()"
4688 }
4689 },
4690 {
4691 "op" : "assign",
4692 "parameters" : [
4693 {
4694 "type" : "field",
4695 "value" : ["gtpu_ipv4", "version"]
4696 },
4697 {
4698 "type" : "hexstr",
4699 "value" : "0x04"
4700 }
4701 ],
4702 "source_info" : {
4703 "filename" : "include/spgw.p4",
4704 "line" : 186,
4705 "column" : 8,
4706 "source_fragment" : "gtpu_ipv4.version = 4"
4707 }
4708 },
4709 {
4710 "op" : "assign",
4711 "parameters" : [
4712 {
4713 "type" : "field",
4714 "value" : ["gtpu_ipv4", "ihl"]
4715 },
4716 {
4717 "type" : "hexstr",
4718 "value" : "0x05"
4719 }
4720 ],
4721 "source_info" : {
4722 "filename" : "include/control/../define.p4",
4723 "line" : 103,
4724 "column" : 28,
4725 "source_fragment" : "5; ..."
4726 }
4727 },
4728 {
4729 "op" : "assign",
4730 "parameters" : [
4731 {
4732 "type" : "field",
4733 "value" : ["gtpu_ipv4", "dscp"]
4734 },
4735 {
4736 "type" : "hexstr",
4737 "value" : "0x00"
4738 }
4739 ],
4740 "source_info" : {
4741 "filename" : "include/spgw.p4",
4742 "line" : 188,
4743 "column" : 8,
4744 "source_fragment" : "gtpu_ipv4.dscp = 0"
4745 }
4746 },
4747 {
4748 "op" : "assign",
4749 "parameters" : [
4750 {
4751 "type" : "field",
4752 "value" : ["gtpu_ipv4", "ecn"]
4753 },
4754 {
4755 "type" : "hexstr",
4756 "value" : "0x00"
4757 }
4758 ],
4759 "source_info" : {
4760 "filename" : "include/spgw.p4",
4761 "line" : 189,
4762 "column" : 8,
4763 "source_fragment" : "gtpu_ipv4.ecn = 0"
4764 }
4765 },
4766 {
4767 "op" : "assign",
4768 "parameters" : [
4769 {
4770 "type" : "field",
4771 "value" : ["gtpu_ipv4", "total_len"]
4772 },
4773 {
4774 "type" : "expression",
4775 "value" : {
4776 "type" : "expression",
4777 "value" : {
4778 "op" : "&",
4779 "left" : {
4780 "type" : "expression",
4781 "value" : {
4782 "op" : "+",
4783 "left" : {
4784 "type" : "field",
4785 "value" : ["ipv4", "total_len"]
4786 },
4787 "right" : {
4788 "type" : "hexstr",
4789 "value" : "0x0024"
4790 }
4791 }
4792 },
4793 "right" : {
4794 "type" : "hexstr",
4795 "value" : "0xffff"
4796 }
4797 }
4798 }
4799 }
4800 ],
4801 "source_info" : {
4802 "filename" : "include/spgw.p4",
4803 "line" : 190,
4804 "column" : 8,
4805 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
4806 }
4807 },
4808 {
4809 "op" : "assign",
4810 "parameters" : [
4811 {
4812 "type" : "field",
4813 "value" : ["gtpu_ipv4", "identification"]
4814 },
4815 {
4816 "type" : "hexstr",
4817 "value" : "0x1513"
4818 }
4819 ],
4820 "source_info" : {
4821 "filename" : "include/spgw.p4",
4822 "line" : 192,
4823 "column" : 8,
4824 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
4825 }
4826 },
4827 {
4828 "op" : "assign",
4829 "parameters" : [
4830 {
4831 "type" : "field",
4832 "value" : ["gtpu_ipv4", "flags"]
4833 },
4834 {
4835 "type" : "hexstr",
4836 "value" : "0x00"
4837 }
4838 ],
4839 "source_info" : {
4840 "filename" : "include/spgw.p4",
4841 "line" : 193,
4842 "column" : 8,
4843 "source_fragment" : "gtpu_ipv4.flags = 0"
4844 }
4845 },
4846 {
4847 "op" : "assign",
4848 "parameters" : [
4849 {
4850 "type" : "field",
4851 "value" : ["gtpu_ipv4", "frag_offset"]
4852 },
4853 {
4854 "type" : "hexstr",
4855 "value" : "0x0000"
4856 }
4857 ],
4858 "source_info" : {
4859 "filename" : "include/spgw.p4",
4860 "line" : 194,
4861 "column" : 8,
4862 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
4863 }
4864 },
4865 {
4866 "op" : "assign",
4867 "parameters" : [
4868 {
4869 "type" : "field",
4870 "value" : ["gtpu_ipv4", "ttl"]
4871 },
4872 {
4873 "type" : "hexstr",
4874 "value" : "0x40"
4875 }
4876 ],
4877 "source_info" : {
4878 "filename" : "include/control/../define.p4",
4879 "line" : 116,
4880 "column" : 32,
4881 "source_fragment" : "64; ..."
4882 }
4883 },
4884 {
4885 "op" : "assign",
4886 "parameters" : [
4887 {
4888 "type" : "field",
4889 "value" : ["gtpu_ipv4", "protocol"]
4890 },
4891 {
4892 "type" : "hexstr",
4893 "value" : "0x11"
4894 }
4895 ],
4896 "source_info" : {
4897 "filename" : "include/control/../define.p4",
4898 "line" : 100,
4899 "column" : 25,
4900 "source_fragment" : "17; ..."
4901 }
4902 },
4903 {
4904 "op" : "assign",
4905 "parameters" : [
4906 {
4907 "type" : "field",
4908 "value" : ["gtpu_ipv4", "dst_addr"]
4909 },
4910 {
4911 "type" : "field",
4912 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
4913 }
4914 ],
4915 "source_info" : {
4916 "filename" : "include/spgw.p4",
4917 "line" : 197,
4918 "column" : 8,
4919 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
4920 }
4921 },
4922 {
4923 "op" : "assign",
4924 "parameters" : [
4925 {
4926 "type" : "field",
4927 "value" : ["gtpu_ipv4", "src_addr"]
4928 },
4929 {
4930 "type" : "field",
4931 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
4932 }
4933 ],
4934 "source_info" : {
4935 "filename" : "include/spgw.p4",
4936 "line" : 198,
4937 "column" : 8,
4938 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
4939 }
4940 },
4941 {
4942 "op" : "assign",
4943 "parameters" : [
4944 {
4945 "type" : "field",
4946 "value" : ["gtpu_ipv4", "hdr_checksum"]
4947 },
4948 {
4949 "type" : "hexstr",
4950 "value" : "0x0000"
4951 }
4952 ],
4953 "source_info" : {
4954 "filename" : "include/spgw.p4",
4955 "line" : 199,
4956 "column" : 8,
4957 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
4958 }
4959 },
4960 {
4961 "op" : "add_header",
4962 "parameters" : [
4963 {
4964 "type" : "header",
4965 "value" : "gtpu_udp"
4966 }
4967 ],
4968 "source_info" : {
4969 "filename" : "include/spgw.p4",
4970 "line" : 201,
4971 "column" : 8,
4972 "source_fragment" : "gtpu_udp.setValid()"
4973 }
4974 },
4975 {
4976 "op" : "assign",
4977 "parameters" : [
4978 {
4979 "type" : "field",
4980 "value" : ["gtpu_udp", "src_port"]
4981 },
4982 {
4983 "type" : "hexstr",
4984 "value" : "0x0868"
4985 }
4986 ],
4987 "source_info" : {
4988 "filename" : "include/spgw.p4",
4989 "line" : 202,
4990 "column" : 8,
4991 "source_fragment" : "gtpu_udp.src_port = 2152"
4992 }
4993 },
4994 {
4995 "op" : "assign",
4996 "parameters" : [
4997 {
4998 "type" : "field",
4999 "value" : ["gtpu_udp", "dst_port"]
5000 },
5001 {
5002 "type" : "hexstr",
5003 "value" : "0x0868"
5004 }
5005 ],
5006 "source_info" : {
5007 "filename" : "include/spgw.p4",
5008 "line" : 203,
5009 "column" : 8,
5010 "source_fragment" : "gtpu_udp.dst_port = 2152"
5011 }
5012 },
5013 {
5014 "op" : "assign",
5015 "parameters" : [
5016 {
5017 "type" : "field",
5018 "value" : ["gtpu_udp", "len"]
5019 },
5020 {
5021 "type" : "expression",
5022 "value" : {
5023 "type" : "expression",
5024 "value" : {
5025 "op" : "&",
5026 "left" : {
5027 "type" : "expression",
5028 "value" : {
5029 "op" : "+",
5030 "left" : {
5031 "type" : "field",
5032 "value" : ["userMetadata.spgw", "ipv4_len"]
5033 },
5034 "right" : {
5035 "type" : "hexstr",
5036 "value" : "0x0010"
5037 }
5038 }
5039 },
5040 "right" : {
5041 "type" : "hexstr",
5042 "value" : "0xffff"
5043 }
5044 }
5045 }
5046 }
5047 ],
5048 "source_info" : {
5049 "filename" : "include/spgw.p4",
5050 "line" : 204,
5051 "column" : 8,
5052 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5053 }
5054 },
5055 {
5056 "op" : "assign",
5057 "parameters" : [
5058 {
5059 "type" : "field",
5060 "value" : ["gtpu_udp", "checksum"]
5061 },
5062 {
5063 "type" : "hexstr",
5064 "value" : "0x0000"
5065 }
5066 ],
5067 "source_info" : {
5068 "filename" : "include/spgw.p4",
5069 "line" : 206,
5070 "column" : 8,
5071 "source_fragment" : "gtpu_udp.checksum = 0"
5072 }
5073 },
5074 {
5075 "op" : "add_header",
5076 "parameters" : [
5077 {
5078 "type" : "header",
5079 "value" : "gtpu"
5080 }
5081 ],
5082 "source_info" : {
5083 "filename" : "include/spgw.p4",
5084 "line" : 208,
5085 "column" : 8,
5086 "source_fragment" : "gtpu.setValid()"
5087 }
5088 },
5089 {
5090 "op" : "assign",
5091 "parameters" : [
5092 {
5093 "type" : "field",
5094 "value" : ["gtpu", "version"]
5095 },
5096 {
5097 "type" : "hexstr",
5098 "value" : "0x01"
5099 }
5100 ],
5101 "source_info" : {
5102 "filename" : "include/spgw.p4",
5103 "line" : 209,
5104 "column" : 8,
5105 "source_fragment" : "gtpu.version = 0x01"
5106 }
5107 },
5108 {
5109 "op" : "assign",
5110 "parameters" : [
5111 {
5112 "type" : "field",
5113 "value" : ["gtpu", "pt"]
5114 },
5115 {
5116 "type" : "hexstr",
5117 "value" : "0x01"
5118 }
5119 ],
5120 "source_info" : {
5121 "filename" : "include/spgw.p4",
5122 "line" : 210,
5123 "column" : 8,
5124 "source_fragment" : "gtpu.pt = 0x01"
5125 }
5126 },
5127 {
5128 "op" : "assign",
5129 "parameters" : [
5130 {
5131 "type" : "field",
5132 "value" : ["gtpu", "spare"]
5133 },
5134 {
5135 "type" : "hexstr",
5136 "value" : "0x00"
5137 }
5138 ],
5139 "source_info" : {
5140 "filename" : "include/spgw.p4",
5141 "line" : 211,
5142 "column" : 8,
5143 "source_fragment" : "gtpu.spare = 0"
5144 }
5145 },
5146 {
5147 "op" : "assign",
5148 "parameters" : [
5149 {
5150 "type" : "field",
5151 "value" : ["gtpu", "ex_flag"]
5152 },
5153 {
5154 "type" : "hexstr",
5155 "value" : "0x00"
5156 }
5157 ],
5158 "source_info" : {
5159 "filename" : "include/spgw.p4",
5160 "line" : 212,
5161 "column" : 8,
5162 "source_fragment" : "gtpu.ex_flag = 0"
5163 }
5164 },
5165 {
5166 "op" : "assign",
5167 "parameters" : [
5168 {
5169 "type" : "field",
5170 "value" : ["gtpu", "seq_flag"]
5171 },
5172 {
5173 "type" : "hexstr",
5174 "value" : "0x00"
5175 }
5176 ],
5177 "source_info" : {
5178 "filename" : "include/spgw.p4",
5179 "line" : 213,
5180 "column" : 8,
5181 "source_fragment" : "gtpu.seq_flag = 0"
5182 }
5183 },
5184 {
5185 "op" : "assign",
5186 "parameters" : [
5187 {
5188 "type" : "field",
5189 "value" : ["gtpu", "npdu_flag"]
5190 },
5191 {
5192 "type" : "hexstr",
5193 "value" : "0x00"
5194 }
5195 ],
5196 "source_info" : {
5197 "filename" : "include/spgw.p4",
5198 "line" : 214,
5199 "column" : 8,
5200 "source_fragment" : "gtpu.npdu_flag = 0"
5201 }
5202 },
5203 {
5204 "op" : "assign",
5205 "parameters" : [
5206 {
5207 "type" : "field",
5208 "value" : ["gtpu", "msgtype"]
5209 },
5210 {
5211 "type" : "hexstr",
5212 "value" : "0xff"
5213 }
5214 ],
5215 "source_info" : {
5216 "filename" : "include/spgw.p4",
5217 "line" : 215,
5218 "column" : 8,
5219 "source_fragment" : "gtpu.msgtype = 0xff"
5220 }
5221 },
5222 {
5223 "op" : "assign",
5224 "parameters" : [
5225 {
5226 "type" : "field",
5227 "value" : ["gtpu", "msglen"]
5228 },
5229 {
5230 "type" : "field",
5231 "value" : ["userMetadata.spgw", "ipv4_len"]
5232 }
5233 ],
5234 "source_info" : {
5235 "filename" : "include/spgw.p4",
5236 "line" : 216,
5237 "column" : 8,
5238 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5239 }
5240 },
5241 {
5242 "op" : "assign",
5243 "parameters" : [
5244 {
5245 "type" : "field",
5246 "value" : ["gtpu", "teid"]
5247 },
5248 {
5249 "type" : "field",
5250 "value" : ["userMetadata.spgw", "teid"]
5251 }
5252 ],
5253 "source_info" : {
5254 "filename" : "include/spgw.p4",
5255 "line" : 217,
5256 "column" : 8,
5257 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5258 }
5259 }
5260 ]
5261 },
5262 {
5263 "name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
5264 "id" : 77,
5265 "runtime_data" : [
5266 {
5267 "name" : "max_hop",
5268 "bitwidth" : 8
5269 },
5270 {
5271 "name" : "ins_cnt",
5272 "bitwidth" : 5
5273 },
5274 {
5275 "name" : "ins_mask0003",
5276 "bitwidth" : 4
5277 },
5278 {
5279 "name" : "ins_mask0407",
5280 "bitwidth" : 4
5281 }
5282 ],
5283 "primitives" : [
5284 {
5285 "op" : "add_header",
5286 "parameters" : [
5287 {
5288 "type" : "header",
5289 "value" : "intl4_shim"
5290 }
5291 ],
5292 "source_info" : {
5293 "filename" : "include/int/int_source.p4",
5294 "line" : 31,
5295 "column" : 8,
5296 "source_fragment" : "hdr.intl4_shim.setValid()"
5297 }
5298 },
5299 {
5300 "op" : "assign",
5301 "parameters" : [
5302 {
5303 "type" : "field",
5304 "value" : ["intl4_shim", "int_type"]
5305 },
5306 {
5307 "type" : "hexstr",
5308 "value" : "0x01"
5309 }
5310 ],
5311 "source_info" : {
5312 "filename" : "include/int/int_source.p4",
5313 "line" : 33,
5314 "column" : 8,
5315 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5316 }
5317 },
5318 {
5319 "op" : "assign",
5320 "parameters" : [
5321 {
5322 "type" : "field",
5323 "value" : ["intl4_shim", "len_words"]
5324 },
5325 {
5326 "type" : "hexstr",
5327 "value" : "0x04"
5328 }
5329 ],
5330 "source_info" : {
5331 "filename" : "include/control/../define.p4",
5332 "line" : 131,
5333 "column" : 36,
5334 "source_fragment" : "4; ..."
5335 }
5336 },
5337 {
5338 "op" : "add_header",
5339 "parameters" : [
5340 {
5341 "type" : "header",
5342 "value" : "int_header"
5343 }
5344 ],
5345 "source_info" : {
5346 "filename" : "include/int/int_source.p4",
5347 "line" : 36,
5348 "column" : 8,
5349 "source_fragment" : "hdr.int_header.setValid()"
5350 }
5351 },
5352 {
5353 "op" : "assign",
5354 "parameters" : [
5355 {
5356 "type" : "field",
5357 "value" : ["int_header", "ver"]
5358 },
5359 {
5360 "type" : "hexstr",
5361 "value" : "0x00"
5362 }
5363 ],
5364 "source_info" : {
5365 "filename" : "include/int/int_source.p4",
5366 "line" : 37,
5367 "column" : 8,
5368 "source_fragment" : "hdr.int_header.ver = 0"
5369 }
5370 },
5371 {
5372 "op" : "assign",
5373 "parameters" : [
5374 {
5375 "type" : "field",
5376 "value" : ["int_header", "rep"]
5377 },
5378 {
5379 "type" : "hexstr",
5380 "value" : "0x00"
5381 }
5382 ],
5383 "source_info" : {
5384 "filename" : "include/int/int_source.p4",
5385 "line" : 38,
5386 "column" : 8,
5387 "source_fragment" : "hdr.int_header.rep = 0"
5388 }
5389 },
5390 {
5391 "op" : "assign",
5392 "parameters" : [
5393 {
5394 "type" : "field",
5395 "value" : ["int_header", "c"]
5396 },
5397 {
5398 "type" : "hexstr",
5399 "value" : "0x00"
5400 }
5401 ],
5402 "source_info" : {
5403 "filename" : "include/int/int_source.p4",
5404 "line" : 39,
5405 "column" : 8,
5406 "source_fragment" : "hdr.int_header.c = 0"
5407 }
5408 },
5409 {
5410 "op" : "assign",
5411 "parameters" : [
5412 {
5413 "type" : "field",
5414 "value" : ["int_header", "e"]
5415 },
5416 {
5417 "type" : "hexstr",
5418 "value" : "0x00"
5419 }
5420 ],
5421 "source_info" : {
5422 "filename" : "include/int/int_source.p4",
5423 "line" : 40,
5424 "column" : 8,
5425 "source_fragment" : "hdr.int_header.e = 0"
5426 }
5427 },
5428 {
5429 "op" : "assign",
5430 "parameters" : [
5431 {
5432 "type" : "field",
5433 "value" : ["int_header", "rsvd1"]
5434 },
5435 {
5436 "type" : "hexstr",
5437 "value" : "0x00"
5438 }
5439 ],
5440 "source_info" : {
5441 "filename" : "include/int/int_source.p4",
5442 "line" : 41,
5443 "column" : 8,
5444 "source_fragment" : "hdr.int_header.rsvd1 = 0"
5445 }
5446 },
5447 {
5448 "op" : "assign",
5449 "parameters" : [
5450 {
5451 "type" : "field",
5452 "value" : ["int_header", "ins_cnt"]
5453 },
5454 {
5455 "type" : "runtime_data",
5456 "value" : 1
5457 }
5458 ],
5459 "source_info" : {
5460 "filename" : "include/int/int_source.p4",
5461 "line" : 42,
5462 "column" : 8,
5463 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
5464 }
5465 },
5466 {
5467 "op" : "assign",
5468 "parameters" : [
5469 {
5470 "type" : "field",
5471 "value" : ["int_header", "max_hop_cnt"]
5472 },
5473 {
5474 "type" : "runtime_data",
5475 "value" : 0
5476 }
5477 ],
5478 "source_info" : {
5479 "filename" : "include/int/int_source.p4",
5480 "line" : 43,
5481 "column" : 8,
5482 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
5483 }
5484 },
5485 {
5486 "op" : "assign",
5487 "parameters" : [
5488 {
5489 "type" : "field",
5490 "value" : ["int_header", "total_hop_cnt"]
5491 },
5492 {
5493 "type" : "hexstr",
5494 "value" : "0x00"
5495 }
5496 ],
5497 "source_info" : {
5498 "filename" : "include/int/int_source.p4",
5499 "line" : 44,
5500 "column" : 8,
5501 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
5502 }
5503 },
5504 {
5505 "op" : "assign",
5506 "parameters" : [
5507 {
5508 "type" : "field",
5509 "value" : ["int_header", "instruction_mask_0003"]
5510 },
5511 {
5512 "type" : "runtime_data",
5513 "value" : 2
5514 }
5515 ],
5516 "source_info" : {
5517 "filename" : "include/int/int_source.p4",
5518 "line" : 45,
5519 "column" : 8,
5520 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
5521 }
5522 },
5523 {
5524 "op" : "assign",
5525 "parameters" : [
5526 {
5527 "type" : "field",
5528 "value" : ["int_header", "instruction_mask_0407"]
5529 },
5530 {
5531 "type" : "runtime_data",
5532 "value" : 3
5533 }
5534 ],
5535 "source_info" : {
5536 "filename" : "include/int/int_source.p4",
5537 "line" : 46,
5538 "column" : 8,
5539 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
5540 }
5541 },
5542 {
5543 "op" : "assign",
5544 "parameters" : [
5545 {
5546 "type" : "field",
5547 "value" : ["int_header", "instruction_mask_0811"]
5548 },
5549 {
5550 "type" : "hexstr",
5551 "value" : "0x00"
5552 }
5553 ],
5554 "source_info" : {
5555 "filename" : "include/int/int_source.p4",
5556 "line" : 47,
5557 "column" : 8,
5558 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
5559 }
5560 },
5561 {
5562 "op" : "assign",
5563 "parameters" : [
5564 {
5565 "type" : "field",
5566 "value" : ["int_header", "instruction_mask_1215"]
5567 },
5568 {
5569 "type" : "hexstr",
5570 "value" : "0x00"
5571 }
5572 ],
5573 "source_info" : {
5574 "filename" : "include/int/int_source.p4",
5575 "line" : 48,
5576 "column" : 8,
5577 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
5578 }
5579 },
5580 {
5581 "op" : "add_header",
5582 "parameters" : [
5583 {
5584 "type" : "header",
5585 "value" : "intl4_tail"
5586 }
5587 ],
5588 "source_info" : {
5589 "filename" : "include/int/int_source.p4",
5590 "line" : 50,
5591 "column" : 8,
5592 "source_fragment" : "hdr.intl4_tail.setValid()"
5593 }
5594 },
5595 {
5596 "op" : "assign",
5597 "parameters" : [
5598 {
5599 "type" : "field",
5600 "value" : ["intl4_tail", "next_proto"]
5601 },
5602 {
5603 "type" : "field",
5604 "value" : ["ipv4", "protocol"]
5605 }
5606 ],
5607 "source_info" : {
5608 "filename" : "include/int/int_source.p4",
5609 "line" : 51,
5610 "column" : 8,
5611 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
5612 }
5613 },
5614 {
5615 "op" : "assign",
5616 "parameters" : [
5617 {
5618 "type" : "field",
5619 "value" : ["intl4_tail", "dest_port"]
5620 },
5621 {
5622 "type" : "field",
5623 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
5624 }
5625 ],
5626 "source_info" : {
5627 "filename" : "include/int/int_source.p4",
5628 "line" : 52,
5629 "column" : 8,
5630 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
5631 }
5632 },
5633 {
5634 "op" : "assign",
5635 "parameters" : [
5636 {
5637 "type" : "field",
5638 "value" : ["intl4_tail", "dscp"]
5639 },
5640 {
5641 "type" : "field",
5642 "value" : ["ipv4", "dscp"]
5643 }
5644 ],
5645 "source_info" : {
5646 "filename" : "include/int/int_source.p4",
5647 "line" : 53,
5648 "column" : 8,
5649 "source_fragment" : "hdr.intl4_tail.dscp = hdr.ipv4.dscp"
5650 }
5651 },
5652 {
5653 "op" : "assign",
5654 "parameters" : [
5655 {
5656 "type" : "field",
5657 "value" : ["ipv4", "total_len"]
5658 },
5659 {
5660 "type" : "expression",
5661 "value" : {
5662 "type" : "expression",
5663 "value" : {
5664 "op" : "&",
5665 "left" : {
5666 "type" : "expression",
5667 "value" : {
5668 "op" : "+",
5669 "left" : {
5670 "type" : "field",
5671 "value" : ["ipv4", "total_len"]
5672 },
5673 "right" : {
5674 "type" : "hexstr",
5675 "value" : "0x0010"
5676 }
5677 }
5678 },
5679 "right" : {
5680 "type" : "hexstr",
5681 "value" : "0xffff"
5682 }
5683 }
5684 }
5685 }
5686 ],
5687 "source_info" : {
5688 "filename" : "include/int/int_source.p4",
5689 "line" : 55,
5690 "column" : 8,
5691 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + INT_HEADER_LEN_BYTES"
5692 }
5693 },
5694 {
5695 "op" : "assign",
5696 "parameters" : [
5697 {
5698 "type" : "field",
5699 "value" : ["udp", "len"]
5700 },
5701 {
5702 "type" : "expression",
5703 "value" : {
5704 "type" : "expression",
5705 "value" : {
5706 "op" : "&",
5707 "left" : {
5708 "type" : "expression",
5709 "value" : {
5710 "op" : "+",
5711 "left" : {
5712 "type" : "field",
5713 "value" : ["udp", "len"]
5714 },
5715 "right" : {
5716 "type" : "hexstr",
5717 "value" : "0x0010"
5718 }
5719 }
5720 },
5721 "right" : {
5722 "type" : "hexstr",
5723 "value" : "0xffff"
5724 }
5725 }
5726 }
5727 }
5728 ],
5729 "source_info" : {
5730 "filename" : "include/int/int_source.p4",
5731 "line" : 56,
5732 "column" : 8,
5733 "source_fragment" : "hdr.udp.len = hdr.udp.len + INT_HEADER_LEN_BYTES"
5734 }
5735 },
5736 {
5737 "op" : "assign",
5738 "parameters" : [
5739 {
5740 "type" : "field",
5741 "value" : ["ipv4", "dscp"]
5742 },
5743 {
5744 "type" : "hexstr",
5745 "value" : "0x01"
5746 }
5747 ],
5748 "source_info" : {
5749 "filename" : "include/control/../define.p4",
5750 "line" : 127,
5751 "column" : 24,
5752 "source_fragment" : "0x1; ..."
5753 }
5754 }
5755 ]
5756 },
5757 {
5758 "name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
5759 "id" : 78,
5760 "runtime_data" : [
5761 {
5762 "name" : "switch_id",
5763 "bitwidth" : 32
5764 }
5765 ],
5766 "primitives" : [
5767 {
5768 "op" : "assign",
5769 "parameters" : [
5770 {
5771 "type" : "field",
5772 "value" : ["userMetadata.int_meta", "transit"]
5773 },
5774 {
5775 "type" : "expression",
5776 "value" : {
5777 "type" : "expression",
5778 "value" : {
5779 "op" : "b2d",
5780 "left" : null,
5781 "right" : {
5782 "type" : "bool",
5783 "value" : true
5784 }
5785 }
5786 }
5787 }
5788 ],
5789 "source_info" : {
5790 "filename" : "include/int/int_transit.p4",
5791 "line" : 26,
5792 "column" : 8,
5793 "source_fragment" : "fmeta.int_meta.transit = true"
5794 }
5795 },
5796 {
5797 "op" : "assign",
5798 "parameters" : [
5799 {
5800 "type" : "field",
5801 "value" : ["userMetadata.int_meta", "switch_id"]
5802 },
5803 {
5804 "type" : "runtime_data",
5805 "value" : 0
5806 }
5807 ],
5808 "source_info" : {
5809 "filename" : "include/int/int_transit.p4",
5810 "line" : 31,
5811 "column" : 8,
5812 "source_fragment" : "fmeta.int_meta.switch_id = switch_id"
5813 }
5814 }
5815 ]
5816 },
5817 {
5818 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
5819 "id" : 79,
5820 "runtime_data" : [],
5821 "primitives" : []
5822 },
5823 {
5824 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
5825 "id" : 80,
5826 "runtime_data" : [],
5827 "primitives" : [
5828 {
5829 "op" : "add_header",
5830 "parameters" : [
5831 {
5832 "type" : "header",
5833 "value" : "int_q_occupancy"
5834 }
5835 ],
5836 "source_info" : {
5837 "filename" : "include/int/int_transit.p4",
5838 "line" : 56,
5839 "column" : 8,
5840 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5841 }
5842 },
5843 {
5844 "op" : "assign",
5845 "parameters" : [
5846 {
5847 "type" : "field",
5848 "value" : ["int_q_occupancy", "q_id"]
5849 },
5850 {
5851 "type" : "hexstr",
5852 "value" : "0x00"
5853 }
5854 ],
5855 "source_info" : {
5856 "filename" : "include/int/int_transit.p4",
5857 "line" : 58,
5858 "column" : 8,
5859 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
5860 }
5861 },
5862 {
5863 "op" : "assign",
5864 "parameters" : [
5865 {
5866 "type" : "field",
5867 "value" : ["int_q_occupancy", "q_occupancy"]
5868 },
5869 {
5870 "type" : "expression",
5871 "value" : {
5872 "type" : "expression",
5873 "value" : {
5874 "op" : "&",
5875 "left" : {
5876 "type" : "field",
5877 "value" : ["standard_metadata", "deq_qdepth"]
5878 },
5879 "right" : {
5880 "type" : "hexstr",
5881 "value" : "0xffffff"
5882 }
5883 }
5884 }
5885 }
5886 ],
5887 "source_info" : {
5888 "filename" : "include/int/int_transit.p4",
5889 "line" : 59,
5890 "column" : 8,
5891 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
5892 }
5893 },
5894 {
5895 "op" : "assign",
5896 "parameters" : [
5897 {
5898 "type" : "field",
5899 "value" : ["userMetadata.int_meta", "new_words"]
5900 },
5901 {
5902 "type" : "expression",
5903 "value" : {
5904 "type" : "expression",
5905 "value" : {
5906 "op" : "&",
5907 "left" : {
5908 "type" : "expression",
5909 "value" : {
5910 "op" : "+",
5911 "left" : {
5912 "type" : "field",
5913 "value" : ["userMetadata.int_meta", "new_words"]
5914 },
5915 "right" : {
5916 "type" : "hexstr",
5917 "value" : "0x01"
5918 }
5919 }
5920 },
5921 "right" : {
5922 "type" : "hexstr",
5923 "value" : "0xff"
5924 }
5925 }
5926 }
5927 }
5928 ],
5929 "source_info" : {
5930 "filename" : "include/int/int_transit.p4",
5931 "line" : 88,
5932 "column" : 8,
5933 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
5934 }
5935 },
5936 {
5937 "op" : "assign",
5938 "parameters" : [
5939 {
5940 "type" : "field",
5941 "value" : ["userMetadata.int_meta", "new_bytes"]
5942 },
5943 {
5944 "type" : "expression",
5945 "value" : {
5946 "type" : "expression",
5947 "value" : {
5948 "op" : "&",
5949 "left" : {
5950 "type" : "expression",
5951 "value" : {
5952 "op" : "+",
5953 "left" : {
5954 "type" : "field",
5955 "value" : ["userMetadata.int_meta", "new_bytes"]
5956 },
5957 "right" : {
5958 "type" : "hexstr",
5959 "value" : "0x0004"
5960 }
5961 }
5962 },
5963 "right" : {
5964 "type" : "hexstr",
5965 "value" : "0xffff"
5966 }
5967 }
5968 }
5969 }
5970 ],
5971 "source_info" : {
5972 "filename" : "include/int/int_transit.p4",
5973 "line" : 89,
5974 "column" : 8,
5975 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
5976 }
5977 }
5978 ]
5979 },
5980 {
5981 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
5982 "id" : 81,
5983 "runtime_data" : [],
5984 "primitives" : [
5985 {
5986 "op" : "add_header",
5987 "parameters" : [
5988 {
5989 "type" : "header",
5990 "value" : "int_hop_latency"
5991 }
5992 ],
5993 "source_info" : {
5994 "filename" : "include/int/int_transit.p4",
5995 "line" : 51,
5996 "column" : 8,
5997 "source_fragment" : "hdr.int_hop_latency.setValid()"
5998 }
5999 },
6000 {
6001 "op" : "assign",
6002 "parameters" : [
6003 {
6004 "type" : "field",
6005 "value" : ["int_hop_latency", "hop_latency"]
6006 },
6007 {
6008 "type" : "field",
6009 "value" : ["standard_metadata", "deq_timedelta"]
6010 }
6011 ],
6012 "source_info" : {
6013 "filename" : "include/int/int_transit.p4",
6014 "line" : 52,
6015 "column" : 8,
6016 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
6017 }
6018 },
6019 {
6020 "op" : "assign",
6021 "parameters" : [
6022 {
6023 "type" : "field",
6024 "value" : ["userMetadata.int_meta", "new_words"]
6025 },
6026 {
6027 "type" : "expression",
6028 "value" : {
6029 "type" : "expression",
6030 "value" : {
6031 "op" : "&",
6032 "left" : {
6033 "type" : "expression",
6034 "value" : {
6035 "op" : "+",
6036 "left" : {
6037 "type" : "field",
6038 "value" : ["userMetadata.int_meta", "new_words"]
6039 },
6040 "right" : {
6041 "type" : "hexstr",
6042 "value" : "0x01"
6043 }
6044 }
6045 },
6046 "right" : {
6047 "type" : "hexstr",
6048 "value" : "0xff"
6049 }
6050 }
6051 }
6052 }
6053 ],
6054 "source_info" : {
6055 "filename" : "include/int/int_transit.p4",
6056 "line" : 88,
6057 "column" : 8,
6058 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
6059 }
6060 },
6061 {
6062 "op" : "assign",
6063 "parameters" : [
6064 {
6065 "type" : "field",
6066 "value" : ["userMetadata.int_meta", "new_bytes"]
6067 },
6068 {
6069 "type" : "expression",
6070 "value" : {
6071 "type" : "expression",
6072 "value" : {
6073 "op" : "&",
6074 "left" : {
6075 "type" : "expression",
6076 "value" : {
6077 "op" : "+",
6078 "left" : {
6079 "type" : "field",
6080 "value" : ["userMetadata.int_meta", "new_bytes"]
6081 },
6082 "right" : {
6083 "type" : "hexstr",
6084 "value" : "0x0004"
6085 }
6086 }
6087 },
6088 "right" : {
6089 "type" : "hexstr",
6090 "value" : "0xffff"
6091 }
6092 }
6093 }
6094 }
6095 ],
6096 "source_info" : {
6097 "filename" : "include/int/int_transit.p4",
6098 "line" : 89,
6099 "column" : 8,
6100 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
6101 }
6102 }
6103 ]
6104 },
6105 {
6106 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
6107 "id" : 82,
6108 "runtime_data" : [],
6109 "primitives" : [
6110 {
6111 "op" : "add_header",
6112 "parameters" : [
6113 {
6114 "type" : "header",
6115 "value" : "int_q_occupancy"
6116 }
6117 ],
6118 "source_info" : {
6119 "filename" : "include/int/int_transit.p4",
6120 "line" : 56,
6121 "column" : 8,
6122 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6123 }
6124 },
6125 {
6126 "op" : "assign",
6127 "parameters" : [
6128 {
6129 "type" : "field",
6130 "value" : ["int_q_occupancy", "q_id"]
6131 },
6132 {
6133 "type" : "hexstr",
6134 "value" : "0x00"
6135 }
6136 ],
6137 "source_info" : {
6138 "filename" : "include/int/int_transit.p4",
6139 "line" : 58,
6140 "column" : 8,
6141 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
6142 }
6143 },
6144 {
6145 "op" : "assign",
6146 "parameters" : [
6147 {
6148 "type" : "field",
6149 "value" : ["int_q_occupancy", "q_occupancy"]
6150 },
6151 {
6152 "type" : "expression",
6153 "value" : {
6154 "type" : "expression",
6155 "value" : {
6156 "op" : "&",
6157 "left" : {
6158 "type" : "field",
6159 "value" : ["standard_metadata", "deq_qdepth"]
6160 },
6161 "right" : {
6162 "type" : "hexstr",
6163 "value" : "0xffffff"
6164 }
6165 }
6166 }
6167 }
6168 ],
6169 "source_info" : {
6170 "filename" : "include/int/int_transit.p4",
6171 "line" : 59,
6172 "column" : 8,
6173 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
6174 }
6175 },
6176 {
6177 "op" : "add_header",
6178 "parameters" : [
6179 {
6180 "type" : "header",
6181 "value" : "int_hop_latency"
6182 }
6183 ],
6184 "source_info" : {
6185 "filename" : "include/int/int_transit.p4",
6186 "line" : 51,
6187 "column" : 8,
6188 "source_fragment" : "hdr.int_hop_latency.setValid()"
6189 }
6190 },
6191 {
6192 "op" : "assign",
6193 "parameters" : [
6194 {
6195 "type" : "field",
6196 "value" : ["int_hop_latency", "hop_latency"]
6197 },
6198 {
6199 "type" : "field",
6200 "value" : ["standard_metadata", "deq_timedelta"]
6201 }
6202 ],
6203 "source_info" : {
6204 "filename" : "include/int/int_transit.p4",
6205 "line" : 52,
6206 "column" : 8,
6207 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
6208 }
6209 },
6210 {
6211 "op" : "assign",
6212 "parameters" : [
6213 {
6214 "type" : "field",
6215 "value" : ["userMetadata.int_meta", "new_words"]
6216 },
6217 {
6218 "type" : "expression",
6219 "value" : {
6220 "type" : "expression",
6221 "value" : {
6222 "op" : "&",
6223 "left" : {
6224 "type" : "expression",
6225 "value" : {
6226 "op" : "+",
6227 "left" : {
6228 "type" : "field",
6229 "value" : ["userMetadata.int_meta", "new_words"]
6230 },
6231 "right" : {
6232 "type" : "hexstr",
6233 "value" : "0x02"
6234 }
6235 }
6236 },
6237 "right" : {
6238 "type" : "hexstr",
6239 "value" : "0xff"
6240 }
6241 }
6242 }
6243 }
6244 ],
6245 "source_info" : {
6246 "filename" : "include/int/int_transit.p4",
6247 "line" : 93,
6248 "column" : 8,
6249 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
6250 }
6251 },
6252 {
6253 "op" : "assign",
6254 "parameters" : [
6255 {
6256 "type" : "field",
6257 "value" : ["userMetadata.int_meta", "new_bytes"]
6258 },
6259 {
6260 "type" : "expression",
6261 "value" : {
6262 "type" : "expression",
6263 "value" : {
6264 "op" : "&",
6265 "left" : {
6266 "type" : "expression",
6267 "value" : {
6268 "op" : "+",
6269 "left" : {
6270 "type" : "field",
6271 "value" : ["userMetadata.int_meta", "new_bytes"]
6272 },
6273 "right" : {
6274 "type" : "hexstr",
6275 "value" : "0x0008"
6276 }
6277 }
6278 },
6279 "right" : {
6280 "type" : "hexstr",
6281 "value" : "0xffff"
6282 }
6283 }
6284 }
6285 }
6286 ],
6287 "source_info" : {
6288 "filename" : "include/int/int_transit.p4",
6289 "line" : 94,
6290 "column" : 8,
6291 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
6292 }
6293 }
6294 ]
6295 },
6296 {
6297 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
6298 "id" : 83,
6299 "runtime_data" : [],
6300 "primitives" : [
6301 {
6302 "op" : "add_header",
6303 "parameters" : [
6304 {
6305 "type" : "header",
6306 "value" : "int_port_ids"
6307 }
6308 ],
6309 "source_info" : {
6310 "filename" : "include/int/int_transit.p4",
6311 "line" : 45,
6312 "column" : 8,
6313 "source_fragment" : "hdr.int_port_ids.setValid()"
6314 }
6315 },
6316 {
6317 "op" : "assign",
6318 "parameters" : [
6319 {
6320 "type" : "field",
6321 "value" : ["int_port_ids", "ingress_port_id"]
6322 },
6323 {
6324 "type" : "expression",
6325 "value" : {
6326 "type" : "expression",
6327 "value" : {
6328 "op" : "&",
6329 "left" : {
6330 "type" : "field",
6331 "value" : ["standard_metadata", "ingress_port"]
6332 },
6333 "right" : {
6334 "type" : "hexstr",
6335 "value" : "0xffff"
6336 }
6337 }
6338 }
6339 }
6340 ],
6341 "source_info" : {
6342 "filename" : "include/int/int_transit.p4",
6343 "line" : 46,
6344 "column" : 8,
6345 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
6346 }
6347 },
6348 {
6349 "op" : "assign",
6350 "parameters" : [
6351 {
6352 "type" : "field",
6353 "value" : ["int_port_ids", "egress_port_id"]
6354 },
6355 {
6356 "type" : "expression",
6357 "value" : {
6358 "type" : "expression",
6359 "value" : {
6360 "op" : "&",
6361 "left" : {
6362 "type" : "field",
6363 "value" : ["standard_metadata", "egress_port"]
6364 },
6365 "right" : {
6366 "type" : "hexstr",
6367 "value" : "0xffff"
6368 }
6369 }
6370 }
6371 }
6372 ],
6373 "source_info" : {
6374 "filename" : "include/int/int_transit.p4",
6375 "line" : 47,
6376 "column" : 8,
6377 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
6378 }
6379 },
6380 {
6381 "op" : "assign",
6382 "parameters" : [
6383 {
6384 "type" : "field",
6385 "value" : ["userMetadata.int_meta", "new_words"]
6386 },
6387 {
6388 "type" : "expression",
6389 "value" : {
6390 "type" : "expression",
6391 "value" : {
6392 "op" : "&",
6393 "left" : {
6394 "type" : "expression",
6395 "value" : {
6396 "op" : "+",
6397 "left" : {
6398 "type" : "field",
6399 "value" : ["userMetadata.int_meta", "new_words"]
6400 },
6401 "right" : {
6402 "type" : "hexstr",
6403 "value" : "0x01"
6404 }
6405 }
6406 },
6407 "right" : {
6408 "type" : "hexstr",
6409 "value" : "0xff"
6410 }
6411 }
6412 }
6413 }
6414 ],
6415 "source_info" : {
6416 "filename" : "include/int/int_transit.p4",
6417 "line" : 88,
6418 "column" : 8,
6419 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
6420 }
6421 },
6422 {
6423 "op" : "assign",
6424 "parameters" : [
6425 {
6426 "type" : "field",
6427 "value" : ["userMetadata.int_meta", "new_bytes"]
6428 },
6429 {
6430 "type" : "expression",
6431 "value" : {
6432 "type" : "expression",
6433 "value" : {
6434 "op" : "&",
6435 "left" : {
6436 "type" : "expression",
6437 "value" : {
6438 "op" : "+",
6439 "left" : {
6440 "type" : "field",
6441 "value" : ["userMetadata.int_meta", "new_bytes"]
6442 },
6443 "right" : {
6444 "type" : "hexstr",
6445 "value" : "0x0004"
6446 }
6447 }
6448 },
6449 "right" : {
6450 "type" : "hexstr",
6451 "value" : "0xffff"
6452 }
6453 }
6454 }
6455 }
6456 ],
6457 "source_info" : {
6458 "filename" : "include/int/int_transit.p4",
6459 "line" : 89,
6460 "column" : 8,
6461 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
6462 }
6463 }
6464 ]
6465 },
6466 {
6467 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
6468 "id" : 84,
6469 "runtime_data" : [],
6470 "primitives" : [
6471 {
6472 "op" : "add_header",
6473 "parameters" : [
6474 {
6475 "type" : "header",
6476 "value" : "int_q_occupancy"
6477 }
6478 ],
6479 "source_info" : {
6480 "filename" : "include/int/int_transit.p4",
6481 "line" : 56,
6482 "column" : 8,
6483 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6484 }
6485 },
6486 {
6487 "op" : "assign",
6488 "parameters" : [
6489 {
6490 "type" : "field",
6491 "value" : ["int_q_occupancy", "q_id"]
6492 },
6493 {
6494 "type" : "hexstr",
6495 "value" : "0x00"
6496 }
6497 ],
6498 "source_info" : {
6499 "filename" : "include/int/int_transit.p4",
6500 "line" : 58,
6501 "column" : 8,
6502 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
6503 }
6504 },
6505 {
6506 "op" : "assign",
6507 "parameters" : [
6508 {
6509 "type" : "field",
6510 "value" : ["int_q_occupancy", "q_occupancy"]
6511 },
6512 {
6513 "type" : "expression",
6514 "value" : {
6515 "type" : "expression",
6516 "value" : {
6517 "op" : "&",
6518 "left" : {
6519 "type" : "field",
6520 "value" : ["standard_metadata", "deq_qdepth"]
6521 },
6522 "right" : {
6523 "type" : "hexstr",
6524 "value" : "0xffffff"
6525 }
6526 }
6527 }
6528 }
6529 ],
6530 "source_info" : {
6531 "filename" : "include/int/int_transit.p4",
6532 "line" : 59,
6533 "column" : 8,
6534 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
6535 }
6536 },
6537 {
6538 "op" : "add_header",
6539 "parameters" : [
6540 {
6541 "type" : "header",
6542 "value" : "int_port_ids"
6543 }
6544 ],
6545 "source_info" : {
6546 "filename" : "include/int/int_transit.p4",
6547 "line" : 45,
6548 "column" : 8,
6549 "source_fragment" : "hdr.int_port_ids.setValid()"
6550 }
6551 },
6552 {
6553 "op" : "assign",
6554 "parameters" : [
6555 {
6556 "type" : "field",
6557 "value" : ["int_port_ids", "ingress_port_id"]
6558 },
6559 {
6560 "type" : "expression",
6561 "value" : {
6562 "type" : "expression",
6563 "value" : {
6564 "op" : "&",
6565 "left" : {
6566 "type" : "field",
6567 "value" : ["standard_metadata", "ingress_port"]
6568 },
6569 "right" : {
6570 "type" : "hexstr",
6571 "value" : "0xffff"
6572 }
6573 }
6574 }
6575 }
6576 ],
6577 "source_info" : {
6578 "filename" : "include/int/int_transit.p4",
6579 "line" : 46,
6580 "column" : 8,
6581 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
6582 }
6583 },
6584 {
6585 "op" : "assign",
6586 "parameters" : [
6587 {
6588 "type" : "field",
6589 "value" : ["int_port_ids", "egress_port_id"]
6590 },
6591 {
6592 "type" : "expression",
6593 "value" : {
6594 "type" : "expression",
6595 "value" : {
6596 "op" : "&",
6597 "left" : {
6598 "type" : "field",
6599 "value" : ["standard_metadata", "egress_port"]
6600 },
6601 "right" : {
6602 "type" : "hexstr",
6603 "value" : "0xffff"
6604 }
6605 }
6606 }
6607 }
6608 ],
6609 "source_info" : {
6610 "filename" : "include/int/int_transit.p4",
6611 "line" : 47,
6612 "column" : 8,
6613 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
6614 }
6615 },
6616 {
6617 "op" : "assign",
6618 "parameters" : [
6619 {
6620 "type" : "field",
6621 "value" : ["userMetadata.int_meta", "new_words"]
6622 },
6623 {
6624 "type" : "expression",
6625 "value" : {
6626 "type" : "expression",
6627 "value" : {
6628 "op" : "&",
6629 "left" : {
6630 "type" : "expression",
6631 "value" : {
6632 "op" : "+",
6633 "left" : {
6634 "type" : "field",
6635 "value" : ["userMetadata.int_meta", "new_words"]
6636 },
6637 "right" : {
6638 "type" : "hexstr",
6639 "value" : "0x02"
6640 }
6641 }
6642 },
6643 "right" : {
6644 "type" : "hexstr",
6645 "value" : "0xff"
6646 }
6647 }
6648 }
6649 }
6650 ],
6651 "source_info" : {
6652 "filename" : "include/int/int_transit.p4",
6653 "line" : 93,
6654 "column" : 8,
6655 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
6656 }
6657 },
6658 {
6659 "op" : "assign",
6660 "parameters" : [
6661 {
6662 "type" : "field",
6663 "value" : ["userMetadata.int_meta", "new_bytes"]
6664 },
6665 {
6666 "type" : "expression",
6667 "value" : {
6668 "type" : "expression",
6669 "value" : {
6670 "op" : "&",
6671 "left" : {
6672 "type" : "expression",
6673 "value" : {
6674 "op" : "+",
6675 "left" : {
6676 "type" : "field",
6677 "value" : ["userMetadata.int_meta", "new_bytes"]
6678 },
6679 "right" : {
6680 "type" : "hexstr",
6681 "value" : "0x0008"
6682 }
6683 }
6684 },
6685 "right" : {
6686 "type" : "hexstr",
6687 "value" : "0xffff"
6688 }
6689 }
6690 }
6691 }
6692 ],
6693 "source_info" : {
6694 "filename" : "include/int/int_transit.p4",
6695 "line" : 94,
6696 "column" : 8,
6697 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
6698 }
6699 }
6700 ]
6701 },
6702 {
6703 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
6704 "id" : 85,
6705 "runtime_data" : [],
6706 "primitives" : [
6707 {
6708 "op" : "add_header",
6709 "parameters" : [
6710 {
6711 "type" : "header",
6712 "value" : "int_hop_latency"
6713 }
6714 ],
6715 "source_info" : {
6716 "filename" : "include/int/int_transit.p4",
6717 "line" : 51,
6718 "column" : 8,
6719 "source_fragment" : "hdr.int_hop_latency.setValid()"
6720 }
6721 },
6722 {
6723 "op" : "assign",
6724 "parameters" : [
6725 {
6726 "type" : "field",
6727 "value" : ["int_hop_latency", "hop_latency"]
6728 },
6729 {
6730 "type" : "field",
6731 "value" : ["standard_metadata", "deq_timedelta"]
6732 }
6733 ],
6734 "source_info" : {
6735 "filename" : "include/int/int_transit.p4",
6736 "line" : 52,
6737 "column" : 8,
6738 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
6739 }
6740 },
6741 {
6742 "op" : "add_header",
6743 "parameters" : [
6744 {
6745 "type" : "header",
6746 "value" : "int_port_ids"
6747 }
6748 ],
6749 "source_info" : {
6750 "filename" : "include/int/int_transit.p4",
6751 "line" : 45,
6752 "column" : 8,
6753 "source_fragment" : "hdr.int_port_ids.setValid()"
6754 }
6755 },
6756 {
6757 "op" : "assign",
6758 "parameters" : [
6759 {
6760 "type" : "field",
6761 "value" : ["int_port_ids", "ingress_port_id"]
6762 },
6763 {
6764 "type" : "expression",
6765 "value" : {
6766 "type" : "expression",
6767 "value" : {
6768 "op" : "&",
6769 "left" : {
6770 "type" : "field",
6771 "value" : ["standard_metadata", "ingress_port"]
6772 },
6773 "right" : {
6774 "type" : "hexstr",
6775 "value" : "0xffff"
6776 }
6777 }
6778 }
6779 }
6780 ],
6781 "source_info" : {
6782 "filename" : "include/int/int_transit.p4",
6783 "line" : 46,
6784 "column" : 8,
6785 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
6786 }
6787 },
6788 {
6789 "op" : "assign",
6790 "parameters" : [
6791 {
6792 "type" : "field",
6793 "value" : ["int_port_ids", "egress_port_id"]
6794 },
6795 {
6796 "type" : "expression",
6797 "value" : {
6798 "type" : "expression",
6799 "value" : {
6800 "op" : "&",
6801 "left" : {
6802 "type" : "field",
6803 "value" : ["standard_metadata", "egress_port"]
6804 },
6805 "right" : {
6806 "type" : "hexstr",
6807 "value" : "0xffff"
6808 }
6809 }
6810 }
6811 }
6812 ],
6813 "source_info" : {
6814 "filename" : "include/int/int_transit.p4",
6815 "line" : 47,
6816 "column" : 8,
6817 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
6818 }
6819 },
6820 {
6821 "op" : "assign",
6822 "parameters" : [
6823 {
6824 "type" : "field",
6825 "value" : ["userMetadata.int_meta", "new_words"]
6826 },
6827 {
6828 "type" : "expression",
6829 "value" : {
6830 "type" : "expression",
6831 "value" : {
6832 "op" : "&",
6833 "left" : {
6834 "type" : "expression",
6835 "value" : {
6836 "op" : "+",
6837 "left" : {
6838 "type" : "field",
6839 "value" : ["userMetadata.int_meta", "new_words"]
6840 },
6841 "right" : {
6842 "type" : "hexstr",
6843 "value" : "0x02"
6844 }
6845 }
6846 },
6847 "right" : {
6848 "type" : "hexstr",
6849 "value" : "0xff"
6850 }
6851 }
6852 }
6853 }
6854 ],
6855 "source_info" : {
6856 "filename" : "include/int/int_transit.p4",
6857 "line" : 93,
6858 "column" : 8,
6859 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
6860 }
6861 },
6862 {
6863 "op" : "assign",
6864 "parameters" : [
6865 {
6866 "type" : "field",
6867 "value" : ["userMetadata.int_meta", "new_bytes"]
6868 },
6869 {
6870 "type" : "expression",
6871 "value" : {
6872 "type" : "expression",
6873 "value" : {
6874 "op" : "&",
6875 "left" : {
6876 "type" : "expression",
6877 "value" : {
6878 "op" : "+",
6879 "left" : {
6880 "type" : "field",
6881 "value" : ["userMetadata.int_meta", "new_bytes"]
6882 },
6883 "right" : {
6884 "type" : "hexstr",
6885 "value" : "0x0008"
6886 }
6887 }
6888 },
6889 "right" : {
6890 "type" : "hexstr",
6891 "value" : "0xffff"
6892 }
6893 }
6894 }
6895 }
6896 ],
6897 "source_info" : {
6898 "filename" : "include/int/int_transit.p4",
6899 "line" : 94,
6900 "column" : 8,
6901 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
6902 }
6903 }
6904 ]
6905 },
6906 {
6907 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
6908 "id" : 86,
6909 "runtime_data" : [],
6910 "primitives" : [
6911 {
6912 "op" : "add_header",
6913 "parameters" : [
6914 {
6915 "type" : "header",
6916 "value" : "int_q_occupancy"
6917 }
6918 ],
6919 "source_info" : {
6920 "filename" : "include/int/int_transit.p4",
6921 "line" : 56,
6922 "column" : 8,
6923 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6924 }
6925 },
6926 {
6927 "op" : "assign",
6928 "parameters" : [
6929 {
6930 "type" : "field",
6931 "value" : ["int_q_occupancy", "q_id"]
6932 },
6933 {
6934 "type" : "hexstr",
6935 "value" : "0x00"
6936 }
6937 ],
6938 "source_info" : {
6939 "filename" : "include/int/int_transit.p4",
6940 "line" : 58,
6941 "column" : 8,
6942 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
6943 }
6944 },
6945 {
6946 "op" : "assign",
6947 "parameters" : [
6948 {
6949 "type" : "field",
6950 "value" : ["int_q_occupancy", "q_occupancy"]
6951 },
6952 {
6953 "type" : "expression",
6954 "value" : {
6955 "type" : "expression",
6956 "value" : {
6957 "op" : "&",
6958 "left" : {
6959 "type" : "field",
6960 "value" : ["standard_metadata", "deq_qdepth"]
6961 },
6962 "right" : {
6963 "type" : "hexstr",
6964 "value" : "0xffffff"
6965 }
6966 }
6967 }
6968 }
6969 ],
6970 "source_info" : {
6971 "filename" : "include/int/int_transit.p4",
6972 "line" : 59,
6973 "column" : 8,
6974 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
6975 }
6976 },
6977 {
6978 "op" : "add_header",
6979 "parameters" : [
6980 {
6981 "type" : "header",
6982 "value" : "int_hop_latency"
6983 }
6984 ],
6985 "source_info" : {
6986 "filename" : "include/int/int_transit.p4",
6987 "line" : 51,
6988 "column" : 8,
6989 "source_fragment" : "hdr.int_hop_latency.setValid()"
6990 }
6991 },
6992 {
6993 "op" : "assign",
6994 "parameters" : [
6995 {
6996 "type" : "field",
6997 "value" : ["int_hop_latency", "hop_latency"]
6998 },
6999 {
7000 "type" : "field",
7001 "value" : ["standard_metadata", "deq_timedelta"]
7002 }
7003 ],
7004 "source_info" : {
7005 "filename" : "include/int/int_transit.p4",
7006 "line" : 52,
7007 "column" : 8,
7008 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
7009 }
7010 },
7011 {
7012 "op" : "add_header",
7013 "parameters" : [
7014 {
7015 "type" : "header",
7016 "value" : "int_port_ids"
7017 }
7018 ],
7019 "source_info" : {
7020 "filename" : "include/int/int_transit.p4",
7021 "line" : 45,
7022 "column" : 8,
7023 "source_fragment" : "hdr.int_port_ids.setValid()"
7024 }
7025 },
7026 {
7027 "op" : "assign",
7028 "parameters" : [
7029 {
7030 "type" : "field",
7031 "value" : ["int_port_ids", "ingress_port_id"]
7032 },
7033 {
7034 "type" : "expression",
7035 "value" : {
7036 "type" : "expression",
7037 "value" : {
7038 "op" : "&",
7039 "left" : {
7040 "type" : "field",
7041 "value" : ["standard_metadata", "ingress_port"]
7042 },
7043 "right" : {
7044 "type" : "hexstr",
7045 "value" : "0xffff"
7046 }
7047 }
7048 }
7049 }
7050 ],
7051 "source_info" : {
7052 "filename" : "include/int/int_transit.p4",
7053 "line" : 46,
7054 "column" : 8,
7055 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
7056 }
7057 },
7058 {
7059 "op" : "assign",
7060 "parameters" : [
7061 {
7062 "type" : "field",
7063 "value" : ["int_port_ids", "egress_port_id"]
7064 },
7065 {
7066 "type" : "expression",
7067 "value" : {
7068 "type" : "expression",
7069 "value" : {
7070 "op" : "&",
7071 "left" : {
7072 "type" : "field",
7073 "value" : ["standard_metadata", "egress_port"]
7074 },
7075 "right" : {
7076 "type" : "hexstr",
7077 "value" : "0xffff"
7078 }
7079 }
7080 }
7081 }
7082 ],
7083 "source_info" : {
7084 "filename" : "include/int/int_transit.p4",
7085 "line" : 47,
7086 "column" : 8,
7087 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
7088 }
7089 },
7090 {
7091 "op" : "assign",
7092 "parameters" : [
7093 {
7094 "type" : "field",
7095 "value" : ["userMetadata.int_meta", "new_words"]
7096 },
7097 {
7098 "type" : "expression",
7099 "value" : {
7100 "type" : "expression",
7101 "value" : {
7102 "op" : "&",
7103 "left" : {
7104 "type" : "expression",
7105 "value" : {
7106 "op" : "+",
7107 "left" : {
7108 "type" : "field",
7109 "value" : ["userMetadata.int_meta", "new_words"]
7110 },
7111 "right" : {
7112 "type" : "hexstr",
7113 "value" : "0x03"
7114 }
7115 }
7116 },
7117 "right" : {
7118 "type" : "hexstr",
7119 "value" : "0xff"
7120 }
7121 }
7122 }
7123 }
7124 ],
7125 "source_info" : {
7126 "filename" : "include/int/int_transit.p4",
7127 "line" : 98,
7128 "column" : 8,
7129 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
7130 }
7131 },
7132 {
7133 "op" : "assign",
7134 "parameters" : [
7135 {
7136 "type" : "field",
7137 "value" : ["userMetadata.int_meta", "new_bytes"]
7138 },
7139 {
7140 "type" : "expression",
7141 "value" : {
7142 "type" : "expression",
7143 "value" : {
7144 "op" : "&",
7145 "left" : {
7146 "type" : "expression",
7147 "value" : {
7148 "op" : "+",
7149 "left" : {
7150 "type" : "field",
7151 "value" : ["userMetadata.int_meta", "new_bytes"]
7152 },
7153 "right" : {
7154 "type" : "hexstr",
7155 "value" : "0x000c"
7156 }
7157 }
7158 },
7159 "right" : {
7160 "type" : "hexstr",
7161 "value" : "0xffff"
7162 }
7163 }
7164 }
7165 }
7166 ],
7167 "source_info" : {
7168 "filename" : "include/int/int_transit.p4",
7169 "line" : 99,
7170 "column" : 8,
7171 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
7172 }
7173 }
7174 ]
7175 },
7176 {
7177 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
7178 "id" : 87,
7179 "runtime_data" : [],
7180 "primitives" : [
7181 {
7182 "op" : "add_header",
7183 "parameters" : [
7184 {
7185 "type" : "header",
7186 "value" : "int_switch_id"
7187 }
7188 ],
7189 "source_info" : {
7190 "filename" : "include/int/int_transit.p4",
7191 "line" : 40,
7192 "column" : 8,
7193 "source_fragment" : "hdr.int_switch_id.setValid()"
7194 }
7195 },
7196 {
7197 "op" : "assign",
7198 "parameters" : [
7199 {
7200 "type" : "field",
7201 "value" : ["int_switch_id", "switch_id"]
7202 },
7203 {
7204 "type" : "field",
7205 "value" : ["userMetadata.int_meta", "switch_id"]
7206 }
7207 ],
7208 "source_info" : {
7209 "filename" : "include/int/int_transit.p4",
7210 "line" : 41,
7211 "column" : 8,
7212 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7213 }
7214 },
7215 {
7216 "op" : "assign",
7217 "parameters" : [
7218 {
7219 "type" : "field",
7220 "value" : ["userMetadata.int_meta", "new_words"]
7221 },
7222 {
7223 "type" : "expression",
7224 "value" : {
7225 "type" : "expression",
7226 "value" : {
7227 "op" : "&",
7228 "left" : {
7229 "type" : "expression",
7230 "value" : {
7231 "op" : "+",
7232 "left" : {
7233 "type" : "field",
7234 "value" : ["userMetadata.int_meta", "new_words"]
7235 },
7236 "right" : {
7237 "type" : "hexstr",
7238 "value" : "0x01"
7239 }
7240 }
7241 },
7242 "right" : {
7243 "type" : "hexstr",
7244 "value" : "0xff"
7245 }
7246 }
7247 }
7248 }
7249 ],
7250 "source_info" : {
7251 "filename" : "include/int/int_transit.p4",
7252 "line" : 88,
7253 "column" : 8,
7254 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
7255 }
7256 },
7257 {
7258 "op" : "assign",
7259 "parameters" : [
7260 {
7261 "type" : "field",
7262 "value" : ["userMetadata.int_meta", "new_bytes"]
7263 },
7264 {
7265 "type" : "expression",
7266 "value" : {
7267 "type" : "expression",
7268 "value" : {
7269 "op" : "&",
7270 "left" : {
7271 "type" : "expression",
7272 "value" : {
7273 "op" : "+",
7274 "left" : {
7275 "type" : "field",
7276 "value" : ["userMetadata.int_meta", "new_bytes"]
7277 },
7278 "right" : {
7279 "type" : "hexstr",
7280 "value" : "0x0004"
7281 }
7282 }
7283 },
7284 "right" : {
7285 "type" : "hexstr",
7286 "value" : "0xffff"
7287 }
7288 }
7289 }
7290 }
7291 ],
7292 "source_info" : {
7293 "filename" : "include/int/int_transit.p4",
7294 "line" : 89,
7295 "column" : 8,
7296 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
7297 }
7298 }
7299 ]
7300 },
7301 {
7302 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
7303 "id" : 88,
7304 "runtime_data" : [],
7305 "primitives" : [
7306 {
7307 "op" : "add_header",
7308 "parameters" : [
7309 {
7310 "type" : "header",
7311 "value" : "int_q_occupancy"
7312 }
7313 ],
7314 "source_info" : {
7315 "filename" : "include/int/int_transit.p4",
7316 "line" : 56,
7317 "column" : 8,
7318 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7319 }
7320 },
7321 {
7322 "op" : "assign",
7323 "parameters" : [
7324 {
7325 "type" : "field",
7326 "value" : ["int_q_occupancy", "q_id"]
7327 },
7328 {
7329 "type" : "hexstr",
7330 "value" : "0x00"
7331 }
7332 ],
7333 "source_info" : {
7334 "filename" : "include/int/int_transit.p4",
7335 "line" : 58,
7336 "column" : 8,
7337 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
7338 }
7339 },
7340 {
7341 "op" : "assign",
7342 "parameters" : [
7343 {
7344 "type" : "field",
7345 "value" : ["int_q_occupancy", "q_occupancy"]
7346 },
7347 {
7348 "type" : "expression",
7349 "value" : {
7350 "type" : "expression",
7351 "value" : {
7352 "op" : "&",
7353 "left" : {
7354 "type" : "field",
7355 "value" : ["standard_metadata", "deq_qdepth"]
7356 },
7357 "right" : {
7358 "type" : "hexstr",
7359 "value" : "0xffffff"
7360 }
7361 }
7362 }
7363 }
7364 ],
7365 "source_info" : {
7366 "filename" : "include/int/int_transit.p4",
7367 "line" : 59,
7368 "column" : 8,
7369 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
7370 }
7371 },
7372 {
7373 "op" : "add_header",
7374 "parameters" : [
7375 {
7376 "type" : "header",
7377 "value" : "int_switch_id"
7378 }
7379 ],
7380 "source_info" : {
7381 "filename" : "include/int/int_transit.p4",
7382 "line" : 40,
7383 "column" : 8,
7384 "source_fragment" : "hdr.int_switch_id.setValid()"
7385 }
7386 },
7387 {
7388 "op" : "assign",
7389 "parameters" : [
7390 {
7391 "type" : "field",
7392 "value" : ["int_switch_id", "switch_id"]
7393 },
7394 {
7395 "type" : "field",
7396 "value" : ["userMetadata.int_meta", "switch_id"]
7397 }
7398 ],
7399 "source_info" : {
7400 "filename" : "include/int/int_transit.p4",
7401 "line" : 41,
7402 "column" : 8,
7403 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7404 }
7405 },
7406 {
7407 "op" : "assign",
7408 "parameters" : [
7409 {
7410 "type" : "field",
7411 "value" : ["userMetadata.int_meta", "new_words"]
7412 },
7413 {
7414 "type" : "expression",
7415 "value" : {
7416 "type" : "expression",
7417 "value" : {
7418 "op" : "&",
7419 "left" : {
7420 "type" : "expression",
7421 "value" : {
7422 "op" : "+",
7423 "left" : {
7424 "type" : "field",
7425 "value" : ["userMetadata.int_meta", "new_words"]
7426 },
7427 "right" : {
7428 "type" : "hexstr",
7429 "value" : "0x02"
7430 }
7431 }
7432 },
7433 "right" : {
7434 "type" : "hexstr",
7435 "value" : "0xff"
7436 }
7437 }
7438 }
7439 }
7440 ],
7441 "source_info" : {
7442 "filename" : "include/int/int_transit.p4",
7443 "line" : 93,
7444 "column" : 8,
7445 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
7446 }
7447 },
7448 {
7449 "op" : "assign",
7450 "parameters" : [
7451 {
7452 "type" : "field",
7453 "value" : ["userMetadata.int_meta", "new_bytes"]
7454 },
7455 {
7456 "type" : "expression",
7457 "value" : {
7458 "type" : "expression",
7459 "value" : {
7460 "op" : "&",
7461 "left" : {
7462 "type" : "expression",
7463 "value" : {
7464 "op" : "+",
7465 "left" : {
7466 "type" : "field",
7467 "value" : ["userMetadata.int_meta", "new_bytes"]
7468 },
7469 "right" : {
7470 "type" : "hexstr",
7471 "value" : "0x0008"
7472 }
7473 }
7474 },
7475 "right" : {
7476 "type" : "hexstr",
7477 "value" : "0xffff"
7478 }
7479 }
7480 }
7481 }
7482 ],
7483 "source_info" : {
7484 "filename" : "include/int/int_transit.p4",
7485 "line" : 94,
7486 "column" : 8,
7487 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
7488 }
7489 }
7490 ]
7491 },
7492 {
7493 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
7494 "id" : 89,
7495 "runtime_data" : [],
7496 "primitives" : [
7497 {
7498 "op" : "add_header",
7499 "parameters" : [
7500 {
7501 "type" : "header",
7502 "value" : "int_hop_latency"
7503 }
7504 ],
7505 "source_info" : {
7506 "filename" : "include/int/int_transit.p4",
7507 "line" : 51,
7508 "column" : 8,
7509 "source_fragment" : "hdr.int_hop_latency.setValid()"
7510 }
7511 },
7512 {
7513 "op" : "assign",
7514 "parameters" : [
7515 {
7516 "type" : "field",
7517 "value" : ["int_hop_latency", "hop_latency"]
7518 },
7519 {
7520 "type" : "field",
7521 "value" : ["standard_metadata", "deq_timedelta"]
7522 }
7523 ],
7524 "source_info" : {
7525 "filename" : "include/int/int_transit.p4",
7526 "line" : 52,
7527 "column" : 8,
7528 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
7529 }
7530 },
7531 {
7532 "op" : "add_header",
7533 "parameters" : [
7534 {
7535 "type" : "header",
7536 "value" : "int_switch_id"
7537 }
7538 ],
7539 "source_info" : {
7540 "filename" : "include/int/int_transit.p4",
7541 "line" : 40,
7542 "column" : 8,
7543 "source_fragment" : "hdr.int_switch_id.setValid()"
7544 }
7545 },
7546 {
7547 "op" : "assign",
7548 "parameters" : [
7549 {
7550 "type" : "field",
7551 "value" : ["int_switch_id", "switch_id"]
7552 },
7553 {
7554 "type" : "field",
7555 "value" : ["userMetadata.int_meta", "switch_id"]
7556 }
7557 ],
7558 "source_info" : {
7559 "filename" : "include/int/int_transit.p4",
7560 "line" : 41,
7561 "column" : 8,
7562 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7563 }
7564 },
7565 {
7566 "op" : "assign",
7567 "parameters" : [
7568 {
7569 "type" : "field",
7570 "value" : ["userMetadata.int_meta", "new_words"]
7571 },
7572 {
7573 "type" : "expression",
7574 "value" : {
7575 "type" : "expression",
7576 "value" : {
7577 "op" : "&",
7578 "left" : {
7579 "type" : "expression",
7580 "value" : {
7581 "op" : "+",
7582 "left" : {
7583 "type" : "field",
7584 "value" : ["userMetadata.int_meta", "new_words"]
7585 },
7586 "right" : {
7587 "type" : "hexstr",
7588 "value" : "0x02"
7589 }
7590 }
7591 },
7592 "right" : {
7593 "type" : "hexstr",
7594 "value" : "0xff"
7595 }
7596 }
7597 }
7598 }
7599 ],
7600 "source_info" : {
7601 "filename" : "include/int/int_transit.p4",
7602 "line" : 93,
7603 "column" : 8,
7604 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
7605 }
7606 },
7607 {
7608 "op" : "assign",
7609 "parameters" : [
7610 {
7611 "type" : "field",
7612 "value" : ["userMetadata.int_meta", "new_bytes"]
7613 },
7614 {
7615 "type" : "expression",
7616 "value" : {
7617 "type" : "expression",
7618 "value" : {
7619 "op" : "&",
7620 "left" : {
7621 "type" : "expression",
7622 "value" : {
7623 "op" : "+",
7624 "left" : {
7625 "type" : "field",
7626 "value" : ["userMetadata.int_meta", "new_bytes"]
7627 },
7628 "right" : {
7629 "type" : "hexstr",
7630 "value" : "0x0008"
7631 }
7632 }
7633 },
7634 "right" : {
7635 "type" : "hexstr",
7636 "value" : "0xffff"
7637 }
7638 }
7639 }
7640 }
7641 ],
7642 "source_info" : {
7643 "filename" : "include/int/int_transit.p4",
7644 "line" : 94,
7645 "column" : 8,
7646 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
7647 }
7648 }
7649 ]
7650 },
7651 {
7652 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
7653 "id" : 90,
7654 "runtime_data" : [],
7655 "primitives" : [
7656 {
7657 "op" : "add_header",
7658 "parameters" : [
7659 {
7660 "type" : "header",
7661 "value" : "int_q_occupancy"
7662 }
7663 ],
7664 "source_info" : {
7665 "filename" : "include/int/int_transit.p4",
7666 "line" : 56,
7667 "column" : 8,
7668 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7669 }
7670 },
7671 {
7672 "op" : "assign",
7673 "parameters" : [
7674 {
7675 "type" : "field",
7676 "value" : ["int_q_occupancy", "q_id"]
7677 },
7678 {
7679 "type" : "hexstr",
7680 "value" : "0x00"
7681 }
7682 ],
7683 "source_info" : {
7684 "filename" : "include/int/int_transit.p4",
7685 "line" : 58,
7686 "column" : 8,
7687 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
7688 }
7689 },
7690 {
7691 "op" : "assign",
7692 "parameters" : [
7693 {
7694 "type" : "field",
7695 "value" : ["int_q_occupancy", "q_occupancy"]
7696 },
7697 {
7698 "type" : "expression",
7699 "value" : {
7700 "type" : "expression",
7701 "value" : {
7702 "op" : "&",
7703 "left" : {
7704 "type" : "field",
7705 "value" : ["standard_metadata", "deq_qdepth"]
7706 },
7707 "right" : {
7708 "type" : "hexstr",
7709 "value" : "0xffffff"
7710 }
7711 }
7712 }
7713 }
7714 ],
7715 "source_info" : {
7716 "filename" : "include/int/int_transit.p4",
7717 "line" : 59,
7718 "column" : 8,
7719 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
7720 }
7721 },
7722 {
7723 "op" : "add_header",
7724 "parameters" : [
7725 {
7726 "type" : "header",
7727 "value" : "int_hop_latency"
7728 }
7729 ],
7730 "source_info" : {
7731 "filename" : "include/int/int_transit.p4",
7732 "line" : 51,
7733 "column" : 8,
7734 "source_fragment" : "hdr.int_hop_latency.setValid()"
7735 }
7736 },
7737 {
7738 "op" : "assign",
7739 "parameters" : [
7740 {
7741 "type" : "field",
7742 "value" : ["int_hop_latency", "hop_latency"]
7743 },
7744 {
7745 "type" : "field",
7746 "value" : ["standard_metadata", "deq_timedelta"]
7747 }
7748 ],
7749 "source_info" : {
7750 "filename" : "include/int/int_transit.p4",
7751 "line" : 52,
7752 "column" : 8,
7753 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
7754 }
7755 },
7756 {
7757 "op" : "add_header",
7758 "parameters" : [
7759 {
7760 "type" : "header",
7761 "value" : "int_switch_id"
7762 }
7763 ],
7764 "source_info" : {
7765 "filename" : "include/int/int_transit.p4",
7766 "line" : 40,
7767 "column" : 8,
7768 "source_fragment" : "hdr.int_switch_id.setValid()"
7769 }
7770 },
7771 {
7772 "op" : "assign",
7773 "parameters" : [
7774 {
7775 "type" : "field",
7776 "value" : ["int_switch_id", "switch_id"]
7777 },
7778 {
7779 "type" : "field",
7780 "value" : ["userMetadata.int_meta", "switch_id"]
7781 }
7782 ],
7783 "source_info" : {
7784 "filename" : "include/int/int_transit.p4",
7785 "line" : 41,
7786 "column" : 8,
7787 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7788 }
7789 },
7790 {
7791 "op" : "assign",
7792 "parameters" : [
7793 {
7794 "type" : "field",
7795 "value" : ["userMetadata.int_meta", "new_words"]
7796 },
7797 {
7798 "type" : "expression",
7799 "value" : {
7800 "type" : "expression",
7801 "value" : {
7802 "op" : "&",
7803 "left" : {
7804 "type" : "expression",
7805 "value" : {
7806 "op" : "+",
7807 "left" : {
7808 "type" : "field",
7809 "value" : ["userMetadata.int_meta", "new_words"]
7810 },
7811 "right" : {
7812 "type" : "hexstr",
7813 "value" : "0x03"
7814 }
7815 }
7816 },
7817 "right" : {
7818 "type" : "hexstr",
7819 "value" : "0xff"
7820 }
7821 }
7822 }
7823 }
7824 ],
7825 "source_info" : {
7826 "filename" : "include/int/int_transit.p4",
7827 "line" : 98,
7828 "column" : 8,
7829 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
7830 }
7831 },
7832 {
7833 "op" : "assign",
7834 "parameters" : [
7835 {
7836 "type" : "field",
7837 "value" : ["userMetadata.int_meta", "new_bytes"]
7838 },
7839 {
7840 "type" : "expression",
7841 "value" : {
7842 "type" : "expression",
7843 "value" : {
7844 "op" : "&",
7845 "left" : {
7846 "type" : "expression",
7847 "value" : {
7848 "op" : "+",
7849 "left" : {
7850 "type" : "field",
7851 "value" : ["userMetadata.int_meta", "new_bytes"]
7852 },
7853 "right" : {
7854 "type" : "hexstr",
7855 "value" : "0x000c"
7856 }
7857 }
7858 },
7859 "right" : {
7860 "type" : "hexstr",
7861 "value" : "0xffff"
7862 }
7863 }
7864 }
7865 }
7866 ],
7867 "source_info" : {
7868 "filename" : "include/int/int_transit.p4",
7869 "line" : 99,
7870 "column" : 8,
7871 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
7872 }
7873 }
7874 ]
7875 },
7876 {
7877 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
7878 "id" : 91,
7879 "runtime_data" : [],
7880 "primitives" : [
7881 {
7882 "op" : "add_header",
7883 "parameters" : [
7884 {
7885 "type" : "header",
7886 "value" : "int_port_ids"
7887 }
7888 ],
7889 "source_info" : {
7890 "filename" : "include/int/int_transit.p4",
7891 "line" : 45,
7892 "column" : 8,
7893 "source_fragment" : "hdr.int_port_ids.setValid()"
7894 }
7895 },
7896 {
7897 "op" : "assign",
7898 "parameters" : [
7899 {
7900 "type" : "field",
7901 "value" : ["int_port_ids", "ingress_port_id"]
7902 },
7903 {
7904 "type" : "expression",
7905 "value" : {
7906 "type" : "expression",
7907 "value" : {
7908 "op" : "&",
7909 "left" : {
7910 "type" : "field",
7911 "value" : ["standard_metadata", "ingress_port"]
7912 },
7913 "right" : {
7914 "type" : "hexstr",
7915 "value" : "0xffff"
7916 }
7917 }
7918 }
7919 }
7920 ],
7921 "source_info" : {
7922 "filename" : "include/int/int_transit.p4",
7923 "line" : 46,
7924 "column" : 8,
7925 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
7926 }
7927 },
7928 {
7929 "op" : "assign",
7930 "parameters" : [
7931 {
7932 "type" : "field",
7933 "value" : ["int_port_ids", "egress_port_id"]
7934 },
7935 {
7936 "type" : "expression",
7937 "value" : {
7938 "type" : "expression",
7939 "value" : {
7940 "op" : "&",
7941 "left" : {
7942 "type" : "field",
7943 "value" : ["standard_metadata", "egress_port"]
7944 },
7945 "right" : {
7946 "type" : "hexstr",
7947 "value" : "0xffff"
7948 }
7949 }
7950 }
7951 }
7952 ],
7953 "source_info" : {
7954 "filename" : "include/int/int_transit.p4",
7955 "line" : 47,
7956 "column" : 8,
7957 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
7958 }
7959 },
7960 {
7961 "op" : "add_header",
7962 "parameters" : [
7963 {
7964 "type" : "header",
7965 "value" : "int_switch_id"
7966 }
7967 ],
7968 "source_info" : {
7969 "filename" : "include/int/int_transit.p4",
7970 "line" : 40,
7971 "column" : 8,
7972 "source_fragment" : "hdr.int_switch_id.setValid()"
7973 }
7974 },
7975 {
7976 "op" : "assign",
7977 "parameters" : [
7978 {
7979 "type" : "field",
7980 "value" : ["int_switch_id", "switch_id"]
7981 },
7982 {
7983 "type" : "field",
7984 "value" : ["userMetadata.int_meta", "switch_id"]
7985 }
7986 ],
7987 "source_info" : {
7988 "filename" : "include/int/int_transit.p4",
7989 "line" : 41,
7990 "column" : 8,
7991 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7992 }
7993 },
7994 {
7995 "op" : "assign",
7996 "parameters" : [
7997 {
7998 "type" : "field",
7999 "value" : ["userMetadata.int_meta", "new_words"]
8000 },
8001 {
8002 "type" : "expression",
8003 "value" : {
8004 "type" : "expression",
8005 "value" : {
8006 "op" : "&",
8007 "left" : {
8008 "type" : "expression",
8009 "value" : {
8010 "op" : "+",
8011 "left" : {
8012 "type" : "field",
8013 "value" : ["userMetadata.int_meta", "new_words"]
8014 },
8015 "right" : {
8016 "type" : "hexstr",
8017 "value" : "0x02"
8018 }
8019 }
8020 },
8021 "right" : {
8022 "type" : "hexstr",
8023 "value" : "0xff"
8024 }
8025 }
8026 }
8027 }
8028 ],
8029 "source_info" : {
8030 "filename" : "include/int/int_transit.p4",
8031 "line" : 93,
8032 "column" : 8,
8033 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
8034 }
8035 },
8036 {
8037 "op" : "assign",
8038 "parameters" : [
8039 {
8040 "type" : "field",
8041 "value" : ["userMetadata.int_meta", "new_bytes"]
8042 },
8043 {
8044 "type" : "expression",
8045 "value" : {
8046 "type" : "expression",
8047 "value" : {
8048 "op" : "&",
8049 "left" : {
8050 "type" : "expression",
8051 "value" : {
8052 "op" : "+",
8053 "left" : {
8054 "type" : "field",
8055 "value" : ["userMetadata.int_meta", "new_bytes"]
8056 },
8057 "right" : {
8058 "type" : "hexstr",
8059 "value" : "0x0008"
8060 }
8061 }
8062 },
8063 "right" : {
8064 "type" : "hexstr",
8065 "value" : "0xffff"
8066 }
8067 }
8068 }
8069 }
8070 ],
8071 "source_info" : {
8072 "filename" : "include/int/int_transit.p4",
8073 "line" : 94,
8074 "column" : 8,
8075 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
8076 }
8077 }
8078 ]
8079 },
8080 {
8081 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
8082 "id" : 92,
8083 "runtime_data" : [],
8084 "primitives" : [
8085 {
8086 "op" : "add_header",
8087 "parameters" : [
8088 {
8089 "type" : "header",
8090 "value" : "int_q_occupancy"
8091 }
8092 ],
8093 "source_info" : {
8094 "filename" : "include/int/int_transit.p4",
8095 "line" : 56,
8096 "column" : 8,
8097 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8098 }
8099 },
8100 {
8101 "op" : "assign",
8102 "parameters" : [
8103 {
8104 "type" : "field",
8105 "value" : ["int_q_occupancy", "q_id"]
8106 },
8107 {
8108 "type" : "hexstr",
8109 "value" : "0x00"
8110 }
8111 ],
8112 "source_info" : {
8113 "filename" : "include/int/int_transit.p4",
8114 "line" : 58,
8115 "column" : 8,
8116 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
8117 }
8118 },
8119 {
8120 "op" : "assign",
8121 "parameters" : [
8122 {
8123 "type" : "field",
8124 "value" : ["int_q_occupancy", "q_occupancy"]
8125 },
8126 {
8127 "type" : "expression",
8128 "value" : {
8129 "type" : "expression",
8130 "value" : {
8131 "op" : "&",
8132 "left" : {
8133 "type" : "field",
8134 "value" : ["standard_metadata", "deq_qdepth"]
8135 },
8136 "right" : {
8137 "type" : "hexstr",
8138 "value" : "0xffffff"
8139 }
8140 }
8141 }
8142 }
8143 ],
8144 "source_info" : {
8145 "filename" : "include/int/int_transit.p4",
8146 "line" : 59,
8147 "column" : 8,
8148 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
8149 }
8150 },
8151 {
8152 "op" : "add_header",
8153 "parameters" : [
8154 {
8155 "type" : "header",
8156 "value" : "int_port_ids"
8157 }
8158 ],
8159 "source_info" : {
8160 "filename" : "include/int/int_transit.p4",
8161 "line" : 45,
8162 "column" : 8,
8163 "source_fragment" : "hdr.int_port_ids.setValid()"
8164 }
8165 },
8166 {
8167 "op" : "assign",
8168 "parameters" : [
8169 {
8170 "type" : "field",
8171 "value" : ["int_port_ids", "ingress_port_id"]
8172 },
8173 {
8174 "type" : "expression",
8175 "value" : {
8176 "type" : "expression",
8177 "value" : {
8178 "op" : "&",
8179 "left" : {
8180 "type" : "field",
8181 "value" : ["standard_metadata", "ingress_port"]
8182 },
8183 "right" : {
8184 "type" : "hexstr",
8185 "value" : "0xffff"
8186 }
8187 }
8188 }
8189 }
8190 ],
8191 "source_info" : {
8192 "filename" : "include/int/int_transit.p4",
8193 "line" : 46,
8194 "column" : 8,
8195 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8196 }
8197 },
8198 {
8199 "op" : "assign",
8200 "parameters" : [
8201 {
8202 "type" : "field",
8203 "value" : ["int_port_ids", "egress_port_id"]
8204 },
8205 {
8206 "type" : "expression",
8207 "value" : {
8208 "type" : "expression",
8209 "value" : {
8210 "op" : "&",
8211 "left" : {
8212 "type" : "field",
8213 "value" : ["standard_metadata", "egress_port"]
8214 },
8215 "right" : {
8216 "type" : "hexstr",
8217 "value" : "0xffff"
8218 }
8219 }
8220 }
8221 }
8222 ],
8223 "source_info" : {
8224 "filename" : "include/int/int_transit.p4",
8225 "line" : 47,
8226 "column" : 8,
8227 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8228 }
8229 },
8230 {
8231 "op" : "add_header",
8232 "parameters" : [
8233 {
8234 "type" : "header",
8235 "value" : "int_switch_id"
8236 }
8237 ],
8238 "source_info" : {
8239 "filename" : "include/int/int_transit.p4",
8240 "line" : 40,
8241 "column" : 8,
8242 "source_fragment" : "hdr.int_switch_id.setValid()"
8243 }
8244 },
8245 {
8246 "op" : "assign",
8247 "parameters" : [
8248 {
8249 "type" : "field",
8250 "value" : ["int_switch_id", "switch_id"]
8251 },
8252 {
8253 "type" : "field",
8254 "value" : ["userMetadata.int_meta", "switch_id"]
8255 }
8256 ],
8257 "source_info" : {
8258 "filename" : "include/int/int_transit.p4",
8259 "line" : 41,
8260 "column" : 8,
8261 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8262 }
8263 },
8264 {
8265 "op" : "assign",
8266 "parameters" : [
8267 {
8268 "type" : "field",
8269 "value" : ["userMetadata.int_meta", "new_words"]
8270 },
8271 {
8272 "type" : "expression",
8273 "value" : {
8274 "type" : "expression",
8275 "value" : {
8276 "op" : "&",
8277 "left" : {
8278 "type" : "expression",
8279 "value" : {
8280 "op" : "+",
8281 "left" : {
8282 "type" : "field",
8283 "value" : ["userMetadata.int_meta", "new_words"]
8284 },
8285 "right" : {
8286 "type" : "hexstr",
8287 "value" : "0x03"
8288 }
8289 }
8290 },
8291 "right" : {
8292 "type" : "hexstr",
8293 "value" : "0xff"
8294 }
8295 }
8296 }
8297 }
8298 ],
8299 "source_info" : {
8300 "filename" : "include/int/int_transit.p4",
8301 "line" : 98,
8302 "column" : 8,
8303 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
8304 }
8305 },
8306 {
8307 "op" : "assign",
8308 "parameters" : [
8309 {
8310 "type" : "field",
8311 "value" : ["userMetadata.int_meta", "new_bytes"]
8312 },
8313 {
8314 "type" : "expression",
8315 "value" : {
8316 "type" : "expression",
8317 "value" : {
8318 "op" : "&",
8319 "left" : {
8320 "type" : "expression",
8321 "value" : {
8322 "op" : "+",
8323 "left" : {
8324 "type" : "field",
8325 "value" : ["userMetadata.int_meta", "new_bytes"]
8326 },
8327 "right" : {
8328 "type" : "hexstr",
8329 "value" : "0x000c"
8330 }
8331 }
8332 },
8333 "right" : {
8334 "type" : "hexstr",
8335 "value" : "0xffff"
8336 }
8337 }
8338 }
8339 }
8340 ],
8341 "source_info" : {
8342 "filename" : "include/int/int_transit.p4",
8343 "line" : 99,
8344 "column" : 8,
8345 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
8346 }
8347 }
8348 ]
8349 },
8350 {
8351 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
8352 "id" : 93,
8353 "runtime_data" : [],
8354 "primitives" : [
8355 {
8356 "op" : "add_header",
8357 "parameters" : [
8358 {
8359 "type" : "header",
8360 "value" : "int_hop_latency"
8361 }
8362 ],
8363 "source_info" : {
8364 "filename" : "include/int/int_transit.p4",
8365 "line" : 51,
8366 "column" : 8,
8367 "source_fragment" : "hdr.int_hop_latency.setValid()"
8368 }
8369 },
8370 {
8371 "op" : "assign",
8372 "parameters" : [
8373 {
8374 "type" : "field",
8375 "value" : ["int_hop_latency", "hop_latency"]
8376 },
8377 {
8378 "type" : "field",
8379 "value" : ["standard_metadata", "deq_timedelta"]
8380 }
8381 ],
8382 "source_info" : {
8383 "filename" : "include/int/int_transit.p4",
8384 "line" : 52,
8385 "column" : 8,
8386 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
8387 }
8388 },
8389 {
8390 "op" : "add_header",
8391 "parameters" : [
8392 {
8393 "type" : "header",
8394 "value" : "int_port_ids"
8395 }
8396 ],
8397 "source_info" : {
8398 "filename" : "include/int/int_transit.p4",
8399 "line" : 45,
8400 "column" : 8,
8401 "source_fragment" : "hdr.int_port_ids.setValid()"
8402 }
8403 },
8404 {
8405 "op" : "assign",
8406 "parameters" : [
8407 {
8408 "type" : "field",
8409 "value" : ["int_port_ids", "ingress_port_id"]
8410 },
8411 {
8412 "type" : "expression",
8413 "value" : {
8414 "type" : "expression",
8415 "value" : {
8416 "op" : "&",
8417 "left" : {
8418 "type" : "field",
8419 "value" : ["standard_metadata", "ingress_port"]
8420 },
8421 "right" : {
8422 "type" : "hexstr",
8423 "value" : "0xffff"
8424 }
8425 }
8426 }
8427 }
8428 ],
8429 "source_info" : {
8430 "filename" : "include/int/int_transit.p4",
8431 "line" : 46,
8432 "column" : 8,
8433 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8434 }
8435 },
8436 {
8437 "op" : "assign",
8438 "parameters" : [
8439 {
8440 "type" : "field",
8441 "value" : ["int_port_ids", "egress_port_id"]
8442 },
8443 {
8444 "type" : "expression",
8445 "value" : {
8446 "type" : "expression",
8447 "value" : {
8448 "op" : "&",
8449 "left" : {
8450 "type" : "field",
8451 "value" : ["standard_metadata", "egress_port"]
8452 },
8453 "right" : {
8454 "type" : "hexstr",
8455 "value" : "0xffff"
8456 }
8457 }
8458 }
8459 }
8460 ],
8461 "source_info" : {
8462 "filename" : "include/int/int_transit.p4",
8463 "line" : 47,
8464 "column" : 8,
8465 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8466 }
8467 },
8468 {
8469 "op" : "add_header",
8470 "parameters" : [
8471 {
8472 "type" : "header",
8473 "value" : "int_switch_id"
8474 }
8475 ],
8476 "source_info" : {
8477 "filename" : "include/int/int_transit.p4",
8478 "line" : 40,
8479 "column" : 8,
8480 "source_fragment" : "hdr.int_switch_id.setValid()"
8481 }
8482 },
8483 {
8484 "op" : "assign",
8485 "parameters" : [
8486 {
8487 "type" : "field",
8488 "value" : ["int_switch_id", "switch_id"]
8489 },
8490 {
8491 "type" : "field",
8492 "value" : ["userMetadata.int_meta", "switch_id"]
8493 }
8494 ],
8495 "source_info" : {
8496 "filename" : "include/int/int_transit.p4",
8497 "line" : 41,
8498 "column" : 8,
8499 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8500 }
8501 },
8502 {
8503 "op" : "assign",
8504 "parameters" : [
8505 {
8506 "type" : "field",
8507 "value" : ["userMetadata.int_meta", "new_words"]
8508 },
8509 {
8510 "type" : "expression",
8511 "value" : {
8512 "type" : "expression",
8513 "value" : {
8514 "op" : "&",
8515 "left" : {
8516 "type" : "expression",
8517 "value" : {
8518 "op" : "+",
8519 "left" : {
8520 "type" : "field",
8521 "value" : ["userMetadata.int_meta", "new_words"]
8522 },
8523 "right" : {
8524 "type" : "hexstr",
8525 "value" : "0x03"
8526 }
8527 }
8528 },
8529 "right" : {
8530 "type" : "hexstr",
8531 "value" : "0xff"
8532 }
8533 }
8534 }
8535 }
8536 ],
8537 "source_info" : {
8538 "filename" : "include/int/int_transit.p4",
8539 "line" : 98,
8540 "column" : 8,
8541 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
8542 }
8543 },
8544 {
8545 "op" : "assign",
8546 "parameters" : [
8547 {
8548 "type" : "field",
8549 "value" : ["userMetadata.int_meta", "new_bytes"]
8550 },
8551 {
8552 "type" : "expression",
8553 "value" : {
8554 "type" : "expression",
8555 "value" : {
8556 "op" : "&",
8557 "left" : {
8558 "type" : "expression",
8559 "value" : {
8560 "op" : "+",
8561 "left" : {
8562 "type" : "field",
8563 "value" : ["userMetadata.int_meta", "new_bytes"]
8564 },
8565 "right" : {
8566 "type" : "hexstr",
8567 "value" : "0x000c"
8568 }
8569 }
8570 },
8571 "right" : {
8572 "type" : "hexstr",
8573 "value" : "0xffff"
8574 }
8575 }
8576 }
8577 }
8578 ],
8579 "source_info" : {
8580 "filename" : "include/int/int_transit.p4",
8581 "line" : 99,
8582 "column" : 8,
8583 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
8584 }
8585 }
8586 ]
8587 },
8588 {
8589 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
8590 "id" : 94,
8591 "runtime_data" : [],
8592 "primitives" : [
8593 {
8594 "op" : "add_header",
8595 "parameters" : [
8596 {
8597 "type" : "header",
8598 "value" : "int_q_occupancy"
8599 }
8600 ],
8601 "source_info" : {
8602 "filename" : "include/int/int_transit.p4",
8603 "line" : 56,
8604 "column" : 8,
8605 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8606 }
8607 },
8608 {
8609 "op" : "assign",
8610 "parameters" : [
8611 {
8612 "type" : "field",
8613 "value" : ["int_q_occupancy", "q_id"]
8614 },
8615 {
8616 "type" : "hexstr",
8617 "value" : "0x00"
8618 }
8619 ],
8620 "source_info" : {
8621 "filename" : "include/int/int_transit.p4",
8622 "line" : 58,
8623 "column" : 8,
8624 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
8625 }
8626 },
8627 {
8628 "op" : "assign",
8629 "parameters" : [
8630 {
8631 "type" : "field",
8632 "value" : ["int_q_occupancy", "q_occupancy"]
8633 },
8634 {
8635 "type" : "expression",
8636 "value" : {
8637 "type" : "expression",
8638 "value" : {
8639 "op" : "&",
8640 "left" : {
8641 "type" : "field",
8642 "value" : ["standard_metadata", "deq_qdepth"]
8643 },
8644 "right" : {
8645 "type" : "hexstr",
8646 "value" : "0xffffff"
8647 }
8648 }
8649 }
8650 }
8651 ],
8652 "source_info" : {
8653 "filename" : "include/int/int_transit.p4",
8654 "line" : 59,
8655 "column" : 8,
8656 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
8657 }
8658 },
8659 {
8660 "op" : "add_header",
8661 "parameters" : [
8662 {
8663 "type" : "header",
8664 "value" : "int_hop_latency"
8665 }
8666 ],
8667 "source_info" : {
8668 "filename" : "include/int/int_transit.p4",
8669 "line" : 51,
8670 "column" : 8,
8671 "source_fragment" : "hdr.int_hop_latency.setValid()"
8672 }
8673 },
8674 {
8675 "op" : "assign",
8676 "parameters" : [
8677 {
8678 "type" : "field",
8679 "value" : ["int_hop_latency", "hop_latency"]
8680 },
8681 {
8682 "type" : "field",
8683 "value" : ["standard_metadata", "deq_timedelta"]
8684 }
8685 ],
8686 "source_info" : {
8687 "filename" : "include/int/int_transit.p4",
8688 "line" : 52,
8689 "column" : 8,
8690 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
8691 }
8692 },
8693 {
8694 "op" : "add_header",
8695 "parameters" : [
8696 {
8697 "type" : "header",
8698 "value" : "int_port_ids"
8699 }
8700 ],
8701 "source_info" : {
8702 "filename" : "include/int/int_transit.p4",
8703 "line" : 45,
8704 "column" : 8,
8705 "source_fragment" : "hdr.int_port_ids.setValid()"
8706 }
8707 },
8708 {
8709 "op" : "assign",
8710 "parameters" : [
8711 {
8712 "type" : "field",
8713 "value" : ["int_port_ids", "ingress_port_id"]
8714 },
8715 {
8716 "type" : "expression",
8717 "value" : {
8718 "type" : "expression",
8719 "value" : {
8720 "op" : "&",
8721 "left" : {
8722 "type" : "field",
8723 "value" : ["standard_metadata", "ingress_port"]
8724 },
8725 "right" : {
8726 "type" : "hexstr",
8727 "value" : "0xffff"
8728 }
8729 }
8730 }
8731 }
8732 ],
8733 "source_info" : {
8734 "filename" : "include/int/int_transit.p4",
8735 "line" : 46,
8736 "column" : 8,
8737 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8738 }
8739 },
8740 {
8741 "op" : "assign",
8742 "parameters" : [
8743 {
8744 "type" : "field",
8745 "value" : ["int_port_ids", "egress_port_id"]
8746 },
8747 {
8748 "type" : "expression",
8749 "value" : {
8750 "type" : "expression",
8751 "value" : {
8752 "op" : "&",
8753 "left" : {
8754 "type" : "field",
8755 "value" : ["standard_metadata", "egress_port"]
8756 },
8757 "right" : {
8758 "type" : "hexstr",
8759 "value" : "0xffff"
8760 }
8761 }
8762 }
8763 }
8764 ],
8765 "source_info" : {
8766 "filename" : "include/int/int_transit.p4",
8767 "line" : 47,
8768 "column" : 8,
8769 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8770 }
8771 },
8772 {
8773 "op" : "add_header",
8774 "parameters" : [
8775 {
8776 "type" : "header",
8777 "value" : "int_switch_id"
8778 }
8779 ],
8780 "source_info" : {
8781 "filename" : "include/int/int_transit.p4",
8782 "line" : 40,
8783 "column" : 8,
8784 "source_fragment" : "hdr.int_switch_id.setValid()"
8785 }
8786 },
8787 {
8788 "op" : "assign",
8789 "parameters" : [
8790 {
8791 "type" : "field",
8792 "value" : ["int_switch_id", "switch_id"]
8793 },
8794 {
8795 "type" : "field",
8796 "value" : ["userMetadata.int_meta", "switch_id"]
8797 }
8798 ],
8799 "source_info" : {
8800 "filename" : "include/int/int_transit.p4",
8801 "line" : 41,
8802 "column" : 8,
8803 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8804 }
8805 },
8806 {
8807 "op" : "assign",
8808 "parameters" : [
8809 {
8810 "type" : "field",
8811 "value" : ["userMetadata.int_meta", "new_words"]
8812 },
8813 {
8814 "type" : "expression",
8815 "value" : {
8816 "type" : "expression",
8817 "value" : {
8818 "op" : "&",
8819 "left" : {
8820 "type" : "expression",
8821 "value" : {
8822 "op" : "+",
8823 "left" : {
8824 "type" : "field",
8825 "value" : ["userMetadata.int_meta", "new_words"]
8826 },
8827 "right" : {
8828 "type" : "hexstr",
8829 "value" : "0x04"
8830 }
8831 }
8832 },
8833 "right" : {
8834 "type" : "hexstr",
8835 "value" : "0xff"
8836 }
8837 }
8838 }
8839 }
8840 ],
8841 "source_info" : {
8842 "filename" : "include/int/int_transit.p4",
8843 "line" : 103,
8844 "column" : 8,
8845 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
8846 }
8847 },
8848 {
8849 "op" : "assign",
8850 "parameters" : [
8851 {
8852 "type" : "field",
8853 "value" : ["userMetadata.int_meta", "new_bytes"]
8854 },
8855 {
8856 "type" : "expression",
8857 "value" : {
8858 "type" : "expression",
8859 "value" : {
8860 "op" : "&",
8861 "left" : {
8862 "type" : "expression",
8863 "value" : {
8864 "op" : "+",
8865 "left" : {
8866 "type" : "field",
8867 "value" : ["userMetadata.int_meta", "new_bytes"]
8868 },
8869 "right" : {
8870 "type" : "hexstr",
8871 "value" : "0x0010"
8872 }
8873 }
8874 },
8875 "right" : {
8876 "type" : "hexstr",
8877 "value" : "0xffff"
8878 }
8879 }
8880 }
8881 }
8882 ],
8883 "source_info" : {
8884 "filename" : "include/int/int_transit.p4",
8885 "line" : 104,
8886 "column" : 8,
8887 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
8888 }
8889 }
8890 ]
8891 },
8892 {
8893 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
8894 "id" : 95,
8895 "runtime_data" : [],
8896 "primitives" : []
8897 },
8898 {
8899 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
8900 "id" : 96,
8901 "runtime_data" : [],
8902 "primitives" : [
8903 {
8904 "op" : "add_header",
8905 "parameters" : [
8906 {
8907 "type" : "header",
8908 "value" : "int_egress_tx_util"
8909 }
8910 ],
8911 "source_info" : {
8912 "filename" : "include/int/int_transit.p4",
8913 "line" : 80,
8914 "column" : 8,
8915 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8916 }
8917 },
8918 {
8919 "op" : "assign",
8920 "parameters" : [
8921 {
8922 "type" : "field",
8923 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8924 },
8925 {
8926 "type" : "hexstr",
8927 "value" : "0x00000000"
8928 }
8929 ],
8930 "source_info" : {
8931 "filename" : "include/int/int_transit.p4",
8932 "line" : 82,
8933 "column" : 8,
8934 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
8935 }
8936 },
8937 {
8938 "op" : "assign",
8939 "parameters" : [
8940 {
8941 "type" : "field",
8942 "value" : ["userMetadata.int_meta", "new_words"]
8943 },
8944 {
8945 "type" : "expression",
8946 "value" : {
8947 "type" : "expression",
8948 "value" : {
8949 "op" : "&",
8950 "left" : {
8951 "type" : "expression",
8952 "value" : {
8953 "op" : "+",
8954 "left" : {
8955 "type" : "field",
8956 "value" : ["userMetadata.int_meta", "new_words"]
8957 },
8958 "right" : {
8959 "type" : "hexstr",
8960 "value" : "0x01"
8961 }
8962 }
8963 },
8964 "right" : {
8965 "type" : "hexstr",
8966 "value" : "0xff"
8967 }
8968 }
8969 }
8970 }
8971 ],
8972 "source_info" : {
8973 "filename" : "include/int/int_transit.p4",
8974 "line" : 88,
8975 "column" : 8,
8976 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
8977 }
8978 },
8979 {
8980 "op" : "assign",
8981 "parameters" : [
8982 {
8983 "type" : "field",
8984 "value" : ["userMetadata.int_meta", "new_bytes"]
8985 },
8986 {
8987 "type" : "expression",
8988 "value" : {
8989 "type" : "expression",
8990 "value" : {
8991 "op" : "&",
8992 "left" : {
8993 "type" : "expression",
8994 "value" : {
8995 "op" : "+",
8996 "left" : {
8997 "type" : "field",
8998 "value" : ["userMetadata.int_meta", "new_bytes"]
8999 },
9000 "right" : {
9001 "type" : "hexstr",
9002 "value" : "0x0004"
9003 }
9004 }
9005 },
9006 "right" : {
9007 "type" : "hexstr",
9008 "value" : "0xffff"
9009 }
9010 }
9011 }
9012 }
9013 ],
9014 "source_info" : {
9015 "filename" : "include/int/int_transit.p4",
9016 "line" : 89,
9017 "column" : 8,
9018 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
9019 }
9020 }
9021 ]
9022 },
9023 {
9024 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
9025 "id" : 97,
9026 "runtime_data" : [],
9027 "primitives" : [
9028 {
9029 "op" : "add_header",
9030 "parameters" : [
9031 {
9032 "type" : "header",
9033 "value" : "int_q_congestion"
9034 }
9035 ],
9036 "source_info" : {
9037 "filename" : "include/int/int_transit.p4",
9038 "line" : 73,
9039 "column" : 8,
9040 "source_fragment" : "hdr.int_q_congestion.setValid()"
9041 }
9042 },
9043 {
9044 "op" : "assign",
9045 "parameters" : [
9046 {
9047 "type" : "field",
9048 "value" : ["int_q_congestion", "q_id"]
9049 },
9050 {
9051 "type" : "hexstr",
9052 "value" : "0x00"
9053 }
9054 ],
9055 "source_info" : {
9056 "filename" : "include/int/int_transit.p4",
9057 "line" : 75,
9058 "column" : 8,
9059 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
9060 }
9061 },
9062 {
9063 "op" : "assign",
9064 "parameters" : [
9065 {
9066 "type" : "field",
9067 "value" : ["int_q_congestion", "q_congestion"]
9068 },
9069 {
9070 "type" : "hexstr",
9071 "value" : "0x000000"
9072 }
9073 ],
9074 "source_info" : {
9075 "filename" : "include/int/int_transit.p4",
9076 "line" : 76,
9077 "column" : 8,
9078 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
9079 }
9080 },
9081 {
9082 "op" : "assign",
9083 "parameters" : [
9084 {
9085 "type" : "field",
9086 "value" : ["userMetadata.int_meta", "new_words"]
9087 },
9088 {
9089 "type" : "expression",
9090 "value" : {
9091 "type" : "expression",
9092 "value" : {
9093 "op" : "&",
9094 "left" : {
9095 "type" : "expression",
9096 "value" : {
9097 "op" : "+",
9098 "left" : {
9099 "type" : "field",
9100 "value" : ["userMetadata.int_meta", "new_words"]
9101 },
9102 "right" : {
9103 "type" : "hexstr",
9104 "value" : "0x01"
9105 }
9106 }
9107 },
9108 "right" : {
9109 "type" : "hexstr",
9110 "value" : "0xff"
9111 }
9112 }
9113 }
9114 }
9115 ],
9116 "source_info" : {
9117 "filename" : "include/int/int_transit.p4",
9118 "line" : 88,
9119 "column" : 8,
9120 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
9121 }
9122 },
9123 {
9124 "op" : "assign",
9125 "parameters" : [
9126 {
9127 "type" : "field",
9128 "value" : ["userMetadata.int_meta", "new_bytes"]
9129 },
9130 {
9131 "type" : "expression",
9132 "value" : {
9133 "type" : "expression",
9134 "value" : {
9135 "op" : "&",
9136 "left" : {
9137 "type" : "expression",
9138 "value" : {
9139 "op" : "+",
9140 "left" : {
9141 "type" : "field",
9142 "value" : ["userMetadata.int_meta", "new_bytes"]
9143 },
9144 "right" : {
9145 "type" : "hexstr",
9146 "value" : "0x0004"
9147 }
9148 }
9149 },
9150 "right" : {
9151 "type" : "hexstr",
9152 "value" : "0xffff"
9153 }
9154 }
9155 }
9156 }
9157 ],
9158 "source_info" : {
9159 "filename" : "include/int/int_transit.p4",
9160 "line" : 89,
9161 "column" : 8,
9162 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
9163 }
9164 }
9165 ]
9166 },
9167 {
9168 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
9169 "id" : 98,
9170 "runtime_data" : [],
9171 "primitives" : [
9172 {
9173 "op" : "add_header",
9174 "parameters" : [
9175 {
9176 "type" : "header",
9177 "value" : "int_egress_tx_util"
9178 }
9179 ],
9180 "source_info" : {
9181 "filename" : "include/int/int_transit.p4",
9182 "line" : 80,
9183 "column" : 8,
9184 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9185 }
9186 },
9187 {
9188 "op" : "assign",
9189 "parameters" : [
9190 {
9191 "type" : "field",
9192 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9193 },
9194 {
9195 "type" : "hexstr",
9196 "value" : "0x00000000"
9197 }
9198 ],
9199 "source_info" : {
9200 "filename" : "include/int/int_transit.p4",
9201 "line" : 82,
9202 "column" : 8,
9203 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
9204 }
9205 },
9206 {
9207 "op" : "add_header",
9208 "parameters" : [
9209 {
9210 "type" : "header",
9211 "value" : "int_q_congestion"
9212 }
9213 ],
9214 "source_info" : {
9215 "filename" : "include/int/int_transit.p4",
9216 "line" : 73,
9217 "column" : 8,
9218 "source_fragment" : "hdr.int_q_congestion.setValid()"
9219 }
9220 },
9221 {
9222 "op" : "assign",
9223 "parameters" : [
9224 {
9225 "type" : "field",
9226 "value" : ["int_q_congestion", "q_id"]
9227 },
9228 {
9229 "type" : "hexstr",
9230 "value" : "0x00"
9231 }
9232 ],
9233 "source_info" : {
9234 "filename" : "include/int/int_transit.p4",
9235 "line" : 75,
9236 "column" : 8,
9237 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
9238 }
9239 },
9240 {
9241 "op" : "assign",
9242 "parameters" : [
9243 {
9244 "type" : "field",
9245 "value" : ["int_q_congestion", "q_congestion"]
9246 },
9247 {
9248 "type" : "hexstr",
9249 "value" : "0x000000"
9250 }
9251 ],
9252 "source_info" : {
9253 "filename" : "include/int/int_transit.p4",
9254 "line" : 76,
9255 "column" : 8,
9256 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
9257 }
9258 },
9259 {
9260 "op" : "assign",
9261 "parameters" : [
9262 {
9263 "type" : "field",
9264 "value" : ["userMetadata.int_meta", "new_words"]
9265 },
9266 {
9267 "type" : "expression",
9268 "value" : {
9269 "type" : "expression",
9270 "value" : {
9271 "op" : "&",
9272 "left" : {
9273 "type" : "expression",
9274 "value" : {
9275 "op" : "+",
9276 "left" : {
9277 "type" : "field",
9278 "value" : ["userMetadata.int_meta", "new_words"]
9279 },
9280 "right" : {
9281 "type" : "hexstr",
9282 "value" : "0x02"
9283 }
9284 }
9285 },
9286 "right" : {
9287 "type" : "hexstr",
9288 "value" : "0xff"
9289 }
9290 }
9291 }
9292 }
9293 ],
9294 "source_info" : {
9295 "filename" : "include/int/int_transit.p4",
9296 "line" : 93,
9297 "column" : 8,
9298 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
9299 }
9300 },
9301 {
9302 "op" : "assign",
9303 "parameters" : [
9304 {
9305 "type" : "field",
9306 "value" : ["userMetadata.int_meta", "new_bytes"]
9307 },
9308 {
9309 "type" : "expression",
9310 "value" : {
9311 "type" : "expression",
9312 "value" : {
9313 "op" : "&",
9314 "left" : {
9315 "type" : "expression",
9316 "value" : {
9317 "op" : "+",
9318 "left" : {
9319 "type" : "field",
9320 "value" : ["userMetadata.int_meta", "new_bytes"]
9321 },
9322 "right" : {
9323 "type" : "hexstr",
9324 "value" : "0x0008"
9325 }
9326 }
9327 },
9328 "right" : {
9329 "type" : "hexstr",
9330 "value" : "0xffff"
9331 }
9332 }
9333 }
9334 }
9335 ],
9336 "source_info" : {
9337 "filename" : "include/int/int_transit.p4",
9338 "line" : 94,
9339 "column" : 8,
9340 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
9341 }
9342 }
9343 ]
9344 },
9345 {
9346 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
9347 "id" : 99,
9348 "runtime_data" : [],
9349 "primitives" : [
9350 {
9351 "op" : "add_header",
9352 "parameters" : [
9353 {
9354 "type" : "header",
9355 "value" : "int_egress_tstamp"
9356 }
9357 ],
9358 "source_info" : {
9359 "filename" : "include/int/int_transit.p4",
9360 "line" : 68,
9361 "column" : 8,
9362 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9363 }
9364 },
9365 {
9366 "op" : "assign",
9367 "parameters" : [
9368 {
9369 "type" : "field",
9370 "value" : ["int_egress_tstamp", "egress_tstamp"]
9371 },
9372 {
9373 "type" : "expression",
9374 "value" : {
9375 "type" : "expression",
9376 "value" : {
9377 "op" : "&",
9378 "left" : {
9379 "type" : "expression",
9380 "value" : {
9381 "op" : "+",
9382 "left" : {
9383 "type" : "field",
9384 "value" : ["standard_metadata", "enq_timestamp"]
9385 },
9386 "right" : {
9387 "type" : "field",
9388 "value" : ["standard_metadata", "deq_timedelta"]
9389 }
9390 }
9391 },
9392 "right" : {
9393 "type" : "hexstr",
9394 "value" : "0xffffffff"
9395 }
9396 }
9397 }
9398 }
9399 ],
9400 "source_info" : {
9401 "filename" : "include/int/int_transit.p4",
9402 "line" : 69,
9403 "column" : 8,
9404 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
9405 }
9406 },
9407 {
9408 "op" : "assign",
9409 "parameters" : [
9410 {
9411 "type" : "field",
9412 "value" : ["userMetadata.int_meta", "new_words"]
9413 },
9414 {
9415 "type" : "expression",
9416 "value" : {
9417 "type" : "expression",
9418 "value" : {
9419 "op" : "&",
9420 "left" : {
9421 "type" : "expression",
9422 "value" : {
9423 "op" : "+",
9424 "left" : {
9425 "type" : "field",
9426 "value" : ["userMetadata.int_meta", "new_words"]
9427 },
9428 "right" : {
9429 "type" : "hexstr",
9430 "value" : "0x01"
9431 }
9432 }
9433 },
9434 "right" : {
9435 "type" : "hexstr",
9436 "value" : "0xff"
9437 }
9438 }
9439 }
9440 }
9441 ],
9442 "source_info" : {
9443 "filename" : "include/int/int_transit.p4",
9444 "line" : 88,
9445 "column" : 8,
9446 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
9447 }
9448 },
9449 {
9450 "op" : "assign",
9451 "parameters" : [
9452 {
9453 "type" : "field",
9454 "value" : ["userMetadata.int_meta", "new_bytes"]
9455 },
9456 {
9457 "type" : "expression",
9458 "value" : {
9459 "type" : "expression",
9460 "value" : {
9461 "op" : "&",
9462 "left" : {
9463 "type" : "expression",
9464 "value" : {
9465 "op" : "+",
9466 "left" : {
9467 "type" : "field",
9468 "value" : ["userMetadata.int_meta", "new_bytes"]
9469 },
9470 "right" : {
9471 "type" : "hexstr",
9472 "value" : "0x0004"
9473 }
9474 }
9475 },
9476 "right" : {
9477 "type" : "hexstr",
9478 "value" : "0xffff"
9479 }
9480 }
9481 }
9482 }
9483 ],
9484 "source_info" : {
9485 "filename" : "include/int/int_transit.p4",
9486 "line" : 89,
9487 "column" : 8,
9488 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
9489 }
9490 }
9491 ]
9492 },
9493 {
9494 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
9495 "id" : 100,
9496 "runtime_data" : [],
9497 "primitives" : [
9498 {
9499 "op" : "add_header",
9500 "parameters" : [
9501 {
9502 "type" : "header",
9503 "value" : "int_egress_tx_util"
9504 }
9505 ],
9506 "source_info" : {
9507 "filename" : "include/int/int_transit.p4",
9508 "line" : 80,
9509 "column" : 8,
9510 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9511 }
9512 },
9513 {
9514 "op" : "assign",
9515 "parameters" : [
9516 {
9517 "type" : "field",
9518 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9519 },
9520 {
9521 "type" : "hexstr",
9522 "value" : "0x00000000"
9523 }
9524 ],
9525 "source_info" : {
9526 "filename" : "include/int/int_transit.p4",
9527 "line" : 82,
9528 "column" : 8,
9529 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
9530 }
9531 },
9532 {
9533 "op" : "add_header",
9534 "parameters" : [
9535 {
9536 "type" : "header",
9537 "value" : "int_egress_tstamp"
9538 }
9539 ],
9540 "source_info" : {
9541 "filename" : "include/int/int_transit.p4",
9542 "line" : 68,
9543 "column" : 8,
9544 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9545 }
9546 },
9547 {
9548 "op" : "assign",
9549 "parameters" : [
9550 {
9551 "type" : "field",
9552 "value" : ["int_egress_tstamp", "egress_tstamp"]
9553 },
9554 {
9555 "type" : "expression",
9556 "value" : {
9557 "type" : "expression",
9558 "value" : {
9559 "op" : "&",
9560 "left" : {
9561 "type" : "expression",
9562 "value" : {
9563 "op" : "+",
9564 "left" : {
9565 "type" : "field",
9566 "value" : ["standard_metadata", "enq_timestamp"]
9567 },
9568 "right" : {
9569 "type" : "field",
9570 "value" : ["standard_metadata", "deq_timedelta"]
9571 }
9572 }
9573 },
9574 "right" : {
9575 "type" : "hexstr",
9576 "value" : "0xffffffff"
9577 }
9578 }
9579 }
9580 }
9581 ],
9582 "source_info" : {
9583 "filename" : "include/int/int_transit.p4",
9584 "line" : 69,
9585 "column" : 8,
9586 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
9587 }
9588 },
9589 {
9590 "op" : "assign",
9591 "parameters" : [
9592 {
9593 "type" : "field",
9594 "value" : ["userMetadata.int_meta", "new_words"]
9595 },
9596 {
9597 "type" : "expression",
9598 "value" : {
9599 "type" : "expression",
9600 "value" : {
9601 "op" : "&",
9602 "left" : {
9603 "type" : "expression",
9604 "value" : {
9605 "op" : "+",
9606 "left" : {
9607 "type" : "field",
9608 "value" : ["userMetadata.int_meta", "new_words"]
9609 },
9610 "right" : {
9611 "type" : "hexstr",
9612 "value" : "0x02"
9613 }
9614 }
9615 },
9616 "right" : {
9617 "type" : "hexstr",
9618 "value" : "0xff"
9619 }
9620 }
9621 }
9622 }
9623 ],
9624 "source_info" : {
9625 "filename" : "include/int/int_transit.p4",
9626 "line" : 93,
9627 "column" : 8,
9628 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
9629 }
9630 },
9631 {
9632 "op" : "assign",
9633 "parameters" : [
9634 {
9635 "type" : "field",
9636 "value" : ["userMetadata.int_meta", "new_bytes"]
9637 },
9638 {
9639 "type" : "expression",
9640 "value" : {
9641 "type" : "expression",
9642 "value" : {
9643 "op" : "&",
9644 "left" : {
9645 "type" : "expression",
9646 "value" : {
9647 "op" : "+",
9648 "left" : {
9649 "type" : "field",
9650 "value" : ["userMetadata.int_meta", "new_bytes"]
9651 },
9652 "right" : {
9653 "type" : "hexstr",
9654 "value" : "0x0008"
9655 }
9656 }
9657 },
9658 "right" : {
9659 "type" : "hexstr",
9660 "value" : "0xffff"
9661 }
9662 }
9663 }
9664 }
9665 ],
9666 "source_info" : {
9667 "filename" : "include/int/int_transit.p4",
9668 "line" : 94,
9669 "column" : 8,
9670 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
9671 }
9672 }
9673 ]
9674 },
9675 {
9676 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
9677 "id" : 101,
9678 "runtime_data" : [],
9679 "primitives" : [
9680 {
9681 "op" : "add_header",
9682 "parameters" : [
9683 {
9684 "type" : "header",
9685 "value" : "int_q_congestion"
9686 }
9687 ],
9688 "source_info" : {
9689 "filename" : "include/int/int_transit.p4",
9690 "line" : 73,
9691 "column" : 8,
9692 "source_fragment" : "hdr.int_q_congestion.setValid()"
9693 }
9694 },
9695 {
9696 "op" : "assign",
9697 "parameters" : [
9698 {
9699 "type" : "field",
9700 "value" : ["int_q_congestion", "q_id"]
9701 },
9702 {
9703 "type" : "hexstr",
9704 "value" : "0x00"
9705 }
9706 ],
9707 "source_info" : {
9708 "filename" : "include/int/int_transit.p4",
9709 "line" : 75,
9710 "column" : 8,
9711 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
9712 }
9713 },
9714 {
9715 "op" : "assign",
9716 "parameters" : [
9717 {
9718 "type" : "field",
9719 "value" : ["int_q_congestion", "q_congestion"]
9720 },
9721 {
9722 "type" : "hexstr",
9723 "value" : "0x000000"
9724 }
9725 ],
9726 "source_info" : {
9727 "filename" : "include/int/int_transit.p4",
9728 "line" : 76,
9729 "column" : 8,
9730 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
9731 }
9732 },
9733 {
9734 "op" : "add_header",
9735 "parameters" : [
9736 {
9737 "type" : "header",
9738 "value" : "int_egress_tstamp"
9739 }
9740 ],
9741 "source_info" : {
9742 "filename" : "include/int/int_transit.p4",
9743 "line" : 68,
9744 "column" : 8,
9745 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9746 }
9747 },
9748 {
9749 "op" : "assign",
9750 "parameters" : [
9751 {
9752 "type" : "field",
9753 "value" : ["int_egress_tstamp", "egress_tstamp"]
9754 },
9755 {
9756 "type" : "expression",
9757 "value" : {
9758 "type" : "expression",
9759 "value" : {
9760 "op" : "&",
9761 "left" : {
9762 "type" : "expression",
9763 "value" : {
9764 "op" : "+",
9765 "left" : {
9766 "type" : "field",
9767 "value" : ["standard_metadata", "enq_timestamp"]
9768 },
9769 "right" : {
9770 "type" : "field",
9771 "value" : ["standard_metadata", "deq_timedelta"]
9772 }
9773 }
9774 },
9775 "right" : {
9776 "type" : "hexstr",
9777 "value" : "0xffffffff"
9778 }
9779 }
9780 }
9781 }
9782 ],
9783 "source_info" : {
9784 "filename" : "include/int/int_transit.p4",
9785 "line" : 69,
9786 "column" : 8,
9787 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
9788 }
9789 },
9790 {
9791 "op" : "assign",
9792 "parameters" : [
9793 {
9794 "type" : "field",
9795 "value" : ["userMetadata.int_meta", "new_words"]
9796 },
9797 {
9798 "type" : "expression",
9799 "value" : {
9800 "type" : "expression",
9801 "value" : {
9802 "op" : "&",
9803 "left" : {
9804 "type" : "expression",
9805 "value" : {
9806 "op" : "+",
9807 "left" : {
9808 "type" : "field",
9809 "value" : ["userMetadata.int_meta", "new_words"]
9810 },
9811 "right" : {
9812 "type" : "hexstr",
9813 "value" : "0x02"
9814 }
9815 }
9816 },
9817 "right" : {
9818 "type" : "hexstr",
9819 "value" : "0xff"
9820 }
9821 }
9822 }
9823 }
9824 ],
9825 "source_info" : {
9826 "filename" : "include/int/int_transit.p4",
9827 "line" : 93,
9828 "column" : 8,
9829 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
9830 }
9831 },
9832 {
9833 "op" : "assign",
9834 "parameters" : [
9835 {
9836 "type" : "field",
9837 "value" : ["userMetadata.int_meta", "new_bytes"]
9838 },
9839 {
9840 "type" : "expression",
9841 "value" : {
9842 "type" : "expression",
9843 "value" : {
9844 "op" : "&",
9845 "left" : {
9846 "type" : "expression",
9847 "value" : {
9848 "op" : "+",
9849 "left" : {
9850 "type" : "field",
9851 "value" : ["userMetadata.int_meta", "new_bytes"]
9852 },
9853 "right" : {
9854 "type" : "hexstr",
9855 "value" : "0x0008"
9856 }
9857 }
9858 },
9859 "right" : {
9860 "type" : "hexstr",
9861 "value" : "0xffff"
9862 }
9863 }
9864 }
9865 }
9866 ],
9867 "source_info" : {
9868 "filename" : "include/int/int_transit.p4",
9869 "line" : 94,
9870 "column" : 8,
9871 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
9872 }
9873 }
9874 ]
9875 },
9876 {
9877 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
9878 "id" : 102,
9879 "runtime_data" : [],
9880 "primitives" : [
9881 {
9882 "op" : "add_header",
9883 "parameters" : [
9884 {
9885 "type" : "header",
9886 "value" : "int_egress_tx_util"
9887 }
9888 ],
9889 "source_info" : {
9890 "filename" : "include/int/int_transit.p4",
9891 "line" : 80,
9892 "column" : 8,
9893 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9894 }
9895 },
9896 {
9897 "op" : "assign",
9898 "parameters" : [
9899 {
9900 "type" : "field",
9901 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9902 },
9903 {
9904 "type" : "hexstr",
9905 "value" : "0x00000000"
9906 }
9907 ],
9908 "source_info" : {
9909 "filename" : "include/int/int_transit.p4",
9910 "line" : 82,
9911 "column" : 8,
9912 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
9913 }
9914 },
9915 {
9916 "op" : "add_header",
9917 "parameters" : [
9918 {
9919 "type" : "header",
9920 "value" : "int_q_congestion"
9921 }
9922 ],
9923 "source_info" : {
9924 "filename" : "include/int/int_transit.p4",
9925 "line" : 73,
9926 "column" : 8,
9927 "source_fragment" : "hdr.int_q_congestion.setValid()"
9928 }
9929 },
9930 {
9931 "op" : "assign",
9932 "parameters" : [
9933 {
9934 "type" : "field",
9935 "value" : ["int_q_congestion", "q_id"]
9936 },
9937 {
9938 "type" : "hexstr",
9939 "value" : "0x00"
9940 }
9941 ],
9942 "source_info" : {
9943 "filename" : "include/int/int_transit.p4",
9944 "line" : 75,
9945 "column" : 8,
9946 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
9947 }
9948 },
9949 {
9950 "op" : "assign",
9951 "parameters" : [
9952 {
9953 "type" : "field",
9954 "value" : ["int_q_congestion", "q_congestion"]
9955 },
9956 {
9957 "type" : "hexstr",
9958 "value" : "0x000000"
9959 }
9960 ],
9961 "source_info" : {
9962 "filename" : "include/int/int_transit.p4",
9963 "line" : 76,
9964 "column" : 8,
9965 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
9966 }
9967 },
9968 {
9969 "op" : "add_header",
9970 "parameters" : [
9971 {
9972 "type" : "header",
9973 "value" : "int_egress_tstamp"
9974 }
9975 ],
9976 "source_info" : {
9977 "filename" : "include/int/int_transit.p4",
9978 "line" : 68,
9979 "column" : 8,
9980 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9981 }
9982 },
9983 {
9984 "op" : "assign",
9985 "parameters" : [
9986 {
9987 "type" : "field",
9988 "value" : ["int_egress_tstamp", "egress_tstamp"]
9989 },
9990 {
9991 "type" : "expression",
9992 "value" : {
9993 "type" : "expression",
9994 "value" : {
9995 "op" : "&",
9996 "left" : {
9997 "type" : "expression",
9998 "value" : {
9999 "op" : "+",
10000 "left" : {
10001 "type" : "field",
10002 "value" : ["standard_metadata", "enq_timestamp"]
10003 },
10004 "right" : {
10005 "type" : "field",
10006 "value" : ["standard_metadata", "deq_timedelta"]
10007 }
10008 }
10009 },
10010 "right" : {
10011 "type" : "hexstr",
10012 "value" : "0xffffffff"
10013 }
10014 }
10015 }
10016 }
10017 ],
10018 "source_info" : {
10019 "filename" : "include/int/int_transit.p4",
10020 "line" : 69,
10021 "column" : 8,
10022 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
10023 }
10024 },
10025 {
10026 "op" : "assign",
10027 "parameters" : [
10028 {
10029 "type" : "field",
10030 "value" : ["userMetadata.int_meta", "new_words"]
10031 },
10032 {
10033 "type" : "expression",
10034 "value" : {
10035 "type" : "expression",
10036 "value" : {
10037 "op" : "&",
10038 "left" : {
10039 "type" : "expression",
10040 "value" : {
10041 "op" : "+",
10042 "left" : {
10043 "type" : "field",
10044 "value" : ["userMetadata.int_meta", "new_words"]
10045 },
10046 "right" : {
10047 "type" : "hexstr",
10048 "value" : "0x03"
10049 }
10050 }
10051 },
10052 "right" : {
10053 "type" : "hexstr",
10054 "value" : "0xff"
10055 }
10056 }
10057 }
10058 }
10059 ],
10060 "source_info" : {
10061 "filename" : "include/int/int_transit.p4",
10062 "line" : 98,
10063 "column" : 8,
10064 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
10065 }
10066 },
10067 {
10068 "op" : "assign",
10069 "parameters" : [
10070 {
10071 "type" : "field",
10072 "value" : ["userMetadata.int_meta", "new_bytes"]
10073 },
10074 {
10075 "type" : "expression",
10076 "value" : {
10077 "type" : "expression",
10078 "value" : {
10079 "op" : "&",
10080 "left" : {
10081 "type" : "expression",
10082 "value" : {
10083 "op" : "+",
10084 "left" : {
10085 "type" : "field",
10086 "value" : ["userMetadata.int_meta", "new_bytes"]
10087 },
10088 "right" : {
10089 "type" : "hexstr",
10090 "value" : "0x000c"
10091 }
10092 }
10093 },
10094 "right" : {
10095 "type" : "hexstr",
10096 "value" : "0xffff"
10097 }
10098 }
10099 }
10100 }
10101 ],
10102 "source_info" : {
10103 "filename" : "include/int/int_transit.p4",
10104 "line" : 99,
10105 "column" : 8,
10106 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
10107 }
10108 }
10109 ]
10110 },
10111 {
10112 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
10113 "id" : 103,
10114 "runtime_data" : [],
10115 "primitives" : [
10116 {
10117 "op" : "add_header",
10118 "parameters" : [
10119 {
10120 "type" : "header",
10121 "value" : "int_ingress_tstamp"
10122 }
10123 ],
10124 "source_info" : {
10125 "filename" : "include/int/int_transit.p4",
10126 "line" : 63,
10127 "column" : 8,
10128 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10129 }
10130 },
10131 {
10132 "op" : "assign",
10133 "parameters" : [
10134 {
10135 "type" : "field",
10136 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10137 },
10138 {
10139 "type" : "field",
10140 "value" : ["standard_metadata", "enq_timestamp"]
10141 }
10142 ],
10143 "source_info" : {
10144 "filename" : "include/int/int_transit.p4",
10145 "line" : 64,
10146 "column" : 8,
10147 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10148 }
10149 },
10150 {
10151 "op" : "assign",
10152 "parameters" : [
10153 {
10154 "type" : "field",
10155 "value" : ["userMetadata.int_meta", "new_words"]
10156 },
10157 {
10158 "type" : "expression",
10159 "value" : {
10160 "type" : "expression",
10161 "value" : {
10162 "op" : "&",
10163 "left" : {
10164 "type" : "expression",
10165 "value" : {
10166 "op" : "+",
10167 "left" : {
10168 "type" : "field",
10169 "value" : ["userMetadata.int_meta", "new_words"]
10170 },
10171 "right" : {
10172 "type" : "hexstr",
10173 "value" : "0x01"
10174 }
10175 }
10176 },
10177 "right" : {
10178 "type" : "hexstr",
10179 "value" : "0xff"
10180 }
10181 }
10182 }
10183 }
10184 ],
10185 "source_info" : {
10186 "filename" : "include/int/int_transit.p4",
10187 "line" : 88,
10188 "column" : 8,
10189 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
10190 }
10191 },
10192 {
10193 "op" : "assign",
10194 "parameters" : [
10195 {
10196 "type" : "field",
10197 "value" : ["userMetadata.int_meta", "new_bytes"]
10198 },
10199 {
10200 "type" : "expression",
10201 "value" : {
10202 "type" : "expression",
10203 "value" : {
10204 "op" : "&",
10205 "left" : {
10206 "type" : "expression",
10207 "value" : {
10208 "op" : "+",
10209 "left" : {
10210 "type" : "field",
10211 "value" : ["userMetadata.int_meta", "new_bytes"]
10212 },
10213 "right" : {
10214 "type" : "hexstr",
10215 "value" : "0x0004"
10216 }
10217 }
10218 },
10219 "right" : {
10220 "type" : "hexstr",
10221 "value" : "0xffff"
10222 }
10223 }
10224 }
10225 }
10226 ],
10227 "source_info" : {
10228 "filename" : "include/int/int_transit.p4",
10229 "line" : 89,
10230 "column" : 8,
10231 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
10232 }
10233 }
10234 ]
10235 },
10236 {
10237 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
10238 "id" : 104,
10239 "runtime_data" : [],
10240 "primitives" : [
10241 {
10242 "op" : "add_header",
10243 "parameters" : [
10244 {
10245 "type" : "header",
10246 "value" : "int_egress_tx_util"
10247 }
10248 ],
10249 "source_info" : {
10250 "filename" : "include/int/int_transit.p4",
10251 "line" : 80,
10252 "column" : 8,
10253 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
10254 }
10255 },
10256 {
10257 "op" : "assign",
10258 "parameters" : [
10259 {
10260 "type" : "field",
10261 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
10262 },
10263 {
10264 "type" : "hexstr",
10265 "value" : "0x00000000"
10266 }
10267 ],
10268 "source_info" : {
10269 "filename" : "include/int/int_transit.p4",
10270 "line" : 82,
10271 "column" : 8,
10272 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
10273 }
10274 },
10275 {
10276 "op" : "add_header",
10277 "parameters" : [
10278 {
10279 "type" : "header",
10280 "value" : "int_ingress_tstamp"
10281 }
10282 ],
10283 "source_info" : {
10284 "filename" : "include/int/int_transit.p4",
10285 "line" : 63,
10286 "column" : 8,
10287 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10288 }
10289 },
10290 {
10291 "op" : "assign",
10292 "parameters" : [
10293 {
10294 "type" : "field",
10295 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10296 },
10297 {
10298 "type" : "field",
10299 "value" : ["standard_metadata", "enq_timestamp"]
10300 }
10301 ],
10302 "source_info" : {
10303 "filename" : "include/int/int_transit.p4",
10304 "line" : 64,
10305 "column" : 8,
10306 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10307 }
10308 },
10309 {
10310 "op" : "assign",
10311 "parameters" : [
10312 {
10313 "type" : "field",
10314 "value" : ["userMetadata.int_meta", "new_words"]
10315 },
10316 {
10317 "type" : "expression",
10318 "value" : {
10319 "type" : "expression",
10320 "value" : {
10321 "op" : "&",
10322 "left" : {
10323 "type" : "expression",
10324 "value" : {
10325 "op" : "+",
10326 "left" : {
10327 "type" : "field",
10328 "value" : ["userMetadata.int_meta", "new_words"]
10329 },
10330 "right" : {
10331 "type" : "hexstr",
10332 "value" : "0x02"
10333 }
10334 }
10335 },
10336 "right" : {
10337 "type" : "hexstr",
10338 "value" : "0xff"
10339 }
10340 }
10341 }
10342 }
10343 ],
10344 "source_info" : {
10345 "filename" : "include/int/int_transit.p4",
10346 "line" : 93,
10347 "column" : 8,
10348 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
10349 }
10350 },
10351 {
10352 "op" : "assign",
10353 "parameters" : [
10354 {
10355 "type" : "field",
10356 "value" : ["userMetadata.int_meta", "new_bytes"]
10357 },
10358 {
10359 "type" : "expression",
10360 "value" : {
10361 "type" : "expression",
10362 "value" : {
10363 "op" : "&",
10364 "left" : {
10365 "type" : "expression",
10366 "value" : {
10367 "op" : "+",
10368 "left" : {
10369 "type" : "field",
10370 "value" : ["userMetadata.int_meta", "new_bytes"]
10371 },
10372 "right" : {
10373 "type" : "hexstr",
10374 "value" : "0x0008"
10375 }
10376 }
10377 },
10378 "right" : {
10379 "type" : "hexstr",
10380 "value" : "0xffff"
10381 }
10382 }
10383 }
10384 }
10385 ],
10386 "source_info" : {
10387 "filename" : "include/int/int_transit.p4",
10388 "line" : 94,
10389 "column" : 8,
10390 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
10391 }
10392 }
10393 ]
10394 },
10395 {
10396 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
10397 "id" : 105,
10398 "runtime_data" : [],
10399 "primitives" : [
10400 {
10401 "op" : "add_header",
10402 "parameters" : [
10403 {
10404 "type" : "header",
10405 "value" : "int_q_congestion"
10406 }
10407 ],
10408 "source_info" : {
10409 "filename" : "include/int/int_transit.p4",
10410 "line" : 73,
10411 "column" : 8,
10412 "source_fragment" : "hdr.int_q_congestion.setValid()"
10413 }
10414 },
10415 {
10416 "op" : "assign",
10417 "parameters" : [
10418 {
10419 "type" : "field",
10420 "value" : ["int_q_congestion", "q_id"]
10421 },
10422 {
10423 "type" : "hexstr",
10424 "value" : "0x00"
10425 }
10426 ],
10427 "source_info" : {
10428 "filename" : "include/int/int_transit.p4",
10429 "line" : 75,
10430 "column" : 8,
10431 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
10432 }
10433 },
10434 {
10435 "op" : "assign",
10436 "parameters" : [
10437 {
10438 "type" : "field",
10439 "value" : ["int_q_congestion", "q_congestion"]
10440 },
10441 {
10442 "type" : "hexstr",
10443 "value" : "0x000000"
10444 }
10445 ],
10446 "source_info" : {
10447 "filename" : "include/int/int_transit.p4",
10448 "line" : 76,
10449 "column" : 8,
10450 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
10451 }
10452 },
10453 {
10454 "op" : "add_header",
10455 "parameters" : [
10456 {
10457 "type" : "header",
10458 "value" : "int_ingress_tstamp"
10459 }
10460 ],
10461 "source_info" : {
10462 "filename" : "include/int/int_transit.p4",
10463 "line" : 63,
10464 "column" : 8,
10465 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10466 }
10467 },
10468 {
10469 "op" : "assign",
10470 "parameters" : [
10471 {
10472 "type" : "field",
10473 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10474 },
10475 {
10476 "type" : "field",
10477 "value" : ["standard_metadata", "enq_timestamp"]
10478 }
10479 ],
10480 "source_info" : {
10481 "filename" : "include/int/int_transit.p4",
10482 "line" : 64,
10483 "column" : 8,
10484 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10485 }
10486 },
10487 {
10488 "op" : "assign",
10489 "parameters" : [
10490 {
10491 "type" : "field",
10492 "value" : ["userMetadata.int_meta", "new_words"]
10493 },
10494 {
10495 "type" : "expression",
10496 "value" : {
10497 "type" : "expression",
10498 "value" : {
10499 "op" : "&",
10500 "left" : {
10501 "type" : "expression",
10502 "value" : {
10503 "op" : "+",
10504 "left" : {
10505 "type" : "field",
10506 "value" : ["userMetadata.int_meta", "new_words"]
10507 },
10508 "right" : {
10509 "type" : "hexstr",
10510 "value" : "0x02"
10511 }
10512 }
10513 },
10514 "right" : {
10515 "type" : "hexstr",
10516 "value" : "0xff"
10517 }
10518 }
10519 }
10520 }
10521 ],
10522 "source_info" : {
10523 "filename" : "include/int/int_transit.p4",
10524 "line" : 93,
10525 "column" : 8,
10526 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
10527 }
10528 },
10529 {
10530 "op" : "assign",
10531 "parameters" : [
10532 {
10533 "type" : "field",
10534 "value" : ["userMetadata.int_meta", "new_bytes"]
10535 },
10536 {
10537 "type" : "expression",
10538 "value" : {
10539 "type" : "expression",
10540 "value" : {
10541 "op" : "&",
10542 "left" : {
10543 "type" : "expression",
10544 "value" : {
10545 "op" : "+",
10546 "left" : {
10547 "type" : "field",
10548 "value" : ["userMetadata.int_meta", "new_bytes"]
10549 },
10550 "right" : {
10551 "type" : "hexstr",
10552 "value" : "0x0008"
10553 }
10554 }
10555 },
10556 "right" : {
10557 "type" : "hexstr",
10558 "value" : "0xffff"
10559 }
10560 }
10561 }
10562 }
10563 ],
10564 "source_info" : {
10565 "filename" : "include/int/int_transit.p4",
10566 "line" : 94,
10567 "column" : 8,
10568 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
10569 }
10570 }
10571 ]
10572 },
10573 {
10574 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
10575 "id" : 106,
10576 "runtime_data" : [],
10577 "primitives" : [
10578 {
10579 "op" : "add_header",
10580 "parameters" : [
10581 {
10582 "type" : "header",
10583 "value" : "int_egress_tx_util"
10584 }
10585 ],
10586 "source_info" : {
10587 "filename" : "include/int/int_transit.p4",
10588 "line" : 80,
10589 "column" : 8,
10590 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
10591 }
10592 },
10593 {
10594 "op" : "assign",
10595 "parameters" : [
10596 {
10597 "type" : "field",
10598 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
10599 },
10600 {
10601 "type" : "hexstr",
10602 "value" : "0x00000000"
10603 }
10604 ],
10605 "source_info" : {
10606 "filename" : "include/int/int_transit.p4",
10607 "line" : 82,
10608 "column" : 8,
10609 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
10610 }
10611 },
10612 {
10613 "op" : "add_header",
10614 "parameters" : [
10615 {
10616 "type" : "header",
10617 "value" : "int_q_congestion"
10618 }
10619 ],
10620 "source_info" : {
10621 "filename" : "include/int/int_transit.p4",
10622 "line" : 73,
10623 "column" : 8,
10624 "source_fragment" : "hdr.int_q_congestion.setValid()"
10625 }
10626 },
10627 {
10628 "op" : "assign",
10629 "parameters" : [
10630 {
10631 "type" : "field",
10632 "value" : ["int_q_congestion", "q_id"]
10633 },
10634 {
10635 "type" : "hexstr",
10636 "value" : "0x00"
10637 }
10638 ],
10639 "source_info" : {
10640 "filename" : "include/int/int_transit.p4",
10641 "line" : 75,
10642 "column" : 8,
10643 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
10644 }
10645 },
10646 {
10647 "op" : "assign",
10648 "parameters" : [
10649 {
10650 "type" : "field",
10651 "value" : ["int_q_congestion", "q_congestion"]
10652 },
10653 {
10654 "type" : "hexstr",
10655 "value" : "0x000000"
10656 }
10657 ],
10658 "source_info" : {
10659 "filename" : "include/int/int_transit.p4",
10660 "line" : 76,
10661 "column" : 8,
10662 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
10663 }
10664 },
10665 {
10666 "op" : "add_header",
10667 "parameters" : [
10668 {
10669 "type" : "header",
10670 "value" : "int_ingress_tstamp"
10671 }
10672 ],
10673 "source_info" : {
10674 "filename" : "include/int/int_transit.p4",
10675 "line" : 63,
10676 "column" : 8,
10677 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10678 }
10679 },
10680 {
10681 "op" : "assign",
10682 "parameters" : [
10683 {
10684 "type" : "field",
10685 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10686 },
10687 {
10688 "type" : "field",
10689 "value" : ["standard_metadata", "enq_timestamp"]
10690 }
10691 ],
10692 "source_info" : {
10693 "filename" : "include/int/int_transit.p4",
10694 "line" : 64,
10695 "column" : 8,
10696 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10697 }
10698 },
10699 {
10700 "op" : "assign",
10701 "parameters" : [
10702 {
10703 "type" : "field",
10704 "value" : ["userMetadata.int_meta", "new_words"]
10705 },
10706 {
10707 "type" : "expression",
10708 "value" : {
10709 "type" : "expression",
10710 "value" : {
10711 "op" : "&",
10712 "left" : {
10713 "type" : "expression",
10714 "value" : {
10715 "op" : "+",
10716 "left" : {
10717 "type" : "field",
10718 "value" : ["userMetadata.int_meta", "new_words"]
10719 },
10720 "right" : {
10721 "type" : "hexstr",
10722 "value" : "0x03"
10723 }
10724 }
10725 },
10726 "right" : {
10727 "type" : "hexstr",
10728 "value" : "0xff"
10729 }
10730 }
10731 }
10732 }
10733 ],
10734 "source_info" : {
10735 "filename" : "include/int/int_transit.p4",
10736 "line" : 98,
10737 "column" : 8,
10738 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
10739 }
10740 },
10741 {
10742 "op" : "assign",
10743 "parameters" : [
10744 {
10745 "type" : "field",
10746 "value" : ["userMetadata.int_meta", "new_bytes"]
10747 },
10748 {
10749 "type" : "expression",
10750 "value" : {
10751 "type" : "expression",
10752 "value" : {
10753 "op" : "&",
10754 "left" : {
10755 "type" : "expression",
10756 "value" : {
10757 "op" : "+",
10758 "left" : {
10759 "type" : "field",
10760 "value" : ["userMetadata.int_meta", "new_bytes"]
10761 },
10762 "right" : {
10763 "type" : "hexstr",
10764 "value" : "0x000c"
10765 }
10766 }
10767 },
10768 "right" : {
10769 "type" : "hexstr",
10770 "value" : "0xffff"
10771 }
10772 }
10773 }
10774 }
10775 ],
10776 "source_info" : {
10777 "filename" : "include/int/int_transit.p4",
10778 "line" : 99,
10779 "column" : 8,
10780 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
10781 }
10782 }
10783 ]
10784 },
10785 {
10786 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
10787 "id" : 107,
10788 "runtime_data" : [],
10789 "primitives" : [
10790 {
10791 "op" : "add_header",
10792 "parameters" : [
10793 {
10794 "type" : "header",
10795 "value" : "int_egress_tstamp"
10796 }
10797 ],
10798 "source_info" : {
10799 "filename" : "include/int/int_transit.p4",
10800 "line" : 68,
10801 "column" : 8,
10802 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
10803 }
10804 },
10805 {
10806 "op" : "assign",
10807 "parameters" : [
10808 {
10809 "type" : "field",
10810 "value" : ["int_egress_tstamp", "egress_tstamp"]
10811 },
10812 {
10813 "type" : "expression",
10814 "value" : {
10815 "type" : "expression",
10816 "value" : {
10817 "op" : "&",
10818 "left" : {
10819 "type" : "expression",
10820 "value" : {
10821 "op" : "+",
10822 "left" : {
10823 "type" : "field",
10824 "value" : ["standard_metadata", "enq_timestamp"]
10825 },
10826 "right" : {
10827 "type" : "field",
10828 "value" : ["standard_metadata", "deq_timedelta"]
10829 }
10830 }
10831 },
10832 "right" : {
10833 "type" : "hexstr",
10834 "value" : "0xffffffff"
10835 }
10836 }
10837 }
10838 }
10839 ],
10840 "source_info" : {
10841 "filename" : "include/int/int_transit.p4",
10842 "line" : 69,
10843 "column" : 8,
10844 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
10845 }
10846 },
10847 {
10848 "op" : "add_header",
10849 "parameters" : [
10850 {
10851 "type" : "header",
10852 "value" : "int_ingress_tstamp"
10853 }
10854 ],
10855 "source_info" : {
10856 "filename" : "include/int/int_transit.p4",
10857 "line" : 63,
10858 "column" : 8,
10859 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10860 }
10861 },
10862 {
10863 "op" : "assign",
10864 "parameters" : [
10865 {
10866 "type" : "field",
10867 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10868 },
10869 {
10870 "type" : "field",
10871 "value" : ["standard_metadata", "enq_timestamp"]
10872 }
10873 ],
10874 "source_info" : {
10875 "filename" : "include/int/int_transit.p4",
10876 "line" : 64,
10877 "column" : 8,
10878 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10879 }
10880 },
10881 {
10882 "op" : "assign",
10883 "parameters" : [
10884 {
10885 "type" : "field",
10886 "value" : ["userMetadata.int_meta", "new_words"]
10887 },
10888 {
10889 "type" : "expression",
10890 "value" : {
10891 "type" : "expression",
10892 "value" : {
10893 "op" : "&",
10894 "left" : {
10895 "type" : "expression",
10896 "value" : {
10897 "op" : "+",
10898 "left" : {
10899 "type" : "field",
10900 "value" : ["userMetadata.int_meta", "new_words"]
10901 },
10902 "right" : {
10903 "type" : "hexstr",
10904 "value" : "0x02"
10905 }
10906 }
10907 },
10908 "right" : {
10909 "type" : "hexstr",
10910 "value" : "0xff"
10911 }
10912 }
10913 }
10914 }
10915 ],
10916 "source_info" : {
10917 "filename" : "include/int/int_transit.p4",
10918 "line" : 93,
10919 "column" : 8,
10920 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
10921 }
10922 },
10923 {
10924 "op" : "assign",
10925 "parameters" : [
10926 {
10927 "type" : "field",
10928 "value" : ["userMetadata.int_meta", "new_bytes"]
10929 },
10930 {
10931 "type" : "expression",
10932 "value" : {
10933 "type" : "expression",
10934 "value" : {
10935 "op" : "&",
10936 "left" : {
10937 "type" : "expression",
10938 "value" : {
10939 "op" : "+",
10940 "left" : {
10941 "type" : "field",
10942 "value" : ["userMetadata.int_meta", "new_bytes"]
10943 },
10944 "right" : {
10945 "type" : "hexstr",
10946 "value" : "0x0008"
10947 }
10948 }
10949 },
10950 "right" : {
10951 "type" : "hexstr",
10952 "value" : "0xffff"
10953 }
10954 }
10955 }
10956 }
10957 ],
10958 "source_info" : {
10959 "filename" : "include/int/int_transit.p4",
10960 "line" : 94,
10961 "column" : 8,
10962 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
10963 }
10964 }
10965 ]
10966 },
10967 {
10968 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
10969 "id" : 108,
10970 "runtime_data" : [],
10971 "primitives" : [
10972 {
10973 "op" : "add_header",
10974 "parameters" : [
10975 {
10976 "type" : "header",
10977 "value" : "int_egress_tx_util"
10978 }
10979 ],
10980 "source_info" : {
10981 "filename" : "include/int/int_transit.p4",
10982 "line" : 80,
10983 "column" : 8,
10984 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
10985 }
10986 },
10987 {
10988 "op" : "assign",
10989 "parameters" : [
10990 {
10991 "type" : "field",
10992 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
10993 },
10994 {
10995 "type" : "hexstr",
10996 "value" : "0x00000000"
10997 }
10998 ],
10999 "source_info" : {
11000 "filename" : "include/int/int_transit.p4",
11001 "line" : 82,
11002 "column" : 8,
11003 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
11004 }
11005 },
11006 {
11007 "op" : "add_header",
11008 "parameters" : [
11009 {
11010 "type" : "header",
11011 "value" : "int_egress_tstamp"
11012 }
11013 ],
11014 "source_info" : {
11015 "filename" : "include/int/int_transit.p4",
11016 "line" : 68,
11017 "column" : 8,
11018 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11019 }
11020 },
11021 {
11022 "op" : "assign",
11023 "parameters" : [
11024 {
11025 "type" : "field",
11026 "value" : ["int_egress_tstamp", "egress_tstamp"]
11027 },
11028 {
11029 "type" : "expression",
11030 "value" : {
11031 "type" : "expression",
11032 "value" : {
11033 "op" : "&",
11034 "left" : {
11035 "type" : "expression",
11036 "value" : {
11037 "op" : "+",
11038 "left" : {
11039 "type" : "field",
11040 "value" : ["standard_metadata", "enq_timestamp"]
11041 },
11042 "right" : {
11043 "type" : "field",
11044 "value" : ["standard_metadata", "deq_timedelta"]
11045 }
11046 }
11047 },
11048 "right" : {
11049 "type" : "hexstr",
11050 "value" : "0xffffffff"
11051 }
11052 }
11053 }
11054 }
11055 ],
11056 "source_info" : {
11057 "filename" : "include/int/int_transit.p4",
11058 "line" : 69,
11059 "column" : 8,
11060 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11061 }
11062 },
11063 {
11064 "op" : "add_header",
11065 "parameters" : [
11066 {
11067 "type" : "header",
11068 "value" : "int_ingress_tstamp"
11069 }
11070 ],
11071 "source_info" : {
11072 "filename" : "include/int/int_transit.p4",
11073 "line" : 63,
11074 "column" : 8,
11075 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11076 }
11077 },
11078 {
11079 "op" : "assign",
11080 "parameters" : [
11081 {
11082 "type" : "field",
11083 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11084 },
11085 {
11086 "type" : "field",
11087 "value" : ["standard_metadata", "enq_timestamp"]
11088 }
11089 ],
11090 "source_info" : {
11091 "filename" : "include/int/int_transit.p4",
11092 "line" : 64,
11093 "column" : 8,
11094 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11095 }
11096 },
11097 {
11098 "op" : "assign",
11099 "parameters" : [
11100 {
11101 "type" : "field",
11102 "value" : ["userMetadata.int_meta", "new_words"]
11103 },
11104 {
11105 "type" : "expression",
11106 "value" : {
11107 "type" : "expression",
11108 "value" : {
11109 "op" : "&",
11110 "left" : {
11111 "type" : "expression",
11112 "value" : {
11113 "op" : "+",
11114 "left" : {
11115 "type" : "field",
11116 "value" : ["userMetadata.int_meta", "new_words"]
11117 },
11118 "right" : {
11119 "type" : "hexstr",
11120 "value" : "0x03"
11121 }
11122 }
11123 },
11124 "right" : {
11125 "type" : "hexstr",
11126 "value" : "0xff"
11127 }
11128 }
11129 }
11130 }
11131 ],
11132 "source_info" : {
11133 "filename" : "include/int/int_transit.p4",
11134 "line" : 98,
11135 "column" : 8,
11136 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
11137 }
11138 },
11139 {
11140 "op" : "assign",
11141 "parameters" : [
11142 {
11143 "type" : "field",
11144 "value" : ["userMetadata.int_meta", "new_bytes"]
11145 },
11146 {
11147 "type" : "expression",
11148 "value" : {
11149 "type" : "expression",
11150 "value" : {
11151 "op" : "&",
11152 "left" : {
11153 "type" : "expression",
11154 "value" : {
11155 "op" : "+",
11156 "left" : {
11157 "type" : "field",
11158 "value" : ["userMetadata.int_meta", "new_bytes"]
11159 },
11160 "right" : {
11161 "type" : "hexstr",
11162 "value" : "0x000c"
11163 }
11164 }
11165 },
11166 "right" : {
11167 "type" : "hexstr",
11168 "value" : "0xffff"
11169 }
11170 }
11171 }
11172 }
11173 ],
11174 "source_info" : {
11175 "filename" : "include/int/int_transit.p4",
11176 "line" : 99,
11177 "column" : 8,
11178 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
11179 }
11180 }
11181 ]
11182 },
11183 {
11184 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
11185 "id" : 109,
11186 "runtime_data" : [],
11187 "primitives" : [
11188 {
11189 "op" : "add_header",
11190 "parameters" : [
11191 {
11192 "type" : "header",
11193 "value" : "int_q_congestion"
11194 }
11195 ],
11196 "source_info" : {
11197 "filename" : "include/int/int_transit.p4",
11198 "line" : 73,
11199 "column" : 8,
11200 "source_fragment" : "hdr.int_q_congestion.setValid()"
11201 }
11202 },
11203 {
11204 "op" : "assign",
11205 "parameters" : [
11206 {
11207 "type" : "field",
11208 "value" : ["int_q_congestion", "q_id"]
11209 },
11210 {
11211 "type" : "hexstr",
11212 "value" : "0x00"
11213 }
11214 ],
11215 "source_info" : {
11216 "filename" : "include/int/int_transit.p4",
11217 "line" : 75,
11218 "column" : 8,
11219 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
11220 }
11221 },
11222 {
11223 "op" : "assign",
11224 "parameters" : [
11225 {
11226 "type" : "field",
11227 "value" : ["int_q_congestion", "q_congestion"]
11228 },
11229 {
11230 "type" : "hexstr",
11231 "value" : "0x000000"
11232 }
11233 ],
11234 "source_info" : {
11235 "filename" : "include/int/int_transit.p4",
11236 "line" : 76,
11237 "column" : 8,
11238 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
11239 }
11240 },
11241 {
11242 "op" : "add_header",
11243 "parameters" : [
11244 {
11245 "type" : "header",
11246 "value" : "int_egress_tstamp"
11247 }
11248 ],
11249 "source_info" : {
11250 "filename" : "include/int/int_transit.p4",
11251 "line" : 68,
11252 "column" : 8,
11253 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11254 }
11255 },
11256 {
11257 "op" : "assign",
11258 "parameters" : [
11259 {
11260 "type" : "field",
11261 "value" : ["int_egress_tstamp", "egress_tstamp"]
11262 },
11263 {
11264 "type" : "expression",
11265 "value" : {
11266 "type" : "expression",
11267 "value" : {
11268 "op" : "&",
11269 "left" : {
11270 "type" : "expression",
11271 "value" : {
11272 "op" : "+",
11273 "left" : {
11274 "type" : "field",
11275 "value" : ["standard_metadata", "enq_timestamp"]
11276 },
11277 "right" : {
11278 "type" : "field",
11279 "value" : ["standard_metadata", "deq_timedelta"]
11280 }
11281 }
11282 },
11283 "right" : {
11284 "type" : "hexstr",
11285 "value" : "0xffffffff"
11286 }
11287 }
11288 }
11289 }
11290 ],
11291 "source_info" : {
11292 "filename" : "include/int/int_transit.p4",
11293 "line" : 69,
11294 "column" : 8,
11295 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11296 }
11297 },
11298 {
11299 "op" : "add_header",
11300 "parameters" : [
11301 {
11302 "type" : "header",
11303 "value" : "int_ingress_tstamp"
11304 }
11305 ],
11306 "source_info" : {
11307 "filename" : "include/int/int_transit.p4",
11308 "line" : 63,
11309 "column" : 8,
11310 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11311 }
11312 },
11313 {
11314 "op" : "assign",
11315 "parameters" : [
11316 {
11317 "type" : "field",
11318 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11319 },
11320 {
11321 "type" : "field",
11322 "value" : ["standard_metadata", "enq_timestamp"]
11323 }
11324 ],
11325 "source_info" : {
11326 "filename" : "include/int/int_transit.p4",
11327 "line" : 64,
11328 "column" : 8,
11329 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11330 }
11331 },
11332 {
11333 "op" : "assign",
11334 "parameters" : [
11335 {
11336 "type" : "field",
11337 "value" : ["userMetadata.int_meta", "new_words"]
11338 },
11339 {
11340 "type" : "expression",
11341 "value" : {
11342 "type" : "expression",
11343 "value" : {
11344 "op" : "&",
11345 "left" : {
11346 "type" : "expression",
11347 "value" : {
11348 "op" : "+",
11349 "left" : {
11350 "type" : "field",
11351 "value" : ["userMetadata.int_meta", "new_words"]
11352 },
11353 "right" : {
11354 "type" : "hexstr",
11355 "value" : "0x03"
11356 }
11357 }
11358 },
11359 "right" : {
11360 "type" : "hexstr",
11361 "value" : "0xff"
11362 }
11363 }
11364 }
11365 }
11366 ],
11367 "source_info" : {
11368 "filename" : "include/int/int_transit.p4",
11369 "line" : 98,
11370 "column" : 8,
11371 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
11372 }
11373 },
11374 {
11375 "op" : "assign",
11376 "parameters" : [
11377 {
11378 "type" : "field",
11379 "value" : ["userMetadata.int_meta", "new_bytes"]
11380 },
11381 {
11382 "type" : "expression",
11383 "value" : {
11384 "type" : "expression",
11385 "value" : {
11386 "op" : "&",
11387 "left" : {
11388 "type" : "expression",
11389 "value" : {
11390 "op" : "+",
11391 "left" : {
11392 "type" : "field",
11393 "value" : ["userMetadata.int_meta", "new_bytes"]
11394 },
11395 "right" : {
11396 "type" : "hexstr",
11397 "value" : "0x000c"
11398 }
11399 }
11400 },
11401 "right" : {
11402 "type" : "hexstr",
11403 "value" : "0xffff"
11404 }
11405 }
11406 }
11407 }
11408 ],
11409 "source_info" : {
11410 "filename" : "include/int/int_transit.p4",
11411 "line" : 99,
11412 "column" : 8,
11413 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
11414 }
11415 }
11416 ]
11417 },
11418 {
11419 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
11420 "id" : 110,
11421 "runtime_data" : [],
11422 "primitives" : [
11423 {
11424 "op" : "add_header",
11425 "parameters" : [
11426 {
11427 "type" : "header",
11428 "value" : "int_egress_tx_util"
11429 }
11430 ],
11431 "source_info" : {
11432 "filename" : "include/int/int_transit.p4",
11433 "line" : 80,
11434 "column" : 8,
11435 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
11436 }
11437 },
11438 {
11439 "op" : "assign",
11440 "parameters" : [
11441 {
11442 "type" : "field",
11443 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
11444 },
11445 {
11446 "type" : "hexstr",
11447 "value" : "0x00000000"
11448 }
11449 ],
11450 "source_info" : {
11451 "filename" : "include/int/int_transit.p4",
11452 "line" : 82,
11453 "column" : 8,
11454 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
11455 }
11456 },
11457 {
11458 "op" : "add_header",
11459 "parameters" : [
11460 {
11461 "type" : "header",
11462 "value" : "int_q_congestion"
11463 }
11464 ],
11465 "source_info" : {
11466 "filename" : "include/int/int_transit.p4",
11467 "line" : 73,
11468 "column" : 8,
11469 "source_fragment" : "hdr.int_q_congestion.setValid()"
11470 }
11471 },
11472 {
11473 "op" : "assign",
11474 "parameters" : [
11475 {
11476 "type" : "field",
11477 "value" : ["int_q_congestion", "q_id"]
11478 },
11479 {
11480 "type" : "hexstr",
11481 "value" : "0x00"
11482 }
11483 ],
11484 "source_info" : {
11485 "filename" : "include/int/int_transit.p4",
11486 "line" : 75,
11487 "column" : 8,
11488 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
11489 }
11490 },
11491 {
11492 "op" : "assign",
11493 "parameters" : [
11494 {
11495 "type" : "field",
11496 "value" : ["int_q_congestion", "q_congestion"]
11497 },
11498 {
11499 "type" : "hexstr",
11500 "value" : "0x000000"
11501 }
11502 ],
11503 "source_info" : {
11504 "filename" : "include/int/int_transit.p4",
11505 "line" : 76,
11506 "column" : 8,
11507 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
11508 }
11509 },
11510 {
11511 "op" : "add_header",
11512 "parameters" : [
11513 {
11514 "type" : "header",
11515 "value" : "int_egress_tstamp"
11516 }
11517 ],
11518 "source_info" : {
11519 "filename" : "include/int/int_transit.p4",
11520 "line" : 68,
11521 "column" : 8,
11522 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11523 }
11524 },
11525 {
11526 "op" : "assign",
11527 "parameters" : [
11528 {
11529 "type" : "field",
11530 "value" : ["int_egress_tstamp", "egress_tstamp"]
11531 },
11532 {
11533 "type" : "expression",
11534 "value" : {
11535 "type" : "expression",
11536 "value" : {
11537 "op" : "&",
11538 "left" : {
11539 "type" : "expression",
11540 "value" : {
11541 "op" : "+",
11542 "left" : {
11543 "type" : "field",
11544 "value" : ["standard_metadata", "enq_timestamp"]
11545 },
11546 "right" : {
11547 "type" : "field",
11548 "value" : ["standard_metadata", "deq_timedelta"]
11549 }
11550 }
11551 },
11552 "right" : {
11553 "type" : "hexstr",
11554 "value" : "0xffffffff"
11555 }
11556 }
11557 }
11558 }
11559 ],
11560 "source_info" : {
11561 "filename" : "include/int/int_transit.p4",
11562 "line" : 69,
11563 "column" : 8,
11564 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11565 }
11566 },
11567 {
11568 "op" : "add_header",
11569 "parameters" : [
11570 {
11571 "type" : "header",
11572 "value" : "int_ingress_tstamp"
11573 }
11574 ],
11575 "source_info" : {
11576 "filename" : "include/int/int_transit.p4",
11577 "line" : 63,
11578 "column" : 8,
11579 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11580 }
11581 },
11582 {
11583 "op" : "assign",
11584 "parameters" : [
11585 {
11586 "type" : "field",
11587 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11588 },
11589 {
11590 "type" : "field",
11591 "value" : ["standard_metadata", "enq_timestamp"]
11592 }
11593 ],
11594 "source_info" : {
11595 "filename" : "include/int/int_transit.p4",
11596 "line" : 64,
11597 "column" : 8,
11598 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11599 }
11600 },
11601 {
11602 "op" : "assign",
11603 "parameters" : [
11604 {
11605 "type" : "field",
11606 "value" : ["userMetadata.int_meta", "new_words"]
11607 },
11608 {
11609 "type" : "expression",
11610 "value" : {
11611 "type" : "expression",
11612 "value" : {
11613 "op" : "&",
11614 "left" : {
11615 "type" : "expression",
11616 "value" : {
11617 "op" : "+",
11618 "left" : {
11619 "type" : "field",
11620 "value" : ["userMetadata.int_meta", "new_words"]
11621 },
11622 "right" : {
11623 "type" : "hexstr",
11624 "value" : "0x04"
11625 }
11626 }
11627 },
11628 "right" : {
11629 "type" : "hexstr",
11630 "value" : "0xff"
11631 }
11632 }
11633 }
11634 }
11635 ],
11636 "source_info" : {
11637 "filename" : "include/int/int_transit.p4",
11638 "line" : 103,
11639 "column" : 8,
11640 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
11641 }
11642 },
11643 {
11644 "op" : "assign",
11645 "parameters" : [
11646 {
11647 "type" : "field",
11648 "value" : ["userMetadata.int_meta", "new_bytes"]
11649 },
11650 {
11651 "type" : "expression",
11652 "value" : {
11653 "type" : "expression",
11654 "value" : {
11655 "op" : "&",
11656 "left" : {
11657 "type" : "expression",
11658 "value" : {
11659 "op" : "+",
11660 "left" : {
11661 "type" : "field",
11662 "value" : ["userMetadata.int_meta", "new_bytes"]
11663 },
11664 "right" : {
11665 "type" : "hexstr",
11666 "value" : "0x0010"
11667 }
11668 }
11669 },
11670 "right" : {
11671 "type" : "hexstr",
11672 "value" : "0xffff"
11673 }
11674 }
11675 }
11676 }
11677 ],
11678 "source_info" : {
11679 "filename" : "include/int/int_transit.p4",
11680 "line" : 104,
11681 "column" : 8,
11682 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
11683 }
11684 }
11685 ]
11686 },
11687 {
11688 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
11689 "id" : 111,
11690 "runtime_data" : [],
11691 "primitives" : [
11692 {
11693 "op" : "assign",
11694 "parameters" : [
11695 {
11696 "type" : "field",
11697 "value" : ["ethernet", "ether_type"]
11698 },
11699 {
11700 "type" : "field",
11701 "value" : ["vlan_tag", "ether_type"]
11702 }
11703 ],
11704 "source_info" : {
11705 "filename" : "include/control/packetio.p4",
11706 "line" : 40,
11707 "column" : 8,
11708 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11709 }
11710 },
11711 {
11712 "op" : "remove_header",
11713 "parameters" : [
11714 {
11715 "type" : "header",
11716 "value" : "vlan_tag"
11717 }
11718 ],
11719 "source_info" : {
11720 "filename" : "include/control/packetio.p4",
11721 "line" : 41,
11722 "column" : 8,
11723 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11724 }
11725 }
11726 ]
11727 },
11728 {
11729 "name" : "FabricEgress.egress_next.pop_vlan",
11730 "id" : 112,
11731 "runtime_data" : [],
11732 "primitives" : [
11733 {
11734 "op" : "assign",
11735 "parameters" : [
11736 {
11737 "type" : "field",
11738 "value" : ["ethernet", "ether_type"]
11739 },
11740 {
11741 "type" : "field",
11742 "value" : ["vlan_tag", "ether_type"]
11743 }
11744 ],
11745 "source_info" : {
11746 "filename" : "include/control/next.p4",
11747 "line" : 253,
11748 "column" : 8,
11749 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11750 }
11751 },
11752 {
11753 "op" : "remove_header",
11754 "parameters" : [
11755 {
11756 "type" : "header",
11757 "value" : "vlan_tag"
11758 }
11759 ],
11760 "source_info" : {
11761 "filename" : "include/control/next.p4",
11762 "line" : 254,
11763 "column" : 8,
11764 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11765 }
11766 }
11767 ]
11768 },
11769 {
11770 "name" : "act_29",
11771 "id" : 113,
11772 "runtime_data" : [],
11773 "primitives" : [
11774 {
11775 "op" : "add_header",
11776 "parameters" : [
11777 {
11778 "type" : "header",
11779 "value" : "packet_in"
11780 }
11781 ],
11782 "source_info" : {
11783 "filename" : "include/control/packetio.p4",
11784 "line" : 57,
11785 "column" : 12,
11786 "source_fragment" : "hdr.packet_in.setValid()"
11787 }
11788 },
11789 {
11790 "op" : "assign",
11791 "parameters" : [
11792 {
11793 "type" : "field",
11794 "value" : ["packet_in", "ingress_port"]
11795 },
11796 {
11797 "type" : "field",
11798 "value" : ["standard_metadata", "ingress_port"]
11799 }
11800 ],
11801 "source_info" : {
11802 "filename" : "include/control/packetio.p4",
11803 "line" : 58,
11804 "column" : 12,
11805 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
11806 }
11807 }
11808 ]
11809 },
11810 {
11811 "name" : "act_30",
11812 "id" : 114,
11813 "runtime_data" : [],
11814 "primitives" : [
11815 {
11816 "op" : "assign",
11817 "parameters" : [
11818 {
11819 "type" : "field",
11820 "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
11821 },
11822 {
11823 "type" : "expression",
11824 "value" : {
11825 "type" : "expression",
11826 "value" : {
11827 "op" : "b2d",
11828 "left" : null,
11829 "right" : {
11830 "type" : "bool",
11831 "value" : false
11832 }
11833 }
11834 }
11835 }
11836 ]
11837 }
11838 ]
11839 },
11840 {
11841 "name" : "act_31",
11842 "id" : 115,
11843 "runtime_data" : [],
11844 "primitives" : [
11845 {
11846 "op" : "assign",
11847 "parameters" : [
11848 {
11849 "type" : "field",
11850 "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
11851 },
11852 {
11853 "type" : "expression",
11854 "value" : {
11855 "type" : "expression",
11856 "value" : {
11857 "op" : "b2d",
11858 "left" : null,
11859 "right" : {
11860 "type" : "bool",
11861 "value" : true
11862 }
11863 }
11864 }
11865 }
11866 ],
11867 "source_info" : {
11868 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070011869 "line" : 374,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070011870 "column" : 12,
11871 "source_fragment" : "return"
11872 }
11873 }
11874 ]
11875 },
11876 {
11877 "name" : "act_32",
11878 "id" : 116,
11879 "runtime_data" : [],
11880 "primitives" : [
11881 {
11882 "op" : "assign",
11883 "parameters" : [
11884 {
11885 "type" : "field",
11886 "value" : ["ipv4", "total_len"]
11887 },
11888 {
11889 "type" : "expression",
11890 "value" : {
11891 "type" : "expression",
11892 "value" : {
11893 "op" : "&",
11894 "left" : {
11895 "type" : "expression",
11896 "value" : {
11897 "op" : "+",
11898 "left" : {
11899 "type" : "field",
11900 "value" : ["ipv4", "total_len"]
11901 },
11902 "right" : {
11903 "type" : "field",
11904 "value" : ["userMetadata.int_meta", "new_bytes"]
11905 }
11906 }
11907 },
11908 "right" : {
11909 "type" : "hexstr",
11910 "value" : "0xffff"
11911 }
11912 }
11913 }
11914 }
11915 ],
11916 "source_info" : {
11917 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070011918 "line" : 382,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070011919 "column" : 12,
11920 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fmeta.int_meta.new_bytes"
11921 }
11922 }
11923 ]
11924 },
11925 {
11926 "name" : "act_33",
11927 "id" : 117,
11928 "runtime_data" : [],
11929 "primitives" : [
11930 {
11931 "op" : "assign",
11932 "parameters" : [
11933 {
11934 "type" : "field",
11935 "value" : ["int_header", "total_hop_cnt"]
11936 },
11937 {
11938 "type" : "expression",
11939 "value" : {
11940 "type" : "expression",
11941 "value" : {
11942 "op" : "&",
11943 "left" : {
11944 "type" : "expression",
11945 "value" : {
11946 "op" : "+",
11947 "left" : {
11948 "type" : "field",
11949 "value" : ["int_header", "total_hop_cnt"]
11950 },
11951 "right" : {
11952 "type" : "hexstr",
11953 "value" : "0x01"
11954 }
11955 }
11956 },
11957 "right" : {
11958 "type" : "hexstr",
11959 "value" : "0xff"
11960 }
11961 }
11962 }
11963 }
11964 ],
11965 "source_info" : {
11966 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070011967 "line" : 379,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070011968 "column" : 8,
11969 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
11970 }
11971 }
11972 ]
11973 },
11974 {
11975 "name" : "act_34",
11976 "id" : 118,
11977 "runtime_data" : [],
11978 "primitives" : [
11979 {
11980 "op" : "assign",
11981 "parameters" : [
11982 {
11983 "type" : "field",
11984 "value" : ["udp", "len"]
11985 },
11986 {
11987 "type" : "expression",
11988 "value" : {
11989 "type" : "expression",
11990 "value" : {
11991 "op" : "&",
11992 "left" : {
11993 "type" : "expression",
11994 "value" : {
11995 "op" : "+",
11996 "left" : {
11997 "type" : "field",
11998 "value" : ["udp", "len"]
11999 },
12000 "right" : {
12001 "type" : "field",
12002 "value" : ["userMetadata.int_meta", "new_bytes"]
12003 }
12004 }
12005 },
12006 "right" : {
12007 "type" : "hexstr",
12008 "value" : "0xffff"
12009 }
12010 }
12011 }
12012 }
12013 ],
12014 "source_info" : {
12015 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070012016 "line" : 385,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070012017 "column" : 12,
12018 "source_fragment" : "hdr.udp.len = hdr.udp.len + fmeta.int_meta.new_bytes"
12019 }
12020 }
12021 ]
12022 },
12023 {
12024 "name" : "act_35",
12025 "id" : 119,
12026 "runtime_data" : [],
12027 "primitives" : [
12028 {
12029 "op" : "assign",
12030 "parameters" : [
12031 {
12032 "type" : "field",
12033 "value" : ["intl4_shim", "len_words"]
12034 },
12035 {
12036 "type" : "expression",
12037 "value" : {
12038 "type" : "expression",
12039 "value" : {
12040 "op" : "&",
12041 "left" : {
12042 "type" : "expression",
12043 "value" : {
12044 "op" : "+",
12045 "left" : {
12046 "type" : "field",
12047 "value" : ["intl4_shim", "len_words"]
12048 },
12049 "right" : {
12050 "type" : "field",
12051 "value" : ["userMetadata.int_meta", "new_words"]
12052 }
12053 }
12054 },
12055 "right" : {
12056 "type" : "hexstr",
12057 "value" : "0xff"
12058 }
12059 }
12060 }
12061 }
12062 ],
12063 "source_info" : {
12064 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070012065 "line" : 388,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070012066 "column" : 12,
12067 "source_fragment" : "hdr.intl4_shim.len_words = hdr.intl4_shim.len_words + fmeta.int_meta.new_words"
12068 }
12069 }
12070 ]
12071 }
12072 ],
12073 "pipelines" : [
12074 {
12075 "name" : "ingress",
12076 "id" : 0,
12077 "source_info" : {
12078 "filename" : "fabric.p4",
12079 "line" : 40,
12080 "column" : 8,
12081 "source_fragment" : "FabricIngress"
12082 },
12083 "init_table" : "tbl_act",
12084 "tables" : [
12085 {
12086 "name" : "tbl_act",
12087 "id" : 0,
12088 "key" : [],
12089 "match_type" : "exact",
12090 "type" : "simple",
12091 "max_size" : 1024,
12092 "with_counters" : false,
12093 "support_timeout" : false,
12094 "direct_meters" : null,
12095 "action_ids" : [40],
12096 "actions" : ["act_0"],
12097 "base_default_next" : "node_3",
12098 "next_tables" : {
12099 "act_0" : "node_3"
12100 },
12101 "default_entry" : {
12102 "action_id" : 40,
12103 "action_const" : true,
12104 "action_data" : [],
12105 "action_entry_const" : true
12106 }
12107 },
12108 {
12109 "name" : "tbl_act_0",
12110 "id" : 1,
12111 "key" : [],
12112 "match_type" : "exact",
12113 "type" : "simple",
12114 "max_size" : 1024,
12115 "with_counters" : false,
12116 "support_timeout" : false,
12117 "direct_meters" : null,
12118 "action_ids" : [39],
12119 "actions" : ["act"],
12120 "base_default_next" : "node_5",
12121 "next_tables" : {
12122 "act" : "node_5"
12123 },
12124 "default_entry" : {
12125 "action_id" : 39,
12126 "action_const" : true,
12127 "action_data" : [],
12128 "action_entry_const" : true
12129 }
12130 },
12131 {
12132 "name" : "tbl_act_1",
12133 "id" : 2,
12134 "key" : [],
12135 "match_type" : "exact",
12136 "type" : "simple",
12137 "max_size" : 1024,
12138 "with_counters" : false,
12139 "support_timeout" : false,
12140 "direct_meters" : null,
12141 "action_ids" : [43],
12142 "actions" : ["act_3"],
12143 "base_default_next" : "node_7",
12144 "next_tables" : {
12145 "act_3" : "node_7"
12146 },
12147 "default_entry" : {
12148 "action_id" : 43,
12149 "action_const" : true,
12150 "action_data" : [],
12151 "action_entry_const" : true
12152 }
12153 },
12154 {
12155 "name" : "tbl_act_2",
12156 "id" : 3,
12157 "key" : [],
12158 "match_type" : "exact",
12159 "type" : "simple",
12160 "max_size" : 1024,
12161 "with_counters" : false,
12162 "support_timeout" : false,
12163 "direct_meters" : null,
12164 "action_ids" : [41],
12165 "actions" : ["act_1"],
12166 "base_default_next" : "node_10",
12167 "next_tables" : {
12168 "act_1" : "node_10"
12169 },
12170 "default_entry" : {
12171 "action_id" : 41,
12172 "action_const" : true,
12173 "action_data" : [],
12174 "action_entry_const" : true
12175 }
12176 },
12177 {
12178 "name" : "tbl_act_3",
12179 "id" : 4,
12180 "key" : [],
12181 "match_type" : "exact",
12182 "type" : "simple",
12183 "max_size" : 1024,
12184 "with_counters" : false,
12185 "support_timeout" : false,
12186 "direct_meters" : null,
12187 "action_ids" : [42],
12188 "actions" : ["act_2"],
12189 "base_default_next" : "node_10",
12190 "next_tables" : {
12191 "act_2" : "node_10"
12192 },
12193 "default_entry" : {
12194 "action_id" : 42,
12195 "action_const" : true,
12196 "action_data" : [],
12197 "action_entry_const" : true
12198 }
12199 },
12200 {
12201 "name" : "tbl_act_4",
12202 "id" : 5,
12203 "key" : [],
12204 "match_type" : "exact",
12205 "type" : "simple",
12206 "max_size" : 1024,
12207 "with_counters" : false,
12208 "support_timeout" : false,
12209 "direct_meters" : null,
12210 "action_ids" : [44],
12211 "actions" : ["act_4"],
12212 "base_default_next" : null,
12213 "next_tables" : {
12214 "act_4" : null
12215 },
12216 "default_entry" : {
12217 "action_id" : 44,
12218 "action_const" : true,
12219 "action_data" : [],
12220 "action_entry_const" : true
12221 }
12222 },
12223 {
12224 "name" : "tbl_act_5",
12225 "id" : 6,
12226 "key" : [],
12227 "match_type" : "exact",
12228 "type" : "simple",
12229 "max_size" : 1024,
12230 "with_counters" : false,
12231 "support_timeout" : false,
12232 "direct_meters" : null,
12233 "action_ids" : [52],
12234 "actions" : ["act_12"],
12235 "base_default_next" : "node_13",
12236 "next_tables" : {
12237 "act_12" : "node_13"
12238 },
12239 "default_entry" : {
12240 "action_id" : 52,
12241 "action_const" : true,
12242 "action_data" : [],
12243 "action_entry_const" : true
12244 }
12245 },
12246 {
12247 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
12248 "id" : 7,
12249 "source_info" : {
12250 "filename" : "include/spgw.p4",
12251 "line" : 79,
12252 "column" : 10,
12253 "source_fragment" : "s1u_filter_table"
12254 },
12255 "key" : [
12256 {
12257 "match_type" : "exact",
12258 "name" : "gtpu_ipv4.dst_addr",
12259 "target" : ["gtpu_ipv4", "dst_addr"],
12260 "mask" : null
12261 }
12262 ],
12263 "match_type" : "exact",
12264 "type" : "simple",
12265 "max_size" : 1024,
12266 "with_counters" : false,
12267 "support_timeout" : false,
12268 "direct_meters" : null,
12269 "action_ids" : [1],
12270 "actions" : ["NoAction"],
12271 "base_default_next" : null,
12272 "next_tables" : {
12273 "__HIT__" : "tbl_act_6",
12274 "__MISS__" : "tbl_act_7"
12275 },
12276 "default_entry" : {
12277 "action_id" : 1,
12278 "action_const" : false,
12279 "action_data" : [],
12280 "action_entry_const" : false
12281 }
12282 },
12283 {
12284 "name" : "tbl_act_6",
12285 "id" : 8,
12286 "key" : [],
12287 "match_type" : "exact",
12288 "type" : "simple",
12289 "max_size" : 1024,
12290 "with_counters" : false,
12291 "support_timeout" : false,
12292 "direct_meters" : null,
12293 "action_ids" : [45],
12294 "actions" : ["act_5"],
12295 "base_default_next" : "node_17",
12296 "next_tables" : {
12297 "act_5" : "node_17"
12298 },
12299 "default_entry" : {
12300 "action_id" : 45,
12301 "action_const" : true,
12302 "action_data" : [],
12303 "action_entry_const" : true
12304 }
12305 },
12306 {
12307 "name" : "tbl_act_7",
12308 "id" : 9,
12309 "key" : [],
12310 "match_type" : "exact",
12311 "type" : "simple",
12312 "max_size" : 1024,
12313 "with_counters" : false,
12314 "support_timeout" : false,
12315 "direct_meters" : null,
12316 "action_ids" : [46],
12317 "actions" : ["act_6"],
12318 "base_default_next" : "node_17",
12319 "next_tables" : {
12320 "act_6" : "node_17"
12321 },
12322 "default_entry" : {
12323 "action_id" : 46,
12324 "action_const" : true,
12325 "action_data" : [],
12326 "action_entry_const" : true
12327 }
12328 },
12329 {
12330 "name" : "tbl_drop_now",
12331 "id" : 10,
12332 "key" : [],
12333 "match_type" : "exact",
12334 "type" : "simple",
12335 "max_size" : 1024,
12336 "with_counters" : false,
12337 "support_timeout" : false,
12338 "direct_meters" : null,
12339 "action_ids" : [10],
12340 "actions" : ["drop_now"],
12341 "base_default_next" : "tbl_act_8",
12342 "next_tables" : {
12343 "drop_now" : "tbl_act_8"
12344 },
12345 "default_entry" : {
12346 "action_id" : 10,
12347 "action_const" : true,
12348 "action_data" : [],
12349 "action_entry_const" : true
12350 }
12351 },
12352 {
12353 "name" : "tbl_act_8",
12354 "id" : 11,
12355 "key" : [],
12356 "match_type" : "exact",
12357 "type" : "simple",
12358 "max_size" : 1024,
12359 "with_counters" : false,
12360 "support_timeout" : false,
12361 "direct_meters" : null,
12362 "action_ids" : [47],
12363 "actions" : ["act_7"],
12364 "base_default_next" : "tbl_spgw_ingress_gtpu_decap",
12365 "next_tables" : {
12366 "act_7" : "tbl_spgw_ingress_gtpu_decap"
12367 },
12368 "default_entry" : {
12369 "action_id" : 47,
12370 "action_const" : true,
12371 "action_data" : [],
12372 "action_entry_const" : true
12373 }
12374 },
12375 {
12376 "name" : "tbl_spgw_ingress_gtpu_decap",
12377 "id" : 12,
12378 "key" : [],
12379 "match_type" : "exact",
12380 "type" : "simple",
12381 "max_size" : 1024,
12382 "with_counters" : false,
12383 "support_timeout" : false,
12384 "direct_meters" : null,
12385 "action_ids" : [11],
12386 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
12387 "base_default_next" : "node_27",
12388 "next_tables" : {
12389 "FabricIngress.spgw_ingress.gtpu_decap" : "node_27"
12390 },
12391 "default_entry" : {
12392 "action_id" : 11,
12393 "action_const" : true,
12394 "action_data" : [],
12395 "action_entry_const" : true
12396 }
12397 },
12398 {
12399 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
12400 "id" : 13,
12401 "source_info" : {
12402 "filename" : "include/spgw.p4",
12403 "line" : 68,
12404 "column" : 10,
12405 "source_fragment" : "dl_sess_lookup"
12406 },
12407 "key" : [
12408 {
12409 "match_type" : "exact",
12410 "name" : "ipv4.dst_addr",
12411 "target" : ["ipv4", "dst_addr"],
12412 "mask" : null
12413 }
12414 ],
12415 "match_type" : "exact",
12416 "type" : "simple",
12417 "max_size" : 1024,
12418 "with_counters" : true,
12419 "support_timeout" : false,
12420 "direct_meters" : null,
12421 "action_ids" : [12, 0],
12422 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
12423 "base_default_next" : null,
12424 "next_tables" : {
12425 "__HIT__" : "tbl_act_9",
12426 "__MISS__" : "tbl_act_10"
12427 },
12428 "default_entry" : {
12429 "action_id" : 0,
12430 "action_const" : false,
12431 "action_data" : [],
12432 "action_entry_const" : false
12433 }
12434 },
12435 {
12436 "name" : "tbl_act_9",
12437 "id" : 14,
12438 "key" : [],
12439 "match_type" : "exact",
12440 "type" : "simple",
12441 "max_size" : 1024,
12442 "with_counters" : false,
12443 "support_timeout" : false,
12444 "direct_meters" : null,
12445 "action_ids" : [48],
12446 "actions" : ["act_8"],
12447 "base_default_next" : "node_24",
12448 "next_tables" : {
12449 "act_8" : "node_24"
12450 },
12451 "default_entry" : {
12452 "action_id" : 48,
12453 "action_const" : true,
12454 "action_data" : [],
12455 "action_entry_const" : true
12456 }
12457 },
12458 {
12459 "name" : "tbl_act_10",
12460 "id" : 15,
12461 "key" : [],
12462 "match_type" : "exact",
12463 "type" : "simple",
12464 "max_size" : 1024,
12465 "with_counters" : false,
12466 "support_timeout" : false,
12467 "direct_meters" : null,
12468 "action_ids" : [49],
12469 "actions" : ["act_9"],
12470 "base_default_next" : "node_24",
12471 "next_tables" : {
12472 "act_9" : "node_24"
12473 },
12474 "default_entry" : {
12475 "action_id" : 49,
12476 "action_const" : true,
12477 "action_data" : [],
12478 "action_entry_const" : true
12479 }
12480 },
12481 {
12482 "name" : "tbl_act_11",
12483 "id" : 16,
12484 "key" : [],
12485 "match_type" : "exact",
12486 "type" : "simple",
12487 "max_size" : 1024,
12488 "with_counters" : false,
12489 "support_timeout" : false,
12490 "direct_meters" : null,
12491 "action_ids" : [50],
12492 "actions" : ["act_10"],
12493 "base_default_next" : "node_27",
12494 "next_tables" : {
12495 "act_10" : "node_27"
12496 },
12497 "default_entry" : {
12498 "action_id" : 50,
12499 "action_const" : true,
12500 "action_data" : [],
12501 "action_entry_const" : true
12502 }
12503 },
12504 {
12505 "name" : "tbl_act_12",
12506 "id" : 17,
12507 "key" : [],
12508 "match_type" : "exact",
12509 "type" : "simple",
12510 "max_size" : 1024,
12511 "with_counters" : false,
12512 "support_timeout" : false,
12513 "direct_meters" : null,
12514 "action_ids" : [51],
12515 "actions" : ["act_11"],
12516 "base_default_next" : "node_27",
12517 "next_tables" : {
12518 "act_11" : "node_27"
12519 },
12520 "default_entry" : {
12521 "action_id" : 51,
12522 "action_const" : true,
12523 "action_data" : [],
12524 "action_entry_const" : true
12525 }
12526 },
12527 {
12528 "name" : "tbl_act_13",
12529 "id" : 18,
12530 "key" : [],
12531 "match_type" : "exact",
12532 "type" : "simple",
12533 "max_size" : 1024,
12534 "with_counters" : false,
12535 "support_timeout" : false,
12536 "direct_meters" : null,
12537 "action_ids" : [53],
12538 "actions" : ["act_13"],
12539 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
12540 "next_tables" : {
12541 "act_13" : "FabricIngress.filtering.ingress_port_vlan"
12542 },
12543 "default_entry" : {
12544 "action_id" : 53,
12545 "action_const" : true,
12546 "action_data" : [],
12547 "action_entry_const" : true
12548 }
12549 },
12550 {
12551 "name" : "FabricIngress.filtering.ingress_port_vlan",
12552 "id" : 19,
12553 "source_info" : {
12554 "filename" : "include/control/filtering.p4",
12555 "line" : 66,
12556 "column" : 10,
12557 "source_fragment" : "ingress_port_vlan"
12558 },
12559 "key" : [
12560 {
12561 "match_type" : "exact",
12562 "name" : "standard_metadata.ingress_port",
12563 "target" : ["standard_metadata", "ingress_port"],
12564 "mask" : null
12565 },
12566 {
12567 "match_type" : "exact",
12568 "name" : "hdr.vlan_tag.is_valid",
12569 "target" : ["vlan_tag", "$valid$"],
12570 "mask" : null
12571 },
12572 {
12573 "match_type" : "ternary",
12574 "name" : "hdr.vlan_tag.vlan_id",
12575 "target" : ["vlan_tag", "vlan_id"],
12576 "mask" : null
12577 }
12578 ],
12579 "match_type" : "ternary",
12580 "type" : "simple",
12581 "max_size" : 1024,
12582 "with_counters" : true,
12583 "support_timeout" : false,
12584 "direct_meters" : null,
12585 "action_ids" : [16, 15, 14, 17],
12586 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "FabricIngress.filtering.drop", "FabricIngress.filtering.nop_ingress_port_vlan"],
12587 "base_default_next" : null,
12588 "next_tables" : {
12589 "__HIT__" : "tbl_act_14",
12590 "__MISS__" : "tbl_act_15"
12591 },
12592 "default_entry" : {
12593 "action_id" : 16,
12594 "action_const" : true,
12595 "action_data" : ["0xffe"],
12596 "action_entry_const" : true
12597 }
12598 },
12599 {
12600 "name" : "tbl_act_14",
12601 "id" : 20,
12602 "key" : [],
12603 "match_type" : "exact",
12604 "type" : "simple",
12605 "max_size" : 1024,
12606 "with_counters" : false,
12607 "support_timeout" : false,
12608 "direct_meters" : null,
12609 "action_ids" : [54],
12610 "actions" : ["act_14"],
12611 "base_default_next" : "node_32",
12612 "next_tables" : {
12613 "act_14" : "node_32"
12614 },
12615 "default_entry" : {
12616 "action_id" : 54,
12617 "action_const" : true,
12618 "action_data" : [],
12619 "action_entry_const" : true
12620 }
12621 },
12622 {
12623 "name" : "tbl_act_15",
12624 "id" : 21,
12625 "key" : [],
12626 "match_type" : "exact",
12627 "type" : "simple",
12628 "max_size" : 1024,
12629 "with_counters" : false,
12630 "support_timeout" : false,
12631 "direct_meters" : null,
12632 "action_ids" : [55],
12633 "actions" : ["act_15"],
12634 "base_default_next" : "node_32",
12635 "next_tables" : {
12636 "act_15" : "node_32"
12637 },
12638 "default_entry" : {
12639 "action_id" : 55,
12640 "action_const" : true,
12641 "action_data" : [],
12642 "action_entry_const" : true
12643 }
12644 },
12645 {
12646 "name" : "FabricIngress.filtering.fwd_classifier",
12647 "id" : 22,
12648 "source_info" : {
12649 "filename" : "include/control/filtering.p4",
12650 "line" : 103,
12651 "column" : 10,
12652 "source_fragment" : "fwd_classifier"
12653 },
12654 "key" : [
12655 {
12656 "match_type" : "exact",
12657 "name" : "standard_metadata.ingress_port",
12658 "target" : ["standard_metadata", "ingress_port"],
12659 "mask" : null
12660 },
12661 {
12662 "match_type" : "ternary",
12663 "name" : "hdr.ethernet.dst_addr",
12664 "target" : ["ethernet", "dst_addr"],
12665 "mask" : null
12666 },
12667 {
12668 "match_type" : "exact",
12669 "name" : "hdr.vlan_tag.ether_type",
12670 "target" : ["vlan_tag", "ether_type"],
12671 "mask" : null
12672 }
12673 ],
12674 "match_type" : "ternary",
12675 "type" : "simple",
12676 "max_size" : 1024,
12677 "with_counters" : true,
12678 "support_timeout" : false,
12679 "direct_meters" : null,
12680 "action_ids" : [18],
12681 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
12682 "base_default_next" : "node_35",
12683 "next_tables" : {
12684 "FabricIngress.filtering.set_forwarding_type" : "node_35"
12685 },
12686 "default_entry" : {
12687 "action_id" : 18,
12688 "action_const" : true,
12689 "action_data" : ["0x0"],
12690 "action_entry_const" : true
12691 }
12692 },
12693 {
12694 "name" : "tbl_act_16",
12695 "id" : 23,
12696 "key" : [],
12697 "match_type" : "exact",
12698 "type" : "simple",
12699 "max_size" : 1024,
12700 "with_counters" : false,
12701 "support_timeout" : false,
12702 "direct_meters" : null,
12703 "action_ids" : [56],
12704 "actions" : ["act_16"],
12705 "base_default_next" : "node_35",
12706 "next_tables" : {
12707 "act_16" : "node_35"
12708 },
12709 "default_entry" : {
12710 "action_id" : 56,
12711 "action_const" : true,
12712 "action_data" : [],
12713 "action_entry_const" : true
12714 }
12715 },
12716 {
12717 "name" : "FabricIngress.forwarding.bridging",
12718 "id" : 24,
12719 "source_info" : {
12720 "filename" : "include/control/forwarding.p4",
12721 "line" : 41,
12722 "column" : 10,
12723 "source_fragment" : "bridging"
12724 },
12725 "key" : [
12726 {
12727 "match_type" : "exact",
12728 "name" : "hdr.vlan_tag.vlan_id",
12729 "target" : ["vlan_tag", "vlan_id"],
12730 "mask" : null
12731 },
12732 {
12733 "match_type" : "ternary",
12734 "name" : "hdr.ethernet.dst_addr",
12735 "target" : ["ethernet", "dst_addr"],
12736 "mask" : null
12737 }
12738 ],
12739 "match_type" : "ternary",
12740 "type" : "simple",
12741 "max_size" : 1024,
12742 "with_counters" : true,
12743 "support_timeout" : false,
12744 "direct_meters" : null,
12745 "action_ids" : [19, 3],
12746 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
12747 "base_default_next" : "FabricIngress.forwarding.acl",
12748 "next_tables" : {
12749 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
12750 "NoAction" : "FabricIngress.forwarding.acl"
12751 },
12752 "default_entry" : {
12753 "action_id" : 3,
12754 "action_const" : false,
12755 "action_data" : [],
12756 "action_entry_const" : false
12757 }
12758 },
12759 {
12760 "name" : "FabricIngress.forwarding.mpls",
12761 "id" : 25,
12762 "source_info" : {
12763 "filename" : "include/control/forwarding.p4",
12764 "line" : 65,
12765 "column" : 10,
12766 "source_fragment" : "mpls"
12767 },
12768 "key" : [
12769 {
12770 "match_type" : "exact",
12771 "name" : "hdr.mpls.label",
12772 "target" : ["mpls", "label"],
12773 "mask" : null
12774 }
12775 ],
12776 "match_type" : "exact",
12777 "type" : "simple",
12778 "max_size" : 1024,
12779 "with_counters" : true,
12780 "support_timeout" : false,
12781 "direct_meters" : null,
12782 "action_ids" : [20, 4],
12783 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
12784 "base_default_next" : "tbl_act_17",
12785 "next_tables" : {
12786 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_17",
12787 "NoAction" : "tbl_act_17"
12788 },
12789 "default_entry" : {
12790 "action_id" : 4,
12791 "action_const" : false,
12792 "action_data" : [],
12793 "action_entry_const" : false
12794 }
12795 },
12796 {
12797 "name" : "tbl_act_17",
12798 "id" : 26,
12799 "key" : [],
12800 "match_type" : "exact",
12801 "type" : "simple",
12802 "max_size" : 1024,
12803 "with_counters" : false,
12804 "support_timeout" : false,
12805 "direct_meters" : null,
12806 "action_ids" : [57],
12807 "actions" : ["act_17"],
12808 "base_default_next" : "FabricIngress.forwarding.acl",
12809 "next_tables" : {
12810 "act_17" : "FabricIngress.forwarding.acl"
12811 },
12812 "default_entry" : {
12813 "action_id" : 57,
12814 "action_const" : true,
12815 "action_data" : [],
12816 "action_entry_const" : true
12817 }
12818 },
12819 {
12820 "name" : "FabricIngress.forwarding.routing_v4",
12821 "id" : 27,
12822 "source_info" : {
12823 "filename" : "include/control/forwarding.p4",
12824 "line" : 91,
12825 "column" : 10,
12826 "source_fragment" : "routing_v4"
12827 },
12828 "key" : [
12829 {
12830 "match_type" : "lpm",
12831 "name" : "hdr.ipv4.dst_addr",
12832 "target" : ["ipv4", "dst_addr"],
12833 "mask" : null
12834 }
12835 ],
12836 "match_type" : "lpm",
12837 "type" : "simple",
12838 "max_size" : 1024,
12839 "with_counters" : true,
12840 "support_timeout" : false,
12841 "direct_meters" : null,
12842 "action_ids" : [21, 22, 5],
12843 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "NoAction"],
12844 "base_default_next" : "FabricIngress.forwarding.acl",
12845 "next_tables" : {
12846 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl",
12847 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.forwarding.acl",
12848 "NoAction" : "FabricIngress.forwarding.acl"
12849 },
12850 "default_entry" : {
12851 "action_id" : 5,
12852 "action_const" : false,
12853 "action_data" : [],
12854 "action_entry_const" : false
12855 }
12856 },
12857 {
12858 "name" : "FabricIngress.forwarding.acl",
12859 "id" : 28,
12860 "source_info" : {
12861 "filename" : "include/control/forwarding.p4",
12862 "line" : 136,
12863 "column" : 10,
12864 "source_fragment" : "acl"
12865 },
12866 "key" : [
12867 {
12868 "match_type" : "ternary",
12869 "name" : "standard_metadata.ingress_port",
12870 "target" : ["standard_metadata", "ingress_port"],
12871 "mask" : null
12872 },
12873 {
12874 "match_type" : "ternary",
12875 "name" : "fabric_metadata.ip_proto",
12876 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
12877 "mask" : null
12878 },
12879 {
12880 "match_type" : "ternary",
12881 "name" : "fabric_metadata.l4_src_port",
12882 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
12883 "mask" : null
12884 },
12885 {
12886 "match_type" : "ternary",
12887 "name" : "fabric_metadata.l4_dst_port",
12888 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
12889 "mask" : null
12890 },
12891 {
12892 "match_type" : "ternary",
12893 "name" : "hdr.ethernet.dst_addr",
12894 "target" : ["ethernet", "dst_addr"],
12895 "mask" : null
12896 },
12897 {
12898 "match_type" : "ternary",
12899 "name" : "hdr.ethernet.src_addr",
12900 "target" : ["ethernet", "src_addr"],
12901 "mask" : null
12902 },
12903 {
12904 "match_type" : "ternary",
12905 "name" : "hdr.vlan_tag.vlan_id",
12906 "target" : ["vlan_tag", "vlan_id"],
12907 "mask" : null
12908 },
12909 {
12910 "match_type" : "ternary",
12911 "name" : "hdr.vlan_tag.ether_type",
12912 "target" : ["vlan_tag", "ether_type"],
12913 "mask" : null
12914 },
12915 {
12916 "match_type" : "ternary",
12917 "name" : "hdr.ipv4.src_addr",
12918 "target" : ["ipv4", "src_addr"],
12919 "mask" : null
12920 },
12921 {
12922 "match_type" : "ternary",
12923 "name" : "hdr.ipv4.dst_addr",
12924 "target" : ["ipv4", "dst_addr"],
12925 "mask" : null
12926 },
12927 {
12928 "match_type" : "ternary",
12929 "name" : "hdr.icmp.icmp_type",
12930 "target" : ["icmp", "icmp_type"],
12931 "mask" : null
12932 },
12933 {
12934 "match_type" : "ternary",
12935 "name" : "hdr.icmp.icmp_code",
12936 "target" : ["icmp", "icmp_code"],
12937 "mask" : null
12938 }
12939 ],
12940 "match_type" : "ternary",
12941 "type" : "simple",
12942 "max_size" : 128,
12943 "with_counters" : true,
12944 "support_timeout" : false,
12945 "direct_meters" : null,
12946 "action_ids" : [23, 24, 25, 26, 27],
12947 "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "FabricIngress.forwarding.nop_acl"],
12948 "base_default_next" : "tbl_act_18",
12949 "next_tables" : {
12950 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_18",
12951 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_18",
12952 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_18",
12953 "FabricIngress.forwarding.drop" : "tbl_act_18",
12954 "FabricIngress.forwarding.nop_acl" : "tbl_act_18"
12955 },
12956 "default_entry" : {
12957 "action_id" : 27,
12958 "action_const" : true,
12959 "action_data" : [],
12960 "action_entry_const" : true
12961 }
12962 },
12963 {
12964 "name" : "tbl_act_18",
12965 "id" : 29,
12966 "key" : [],
12967 "match_type" : "exact",
12968 "type" : "simple",
12969 "max_size" : 1024,
12970 "with_counters" : false,
12971 "support_timeout" : false,
12972 "direct_meters" : null,
12973 "action_ids" : [58],
12974 "actions" : ["act_18"],
12975 "base_default_next" : "FabricIngress.next.vlan_meta",
12976 "next_tables" : {
12977 "act_18" : "FabricIngress.next.vlan_meta"
12978 },
12979 "default_entry" : {
12980 "action_id" : 58,
12981 "action_const" : true,
12982 "action_data" : [],
12983 "action_entry_const" : true
12984 }
12985 },
12986 {
12987 "name" : "FabricIngress.next.vlan_meta",
12988 "id" : 30,
12989 "source_info" : {
12990 "filename" : "include/control/next.p4",
12991 "line" : 65,
12992 "column" : 10,
12993 "source_fragment" : "vlan_meta"
12994 },
12995 "key" : [
12996 {
12997 "match_type" : "exact",
12998 "name" : "fabric_metadata.next_id",
12999 "target" : ["scalars", "fabric_metadata_t.next_id"],
13000 "mask" : null
13001 }
13002 ],
13003 "match_type" : "exact",
13004 "type" : "simple",
13005 "max_size" : 1024,
13006 "with_counters" : true,
13007 "support_timeout" : false,
13008 "direct_meters" : null,
13009 "action_ids" : [28, 9],
13010 "actions" : ["FabricIngress.next.set_vlan", "nop"],
13011 "base_default_next" : "FabricIngress.next.simple",
13012 "next_tables" : {
13013 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
13014 "nop" : "FabricIngress.next.simple"
13015 },
13016 "default_entry" : {
13017 "action_id" : 9,
13018 "action_const" : false,
13019 "action_data" : [],
13020 "action_entry_const" : false
13021 }
13022 },
13023 {
13024 "name" : "FabricIngress.next.simple",
13025 "id" : 31,
13026 "source_info" : {
13027 "filename" : "include/control/next.p4",
13028 "line" : 122,
13029 "column" : 10,
13030 "source_fragment" : "simple"
13031 },
13032 "key" : [
13033 {
13034 "match_type" : "exact",
13035 "name" : "fabric_metadata.next_id",
13036 "target" : ["scalars", "fabric_metadata_t.next_id"],
13037 "mask" : null
13038 }
13039 ],
13040 "match_type" : "exact",
13041 "type" : "simple",
13042 "max_size" : 1024,
13043 "with_counters" : true,
13044 "support_timeout" : false,
13045 "direct_meters" : null,
13046 "action_ids" : [29, 30, 31, 32, 33, 34, 6],
13047 "actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.set_vlan_output", "FabricIngress.next.l3_routing_simple", "FabricIngress.next.mpls_routing_v4_simple", "FabricIngress.next.mpls_routing_v6_simple", "FabricIngress.next.l3_routing_vlan", "NoAction"],
13048 "base_default_next" : null,
13049 "next_tables" : {
13050 "__HIT__" : "tbl_act_19",
13051 "__MISS__" : "tbl_act_20"
13052 },
13053 "default_entry" : {
13054 "action_id" : 6,
13055 "action_const" : false,
13056 "action_data" : [],
13057 "action_entry_const" : false
13058 }
13059 },
13060 {
13061 "name" : "tbl_act_19",
13062 "id" : 32,
13063 "key" : [],
13064 "match_type" : "exact",
13065 "type" : "simple",
13066 "max_size" : 1024,
13067 "with_counters" : false,
13068 "support_timeout" : false,
13069 "direct_meters" : null,
13070 "action_ids" : [59],
13071 "actions" : ["act_19"],
13072 "base_default_next" : "node_48",
13073 "next_tables" : {
13074 "act_19" : "node_48"
13075 },
13076 "default_entry" : {
13077 "action_id" : 59,
13078 "action_const" : true,
13079 "action_data" : [],
13080 "action_entry_const" : true
13081 }
13082 },
13083 {
13084 "name" : "tbl_act_20",
13085 "id" : 33,
13086 "key" : [],
13087 "match_type" : "exact",
13088 "type" : "simple",
13089 "max_size" : 1024,
13090 "with_counters" : false,
13091 "support_timeout" : false,
13092 "direct_meters" : null,
13093 "action_ids" : [60],
13094 "actions" : ["act_20"],
13095 "base_default_next" : "node_48",
13096 "next_tables" : {
13097 "act_20" : "node_48"
13098 },
13099 "default_entry" : {
13100 "action_id" : 60,
13101 "action_const" : true,
13102 "action_data" : [],
13103 "action_entry_const" : true
13104 }
13105 },
13106 {
13107 "name" : "FabricIngress.next.hashed",
13108 "id" : 34,
13109 "source_info" : {
13110 "filename" : "include/control/next.p4",
13111 "line" : 175,
13112 "column" : 10,
13113 "source_fragment" : "hashed"
13114 },
13115 "key" : [
13116 {
13117 "match_type" : "exact",
13118 "name" : "fabric_metadata.next_id",
13119 "target" : ["scalars", "fabric_metadata_t.next_id"],
13120 "mask" : null
13121 }
13122 ],
13123 "match_type" : "exact",
13124 "type" : "indirect_ws",
13125 "action_profile" : "FabricIngress.next.ecmp_selector",
13126 "max_size" : 1024,
13127 "with_counters" : true,
13128 "support_timeout" : false,
13129 "direct_meters" : null,
13130 "action_ids" : [35, 36, 37, 7],
13131 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
13132 "base_default_next" : null,
13133 "next_tables" : {
13134 "__HIT__" : "tbl_act_21",
13135 "__MISS__" : "tbl_act_22"
13136 }
13137 },
13138 {
13139 "name" : "tbl_act_21",
13140 "id" : 35,
13141 "key" : [],
13142 "match_type" : "exact",
13143 "type" : "simple",
13144 "max_size" : 1024,
13145 "with_counters" : false,
13146 "support_timeout" : false,
13147 "direct_meters" : null,
13148 "action_ids" : [61],
13149 "actions" : ["act_21"],
13150 "base_default_next" : "node_52",
13151 "next_tables" : {
13152 "act_21" : "node_52"
13153 },
13154 "default_entry" : {
13155 "action_id" : 61,
13156 "action_const" : true,
13157 "action_data" : [],
13158 "action_entry_const" : true
13159 }
13160 },
13161 {
13162 "name" : "tbl_act_22",
13163 "id" : 36,
13164 "key" : [],
13165 "match_type" : "exact",
13166 "type" : "simple",
13167 "max_size" : 1024,
13168 "with_counters" : false,
13169 "support_timeout" : false,
13170 "direct_meters" : null,
13171 "action_ids" : [62],
13172 "actions" : ["act_22"],
13173 "base_default_next" : "node_52",
13174 "next_tables" : {
13175 "act_22" : "node_52"
13176 },
13177 "default_entry" : {
13178 "action_id" : 62,
13179 "action_const" : true,
13180 "action_data" : [],
13181 "action_entry_const" : true
13182 }
13183 },
13184 {
13185 "name" : "FabricIngress.next.multicast",
13186 "id" : 37,
13187 "source_info" : {
13188 "filename" : "include/control/next.p4",
13189 "line" : 207,
13190 "column" : 10,
13191 "source_fragment" : "multicast"
13192 },
13193 "key" : [
13194 {
13195 "match_type" : "exact",
13196 "name" : "fabric_metadata.next_id",
13197 "target" : ["scalars", "fabric_metadata_t.next_id"],
13198 "mask" : null
13199 }
13200 ],
13201 "match_type" : "exact",
13202 "type" : "simple",
13203 "max_size" : 1024,
13204 "with_counters" : true,
13205 "support_timeout" : false,
13206 "direct_meters" : null,
13207 "action_ids" : [38, 8],
13208 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
13209 "base_default_next" : null,
13210 "next_tables" : {
13211 "__HIT__" : "tbl_act_23",
13212 "__MISS__" : "tbl_act_24"
13213 },
13214 "default_entry" : {
13215 "action_id" : 8,
13216 "action_const" : false,
13217 "action_data" : [],
13218 "action_entry_const" : false
13219 }
13220 },
13221 {
13222 "name" : "tbl_act_23",
13223 "id" : 38,
13224 "key" : [],
13225 "match_type" : "exact",
13226 "type" : "simple",
13227 "max_size" : 1024,
13228 "with_counters" : false,
13229 "support_timeout" : false,
13230 "direct_meters" : null,
13231 "action_ids" : [63],
13232 "actions" : ["act_23"],
13233 "base_default_next" : "node_56",
13234 "next_tables" : {
13235 "act_23" : "node_56"
13236 },
13237 "default_entry" : {
13238 "action_id" : 63,
13239 "action_const" : true,
13240 "action_data" : [],
13241 "action_entry_const" : true
13242 }
13243 },
13244 {
13245 "name" : "tbl_act_24",
13246 "id" : 39,
13247 "key" : [],
13248 "match_type" : "exact",
13249 "type" : "simple",
13250 "max_size" : 1024,
13251 "with_counters" : false,
13252 "support_timeout" : false,
13253 "direct_meters" : null,
13254 "action_ids" : [64],
13255 "actions" : ["act_24"],
13256 "base_default_next" : "node_56",
13257 "next_tables" : {
13258 "act_24" : "node_56"
13259 },
13260 "default_entry" : {
13261 "action_id" : 64,
13262 "action_const" : true,
13263 "action_data" : [],
13264 "action_entry_const" : true
13265 }
13266 },
13267 {
13268 "name" : "tbl_act_25",
13269 "id" : 40,
13270 "key" : [],
13271 "match_type" : "exact",
13272 "type" : "simple",
13273 "max_size" : 1024,
13274 "with_counters" : false,
13275 "support_timeout" : false,
13276 "direct_meters" : null,
13277 "action_ids" : [65],
13278 "actions" : ["act_25"],
13279 "base_default_next" : "node_58",
13280 "next_tables" : {
13281 "act_25" : "node_58"
13282 },
13283 "default_entry" : {
13284 "action_id" : 65,
13285 "action_const" : true,
13286 "action_data" : [],
13287 "action_entry_const" : true
13288 }
13289 },
13290 {
13291 "name" : "tbl_act_26",
13292 "id" : 41,
13293 "key" : [],
13294 "match_type" : "exact",
13295 "type" : "simple",
13296 "max_size" : 1024,
13297 "with_counters" : false,
13298 "support_timeout" : false,
13299 "direct_meters" : null,
13300 "action_ids" : [66],
13301 "actions" : ["act_26"],
13302 "base_default_next" : "node_62",
13303 "next_tables" : {
13304 "act_26" : "node_62"
13305 },
13306 "default_entry" : {
13307 "action_id" : 66,
13308 "action_const" : true,
13309 "action_data" : [],
13310 "action_entry_const" : true
13311 }
13312 },
13313 {
13314 "name" : "tbl_act_27",
13315 "id" : 42,
13316 "key" : [],
13317 "match_type" : "exact",
13318 "type" : "simple",
13319 "max_size" : 1024,
13320 "with_counters" : false,
13321 "support_timeout" : false,
13322 "direct_meters" : null,
13323 "action_ids" : [67],
13324 "actions" : ["act_27"],
13325 "base_default_next" : "node_64",
13326 "next_tables" : {
13327 "act_27" : "node_64"
13328 },
13329 "default_entry" : {
13330 "action_id" : 67,
13331 "action_const" : true,
13332 "action_data" : [],
13333 "action_entry_const" : true
13334 }
13335 },
13336 {
13337 "name" : "tbl_act_28",
13338 "id" : 43,
13339 "key" : [],
13340 "match_type" : "exact",
13341 "type" : "simple",
13342 "max_size" : 1024,
13343 "with_counters" : false,
13344 "support_timeout" : false,
13345 "direct_meters" : null,
13346 "action_ids" : [68],
13347 "actions" : ["act_28"],
13348 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
13349 "next_tables" : {
13350 "act_28" : "FabricIngress.process_set_source_sink.tb_set_source"
13351 },
13352 "default_entry" : {
13353 "action_id" : 68,
13354 "action_const" : true,
13355 "action_data" : [],
13356 "action_entry_const" : true
13357 }
13358 },
13359 {
13360 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
13361 "id" : 44,
13362 "source_info" : {
13363 "filename" : "include/int/int_main.p4",
13364 "line" : 46,
13365 "column" : 10,
13366 "source_fragment" : "tb_set_source"
13367 },
13368 "key" : [
13369 {
13370 "match_type" : "exact",
13371 "name" : "standard_metadata.ingress_port",
13372 "target" : ["standard_metadata", "ingress_port"],
13373 "mask" : null
13374 }
13375 ],
13376 "match_type" : "exact",
13377 "type" : "simple",
13378 "max_size" : 511,
13379 "with_counters" : true,
13380 "support_timeout" : false,
13381 "direct_meters" : null,
13382 "action_ids" : [13, 2],
13383 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
13384 "base_default_next" : null,
13385 "next_tables" : {
13386 "FabricIngress.process_set_source_sink.int_set_source" : null,
13387 "NoAction" : null
13388 },
13389 "default_entry" : {
13390 "action_id" : 2,
13391 "action_const" : false,
13392 "action_data" : [],
13393 "action_entry_const" : false
13394 }
13395 }
13396 ],
13397 "action_profiles" : [
13398 {
13399 "name" : "FabricIngress.next.ecmp_selector",
13400 "id" : 0,
13401 "max_size" : 64,
13402 "selector" : {
13403 "algo" : "crc16",
13404 "input" : [
13405 {
13406 "type" : "field",
13407 "value" : ["ipv4", "dst_addr"]
13408 },
13409 {
13410 "type" : "field",
13411 "value" : ["ipv4", "src_addr"]
13412 },
13413 {
13414 "type" : "field",
13415 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
13416 },
13417 {
13418 "type" : "field",
13419 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
13420 },
13421 {
13422 "type" : "field",
13423 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
13424 }
13425 ]
13426 }
13427 }
13428 ],
13429 "conditionals" : [
13430 {
13431 "name" : "node_3",
13432 "id" : 0,
13433 "source_info" : {
13434 "filename" : "include/spgw.p4",
13435 "line" : 30,
13436 "column" : 12,
13437 "source_fragment" : "! is_gtpu_encapped"
13438 },
13439 "expression" : {
13440 "type" : "expression",
13441 "value" : {
13442 "op" : "not",
13443 "left" : null,
13444 "right" : {
13445 "type" : "expression",
13446 "value" : {
13447 "op" : "d2b",
13448 "left" : null,
13449 "right" : {
13450 "type" : "field",
13451 "value" : ["gtpu", "$valid$"]
13452 }
13453 }
13454 }
13455 }
13456 },
13457 "true_next" : "tbl_act_0",
13458 "false_next" : "node_5"
13459 },
13460 {
13461 "name" : "node_5",
13462 "id" : 1,
13463 "expression" : {
13464 "type" : "expression",
13465 "value" : {
13466 "op" : "not",
13467 "left" : null,
13468 "right" : {
13469 "type" : "expression",
13470 "value" : {
13471 "op" : "d2b",
13472 "left" : null,
13473 "right" : {
13474 "type" : "field",
13475 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
13476 }
13477 }
13478 }
13479 }
13480 },
13481 "true_next" : "tbl_act_1",
13482 "false_next" : "node_10"
13483 },
13484 {
13485 "name" : "node_7",
13486 "id" : 2,
13487 "source_info" : {
13488 "filename" : "include/spgw.p4",
13489 "line" : 34,
13490 "column" : 12,
13491 "source_fragment" : "inner_udp.isValid()"
13492 },
13493 "expression" : {
13494 "type" : "expression",
13495 "value" : {
13496 "op" : "d2b",
13497 "left" : null,
13498 "right" : {
13499 "type" : "field",
13500 "value" : ["inner_udp", "$valid$"]
13501 }
13502 }
13503 },
13504 "true_next" : "tbl_act_2",
13505 "false_next" : "tbl_act_3"
13506 },
13507 {
13508 "name" : "node_10",
13509 "id" : 3,
13510 "source_info" : {
13511 "filename" : "include/control/packetio.p4",
13512 "line" : 25,
13513 "column" : 12,
13514 "source_fragment" : "hdr.packet_out.isValid()"
13515 },
13516 "expression" : {
13517 "type" : "expression",
13518 "value" : {
13519 "op" : "d2b",
13520 "left" : null,
13521 "right" : {
13522 "type" : "field",
13523 "value" : ["packet_out", "$valid$"]
13524 }
13525 }
13526 },
13527 "true_next" : "tbl_act_4",
13528 "false_next" : "tbl_act_5"
13529 },
13530 {
13531 "name" : "node_13",
13532 "id" : 4,
13533 "source_info" : {
13534 "filename" : "include/spgw.p4",
13535 "line" : 139,
13536 "column" : 12,
13537 "source_fragment" : "gtpu.isValid()"
13538 },
13539 "expression" : {
13540 "type" : "expression",
13541 "value" : {
13542 "op" : "d2b",
13543 "left" : null,
13544 "right" : {
13545 "type" : "field",
13546 "value" : ["gtpu", "$valid$"]
13547 }
13548 }
13549 },
13550 "true_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
13551 "false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
13552 },
13553 {
13554 "name" : "node_17",
13555 "id" : 5,
13556 "source_info" : {
13557 "filename" : "include/spgw.p4",
13558 "line" : 143,
13559 "column" : 16,
13560 "source_fragment" : "!s1u_filter_table.apply().hit"
13561 },
13562 "expression" : {
13563 "type" : "expression",
13564 "value" : {
13565 "op" : "not",
13566 "left" : null,
13567 "right" : {
13568 "type" : "expression",
13569 "value" : {
13570 "op" : "d2b",
13571 "left" : null,
13572 "right" : {
13573 "type" : "field",
13574 "value" : ["scalars", "spgw_ingress_tmp_1"]
13575 }
13576 }
13577 }
13578 }
13579 },
13580 "true_next" : "tbl_drop_now",
13581 "false_next" : "tbl_act_8"
13582 },
13583 {
13584 "name" : "node_24",
13585 "id" : 6,
13586 "expression" : {
13587 "type" : "expression",
13588 "value" : {
13589 "op" : "d2b",
13590 "left" : null,
13591 "right" : {
13592 "type" : "field",
13593 "value" : ["scalars", "spgw_ingress_tmp_2"]
13594 }
13595 }
13596 },
13597 "true_next" : "tbl_act_11",
13598 "false_next" : "tbl_act_12"
13599 },
13600 {
13601 "name" : "node_27",
13602 "id" : 7,
13603 "expression" : {
13604 "type" : "expression",
13605 "value" : {
13606 "op" : "not",
13607 "left" : null,
13608 "right" : {
13609 "type" : "expression",
13610 "value" : {
13611 "op" : "d2b",
13612 "left" : null,
13613 "right" : {
13614 "type" : "field",
13615 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
13616 }
13617 }
13618 }
13619 }
13620 },
13621 "true_next" : "tbl_act_13",
13622 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
13623 },
13624 {
13625 "name" : "node_32",
13626 "id" : 8,
13627 "expression" : {
13628 "type" : "expression",
13629 "value" : {
13630 "op" : "d2b",
13631 "left" : null,
13632 "right" : {
13633 "type" : "field",
13634 "value" : ["scalars", "filtering_tmp_0"]
13635 }
13636 }
13637 },
13638 "true_next" : "FabricIngress.filtering.fwd_classifier",
13639 "false_next" : "tbl_act_16"
13640 },
13641 {
13642 "name" : "node_35",
13643 "id" : 9,
13644 "source_info" : {
13645 "filename" : "include/control/forwarding.p4",
13646 "line" : 191,
13647 "column" : 11,
13648 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
13649 },
13650 "expression" : {
13651 "type" : "expression",
13652 "value" : {
13653 "op" : "==",
13654 "left" : {
13655 "type" : "field",
13656 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13657 },
13658 "right" : {
13659 "type" : "hexstr",
13660 "value" : "0x00"
13661 }
13662 }
13663 },
13664 "true_next" : "FabricIngress.forwarding.bridging",
13665 "false_next" : "node_37"
13666 },
13667 {
13668 "name" : "node_37",
13669 "id" : 10,
13670 "source_info" : {
13671 "filename" : "include/control/forwarding.p4",
13672 "line" : 192,
13673 "column" : 17,
13674 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
13675 },
13676 "expression" : {
13677 "type" : "expression",
13678 "value" : {
13679 "op" : "==",
13680 "left" : {
13681 "type" : "field",
13682 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13683 },
13684 "right" : {
13685 "type" : "hexstr",
13686 "value" : "0x01"
13687 }
13688 }
13689 },
13690 "true_next" : "FabricIngress.forwarding.mpls",
13691 "false_next" : "node_40"
13692 },
13693 {
13694 "name" : "node_40",
13695 "id" : 11,
13696 "source_info" : {
13697 "filename" : "include/control/forwarding.p4",
13698 "line" : 198,
13699 "column" : 17,
13700 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
13701 },
13702 "expression" : {
13703 "type" : "expression",
13704 "value" : {
13705 "op" : "==",
13706 "left" : {
13707 "type" : "field",
13708 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13709 },
13710 "right" : {
13711 "type" : "hexstr",
13712 "value" : "0x02"
13713 }
13714 }
13715 },
13716 "true_next" : "FabricIngress.forwarding.routing_v4",
13717 "false_next" : "FabricIngress.forwarding.acl"
13718 },
13719 {
13720 "name" : "node_48",
13721 "id" : 12,
13722 "source_info" : {
13723 "filename" : "include/control/next.p4",
13724 "line" : 219,
13725 "column" : 12,
13726 "source_fragment" : "!simple.apply().hit"
13727 },
13728 "expression" : {
13729 "type" : "expression",
13730 "value" : {
13731 "op" : "not",
13732 "left" : null,
13733 "right" : {
13734 "type" : "expression",
13735 "value" : {
13736 "op" : "d2b",
13737 "left" : null,
13738 "right" : {
13739 "type" : "field",
13740 "value" : ["scalars", "next_tmp_4"]
13741 }
13742 }
13743 }
13744 }
13745 },
13746 "true_next" : "FabricIngress.next.hashed",
13747 "false_next" : "node_58"
13748 },
13749 {
13750 "name" : "node_52",
13751 "id" : 13,
13752 "source_info" : {
13753 "filename" : "include/control/next.p4",
13754 "line" : 220,
13755 "column" : 16,
13756 "source_fragment" : "!hashed.apply().hit"
13757 },
13758 "expression" : {
13759 "type" : "expression",
13760 "value" : {
13761 "op" : "not",
13762 "left" : null,
13763 "right" : {
13764 "type" : "expression",
13765 "value" : {
13766 "op" : "d2b",
13767 "left" : null,
13768 "right" : {
13769 "type" : "field",
13770 "value" : ["scalars", "next_tmp_3"]
13771 }
13772 }
13773 }
13774 }
13775 },
13776 "true_next" : "FabricIngress.next.multicast",
13777 "false_next" : "node_58"
13778 },
13779 {
13780 "name" : "node_56",
13781 "id" : 14,
13782 "source_info" : {
13783 "filename" : "include/control/next.p4",
13784 "line" : 221,
13785 "column" : 20,
13786 "source_fragment" : "!multicast.apply().hit"
13787 },
13788 "expression" : {
13789 "type" : "expression",
13790 "value" : {
13791 "op" : "not",
13792 "left" : null,
13793 "right" : {
13794 "type" : "expression",
13795 "value" : {
13796 "op" : "d2b",
13797 "left" : null,
13798 "right" : {
13799 "type" : "field",
13800 "value" : ["scalars", "next_tmp_2"]
13801 }
13802 }
13803 }
13804 }
13805 },
13806 "true_next" : "tbl_act_25",
13807 "false_next" : "node_58"
13808 },
13809 {
13810 "name" : "node_58",
13811 "id" : 15,
13812 "expression" : {
13813 "type" : "expression",
13814 "value" : {
13815 "op" : "not",
13816 "left" : null,
13817 "right" : {
13818 "type" : "expression",
13819 "value" : {
13820 "op" : "d2b",
13821 "left" : null,
13822 "right" : {
13823 "type" : "field",
13824 "value" : ["scalars", "next_hasReturned_0"]
13825 }
13826 }
13827 }
13828 }
13829 },
13830 "true_next" : "node_59",
13831 "false_next" : "node_62"
13832 },
13833 {
13834 "name" : "node_59",
13835 "id" : 16,
13836 "source_info" : {
13837 "filename" : "include/control/next.p4",
13838 "line" : 228,
13839 "column" : 12,
13840 "source_fragment" : "!hdr.mpls.isValid()"
13841 },
13842 "expression" : {
13843 "type" : "expression",
13844 "value" : {
13845 "op" : "not",
13846 "left" : null,
13847 "right" : {
13848 "type" : "expression",
13849 "value" : {
13850 "op" : "d2b",
13851 "left" : null,
13852 "right" : {
13853 "type" : "field",
13854 "value" : ["mpls", "$valid$"]
13855 }
13856 }
13857 }
13858 }
13859 },
13860 "true_next" : "node_60",
13861 "false_next" : "node_62"
13862 },
13863 {
13864 "name" : "node_60",
13865 "id" : 17,
13866 "source_info" : {
13867 "filename" : "include/control/next.p4",
13868 "line" : 229,
13869 "column" : 15,
13870 "source_fragment" : "hdr.ipv4.isValid()"
13871 },
13872 "expression" : {
13873 "type" : "expression",
13874 "value" : {
13875 "op" : "d2b",
13876 "left" : null,
13877 "right" : {
13878 "type" : "field",
13879 "value" : ["ipv4", "$valid$"]
13880 }
13881 }
13882 },
13883 "true_next" : "tbl_act_26",
13884 "false_next" : "node_62"
13885 },
13886 {
13887 "name" : "node_62",
13888 "id" : 18,
13889 "source_info" : {
13890 "filename" : "include/control/port_counter.p4",
13891 "line" : 27,
13892 "column" : 12,
13893 "source_fragment" : "standard_metadata.egress_spec < 511"
13894 },
13895 "expression" : {
13896 "type" : "expression",
13897 "value" : {
13898 "op" : "<",
13899 "left" : {
13900 "type" : "field",
13901 "value" : ["standard_metadata", "egress_spec"]
13902 },
13903 "right" : {
13904 "type" : "hexstr",
13905 "value" : "0x01ff"
13906 }
13907 }
13908 },
13909 "true_next" : "tbl_act_27",
13910 "false_next" : "node_64"
13911 },
13912 {
13913 "name" : "node_64",
13914 "id" : 19,
13915 "source_info" : {
13916 "filename" : "include/control/port_counter.p4",
13917 "line" : 30,
13918 "column" : 12,
13919 "source_fragment" : "standard_metadata.ingress_port < 511"
13920 },
13921 "expression" : {
13922 "type" : "expression",
13923 "value" : {
13924 "op" : "<",
13925 "left" : {
13926 "type" : "field",
13927 "value" : ["standard_metadata", "ingress_port"]
13928 },
13929 "right" : {
13930 "type" : "hexstr",
13931 "value" : "0x01ff"
13932 }
13933 }
13934 },
13935 "true_next" : "tbl_act_28",
13936 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
13937 }
13938 ]
13939 },
13940 {
13941 "name" : "egress",
13942 "id" : 1,
13943 "source_info" : {
13944 "filename" : "fabric.p4",
13945 "line" : 79,
13946 "column" : 8,
13947 "source_fragment" : "FabricEgress"
13948 },
13949 "init_table" : "node_69",
13950 "tables" : [
13951 {
13952 "name" : "tbl_pkt_io_egress_pop_vlan",
13953 "id" : 45,
13954 "key" : [],
13955 "match_type" : "exact",
13956 "type" : "simple",
13957 "max_size" : 1024,
13958 "with_counters" : false,
13959 "support_timeout" : false,
13960 "direct_meters" : null,
13961 "action_ids" : [111],
13962 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
13963 "base_default_next" : "node_73",
13964 "next_tables" : {
13965 "FabricEgress.pkt_io_egress.pop_vlan" : "node_73"
13966 },
13967 "default_entry" : {
13968 "action_id" : 111,
13969 "action_const" : true,
13970 "action_data" : [],
13971 "action_entry_const" : true
13972 }
13973 },
13974 {
13975 "name" : "tbl_drop_now_0",
13976 "id" : 46,
13977 "key" : [],
13978 "match_type" : "exact",
13979 "type" : "simple",
13980 "max_size" : 1024,
13981 "with_counters" : false,
13982 "support_timeout" : false,
13983 "direct_meters" : null,
13984 "action_ids" : [74],
13985 "actions" : ["drop_now"],
13986 "base_default_next" : "tbl_act_29",
13987 "next_tables" : {
13988 "drop_now" : "tbl_act_29"
13989 },
13990 "default_entry" : {
13991 "action_id" : 74,
13992 "action_const" : true,
13993 "action_data" : [],
13994 "action_entry_const" : true
13995 }
13996 },
13997 {
13998 "name" : "tbl_act_29",
13999 "id" : 47,
14000 "key" : [],
14001 "match_type" : "exact",
14002 "type" : "simple",
14003 "max_size" : 1024,
14004 "with_counters" : false,
14005 "support_timeout" : false,
14006 "direct_meters" : null,
14007 "action_ids" : [113],
14008 "actions" : ["act_29"],
14009 "base_default_next" : null,
14010 "next_tables" : {
14011 "act_29" : null
14012 },
14013 "default_entry" : {
14014 "action_id" : 113,
14015 "action_const" : true,
14016 "action_data" : [],
14017 "action_entry_const" : true
14018 }
14019 },
14020 {
14021 "name" : "tbl_drop_now_1",
14022 "id" : 48,
14023 "key" : [],
14024 "match_type" : "exact",
14025 "type" : "simple",
14026 "max_size" : 1024,
14027 "with_counters" : false,
14028 "support_timeout" : false,
14029 "direct_meters" : null,
14030 "action_ids" : [75],
14031 "actions" : ["drop_now"],
14032 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
14033 "next_tables" : {
14034 "drop_now" : "FabricEgress.egress_next.egress_vlan"
14035 },
14036 "default_entry" : {
14037 "action_id" : 75,
14038 "action_const" : true,
14039 "action_data" : [],
14040 "action_entry_const" : true
14041 }
14042 },
14043 {
14044 "name" : "FabricEgress.egress_next.egress_vlan",
14045 "id" : 49,
14046 "source_info" : {
14047 "filename" : "include/control/next.p4",
14048 "line" : 258,
14049 "column" : 10,
14050 "source_fragment" : "egress_vlan"
14051 },
14052 "key" : [
14053 {
14054 "match_type" : "exact",
14055 "name" : "hdr.vlan_tag.vlan_id",
14056 "target" : ["vlan_tag", "vlan_id"],
14057 "mask" : null
14058 },
14059 {
14060 "match_type" : "exact",
14061 "name" : "standard_metadata.egress_port",
14062 "target" : ["standard_metadata", "egress_port"],
14063 "mask" : null
14064 }
14065 ],
14066 "match_type" : "exact",
14067 "type" : "simple",
14068 "max_size" : 1024,
14069 "with_counters" : true,
14070 "support_timeout" : false,
14071 "direct_meters" : null,
14072 "action_ids" : [112, 73],
14073 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
14074 "base_default_next" : "node_79",
14075 "next_tables" : {
14076 "FabricEgress.egress_next.pop_vlan" : "node_79",
14077 "nop" : "node_79"
14078 },
14079 "default_entry" : {
14080 "action_id" : 73,
14081 "action_const" : false,
14082 "action_data" : [],
14083 "action_entry_const" : false
14084 }
14085 },
14086 {
14087 "name" : "tbl_spgw_egress_gtpu_encap",
14088 "id" : 50,
14089 "key" : [],
14090 "match_type" : "exact",
14091 "type" : "simple",
14092 "max_size" : 1024,
14093 "with_counters" : false,
14094 "support_timeout" : false,
14095 "direct_meters" : null,
14096 "action_ids" : [76],
14097 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
14098 "base_default_next" : "node_81",
14099 "next_tables" : {
14100 "FabricEgress.spgw_egress.gtpu_encap" : "node_81"
14101 },
14102 "default_entry" : {
14103 "action_id" : 76,
14104 "action_const" : true,
14105 "action_data" : [],
14106 "action_entry_const" : true
14107 }
14108 },
14109 {
14110 "name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
14111 "id" : 51,
14112 "source_info" : {
14113 "filename" : "include/int/int_source.p4",
14114 "line" : 65,
14115 "column" : 10,
14116 "source_fragment" : "tb_int_source"
14117 },
14118 "key" : [
14119 {
14120 "match_type" : "ternary",
14121 "name" : "hdr.ipv4.src_addr",
14122 "target" : ["ipv4", "src_addr"],
14123 "mask" : null
14124 },
14125 {
14126 "match_type" : "ternary",
14127 "name" : "hdr.ipv4.dst_addr",
14128 "target" : ["ipv4", "dst_addr"],
14129 "mask" : null
14130 },
14131 {
14132 "match_type" : "ternary",
14133 "name" : "fabric_metadata.l4_src_port",
14134 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
14135 "mask" : null
14136 },
14137 {
14138 "match_type" : "ternary",
14139 "name" : "fabric_metadata.l4_dst_port",
14140 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
14141 "mask" : null
14142 }
14143 ],
14144 "match_type" : "ternary",
14145 "type" : "simple",
14146 "max_size" : 1024,
14147 "with_counters" : true,
14148 "support_timeout" : false,
14149 "direct_meters" : null,
14150 "action_ids" : [77, 69],
14151 "actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "NoAction"],
14152 "base_default_next" : "node_84",
14153 "next_tables" : {
14154 "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_84",
14155 "NoAction" : "node_84"
14156 },
14157 "default_entry" : {
14158 "action_id" : 69,
14159 "action_const" : false,
14160 "action_data" : [],
14161 "action_entry_const" : false
14162 }
14163 },
14164 {
14165 "name" : "tbl_act_30",
14166 "id" : 52,
14167 "key" : [],
14168 "match_type" : "exact",
14169 "type" : "simple",
14170 "max_size" : 1024,
14171 "with_counters" : false,
14172 "support_timeout" : false,
14173 "direct_meters" : null,
14174 "action_ids" : [114],
14175 "actions" : ["act_30"],
14176 "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
14177 "next_tables" : {
14178 "act_30" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
14179 },
14180 "default_entry" : {
14181 "action_id" : 114,
14182 "action_const" : true,
14183 "action_data" : [],
14184 "action_entry_const" : true
14185 }
14186 },
14187 {
14188 "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
14189 "id" : 53,
14190 "source_info" : {
14191 "filename" : "include/int/int_transit.p4",
14192 "line" : 271,
14193 "column" : 10,
14194 "source_fragment" : "tb_int_insert"
14195 },
Carmelo Casconefa421582018-09-13 10:05:57 -070014196 "key" : [
14197 {
14198 "match_type" : "exact",
14199 "name" : "hdr.int_header.is_valid",
14200 "target" : ["int_header", "$valid$"],
14201 "mask" : null
14202 }
14203 ],
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014204 "match_type" : "exact",
14205 "type" : "simple",
Carmelo Casconefa421582018-09-13 10:05:57 -070014206 "max_size" : 1,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014207 "with_counters" : false,
14208 "support_timeout" : false,
14209 "direct_meters" : null,
Carmelo Casconefa421582018-09-13 10:05:57 -070014210 "action_ids" : [78, 72],
14211 "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014212 "base_default_next" : "node_87",
14213 "next_tables" : {
14214 "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_87",
Carmelo Casconefa421582018-09-13 10:05:57 -070014215 "nop" : "node_87"
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014216 },
14217 "default_entry" : {
Carmelo Casconefa421582018-09-13 10:05:57 -070014218 "action_id" : 72,
14219 "action_const" : true,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014220 "action_data" : [],
Carmelo Casconefa421582018-09-13 10:05:57 -070014221 "action_entry_const" : true
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014222 }
14223 },
14224 {
14225 "name" : "tbl_act_31",
14226 "id" : 54,
14227 "key" : [],
14228 "match_type" : "exact",
14229 "type" : "simple",
14230 "max_size" : 1024,
14231 "with_counters" : false,
14232 "support_timeout" : false,
14233 "direct_meters" : null,
14234 "action_ids" : [115],
14235 "actions" : ["act_31"],
14236 "base_default_next" : "node_89",
14237 "next_tables" : {
14238 "act_31" : "node_89"
14239 },
14240 "default_entry" : {
14241 "action_id" : 115,
14242 "action_const" : true,
14243 "action_data" : [],
14244 "action_entry_const" : true
14245 }
14246 },
14247 {
14248 "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
14249 "id" : 55,
14250 "source_info" : {
14251 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070014252 "line" : 284,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014253 "column" : 10,
14254 "source_fragment" : "tb_int_inst_0003"
14255 },
14256 "key" : [
14257 {
14258 "match_type" : "exact",
14259 "name" : "hdr.int_header.instruction_mask_0003",
14260 "target" : ["int_header", "instruction_mask_0003"],
14261 "mask" : null
14262 }
14263 ],
14264 "match_type" : "exact",
14265 "type" : "simple",
14266 "max_size" : 16,
14267 "with_counters" : false,
14268 "support_timeout" : false,
14269 "direct_meters" : null,
Carmelo Casconefa421582018-09-13 10:05:57 -070014270 "action_ids" : [79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 70],
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014271 "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
14272 "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14273 "next_tables" : {
14274 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14275 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14276 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14277 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14278 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14279 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14280 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14281 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14282 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14283 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14284 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14285 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14286 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14287 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14288 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14289 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14290 "NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
14291 },
14292 "default_entry" : {
Carmelo Casconefa421582018-09-13 10:05:57 -070014293 "action_id" : 70,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014294 "action_const" : false,
14295 "action_data" : [],
14296 "action_entry_const" : false
14297 },
14298 "entries" : [
14299 {
14300 "match_key" : [
14301 {
14302 "match_type" : "exact",
14303 "key" : "0x00"
14304 }
14305 ],
14306 "action_entry" : {
14307 "action_id" : 79,
14308 "action_data" : []
14309 },
14310 "priority" : 1
14311 },
14312 {
14313 "match_key" : [
14314 {
14315 "match_type" : "exact",
14316 "key" : "0x01"
14317 }
14318 ],
14319 "action_entry" : {
14320 "action_id" : 80,
14321 "action_data" : []
14322 },
14323 "priority" : 2
14324 },
14325 {
14326 "match_key" : [
14327 {
14328 "match_type" : "exact",
14329 "key" : "0x02"
14330 }
14331 ],
14332 "action_entry" : {
14333 "action_id" : 81,
14334 "action_data" : []
14335 },
14336 "priority" : 3
14337 },
14338 {
14339 "match_key" : [
14340 {
14341 "match_type" : "exact",
14342 "key" : "0x03"
14343 }
14344 ],
14345 "action_entry" : {
14346 "action_id" : 82,
14347 "action_data" : []
14348 },
14349 "priority" : 4
14350 },
14351 {
14352 "match_key" : [
14353 {
14354 "match_type" : "exact",
14355 "key" : "0x04"
14356 }
14357 ],
14358 "action_entry" : {
14359 "action_id" : 83,
14360 "action_data" : []
14361 },
14362 "priority" : 5
14363 },
14364 {
14365 "match_key" : [
14366 {
14367 "match_type" : "exact",
14368 "key" : "0x05"
14369 }
14370 ],
14371 "action_entry" : {
14372 "action_id" : 84,
14373 "action_data" : []
14374 },
14375 "priority" : 6
14376 },
14377 {
14378 "match_key" : [
14379 {
14380 "match_type" : "exact",
14381 "key" : "0x06"
14382 }
14383 ],
14384 "action_entry" : {
14385 "action_id" : 85,
14386 "action_data" : []
14387 },
14388 "priority" : 7
14389 },
14390 {
14391 "match_key" : [
14392 {
14393 "match_type" : "exact",
14394 "key" : "0x07"
14395 }
14396 ],
14397 "action_entry" : {
14398 "action_id" : 86,
14399 "action_data" : []
14400 },
14401 "priority" : 8
14402 },
14403 {
14404 "match_key" : [
14405 {
14406 "match_type" : "exact",
14407 "key" : "0x08"
14408 }
14409 ],
14410 "action_entry" : {
14411 "action_id" : 87,
14412 "action_data" : []
14413 },
14414 "priority" : 9
14415 },
14416 {
14417 "match_key" : [
14418 {
14419 "match_type" : "exact",
14420 "key" : "0x09"
14421 }
14422 ],
14423 "action_entry" : {
14424 "action_id" : 88,
14425 "action_data" : []
14426 },
14427 "priority" : 10
14428 },
14429 {
14430 "match_key" : [
14431 {
14432 "match_type" : "exact",
14433 "key" : "0x0a"
14434 }
14435 ],
14436 "action_entry" : {
14437 "action_id" : 89,
14438 "action_data" : []
14439 },
14440 "priority" : 11
14441 },
14442 {
14443 "match_key" : [
14444 {
14445 "match_type" : "exact",
14446 "key" : "0x0b"
14447 }
14448 ],
14449 "action_entry" : {
14450 "action_id" : 90,
14451 "action_data" : []
14452 },
14453 "priority" : 12
14454 },
14455 {
14456 "match_key" : [
14457 {
14458 "match_type" : "exact",
14459 "key" : "0x0c"
14460 }
14461 ],
14462 "action_entry" : {
14463 "action_id" : 91,
14464 "action_data" : []
14465 },
14466 "priority" : 13
14467 },
14468 {
14469 "match_key" : [
14470 {
14471 "match_type" : "exact",
14472 "key" : "0x0d"
14473 }
14474 ],
14475 "action_entry" : {
14476 "action_id" : 92,
14477 "action_data" : []
14478 },
14479 "priority" : 14
14480 },
14481 {
14482 "match_key" : [
14483 {
14484 "match_type" : "exact",
14485 "key" : "0x0e"
14486 }
14487 ],
14488 "action_entry" : {
14489 "action_id" : 93,
14490 "action_data" : []
14491 },
14492 "priority" : 15
14493 },
14494 {
14495 "match_key" : [
14496 {
14497 "match_type" : "exact",
14498 "key" : "0x0f"
14499 }
14500 ],
14501 "action_entry" : {
14502 "action_id" : 94,
14503 "action_data" : []
14504 },
14505 "priority" : 16
14506 }
14507 ]
14508 },
14509 {
14510 "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14511 "id" : 56,
14512 "source_info" : {
14513 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070014514 "line" : 328,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014515 "column" : 10,
14516 "source_fragment" : "tb_int_inst_0407"
14517 },
14518 "key" : [
14519 {
14520 "match_type" : "exact",
14521 "name" : "hdr.int_header.instruction_mask_0407",
14522 "target" : ["int_header", "instruction_mask_0407"],
14523 "mask" : null
14524 }
14525 ],
14526 "match_type" : "exact",
14527 "type" : "simple",
14528 "max_size" : 16,
14529 "with_counters" : false,
14530 "support_timeout" : false,
14531 "direct_meters" : null,
Carmelo Casconefa421582018-09-13 10:05:57 -070014532 "action_ids" : [95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 71],
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014533 "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
14534 "base_default_next" : "tbl_act_32",
14535 "next_tables" : {
14536 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_32",
14537 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_32",
14538 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_32",
14539 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_32",
14540 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_32",
14541 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_32",
14542 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_32",
14543 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_32",
14544 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_32",
14545 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_32",
14546 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_32",
14547 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_32",
14548 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_32",
14549 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_32",
14550 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_32",
14551 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_32",
14552 "NoAction" : "tbl_act_32"
14553 },
14554 "default_entry" : {
Carmelo Casconefa421582018-09-13 10:05:57 -070014555 "action_id" : 71,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014556 "action_const" : false,
14557 "action_data" : [],
14558 "action_entry_const" : false
14559 },
14560 "entries" : [
14561 {
14562 "match_key" : [
14563 {
14564 "match_type" : "exact",
14565 "key" : "0x00"
14566 }
14567 ],
14568 "action_entry" : {
14569 "action_id" : 95,
14570 "action_data" : []
14571 },
14572 "priority" : 1
14573 },
14574 {
14575 "match_key" : [
14576 {
14577 "match_type" : "exact",
14578 "key" : "0x01"
14579 }
14580 ],
14581 "action_entry" : {
14582 "action_id" : 96,
14583 "action_data" : []
14584 },
14585 "priority" : 2
14586 },
14587 {
14588 "match_key" : [
14589 {
14590 "match_type" : "exact",
14591 "key" : "0x02"
14592 }
14593 ],
14594 "action_entry" : {
14595 "action_id" : 97,
14596 "action_data" : []
14597 },
14598 "priority" : 3
14599 },
14600 {
14601 "match_key" : [
14602 {
14603 "match_type" : "exact",
14604 "key" : "0x03"
14605 }
14606 ],
14607 "action_entry" : {
14608 "action_id" : 98,
14609 "action_data" : []
14610 },
14611 "priority" : 4
14612 },
14613 {
14614 "match_key" : [
14615 {
14616 "match_type" : "exact",
14617 "key" : "0x04"
14618 }
14619 ],
14620 "action_entry" : {
14621 "action_id" : 99,
14622 "action_data" : []
14623 },
14624 "priority" : 5
14625 },
14626 {
14627 "match_key" : [
14628 {
14629 "match_type" : "exact",
14630 "key" : "0x05"
14631 }
14632 ],
14633 "action_entry" : {
14634 "action_id" : 100,
14635 "action_data" : []
14636 },
14637 "priority" : 6
14638 },
14639 {
14640 "match_key" : [
14641 {
14642 "match_type" : "exact",
14643 "key" : "0x06"
14644 }
14645 ],
14646 "action_entry" : {
14647 "action_id" : 101,
14648 "action_data" : []
14649 },
14650 "priority" : 7
14651 },
14652 {
14653 "match_key" : [
14654 {
14655 "match_type" : "exact",
14656 "key" : "0x07"
14657 }
14658 ],
14659 "action_entry" : {
14660 "action_id" : 102,
14661 "action_data" : []
14662 },
14663 "priority" : 8
14664 },
14665 {
14666 "match_key" : [
14667 {
14668 "match_type" : "exact",
14669 "key" : "0x08"
14670 }
14671 ],
14672 "action_entry" : {
14673 "action_id" : 103,
14674 "action_data" : []
14675 },
14676 "priority" : 9
14677 },
14678 {
14679 "match_key" : [
14680 {
14681 "match_type" : "exact",
14682 "key" : "0x09"
14683 }
14684 ],
14685 "action_entry" : {
14686 "action_id" : 104,
14687 "action_data" : []
14688 },
14689 "priority" : 10
14690 },
14691 {
14692 "match_key" : [
14693 {
14694 "match_type" : "exact",
14695 "key" : "0x0a"
14696 }
14697 ],
14698 "action_entry" : {
14699 "action_id" : 105,
14700 "action_data" : []
14701 },
14702 "priority" : 11
14703 },
14704 {
14705 "match_key" : [
14706 {
14707 "match_type" : "exact",
14708 "key" : "0x0b"
14709 }
14710 ],
14711 "action_entry" : {
14712 "action_id" : 106,
14713 "action_data" : []
14714 },
14715 "priority" : 12
14716 },
14717 {
14718 "match_key" : [
14719 {
14720 "match_type" : "exact",
14721 "key" : "0x0c"
14722 }
14723 ],
14724 "action_entry" : {
14725 "action_id" : 107,
14726 "action_data" : []
14727 },
14728 "priority" : 13
14729 },
14730 {
14731 "match_key" : [
14732 {
14733 "match_type" : "exact",
14734 "key" : "0x0d"
14735 }
14736 ],
14737 "action_entry" : {
14738 "action_id" : 108,
14739 "action_data" : []
14740 },
14741 "priority" : 14
14742 },
14743 {
14744 "match_key" : [
14745 {
14746 "match_type" : "exact",
14747 "key" : "0x0e"
14748 }
14749 ],
14750 "action_entry" : {
14751 "action_id" : 109,
14752 "action_data" : []
14753 },
14754 "priority" : 15
14755 },
14756 {
14757 "match_key" : [
14758 {
14759 "match_type" : "exact",
14760 "key" : "0x0f"
14761 }
14762 ],
14763 "action_entry" : {
14764 "action_id" : 110,
14765 "action_data" : []
14766 },
14767 "priority" : 16
14768 }
14769 ]
14770 },
14771 {
14772 "name" : "tbl_act_32",
14773 "id" : 57,
14774 "key" : [],
14775 "match_type" : "exact",
14776 "type" : "simple",
14777 "max_size" : 1024,
14778 "with_counters" : false,
14779 "support_timeout" : false,
14780 "direct_meters" : null,
14781 "action_ids" : [117],
14782 "actions" : ["act_33"],
14783 "base_default_next" : "node_93",
14784 "next_tables" : {
14785 "act_33" : "node_93"
14786 },
14787 "default_entry" : {
14788 "action_id" : 117,
14789 "action_const" : true,
14790 "action_data" : [],
14791 "action_entry_const" : true
14792 }
14793 },
14794 {
14795 "name" : "tbl_act_33",
14796 "id" : 58,
14797 "key" : [],
14798 "match_type" : "exact",
14799 "type" : "simple",
14800 "max_size" : 1024,
14801 "with_counters" : false,
14802 "support_timeout" : false,
14803 "direct_meters" : null,
14804 "action_ids" : [116],
14805 "actions" : ["act_32"],
14806 "base_default_next" : "node_95",
14807 "next_tables" : {
14808 "act_32" : "node_95"
14809 },
14810 "default_entry" : {
14811 "action_id" : 116,
14812 "action_const" : true,
14813 "action_data" : [],
14814 "action_entry_const" : true
14815 }
14816 },
14817 {
14818 "name" : "tbl_act_34",
14819 "id" : 59,
14820 "key" : [],
14821 "match_type" : "exact",
14822 "type" : "simple",
14823 "max_size" : 1024,
14824 "with_counters" : false,
14825 "support_timeout" : false,
14826 "direct_meters" : null,
14827 "action_ids" : [118],
14828 "actions" : ["act_34"],
14829 "base_default_next" : "node_97",
14830 "next_tables" : {
14831 "act_34" : "node_97"
14832 },
14833 "default_entry" : {
14834 "action_id" : 118,
14835 "action_const" : true,
14836 "action_data" : [],
14837 "action_entry_const" : true
14838 }
14839 },
14840 {
14841 "name" : "tbl_act_35",
14842 "id" : 60,
14843 "key" : [],
14844 "match_type" : "exact",
14845 "type" : "simple",
14846 "max_size" : 1024,
14847 "with_counters" : false,
14848 "support_timeout" : false,
14849 "direct_meters" : null,
14850 "action_ids" : [119],
14851 "actions" : ["act_35"],
14852 "base_default_next" : null,
14853 "next_tables" : {
14854 "act_35" : null
14855 },
14856 "default_entry" : {
14857 "action_id" : 119,
14858 "action_const" : true,
14859 "action_data" : [],
14860 "action_entry_const" : true
14861 }
14862 }
14863 ],
14864 "action_profiles" : [],
14865 "conditionals" : [
14866 {
14867 "name" : "node_69",
14868 "id" : 20,
14869 "source_info" : {
14870 "filename" : "include/control/packetio.p4",
14871 "line" : 44,
14872 "column" : 12,
14873 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
14874 },
14875 "expression" : {
14876 "type" : "expression",
14877 "value" : {
14878 "op" : "==",
14879 "left" : {
14880 "type" : "expression",
14881 "value" : {
14882 "op" : "d2b",
14883 "left" : null,
14884 "right" : {
14885 "type" : "field",
14886 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
14887 }
14888 }
14889 },
14890 "right" : {
14891 "type" : "bool",
14892 "value" : true
14893 }
14894 }
14895 },
14896 "true_next" : null,
14897 "false_next" : "node_70"
14898 },
14899 {
14900 "name" : "node_70",
14901 "id" : 21,
14902 "source_info" : {
14903 "filename" : "include/control/packetio.p4",
14904 "line" : 48,
14905 "column" : 12,
14906 "source_fragment" : "standard_metadata.egress_port == 255"
14907 },
14908 "expression" : {
14909 "type" : "expression",
14910 "value" : {
14911 "op" : "==",
14912 "left" : {
14913 "type" : "field",
14914 "value" : ["standard_metadata", "egress_port"]
14915 },
14916 "right" : {
14917 "type" : "hexstr",
14918 "value" : "0x00ff"
14919 }
14920 }
14921 },
14922 "true_next" : "node_71",
14923 "false_next" : "node_76"
14924 },
14925 {
14926 "name" : "node_71",
14927 "id" : 22,
14928 "source_info" : {
14929 "filename" : "include/control/packetio.p4",
14930 "line" : 49,
14931 "column" : 16,
14932 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
14933 },
14934 "expression" : {
14935 "type" : "expression",
14936 "value" : {
14937 "op" : "and",
14938 "left" : {
14939 "type" : "expression",
14940 "value" : {
14941 "op" : "d2b",
14942 "left" : null,
14943 "right" : {
14944 "type" : "field",
14945 "value" : ["vlan_tag", "$valid$"]
14946 }
14947 }
14948 },
14949 "right" : {
14950 "type" : "expression",
14951 "value" : {
14952 "op" : "==",
14953 "left" : {
14954 "type" : "expression",
14955 "value" : {
14956 "op" : "d2b",
14957 "left" : null,
14958 "right" : {
14959 "type" : "field",
14960 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
14961 }
14962 }
14963 },
14964 "right" : {
14965 "type" : "bool",
14966 "value" : true
14967 }
14968 }
14969 }
14970 }
14971 },
14972 "true_next" : "tbl_pkt_io_egress_pop_vlan",
14973 "false_next" : "node_73"
14974 },
14975 {
14976 "name" : "node_73",
14977 "id" : 23,
14978 "source_info" : {
14979 "filename" : "include/control/packetio.p4",
14980 "line" : 52,
14981 "column" : 16,
14982 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
14983 },
14984 "expression" : {
14985 "type" : "expression",
14986 "value" : {
14987 "op" : "and",
14988 "left" : {
14989 "type" : "expression",
14990 "value" : {
14991 "op" : "==",
14992 "left" : {
14993 "type" : "expression",
14994 "value" : {
14995 "op" : "d2b",
14996 "left" : null,
14997 "right" : {
14998 "type" : "field",
14999 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
15000 }
15001 }
15002 },
15003 "right" : {
15004 "type" : "bool",
15005 "value" : true
15006 }
15007 }
15008 },
15009 "right" : {
15010 "type" : "expression",
15011 "value" : {
15012 "op" : "==",
15013 "left" : {
15014 "type" : "expression",
15015 "value" : {
15016 "op" : "d2b",
15017 "left" : null,
15018 "right" : {
15019 "type" : "field",
15020 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
15021 }
15022 }
15023 },
15024 "right" : {
15025 "type" : "bool",
15026 "value" : false
15027 }
15028 }
15029 }
15030 }
15031 },
15032 "true_next" : "tbl_drop_now_0",
15033 "false_next" : "tbl_act_29"
15034 },
15035 {
15036 "name" : "node_76",
15037 "id" : 24,
15038 "source_info" : {
15039 "filename" : "include/control/next.p4",
15040 "line" : 272,
15041 "column" : 12,
15042 "source_fragment" : "fabric_metadata.is_multicast == true ..."
15043 },
15044 "expression" : {
15045 "type" : "expression",
15046 "value" : {
15047 "op" : "and",
15048 "left" : {
15049 "type" : "expression",
15050 "value" : {
15051 "op" : "==",
15052 "left" : {
15053 "type" : "expression",
15054 "value" : {
15055 "op" : "d2b",
15056 "left" : null,
15057 "right" : {
15058 "type" : "field",
15059 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
15060 }
15061 }
15062 },
15063 "right" : {
15064 "type" : "bool",
15065 "value" : true
15066 }
15067 }
15068 },
15069 "right" : {
15070 "type" : "expression",
15071 "value" : {
15072 "op" : "==",
15073 "left" : {
15074 "type" : "field",
15075 "value" : ["standard_metadata", "ingress_port"]
15076 },
15077 "right" : {
15078 "type" : "field",
15079 "value" : ["standard_metadata", "egress_port"]
15080 }
15081 }
15082 }
15083 }
15084 },
15085 "true_next" : "tbl_drop_now_1",
15086 "false_next" : "FabricEgress.egress_next.egress_vlan"
15087 },
15088 {
15089 "name" : "node_79",
15090 "id" : 25,
15091 "source_info" : {
15092 "filename" : "include/spgw.p4",
15093 "line" : 221,
15094 "column" : 12,
15095 "source_fragment" : "spgw_meta.direction == SPGW_DIR_DOWNLINK"
15096 },
15097 "expression" : {
15098 "type" : "expression",
15099 "value" : {
15100 "op" : "==",
15101 "left" : {
15102 "type" : "field",
15103 "value" : ["userMetadata.spgw", "direction"]
15104 },
15105 "right" : {
15106 "type" : "hexstr",
15107 "value" : "0x02"
15108 }
15109 }
15110 },
15111 "true_next" : "tbl_spgw_egress_gtpu_encap",
15112 "false_next" : "node_81"
15113 },
15114 {
15115 "name" : "node_81",
15116 "id" : 26,
15117 "source_info" : {
15118 "filename" : "include/int/int_main.p4",
15119 "line" : 98,
15120 "column" : 12,
15121 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
15122 },
15123 "expression" : {
15124 "type" : "expression",
15125 "value" : {
15126 "op" : "and",
15127 "left" : {
15128 "type" : "expression",
15129 "value" : {
15130 "op" : "and",
15131 "left" : {
15132 "type" : "expression",
15133 "value" : {
15134 "op" : "!=",
15135 "left" : {
15136 "type" : "field",
15137 "value" : ["standard_metadata", "ingress_port"]
15138 },
15139 "right" : {
15140 "type" : "hexstr",
15141 "value" : "0x00ff"
15142 }
15143 }
15144 },
15145 "right" : {
15146 "type" : "expression",
15147 "value" : {
15148 "op" : "!=",
15149 "left" : {
15150 "type" : "field",
15151 "value" : ["standard_metadata", "egress_port"]
15152 },
15153 "right" : {
15154 "type" : "hexstr",
15155 "value" : "0x00ff"
15156 }
15157 }
15158 }
15159 }
15160 },
15161 "right" : {
15162 "type" : "expression",
15163 "value" : {
15164 "op" : "or",
15165 "left" : {
15166 "type" : "expression",
15167 "value" : {
15168 "op" : "d2b",
15169 "left" : null,
15170 "right" : {
15171 "type" : "field",
15172 "value" : ["udp", "$valid$"]
15173 }
15174 }
15175 },
15176 "right" : {
15177 "type" : "expression",
15178 "value" : {
15179 "op" : "d2b",
15180 "left" : null,
15181 "right" : {
15182 "type" : "field",
15183 "value" : ["tcp", "$valid$"]
15184 }
15185 }
15186 }
15187 }
15188 }
15189 }
15190 },
15191 "false_next" : null,
15192 "true_next" : "node_82"
15193 },
15194 {
15195 "name" : "node_82",
15196 "id" : 27,
15197 "source_info" : {
15198 "filename" : "include/int/int_main.p4",
15199 "line" : 102,
15200 "column" : 16,
15201 "source_fragment" : "fabric_metadata.int_meta.source == true"
15202 },
15203 "expression" : {
15204 "type" : "expression",
15205 "value" : {
15206 "op" : "==",
15207 "left" : {
15208 "type" : "expression",
15209 "value" : {
15210 "op" : "d2b",
15211 "left" : null,
15212 "right" : {
15213 "type" : "field",
15214 "value" : ["userMetadata.int_meta", "source"]
15215 }
15216 }
15217 },
15218 "right" : {
15219 "type" : "bool",
15220 "value" : true
15221 }
15222 }
15223 },
15224 "true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
15225 "false_next" : "node_84"
15226 },
15227 {
15228 "name" : "node_84",
15229 "id" : 28,
15230 "source_info" : {
15231 "filename" : "include/int/int_main.p4",
15232 "line" : 106,
15233 "column" : 15,
15234 "source_fragment" : "hdr.int_header.isValid()"
15235 },
15236 "expression" : {
15237 "type" : "expression",
15238 "value" : {
15239 "op" : "d2b",
15240 "left" : null,
15241 "right" : {
15242 "type" : "field",
15243 "value" : ["int_header", "$valid$"]
15244 }
15245 }
15246 },
15247 "false_next" : null,
15248 "true_next" : "tbl_act_30"
15249 },
15250 {
15251 "name" : "node_87",
15252 "id" : 29,
15253 "source_info" : {
15254 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070015255 "line" : 373,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015256 "column" : 12,
15257 "source_fragment" : "fmeta.int_meta.transit == false"
15258 },
15259 "expression" : {
15260 "type" : "expression",
15261 "value" : {
15262 "op" : "==",
15263 "left" : {
15264 "type" : "expression",
15265 "value" : {
15266 "op" : "d2b",
15267 "left" : null,
15268 "right" : {
15269 "type" : "field",
15270 "value" : ["userMetadata.int_meta", "transit"]
15271 }
15272 }
15273 },
15274 "right" : {
15275 "type" : "bool",
15276 "value" : false
15277 }
15278 }
15279 },
15280 "true_next" : "tbl_act_31",
15281 "false_next" : "node_89"
15282 },
15283 {
15284 "name" : "node_89",
15285 "id" : 30,
15286 "expression" : {
15287 "type" : "expression",
15288 "value" : {
15289 "op" : "not",
15290 "left" : null,
15291 "right" : {
15292 "type" : "expression",
15293 "value" : {
15294 "op" : "d2b",
15295 "left" : null,
15296 "right" : {
15297 "type" : "field",
15298 "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
15299 }
15300 }
15301 }
15302 }
15303 },
15304 "false_next" : null,
15305 "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
15306 },
15307 {
15308 "name" : "node_93",
15309 "id" : 31,
15310 "source_info" : {
15311 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070015312 "line" : 381,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015313 "column" : 12,
15314 "source_fragment" : "hdr.ipv4.isValid()"
15315 },
15316 "expression" : {
15317 "type" : "expression",
15318 "value" : {
15319 "op" : "d2b",
15320 "left" : null,
15321 "right" : {
15322 "type" : "field",
15323 "value" : ["ipv4", "$valid$"]
15324 }
15325 }
15326 },
15327 "true_next" : "tbl_act_33",
15328 "false_next" : "node_95"
15329 },
15330 {
15331 "name" : "node_95",
15332 "id" : 32,
15333 "source_info" : {
15334 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070015335 "line" : 384,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015336 "column" : 12,
15337 "source_fragment" : "hdr.udp.isValid()"
15338 },
15339 "expression" : {
15340 "type" : "expression",
15341 "value" : {
15342 "op" : "d2b",
15343 "left" : null,
15344 "right" : {
15345 "type" : "field",
15346 "value" : ["udp", "$valid$"]
15347 }
15348 }
15349 },
15350 "true_next" : "tbl_act_34",
15351 "false_next" : "node_97"
15352 },
15353 {
15354 "name" : "node_97",
15355 "id" : 33,
15356 "source_info" : {
15357 "filename" : "include/int/int_transit.p4",
Carmelo Casconefa421582018-09-13 10:05:57 -070015358 "line" : 387,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015359 "column" : 12,
15360 "source_fragment" : "hdr.intl4_shim.isValid()"
15361 },
15362 "expression" : {
15363 "type" : "expression",
15364 "value" : {
15365 "op" : "d2b",
15366 "left" : null,
15367 "right" : {
15368 "type" : "field",
15369 "value" : ["intl4_shim", "$valid$"]
15370 }
15371 }
15372 },
15373 "false_next" : null,
15374 "true_next" : "tbl_act_35"
15375 }
15376 ]
15377 }
15378 ],
15379 "checksums" : [
15380 {
15381 "name" : "cksum",
15382 "id" : 0,
15383 "target" : ["ipv4", "hdr_checksum"],
15384 "type" : "generic",
15385 "calculation" : "calc",
15386 "if_cond" : {
15387 "type" : "expression",
15388 "value" : {
15389 "op" : "d2b",
15390 "left" : null,
15391 "right" : {
15392 "type" : "field",
15393 "value" : ["ipv4", "$valid$"]
15394 }
15395 }
15396 }
15397 },
15398 {
15399 "name" : "cksum_0",
15400 "id" : 1,
15401 "target" : ["gtpu_ipv4", "hdr_checksum"],
15402 "type" : "generic",
15403 "calculation" : "calc_0",
15404 "if_cond" : {
15405 "type" : "expression",
15406 "value" : {
15407 "op" : "d2b",
15408 "left" : null,
15409 "right" : {
15410 "type" : "field",
15411 "value" : ["gtpu_ipv4", "$valid$"]
15412 }
15413 }
15414 }
15415 },
15416 {
15417 "name" : "cksum_1",
15418 "id" : 2,
15419 "target" : ["ipv4", "hdr_checksum"],
15420 "type" : "generic",
15421 "calculation" : "calc_1",
15422 "if_cond" : {
15423 "type" : "expression",
15424 "value" : {
15425 "op" : "d2b",
15426 "left" : null,
15427 "right" : {
15428 "type" : "field",
15429 "value" : ["ipv4", "$valid$"]
15430 }
15431 }
15432 }
15433 }
15434 ],
15435 "force_arith" : [],
15436 "extern_instances" : [],
15437 "field_aliases" : [
15438 [
15439 "queueing_metadata.enq_timestamp",
15440 ["standard_metadata", "enq_timestamp"]
15441 ],
15442 [
15443 "queueing_metadata.enq_qdepth",
15444 ["standard_metadata", "enq_qdepth"]
15445 ],
15446 [
15447 "queueing_metadata.deq_timedelta",
15448 ["standard_metadata", "deq_timedelta"]
15449 ],
15450 [
15451 "queueing_metadata.deq_qdepth",
15452 ["standard_metadata", "deq_qdepth"]
15453 ],
15454 [
15455 "intrinsic_metadata.ingress_global_timestamp",
15456 ["standard_metadata", "ingress_global_timestamp"]
15457 ],
15458 [
15459 "intrinsic_metadata.egress_global_timestamp",
15460 ["standard_metadata", "egress_global_timestamp"]
15461 ],
15462 [
15463 "intrinsic_metadata.lf_field_list",
15464 ["standard_metadata", "lf_field_list"]
15465 ],
15466 [
15467 "intrinsic_metadata.mcast_grp",
15468 ["standard_metadata", "mcast_grp"]
15469 ],
15470 [
15471 "intrinsic_metadata.resubmit_flag",
15472 ["standard_metadata", "resubmit_flag"]
15473 ],
15474 [
15475 "intrinsic_metadata.egress_rid",
15476 ["standard_metadata", "egress_rid"]
15477 ],
15478 [
15479 "intrinsic_metadata.recirculate_flag",
15480 ["standard_metadata", "recirculate_flag"]
15481 ]
15482 ],
15483 "program" : "fabric.p4",
15484 "__meta__" : {
15485 "version" : [2, 18],
15486 "compiler" : "https://github.com/p4lang/p4c"
15487 }
15488}