blob: a4cce10bd4b4c30fac593e98e0fd04077d9d85d5 [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],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070058 ["parser_error", 32, false],
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070059 ["_padding", 5, false]
60 ]
61 },
62 {
63 "name" : "ethernet_t",
64 "id" : 2,
65 "fields" : [
66 ["dst_addr", 48, false],
67 ["src_addr", 48, false],
68 ["ether_type", 16, false]
69 ]
70 },
71 {
72 "name" : "vlan_tag_t",
73 "id" : 3,
74 "fields" : [
75 ["pri", 3, false],
76 ["cfi", 1, false],
77 ["vlan_id", 12, false],
78 ["ether_type", 16, false]
79 ]
80 },
81 {
82 "name" : "mpls_t",
83 "id" : 4,
84 "fields" : [
85 ["label", 20, false],
86 ["tc", 3, false],
87 ["bos", 1, false],
88 ["ttl", 8, false]
89 ]
90 },
91 {
92 "name" : "ipv4_t",
93 "id" : 5,
94 "fields" : [
95 ["version", 4, false],
96 ["ihl", 4, false],
97 ["dscp", 6, false],
98 ["ecn", 2, false],
99 ["total_len", 16, false],
100 ["identification", 16, false],
101 ["flags", 3, false],
102 ["frag_offset", 13, false],
103 ["ttl", 8, false],
104 ["protocol", 8, false],
105 ["hdr_checksum", 16, false],
106 ["src_addr", 32, false],
107 ["dst_addr", 32, false]
108 ]
109 },
110 {
111 "name" : "udp_t",
112 "id" : 6,
113 "fields" : [
114 ["src_port", 16, false],
115 ["dst_port", 16, false],
116 ["len", 16, false],
117 ["checksum", 16, false]
118 ]
119 },
120 {
121 "name" : "gtpu_t",
122 "id" : 7,
123 "fields" : [
124 ["version", 3, false],
125 ["pt", 1, false],
126 ["spare", 1, false],
127 ["ex_flag", 1, false],
128 ["seq_flag", 1, false],
129 ["npdu_flag", 1, false],
130 ["msgtype", 8, false],
131 ["msglen", 16, false],
132 ["teid", 32, false]
133 ]
134 },
135 {
136 "name" : "arp_t",
137 "id" : 8,
138 "fields" : [
139 ["hw_type", 16, false],
140 ["proto_type", 16, false],
141 ["hw_addr_len", 8, false],
142 ["proto_addr_len", 8, false],
143 ["opcode", 16, false]
144 ]
145 },
146 {
147 "name" : "tcp_t",
148 "id" : 9,
149 "fields" : [
150 ["src_port", 16, false],
151 ["dst_port", 16, false],
152 ["seq_no", 32, false],
153 ["ack_no", 32, false],
154 ["data_offset", 4, false],
155 ["res", 3, false],
156 ["ecn", 3, false],
157 ["ctrl", 6, false],
158 ["window", 16, false],
159 ["checksum", 16, false],
160 ["urgent_ptr", 16, false]
161 ]
162 },
163 {
164 "name" : "icmp_t",
165 "id" : 10,
166 "fields" : [
167 ["icmp_type", 8, false],
168 ["icmp_code", 8, false],
169 ["checksum", 16, false],
170 ["identifier", 16, false],
171 ["sequence_number", 16, false],
172 ["timestamp", 64, false]
173 ]
174 },
175 {
176 "name" : "packet_out_header_t",
177 "id" : 11,
178 "fields" : [
179 ["egress_port", 9, false],
180 ["_pad", 7, false]
181 ]
182 },
183 {
184 "name" : "packet_in_header_t",
185 "id" : 12,
186 "fields" : [
187 ["ingress_port", 9, false],
188 ["_pad", 7, false]
189 ]
190 },
191 {
192 "name" : "intl4_shim_t",
193 "id" : 13,
194 "fields" : [
195 ["int_type", 8, false],
196 ["rsvd1", 8, false],
197 ["len_words", 8, false],
198 ["rsvd2", 8, false]
199 ]
200 },
201 {
202 "name" : "int_header_t",
203 "id" : 14,
204 "fields" : [
205 ["ver", 2, false],
206 ["rep", 2, false],
207 ["c", 1, false],
208 ["e", 1, false],
209 ["rsvd1", 5, false],
210 ["ins_cnt", 5, false],
211 ["max_hop_cnt", 8, false],
212 ["total_hop_cnt", 8, false],
213 ["instruction_mask_0003", 4, false],
214 ["instruction_mask_0407", 4, false],
215 ["instruction_mask_0811", 4, false],
216 ["instruction_mask_1215", 4, false],
217 ["rsvd2", 16, false]
218 ]
219 },
220 {
221 "name" : "int_switch_id_t",
222 "id" : 15,
223 "fields" : [
224 ["switch_id", 32, false]
225 ]
226 },
227 {
228 "name" : "int_port_ids_t",
229 "id" : 16,
230 "fields" : [
231 ["ingress_port_id", 16, false],
232 ["egress_port_id", 16, false]
233 ]
234 },
235 {
236 "name" : "int_hop_latency_t",
237 "id" : 17,
238 "fields" : [
239 ["hop_latency", 32, false]
240 ]
241 },
242 {
243 "name" : "int_q_occupancy_t",
244 "id" : 18,
245 "fields" : [
246 ["q_id", 8, false],
247 ["q_occupancy", 24, false]
248 ]
249 },
250 {
251 "name" : "int_ingress_tstamp_t",
252 "id" : 19,
253 "fields" : [
254 ["ingress_tstamp", 32, false]
255 ]
256 },
257 {
258 "name" : "int_egress_tstamp_t",
259 "id" : 20,
260 "fields" : [
261 ["egress_tstamp", 32, false]
262 ]
263 },
264 {
265 "name" : "int_q_congestion_t",
266 "id" : 21,
267 "fields" : [
268 ["q_id", 8, false],
269 ["q_congestion", 24, false]
270 ]
271 },
272 {
273 "name" : "int_egress_port_tx_util_t",
274 "id" : 22,
275 "fields" : [
276 ["egress_port_tx_util", 32, false]
277 ]
278 },
279 {
280 "name" : "int_data_t",
281 "id" : 23,
282 "fields" : [
283 ["data", "*"]
284 ],
285 "max_length" : 1004
286 },
287 {
288 "name" : "intl4_tail_t",
289 "id" : 24,
290 "fields" : [
291 ["next_proto", 8, false],
292 ["dest_port", 16, false],
293 ["padding", 2, false],
294 ["dscp", 6, false]
295 ]
296 },
297 {
298 "name" : "spgw_meta_t",
299 "id" : 25,
300 "fields" : [
301 ["direction", 2, false],
302 ["ipv4_len", 16, false],
303 ["teid", 32, false],
304 ["s1u_enb_addr", 32, false],
305 ["s1u_sgw_addr", 32, false],
306 ["_padding_0", 6, false]
307 ]
308 },
309 {
310 "name" : "int_metadata_t",
311 "id" : 26,
312 "fields" : [
313 ["source", 1, 0],
314 ["transit", 1, 0],
315 ["sink", 1, 0],
316 ["switch_id", 32, false],
317 ["new_words", 8, false],
318 ["new_bytes", 16, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700319 ["ig_tstamp", 32, false],
320 ["eg_tstamp", 32, false],
Carmelo Cascone5a8a6502018-09-16 13:52:45 -0700321 ["_padding_1", 5, false]
322 ]
323 }
324 ],
325 "headers" : [
326 {
327 "name" : "scalars",
328 "id" : 0,
329 "header_type" : "scalars_0",
330 "metadata" : true,
331 "pi_omit" : true
332 },
333 {
334 "name" : "standard_metadata",
335 "id" : 1,
336 "header_type" : "standard_metadata",
337 "metadata" : true,
338 "pi_omit" : true
339 },
340 {
341 "name" : "ethernet",
342 "id" : 2,
343 "header_type" : "ethernet_t",
344 "metadata" : false,
345 "pi_omit" : true
346 },
347 {
348 "name" : "vlan_tag",
349 "id" : 3,
350 "header_type" : "vlan_tag_t",
351 "metadata" : false,
352 "pi_omit" : true
353 },
354 {
355 "name" : "mpls",
356 "id" : 4,
357 "header_type" : "mpls_t",
358 "metadata" : false,
359 "pi_omit" : true
360 },
361 {
362 "name" : "gtpu_ipv4",
363 "id" : 5,
364 "header_type" : "ipv4_t",
365 "metadata" : false,
366 "pi_omit" : true
367 },
368 {
369 "name" : "gtpu_udp",
370 "id" : 6,
371 "header_type" : "udp_t",
372 "metadata" : false,
373 "pi_omit" : true
374 },
375 {
376 "name" : "gtpu",
377 "id" : 7,
378 "header_type" : "gtpu_t",
379 "metadata" : false,
380 "pi_omit" : true
381 },
382 {
383 "name" : "inner_ipv4",
384 "id" : 8,
385 "header_type" : "ipv4_t",
386 "metadata" : false,
387 "pi_omit" : true
388 },
389 {
390 "name" : "inner_udp",
391 "id" : 9,
392 "header_type" : "udp_t",
393 "metadata" : false,
394 "pi_omit" : true
395 },
396 {
397 "name" : "ipv4",
398 "id" : 10,
399 "header_type" : "ipv4_t",
400 "metadata" : false,
401 "pi_omit" : true
402 },
403 {
404 "name" : "arp",
405 "id" : 11,
406 "header_type" : "arp_t",
407 "metadata" : false,
408 "pi_omit" : true
409 },
410 {
411 "name" : "tcp",
412 "id" : 12,
413 "header_type" : "tcp_t",
414 "metadata" : false,
415 "pi_omit" : true
416 },
417 {
418 "name" : "udp",
419 "id" : 13,
420 "header_type" : "udp_t",
421 "metadata" : false,
422 "pi_omit" : true
423 },
424 {
425 "name" : "icmp",
426 "id" : 14,
427 "header_type" : "icmp_t",
428 "metadata" : false,
429 "pi_omit" : true
430 },
431 {
432 "name" : "packet_out",
433 "id" : 15,
434 "header_type" : "packet_out_header_t",
435 "metadata" : false,
436 "pi_omit" : true
437 },
438 {
439 "name" : "packet_in",
440 "id" : 16,
441 "header_type" : "packet_in_header_t",
442 "metadata" : false,
443 "pi_omit" : true
444 },
445 {
446 "name" : "intl4_shim",
447 "id" : 17,
448 "header_type" : "intl4_shim_t",
449 "metadata" : false,
450 "pi_omit" : true
451 },
452 {
453 "name" : "int_header",
454 "id" : 18,
455 "header_type" : "int_header_t",
456 "metadata" : false,
457 "pi_omit" : true
458 },
459 {
460 "name" : "int_switch_id",
461 "id" : 19,
462 "header_type" : "int_switch_id_t",
463 "metadata" : false,
464 "pi_omit" : true
465 },
466 {
467 "name" : "int_port_ids",
468 "id" : 20,
469 "header_type" : "int_port_ids_t",
470 "metadata" : false,
471 "pi_omit" : true
472 },
473 {
474 "name" : "int_hop_latency",
475 "id" : 21,
476 "header_type" : "int_hop_latency_t",
477 "metadata" : false,
478 "pi_omit" : true
479 },
480 {
481 "name" : "int_q_occupancy",
482 "id" : 22,
483 "header_type" : "int_q_occupancy_t",
484 "metadata" : false,
485 "pi_omit" : true
486 },
487 {
488 "name" : "int_ingress_tstamp",
489 "id" : 23,
490 "header_type" : "int_ingress_tstamp_t",
491 "metadata" : false,
492 "pi_omit" : true
493 },
494 {
495 "name" : "int_egress_tstamp",
496 "id" : 24,
497 "header_type" : "int_egress_tstamp_t",
498 "metadata" : false,
499 "pi_omit" : true
500 },
501 {
502 "name" : "int_q_congestion",
503 "id" : 25,
504 "header_type" : "int_q_congestion_t",
505 "metadata" : false,
506 "pi_omit" : true
507 },
508 {
509 "name" : "int_egress_tx_util",
510 "id" : 26,
511 "header_type" : "int_egress_port_tx_util_t",
512 "metadata" : false,
513 "pi_omit" : true
514 },
515 {
516 "name" : "int_data",
517 "id" : 27,
518 "header_type" : "int_data_t",
519 "metadata" : false,
520 "pi_omit" : true
521 },
522 {
523 "name" : "intl4_tail",
524 "id" : 28,
525 "header_type" : "intl4_tail_t",
526 "metadata" : false,
527 "pi_omit" : true
528 },
529 {
530 "name" : "userMetadata.spgw",
531 "id" : 29,
532 "header_type" : "spgw_meta_t",
533 "metadata" : true,
534 "pi_omit" : true
535 },
536 {
537 "name" : "userMetadata.int_meta",
538 "id" : 30,
539 "header_type" : "int_metadata_t",
540 "metadata" : true,
541 "pi_omit" : true
542 }
543 ],
544 "header_stacks" : [],
545 "header_union_types" : [],
546 "header_unions" : [],
547 "header_union_stacks" : [],
548 "field_lists" : [],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700549 "errors" : [
550 ["NoError", 1],
551 ["PacketTooShort", 2],
552 ["NoMatch", 3],
553 ["StackOutOfBounds", 4],
554 ["HeaderTooShort", 5],
555 ["ParserTimeout", 6]
556 ],
Carmelo Cascone5a8a6502018-09-16 13:52:45 -0700557 "enums" : [],
558 "parsers" : [
559 {
560 "name" : "parser",
561 "id" : 0,
562 "init_state" : "start",
563 "parse_states" : [
564 {
565 "name" : "start",
566 "id" : 0,
567 "parser_ops" : [],
568 "transitions" : [
569 {
570 "type" : "hexstr",
571 "value" : "0x00ff",
572 "mask" : null,
573 "next_state" : "parse_packet_out"
574 },
575 {
576 "value" : "default",
577 "mask" : null,
578 "next_state" : "parse_ethernet"
579 }
580 ],
581 "transition_key" : [
582 {
583 "type" : "field",
584 "value" : ["standard_metadata", "ingress_port"]
585 }
586 ]
587 },
588 {
589 "name" : "parse_packet_out",
590 "id" : 1,
591 "parser_ops" : [
592 {
593 "parameters" : [
594 {
595 "type" : "regular",
596 "value" : "packet_out"
597 }
598 ],
599 "op" : "extract"
600 }
601 ],
602 "transitions" : [
603 {
604 "value" : "default",
605 "mask" : null,
606 "next_state" : "parse_ethernet"
607 }
608 ],
609 "transition_key" : []
610 },
611 {
612 "name" : "parse_ethernet",
613 "id" : 2,
614 "parser_ops" : [
615 {
616 "parameters" : [
617 {
618 "type" : "regular",
619 "value" : "ethernet"
620 }
621 ],
622 "op" : "extract"
623 }
624 ],
625 "transitions" : [
626 {
627 "type" : "hexstr",
628 "value" : "0x8100",
629 "mask" : null,
630 "next_state" : "parse_vlan_tag"
631 },
632 {
633 "type" : "hexstr",
634 "value" : "0x8847",
635 "mask" : null,
636 "next_state" : "parse_mpls"
637 },
638 {
639 "type" : "hexstr",
640 "value" : "0x0806",
641 "mask" : null,
642 "next_state" : "parse_arp"
643 },
644 {
645 "type" : "hexstr",
646 "value" : "0x0800",
647 "mask" : null,
648 "next_state" : "parse_ipv4"
649 },
650 {
651 "value" : "default",
652 "mask" : null,
653 "next_state" : null
654 }
655 ],
656 "transition_key" : [
657 {
658 "type" : "field",
659 "value" : ["ethernet", "ether_type"]
660 }
661 ]
662 },
663 {
664 "name" : "parse_vlan_tag",
665 "id" : 3,
666 "parser_ops" : [
667 {
668 "parameters" : [
669 {
670 "type" : "regular",
671 "value" : "vlan_tag"
672 }
673 ],
674 "op" : "extract"
675 }
676 ],
677 "transitions" : [
678 {
679 "type" : "hexstr",
680 "value" : "0x0806",
681 "mask" : null,
682 "next_state" : "parse_arp"
683 },
684 {
685 "type" : "hexstr",
686 "value" : "0x0800",
687 "mask" : null,
688 "next_state" : "parse_ipv4"
689 },
690 {
691 "type" : "hexstr",
692 "value" : "0x8847",
693 "mask" : null,
694 "next_state" : "parse_mpls"
695 },
696 {
697 "value" : "default",
698 "mask" : null,
699 "next_state" : null
700 }
701 ],
702 "transition_key" : [
703 {
704 "type" : "field",
705 "value" : ["vlan_tag", "ether_type"]
706 }
707 ]
708 },
709 {
710 "name" : "parse_mpls",
711 "id" : 4,
712 "parser_ops" : [
713 {
714 "parameters" : [
715 {
716 "type" : "regular",
717 "value" : "mpls"
718 }
719 ],
720 "op" : "extract"
721 },
722 {
723 "parameters" : [
724 {
725 "type" : "field",
726 "value" : ["scalars", "tmp"]
727 },
728 {
729 "type" : "lookahead",
730 "value" : [0, 4]
731 }
732 ],
733 "op" : "set"
734 }
735 ],
736 "transitions" : [
737 {
738 "type" : "hexstr",
739 "value" : "0x04",
740 "mask" : null,
741 "next_state" : "parse_ipv4"
742 },
743 {
744 "value" : "default",
745 "mask" : null,
746 "next_state" : "parse_ethernet"
747 }
748 ],
749 "transition_key" : [
750 {
751 "type" : "field",
752 "value" : ["scalars", "tmp"]
753 }
754 ]
755 },
756 {
757 "name" : "parse_ipv4",
758 "id" : 5,
759 "parser_ops" : [
760 {
761 "parameters" : [
762 {
763 "type" : "regular",
764 "value" : "ipv4"
765 }
766 ],
767 "op" : "extract"
768 },
769 {
770 "parameters" : [
771 {
772 "type" : "field",
773 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
774 },
775 {
776 "type" : "field",
777 "value" : ["ipv4", "protocol"]
778 }
779 ],
780 "op" : "set"
781 },
782 {
783 "parameters" : [
784 {
785 "type" : "field",
786 "value" : ["scalars", "last_ipv4_dscp"]
787 },
788 {
789 "type" : "field",
790 "value" : ["ipv4", "dscp"]
791 }
792 ],
793 "op" : "set"
794 }
795 ],
796 "transitions" : [
797 {
798 "type" : "hexstr",
799 "value" : "0x06",
800 "mask" : null,
801 "next_state" : "parse_tcp"
802 },
803 {
804 "type" : "hexstr",
805 "value" : "0x11",
806 "mask" : null,
807 "next_state" : "parse_udp"
808 },
809 {
810 "type" : "hexstr",
811 "value" : "0x01",
812 "mask" : null,
813 "next_state" : "parse_icmp"
814 },
815 {
816 "value" : "default",
817 "mask" : null,
818 "next_state" : null
819 }
820 ],
821 "transition_key" : [
822 {
823 "type" : "field",
824 "value" : ["ipv4", "protocol"]
825 }
826 ]
827 },
828 {
829 "name" : "parse_arp",
830 "id" : 6,
831 "parser_ops" : [
832 {
833 "parameters" : [
834 {
835 "type" : "regular",
836 "value" : "arp"
837 }
838 ],
839 "op" : "extract"
840 }
841 ],
842 "transitions" : [
843 {
844 "value" : "default",
845 "mask" : null,
846 "next_state" : null
847 }
848 ],
849 "transition_key" : []
850 },
851 {
852 "name" : "parse_tcp",
853 "id" : 7,
854 "parser_ops" : [
855 {
856 "parameters" : [
857 {
858 "type" : "regular",
859 "value" : "tcp"
860 }
861 ],
862 "op" : "extract"
863 },
864 {
865 "parameters" : [
866 {
867 "type" : "field",
868 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
869 },
870 {
871 "type" : "field",
872 "value" : ["tcp", "src_port"]
873 }
874 ],
875 "op" : "set"
876 },
877 {
878 "parameters" : [
879 {
880 "type" : "field",
881 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
882 },
883 {
884 "type" : "field",
885 "value" : ["tcp", "dst_port"]
886 }
887 ],
888 "op" : "set"
889 }
890 ],
891 "transitions" : [
892 {
893 "value" : "default",
894 "mask" : null,
895 "next_state" : "parse_int"
896 }
897 ],
898 "transition_key" : []
899 },
900 {
901 "name" : "parse_udp",
902 "id" : 8,
903 "parser_ops" : [
904 {
905 "parameters" : [
906 {
907 "type" : "regular",
908 "value" : "udp"
909 }
910 ],
911 "op" : "extract"
912 },
913 {
914 "parameters" : [
915 {
916 "type" : "field",
917 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
918 },
919 {
920 "type" : "field",
921 "value" : ["udp", "src_port"]
922 }
923 ],
924 "op" : "set"
925 },
926 {
927 "parameters" : [
928 {
929 "type" : "field",
930 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
931 },
932 {
933 "type" : "field",
934 "value" : ["udp", "dst_port"]
935 }
936 ],
937 "op" : "set"
938 }
939 ],
940 "transitions" : [
941 {
942 "type" : "hexstr",
943 "value" : "0x0868",
944 "mask" : null,
945 "next_state" : "parse_gtpu"
946 },
947 {
948 "value" : "default",
949 "mask" : null,
950 "next_state" : "parse_int"
951 }
952 ],
953 "transition_key" : [
954 {
955 "type" : "field",
956 "value" : ["udp", "dst_port"]
957 }
958 ]
959 },
960 {
961 "name" : "parse_icmp",
962 "id" : 9,
963 "parser_ops" : [
964 {
965 "parameters" : [
966 {
967 "type" : "regular",
968 "value" : "icmp"
969 }
970 ],
971 "op" : "extract"
972 }
973 ],
974 "transitions" : [
975 {
976 "value" : "default",
977 "mask" : null,
978 "next_state" : null
979 }
980 ],
981 "transition_key" : []
982 },
983 {
984 "name" : "parse_gtpu",
985 "id" : 10,
986 "parser_ops" : [
987 {
988 "parameters" : [
989 {
990 "type" : "field",
991 "value" : ["scalars", "tmp_0"]
992 },
993 {
994 "type" : "expression",
995 "value" : {
996 "type" : "expression",
997 "value" : {
998 "op" : "&",
999 "left" : {
1000 "type" : "expression",
1001 "value" : {
1002 "op" : "&",
1003 "left" : {
1004 "type" : "expression",
1005 "value" : {
1006 "op" : ">>",
1007 "left" : {
1008 "type" : "field",
1009 "value" : ["ipv4", "dst_addr"]
1010 },
1011 "right" : {
1012 "type" : "hexstr",
1013 "value" : "0x18"
1014 }
1015 }
1016 },
1017 "right" : {
1018 "type" : "hexstr",
1019 "value" : "0xffffffff"
1020 }
1021 }
1022 },
1023 "right" : {
1024 "type" : "hexstr",
1025 "value" : "0xff"
1026 }
1027 }
1028 }
1029 }
1030 ],
1031 "op" : "set"
1032 }
1033 ],
1034 "transitions" : [
1035 {
1036 "type" : "hexstr",
1037 "value" : "0x8c",
1038 "mask" : null,
1039 "next_state" : "do_parse_gtpu"
1040 },
1041 {
1042 "value" : "default",
1043 "mask" : null,
1044 "next_state" : null
1045 }
1046 ],
1047 "transition_key" : [
1048 {
1049 "type" : "field",
1050 "value" : ["scalars", "tmp_0"]
1051 }
1052 ]
1053 },
1054 {
1055 "name" : "do_parse_gtpu",
1056 "id" : 11,
1057 "parser_ops" : [
1058 {
1059 "parameters" : [
1060 {
1061 "type" : "regular",
1062 "value" : "gtpu"
1063 }
1064 ],
1065 "op" : "extract"
1066 },
1067 {
1068 "parameters" : [
1069 {
1070 "type" : "regular",
1071 "value" : "inner_ipv4"
1072 }
1073 ],
1074 "op" : "extract"
1075 },
1076 {
1077 "parameters" : [
1078 {
1079 "type" : "field",
1080 "value" : ["scalars", "last_ipv4_dscp"]
1081 },
1082 {
1083 "type" : "field",
1084 "value" : ["inner_ipv4", "dscp"]
1085 }
1086 ],
1087 "op" : "set"
1088 }
1089 ],
1090 "transitions" : [
1091 {
1092 "type" : "hexstr",
1093 "value" : "0x06",
1094 "mask" : null,
1095 "next_state" : "parse_tcp"
1096 },
1097 {
1098 "type" : "hexstr",
1099 "value" : "0x11",
1100 "mask" : null,
1101 "next_state" : "parse_inner_udp"
1102 },
1103 {
1104 "type" : "hexstr",
1105 "value" : "0x01",
1106 "mask" : null,
1107 "next_state" : "parse_icmp"
1108 },
1109 {
1110 "value" : "default",
1111 "mask" : null,
1112 "next_state" : null
1113 }
1114 ],
1115 "transition_key" : [
1116 {
1117 "type" : "field",
1118 "value" : ["inner_ipv4", "protocol"]
1119 }
1120 ]
1121 },
1122 {
1123 "name" : "parse_inner_udp",
1124 "id" : 12,
1125 "parser_ops" : [
1126 {
1127 "parameters" : [
1128 {
1129 "type" : "regular",
1130 "value" : "inner_udp"
1131 }
1132 ],
1133 "op" : "extract"
1134 },
1135 {
1136 "parameters" : [
1137 {
1138 "type" : "field",
1139 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1140 },
1141 {
1142 "type" : "field",
1143 "value" : ["inner_udp", "src_port"]
1144 }
1145 ],
1146 "op" : "set"
1147 },
1148 {
1149 "parameters" : [
1150 {
1151 "type" : "field",
1152 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1153 },
1154 {
1155 "type" : "field",
1156 "value" : ["inner_udp", "dst_port"]
1157 }
1158 ],
1159 "op" : "set"
1160 }
1161 ],
1162 "transitions" : [
1163 {
1164 "value" : "default",
1165 "mask" : null,
1166 "next_state" : "parse_int"
1167 }
1168 ],
1169 "transition_key" : []
1170 },
1171 {
1172 "name" : "parse_int",
1173 "id" : 13,
1174 "parser_ops" : [],
1175 "transitions" : [
1176 {
1177 "type" : "hexstr",
1178 "value" : "0x01",
1179 "mask" : "0x01",
1180 "next_state" : "parse_intl4_shim"
1181 },
1182 {
1183 "value" : "default",
1184 "mask" : null,
1185 "next_state" : null
1186 }
1187 ],
1188 "transition_key" : [
1189 {
1190 "type" : "field",
1191 "value" : ["scalars", "last_ipv4_dscp"]
1192 }
1193 ]
1194 },
1195 {
1196 "name" : "parse_intl4_shim",
1197 "id" : 14,
1198 "parser_ops" : [
1199 {
1200 "parameters" : [
1201 {
1202 "type" : "regular",
1203 "value" : "intl4_shim"
1204 }
1205 ],
1206 "op" : "extract"
1207 },
1208 {
1209 "parameters" : [
1210 {
1211 "type" : "regular",
1212 "value" : "int_header"
1213 }
1214 ],
1215 "op" : "extract"
1216 }
1217 ],
1218 "transitions" : [
1219 {
1220 "type" : "hexstr",
1221 "value" : "0x04",
1222 "mask" : null,
1223 "next_state" : "parse_intl4_tail"
1224 },
1225 {
1226 "value" : "default",
1227 "mask" : null,
1228 "next_state" : "parse_int_data"
1229 }
1230 ],
1231 "transition_key" : [
1232 {
1233 "type" : "field",
1234 "value" : ["intl4_shim", "len_words"]
1235 }
1236 ]
1237 },
1238 {
1239 "name" : "parse_int_data",
1240 "id" : 15,
1241 "parser_ops" : [],
1242 "transitions" : [
1243 {
1244 "value" : "default",
1245 "mask" : null,
1246 "next_state" : null
1247 }
1248 ],
1249 "transition_key" : []
1250 },
1251 {
1252 "name" : "parse_intl4_tail",
1253 "id" : 16,
1254 "parser_ops" : [
1255 {
1256 "parameters" : [
1257 {
1258 "type" : "regular",
1259 "value" : "intl4_tail"
1260 }
1261 ],
1262 "op" : "extract"
1263 }
1264 ],
1265 "transitions" : [
1266 {
1267 "value" : "default",
1268 "mask" : null,
1269 "next_state" : null
1270 }
1271 ],
1272 "transition_key" : []
1273 }
1274 ]
1275 }
1276 ],
1277 "parse_vsets" : [],
1278 "deparsers" : [
1279 {
1280 "name" : "deparser",
1281 "id" : 0,
1282 "source_info" : {
1283 "filename" : "include/parser.p4",
1284 "line" : 228,
1285 "column" : 8,
1286 "source_fragment" : "FabricDeparser"
1287 },
1288 "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"]
1289 }
1290 ],
1291 "meter_arrays" : [],
1292 "counter_arrays" : [
1293 {
1294 "name" : "FabricIngress.spgw_ingress.ue_counter",
1295 "id" : 0,
1296 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001297 "binding" : "FabricIngress.spgw_ingress.dl_sess_lookup",
1298 "source_info" : {
1299 "filename" : "include/spgw.p4",
1300 "line" : 51,
1301 "column" : 50,
1302 "source_fragment" : "ue_counter"
1303 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001304 },
1305 {
1306 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
1307 "id" : 1,
1308 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001309 "binding" : "FabricIngress.process_set_source_sink.tb_set_source",
1310 "source_info" : {
1311 "filename" : "include/int/int_main.p4",
1312 "line" : 39,
1313 "column" : 50,
1314 "source_fragment" : "counter_set_source"
1315 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001316 },
1317 {
1318 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1319 "id" : 2,
1320 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001321 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1322 "source_info" : {
1323 "filename" : "include/control/filtering.p4",
1324 "line" : 34,
1325 "column" : 50,
1326 "source_fragment" : "ingress_port_vlan_counter"
1327 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001328 },
1329 {
1330 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1331 "id" : 3,
1332 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001333 "binding" : "FabricIngress.filtering.fwd_classifier",
1334 "source_info" : {
1335 "filename" : "include/control/filtering.p4",
1336 "line" : 96,
1337 "column" : 50,
1338 "source_fragment" : "fwd_classifier_counter"
1339 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001340 },
1341 {
1342 "name" : "FabricIngress.forwarding.bridging_counter",
1343 "id" : 4,
1344 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001345 "binding" : "FabricIngress.forwarding.bridging",
1346 "source_info" : {
1347 "filename" : "include/control/forwarding.p4",
1348 "line" : 34,
1349 "column" : 50,
1350 "source_fragment" : "bridging_counter"
1351 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001352 },
1353 {
1354 "name" : "FabricIngress.forwarding.mpls_counter",
1355 "id" : 5,
1356 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001357 "binding" : "FabricIngress.forwarding.mpls",
1358 "source_info" : {
1359 "filename" : "include/control/forwarding.p4",
1360 "line" : 57,
1361 "column" : 50,
1362 "source_fragment" : "mpls_counter"
1363 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001364 },
1365 {
1366 "name" : "FabricIngress.forwarding.routing_v4_counter",
1367 "id" : 6,
1368 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001369 "binding" : "FabricIngress.forwarding.routing_v4",
1370 "source_info" : {
1371 "filename" : "include/control/forwarding.p4",
1372 "line" : 80,
1373 "column" : 50,
1374 "source_fragment" : "routing_v4_counter"
1375 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001376 },
1377 {
1378 "name" : "FabricIngress.forwarding.acl_counter",
1379 "id" : 7,
1380 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001381 "binding" : "FabricIngress.forwarding.acl",
1382 "source_info" : {
1383 "filename" : "include/control/forwarding.p4",
1384 "line" : 107,
1385 "column" : 50,
1386 "source_fragment" : "acl_counter"
1387 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001388 },
1389 {
1390 "name" : "FabricIngress.next.vlan_meta_counter",
1391 "id" : 8,
1392 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001393 "binding" : "FabricIngress.next.vlan_meta",
1394 "source_info" : {
1395 "filename" : "include/control/next.p4",
1396 "line" : 58,
1397 "column" : 50,
1398 "source_fragment" : "vlan_meta_counter"
1399 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001400 },
1401 {
1402 "name" : "FabricIngress.next.simple_counter",
1403 "id" : 9,
1404 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001405 "binding" : "FabricIngress.next.simple",
1406 "source_info" : {
1407 "filename" : "include/control/next.p4",
1408 "line" : 82,
1409 "column" : 50,
1410 "source_fragment" : "simple_counter"
1411 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001412 },
1413 {
1414 "name" : "FabricIngress.next.hashed_counter",
1415 "id" : 10,
1416 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001417 "binding" : "FabricIngress.next.hashed",
1418 "source_info" : {
1419 "filename" : "include/control/next.p4",
1420 "line" : 146,
1421 "column" : 50,
1422 "source_fragment" : "hashed_counter"
1423 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001424 },
1425 {
1426 "name" : "FabricIngress.next.multicast_counter",
1427 "id" : 11,
1428 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001429 "binding" : "FabricIngress.next.multicast",
1430 "source_info" : {
1431 "filename" : "include/control/next.p4",
1432 "line" : 199,
1433 "column" : 50,
1434 "source_fragment" : "multicast_counter"
1435 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001436 },
1437 {
1438 "name" : "FabricIngress.port_counters_control.egress_port_counter",
1439 "id" : 12,
1440 "source_info" : {
1441 "filename" : "include/control/port_counter.p4",
1442 "line" : 23,
1443 "column" : 48,
1444 "source_fragment" : "egress_port_counter"
1445 },
1446 "size" : 511,
1447 "is_direct" : false
1448 },
1449 {
1450 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
1451 "id" : 13,
1452 "source_info" : {
1453 "filename" : "include/control/port_counter.p4",
1454 "line" : 24,
1455 "column" : 48,
1456 "source_fragment" : "ingress_port_counter"
1457 },
1458 "size" : 511,
1459 "is_direct" : false
1460 },
1461 {
1462 "name" : "FabricEgress.process_int_main.process_int_source.counter_int_source",
1463 "id" : 14,
1464 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001465 "binding" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
1466 "source_info" : {
1467 "filename" : "include/int/int_source.p4",
1468 "line" : 27,
1469 "column" : 50,
1470 "source_fragment" : "counter_int_source"
1471 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001472 },
1473 {
1474 "name" : "FabricEgress.egress_next.egress_vlan_counter",
1475 "id" : 15,
1476 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001477 "binding" : "FabricEgress.egress_next.egress_vlan",
1478 "source_info" : {
1479 "filename" : "include/control/next.p4",
1480 "line" : 250,
1481 "column" : 50,
1482 "source_fragment" : "egress_vlan_counter"
1483 }
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07001484 }
1485 ],
1486 "register_arrays" : [],
1487 "calculations" : [
1488 {
1489 "name" : "calc",
1490 "id" : 0,
1491 "source_info" : {
1492 "filename" : "include/checksum.p4",
1493 "line" : 28,
1494 "column" : 8,
1495 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1496 },
1497 "algo" : "csum16",
1498 "input" : [
1499 {
1500 "type" : "field",
1501 "value" : ["ipv4", "version"]
1502 },
1503 {
1504 "type" : "field",
1505 "value" : ["ipv4", "ihl"]
1506 },
1507 {
1508 "type" : "field",
1509 "value" : ["ipv4", "dscp"]
1510 },
1511 {
1512 "type" : "field",
1513 "value" : ["ipv4", "ecn"]
1514 },
1515 {
1516 "type" : "field",
1517 "value" : ["ipv4", "total_len"]
1518 },
1519 {
1520 "type" : "field",
1521 "value" : ["ipv4", "identification"]
1522 },
1523 {
1524 "type" : "field",
1525 "value" : ["ipv4", "flags"]
1526 },
1527 {
1528 "type" : "field",
1529 "value" : ["ipv4", "frag_offset"]
1530 },
1531 {
1532 "type" : "field",
1533 "value" : ["ipv4", "ttl"]
1534 },
1535 {
1536 "type" : "field",
1537 "value" : ["ipv4", "protocol"]
1538 },
1539 {
1540 "type" : "field",
1541 "value" : ["ipv4", "src_addr"]
1542 },
1543 {
1544 "type" : "field",
1545 "value" : ["ipv4", "dst_addr"]
1546 }
1547 ]
1548 },
1549 {
1550 "name" : "calc_0",
1551 "id" : 1,
1552 "source_info" : {
1553 "filename" : "include/spgw.p4",
1554 "line" : 237,
1555 "column" : 8,
1556 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1557 },
1558 "algo" : "csum16",
1559 "input" : [
1560 {
1561 "type" : "field",
1562 "value" : ["gtpu_ipv4", "version"]
1563 },
1564 {
1565 "type" : "field",
1566 "value" : ["gtpu_ipv4", "ihl"]
1567 },
1568 {
1569 "type" : "field",
1570 "value" : ["gtpu_ipv4", "dscp"]
1571 },
1572 {
1573 "type" : "field",
1574 "value" : ["gtpu_ipv4", "ecn"]
1575 },
1576 {
1577 "type" : "field",
1578 "value" : ["gtpu_ipv4", "total_len"]
1579 },
1580 {
1581 "type" : "field",
1582 "value" : ["gtpu_ipv4", "identification"]
1583 },
1584 {
1585 "type" : "field",
1586 "value" : ["gtpu_ipv4", "flags"]
1587 },
1588 {
1589 "type" : "field",
1590 "value" : ["gtpu_ipv4", "frag_offset"]
1591 },
1592 {
1593 "type" : "field",
1594 "value" : ["gtpu_ipv4", "ttl"]
1595 },
1596 {
1597 "type" : "field",
1598 "value" : ["gtpu_ipv4", "protocol"]
1599 },
1600 {
1601 "type" : "field",
1602 "value" : ["gtpu_ipv4", "src_addr"]
1603 },
1604 {
1605 "type" : "field",
1606 "value" : ["gtpu_ipv4", "dst_addr"]
1607 }
1608 ]
1609 },
1610 {
1611 "name" : "calc_1",
1612 "id" : 2,
1613 "source_info" : {
1614 "filename" : "include/checksum.p4",
1615 "line" : 57,
1616 "column" : 8,
1617 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1618 },
1619 "algo" : "csum16",
1620 "input" : [
1621 {
1622 "type" : "field",
1623 "value" : ["ipv4", "version"]
1624 },
1625 {
1626 "type" : "field",
1627 "value" : ["ipv4", "ihl"]
1628 },
1629 {
1630 "type" : "field",
1631 "value" : ["ipv4", "dscp"]
1632 },
1633 {
1634 "type" : "field",
1635 "value" : ["ipv4", "ecn"]
1636 },
1637 {
1638 "type" : "field",
1639 "value" : ["ipv4", "total_len"]
1640 },
1641 {
1642 "type" : "field",
1643 "value" : ["ipv4", "identification"]
1644 },
1645 {
1646 "type" : "field",
1647 "value" : ["ipv4", "flags"]
1648 },
1649 {
1650 "type" : "field",
1651 "value" : ["ipv4", "frag_offset"]
1652 },
1653 {
1654 "type" : "field",
1655 "value" : ["ipv4", "ttl"]
1656 },
1657 {
1658 "type" : "field",
1659 "value" : ["ipv4", "protocol"]
1660 },
1661 {
1662 "type" : "field",
1663 "value" : ["ipv4", "src_addr"]
1664 },
1665 {
1666 "type" : "field",
1667 "value" : ["ipv4", "dst_addr"]
1668 }
1669 ]
1670 }
1671 ],
1672 "learn_lists" : [],
1673 "actions" : [
1674 {
1675 "name" : "NoAction",
1676 "id" : 0,
1677 "runtime_data" : [],
1678 "primitives" : []
1679 },
1680 {
1681 "name" : "NoAction",
1682 "id" : 1,
1683 "runtime_data" : [],
1684 "primitives" : []
1685 },
1686 {
1687 "name" : "NoAction",
1688 "id" : 2,
1689 "runtime_data" : [],
1690 "primitives" : []
1691 },
1692 {
1693 "name" : "NoAction",
1694 "id" : 3,
1695 "runtime_data" : [],
1696 "primitives" : []
1697 },
1698 {
1699 "name" : "NoAction",
1700 "id" : 4,
1701 "runtime_data" : [],
1702 "primitives" : []
1703 },
1704 {
1705 "name" : "NoAction",
1706 "id" : 5,
1707 "runtime_data" : [],
1708 "primitives" : []
1709 },
1710 {
1711 "name" : "NoAction",
1712 "id" : 6,
1713 "runtime_data" : [],
1714 "primitives" : []
1715 },
1716 {
1717 "name" : "NoAction",
1718 "id" : 7,
1719 "runtime_data" : [],
1720 "primitives" : []
1721 },
1722 {
1723 "name" : "NoAction",
1724 "id" : 8,
1725 "runtime_data" : [],
1726 "primitives" : []
1727 },
1728 {
1729 "name" : "nop",
1730 "id" : 9,
1731 "runtime_data" : [],
1732 "primitives" : []
1733 },
1734 {
1735 "name" : "drop_now",
1736 "id" : 10,
1737 "runtime_data" : [],
1738 "primitives" : [
1739 {
1740 "op" : "drop",
1741 "parameters" : [],
1742 "source_info" : {
1743 "filename" : "include/control/../action.p4",
1744 "line" : 24,
1745 "column" : 4,
1746 "source_fragment" : "mark_to_drop()"
1747 }
1748 },
1749 {
1750 "op" : "exit",
1751 "parameters" : [],
1752 "source_info" : {
1753 "filename" : "include/control/../action.p4",
1754 "line" : 25,
1755 "column" : 4,
1756 "source_fragment" : "exit"
1757 }
1758 }
1759 ]
1760 },
1761 {
1762 "name" : "FabricIngress.spgw_ingress.gtpu_decap",
1763 "id" : 11,
1764 "runtime_data" : [],
1765 "primitives" : [
1766 {
1767 "op" : "remove_header",
1768 "parameters" : [
1769 {
1770 "type" : "header",
1771 "value" : "gtpu_ipv4"
1772 }
1773 ],
1774 "source_info" : {
1775 "filename" : "include/spgw.p4",
1776 "line" : 54,
1777 "column" : 8,
1778 "source_fragment" : "gtpu_ipv4.setInvalid()"
1779 }
1780 },
1781 {
1782 "op" : "remove_header",
1783 "parameters" : [
1784 {
1785 "type" : "header",
1786 "value" : "gtpu_udp"
1787 }
1788 ],
1789 "source_info" : {
1790 "filename" : "include/spgw.p4",
1791 "line" : 55,
1792 "column" : 8,
1793 "source_fragment" : "gtpu_udp.setInvalid()"
1794 }
1795 },
1796 {
1797 "op" : "remove_header",
1798 "parameters" : [
1799 {
1800 "type" : "header",
1801 "value" : "gtpu"
1802 }
1803 ],
1804 "source_info" : {
1805 "filename" : "include/spgw.p4",
1806 "line" : 56,
1807 "column" : 8,
1808 "source_fragment" : "gtpu.setInvalid()"
1809 }
1810 }
1811 ]
1812 },
1813 {
1814 "name" : "FabricIngress.spgw_ingress.set_dl_sess_info",
1815 "id" : 12,
1816 "runtime_data" : [
1817 {
1818 "name" : "teid",
1819 "bitwidth" : 32
1820 },
1821 {
1822 "name" : "s1u_enb_addr",
1823 "bitwidth" : 32
1824 },
1825 {
1826 "name" : "s1u_sgw_addr",
1827 "bitwidth" : 32
1828 }
1829 ],
1830 "primitives" : [
1831 {
1832 "op" : "assign",
1833 "parameters" : [
1834 {
1835 "type" : "field",
1836 "value" : ["userMetadata.spgw", "teid"]
1837 },
1838 {
1839 "type" : "runtime_data",
1840 "value" : 0
1841 }
1842 ],
1843 "source_info" : {
1844 "filename" : "include/spgw.p4",
1845 "line" : 62,
1846 "column" : 8,
1847 "source_fragment" : "spgw_meta.teid = teid"
1848 }
1849 },
1850 {
1851 "op" : "assign",
1852 "parameters" : [
1853 {
1854 "type" : "field",
1855 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
1856 },
1857 {
1858 "type" : "runtime_data",
1859 "value" : 1
1860 }
1861 ],
1862 "source_info" : {
1863 "filename" : "include/spgw.p4",
1864 "line" : 63,
1865 "column" : 8,
1866 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
1867 }
1868 },
1869 {
1870 "op" : "assign",
1871 "parameters" : [
1872 {
1873 "type" : "field",
1874 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
1875 },
1876 {
1877 "type" : "runtime_data",
1878 "value" : 2
1879 }
1880 ],
1881 "source_info" : {
1882 "filename" : "include/spgw.p4",
1883 "line" : 64,
1884 "column" : 8,
1885 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
1886 }
1887 }
1888 ]
1889 },
1890 {
1891 "name" : "FabricIngress.process_set_source_sink.int_set_source",
1892 "id" : 13,
1893 "runtime_data" : [],
1894 "primitives" : [
1895 {
1896 "op" : "assign",
1897 "parameters" : [
1898 {
1899 "type" : "field",
1900 "value" : ["userMetadata.int_meta", "source"]
1901 },
1902 {
1903 "type" : "expression",
1904 "value" : {
1905 "type" : "expression",
1906 "value" : {
1907 "op" : "b2d",
1908 "left" : null,
1909 "right" : {
1910 "type" : "bool",
1911 "value" : true
1912 }
1913 }
1914 }
1915 }
1916 ],
1917 "source_info" : {
1918 "filename" : "include/int/int_main.p4",
1919 "line" : 42,
1920 "column" : 8,
1921 "source_fragment" : "fabric_metadata.int_meta.source = true"
1922 }
1923 }
1924 ]
1925 },
1926 {
1927 "name" : "FabricIngress.filtering.drop",
1928 "id" : 14,
1929 "runtime_data" : [],
1930 "primitives" : [
1931 {
1932 "op" : "drop",
1933 "parameters" : [],
1934 "source_info" : {
1935 "filename" : "include/control/filtering.p4",
1936 "line" : 37,
1937 "column" : 8,
1938 "source_fragment" : "mark_to_drop()"
1939 }
1940 }
1941 ]
1942 },
1943 {
1944 "name" : "FabricIngress.filtering.set_vlan",
1945 "id" : 15,
1946 "runtime_data" : [
1947 {
1948 "name" : "new_vlan_id",
1949 "bitwidth" : 12
1950 }
1951 ],
1952 "primitives" : [
1953 {
1954 "op" : "assign",
1955 "parameters" : [
1956 {
1957 "type" : "field",
1958 "value" : ["vlan_tag", "vlan_id"]
1959 },
1960 {
1961 "type" : "runtime_data",
1962 "value" : 0
1963 }
1964 ],
1965 "source_info" : {
1966 "filename" : "include/control/filtering.p4",
1967 "line" : 42,
1968 "column" : 8,
1969 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
1970 }
1971 }
1972 ]
1973 },
1974 {
1975 "name" : "FabricIngress.filtering.push_internal_vlan",
1976 "id" : 16,
1977 "runtime_data" : [
1978 {
1979 "name" : "new_vlan_id",
1980 "bitwidth" : 12
1981 }
1982 ],
1983 "primitives" : [
1984 {
1985 "op" : "add_header",
1986 "parameters" : [
1987 {
1988 "type" : "header",
1989 "value" : "vlan_tag"
1990 }
1991 ],
1992 "source_info" : {
1993 "filename" : "include/control/filtering.p4",
1994 "line" : 49,
1995 "column" : 8,
1996 "source_fragment" : "hdr.vlan_tag.setValid()"
1997 }
1998 },
1999 {
2000 "op" : "assign",
2001 "parameters" : [
2002 {
2003 "type" : "field",
2004 "value" : ["vlan_tag", "cfi"]
2005 },
2006 {
2007 "type" : "hexstr",
2008 "value" : "0x00"
2009 }
2010 ],
2011 "source_info" : {
2012 "filename" : "include/control/filtering.p4",
2013 "line" : 50,
2014 "column" : 8,
2015 "source_fragment" : "hdr.vlan_tag.cfi = 0"
2016 }
2017 },
2018 {
2019 "op" : "assign",
2020 "parameters" : [
2021 {
2022 "type" : "field",
2023 "value" : ["vlan_tag", "pri"]
2024 },
2025 {
2026 "type" : "hexstr",
2027 "value" : "0x00"
2028 }
2029 ],
2030 "source_info" : {
2031 "filename" : "include/control/filtering.p4",
2032 "line" : 51,
2033 "column" : 8,
2034 "source_fragment" : "hdr.vlan_tag.pri = 0"
2035 }
2036 },
2037 {
2038 "op" : "assign",
2039 "parameters" : [
2040 {
2041 "type" : "field",
2042 "value" : ["vlan_tag", "ether_type"]
2043 },
2044 {
2045 "type" : "field",
2046 "value" : ["ethernet", "ether_type"]
2047 }
2048 ],
2049 "source_info" : {
2050 "filename" : "include/control/filtering.p4",
2051 "line" : 52,
2052 "column" : 8,
2053 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
2054 }
2055 },
2056 {
2057 "op" : "assign",
2058 "parameters" : [
2059 {
2060 "type" : "field",
2061 "value" : ["ethernet", "ether_type"]
2062 },
2063 {
2064 "type" : "hexstr",
2065 "value" : "0x8100"
2066 }
2067 ],
2068 "source_info" : {
2069 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002070 "line" : 99,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07002071 "column" : 31,
2072 "source_fragment" : "0x8100; ..."
2073 }
2074 },
2075 {
2076 "op" : "assign",
2077 "parameters" : [
2078 {
2079 "type" : "field",
2080 "value" : ["vlan_tag", "vlan_id"]
2081 },
2082 {
2083 "type" : "runtime_data",
2084 "value" : 0
2085 }
2086 ],
2087 "source_info" : {
2088 "filename" : "include/control/filtering.p4",
2089 "line" : 54,
2090 "column" : 8,
2091 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2092 }
2093 },
2094 {
2095 "op" : "assign",
2096 "parameters" : [
2097 {
2098 "type" : "field",
2099 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
2100 },
2101 {
2102 "type" : "expression",
2103 "value" : {
2104 "type" : "expression",
2105 "value" : {
2106 "op" : "b2d",
2107 "left" : null,
2108 "right" : {
2109 "type" : "bool",
2110 "value" : true
2111 }
2112 }
2113 }
2114 }
2115 ],
2116 "source_info" : {
2117 "filename" : "include/control/filtering.p4",
2118 "line" : 57,
2119 "column" : 8,
2120 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
2121 }
2122 }
2123 ]
2124 },
2125 {
2126 "name" : "FabricIngress.filtering.nop_ingress_port_vlan",
2127 "id" : 17,
2128 "runtime_data" : [],
2129 "primitives" : []
2130 },
2131 {
2132 "name" : "FabricIngress.filtering.set_forwarding_type",
2133 "id" : 18,
2134 "runtime_data" : [
2135 {
2136 "name" : "fwd_type",
2137 "bitwidth" : 3
2138 }
2139 ],
2140 "primitives" : [
2141 {
2142 "op" : "assign",
2143 "parameters" : [
2144 {
2145 "type" : "field",
2146 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
2147 },
2148 {
2149 "type" : "runtime_data",
2150 "value" : 0
2151 }
2152 ],
2153 "source_info" : {
2154 "filename" : "include/control/filtering.p4",
2155 "line" : 99,
2156 "column" : 8,
2157 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
2158 }
2159 }
2160 ]
2161 },
2162 {
2163 "name" : "FabricIngress.forwarding.set_next_id_bridging",
2164 "id" : 19,
2165 "runtime_data" : [
2166 {
2167 "name" : "next_id",
2168 "bitwidth" : 32
2169 }
2170 ],
2171 "primitives" : [
2172 {
2173 "op" : "assign",
2174 "parameters" : [
2175 {
2176 "type" : "field",
2177 "value" : ["scalars", "fabric_metadata_t.next_id"]
2178 },
2179 {
2180 "type" : "runtime_data",
2181 "value" : 0
2182 }
2183 ],
2184 "source_info" : {
2185 "filename" : "include/control/forwarding.p4",
2186 "line" : 37,
2187 "column" : 8,
2188 "source_fragment" : "fabric_metadata.next_id = next_id"
2189 }
2190 }
2191 ]
2192 },
2193 {
2194 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
2195 "id" : 20,
2196 "runtime_data" : [
2197 {
2198 "name" : "next_id",
2199 "bitwidth" : 32
2200 }
2201 ],
2202 "primitives" : [
2203 {
2204 "op" : "remove_header",
2205 "parameters" : [
2206 {
2207 "type" : "header",
2208 "value" : "mpls"
2209 }
2210 ],
2211 "source_info" : {
2212 "filename" : "include/control/forwarding.p4",
2213 "line" : 60,
2214 "column" : 8,
2215 "source_fragment" : "hdr.mpls.setInvalid()"
2216 }
2217 },
2218 {
2219 "op" : "assign",
2220 "parameters" : [
2221 {
2222 "type" : "field",
2223 "value" : ["scalars", "fabric_metadata_t.next_id"]
2224 },
2225 {
2226 "type" : "runtime_data",
2227 "value" : 0
2228 }
2229 ],
2230 "source_info" : {
2231 "filename" : "include/control/forwarding.p4",
2232 "line" : 61,
2233 "column" : 8,
2234 "source_fragment" : "fabric_metadata.next_id = next_id"
2235 }
2236 }
2237 ]
2238 },
2239 {
2240 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
2241 "id" : 21,
2242 "runtime_data" : [
2243 {
2244 "name" : "next_id",
2245 "bitwidth" : 32
2246 }
2247 ],
2248 "primitives" : [
2249 {
2250 "op" : "assign",
2251 "parameters" : [
2252 {
2253 "type" : "field",
2254 "value" : ["scalars", "fabric_metadata_t.next_id"]
2255 },
2256 {
2257 "type" : "runtime_data",
2258 "value" : 0
2259 }
2260 ],
2261 "source_info" : {
2262 "filename" : "include/control/forwarding.p4",
2263 "line" : 83,
2264 "column" : 8,
2265 "source_fragment" : "fabric_metadata.next_id = next_id"
2266 }
2267 }
2268 ]
2269 },
2270 {
2271 "name" : "FabricIngress.forwarding.nop_routing_v4",
2272 "id" : 22,
2273 "runtime_data" : [],
2274 "primitives" : []
2275 },
2276 {
2277 "name" : "FabricIngress.forwarding.set_next_id_acl",
2278 "id" : 23,
2279 "runtime_data" : [
2280 {
2281 "name" : "next_id",
2282 "bitwidth" : 32
2283 }
2284 ],
2285 "primitives" : [
2286 {
2287 "op" : "assign",
2288 "parameters" : [
2289 {
2290 "type" : "field",
2291 "value" : ["scalars", "fabric_metadata_t.next_id"]
2292 },
2293 {
2294 "type" : "runtime_data",
2295 "value" : 0
2296 }
2297 ],
2298 "source_info" : {
2299 "filename" : "include/control/forwarding.p4",
2300 "line" : 110,
2301 "column" : 8,
2302 "source_fragment" : "fabric_metadata.next_id = next_id"
2303 }
2304 }
2305 ]
2306 },
2307 {
2308 "name" : "FabricIngress.forwarding.punt_to_cpu",
2309 "id" : 24,
2310 "runtime_data" : [],
2311 "primitives" : [
2312 {
2313 "op" : "assign",
2314 "parameters" : [
2315 {
2316 "type" : "field",
2317 "value" : ["standard_metadata", "egress_spec"]
2318 },
2319 {
2320 "type" : "hexstr",
2321 "value" : "0x00ff"
2322 }
2323 ],
2324 "source_info" : {
2325 "filename" : "include/control/forwarding.p4",
2326 "line" : 116,
2327 "column" : 8,
2328 "source_fragment" : "standard_metadata.egress_spec = 255"
2329 }
2330 },
2331 {
2332 "op" : "exit",
2333 "parameters" : [],
2334 "source_info" : {
2335 "filename" : "include/control/forwarding.p4",
2336 "line" : 118,
2337 "column" : 8,
2338 "source_fragment" : "exit"
2339 }
2340 }
2341 ]
2342 },
2343 {
2344 "name" : "FabricIngress.forwarding.clone_to_cpu",
2345 "id" : 25,
2346 "runtime_data" : [],
2347 "primitives" : [
2348 {
2349 "op" : "assign",
2350 "parameters" : [
2351 {
2352 "type" : "field",
2353 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2354 },
2355 {
2356 "type" : "expression",
2357 "value" : {
2358 "type" : "expression",
2359 "value" : {
2360 "op" : "b2d",
2361 "left" : null,
2362 "right" : {
2363 "type" : "bool",
2364 "value" : true
2365 }
2366 }
2367 }
2368 }
2369 ],
2370 "source_info" : {
2371 "filename" : "include/control/forwarding.p4",
2372 "line" : 123,
2373 "column" : 8,
2374 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2375 }
2376 }
2377 ]
2378 },
2379 {
2380 "name" : "FabricIngress.forwarding.drop",
2381 "id" : 26,
2382 "runtime_data" : [],
2383 "primitives" : [
2384 {
2385 "op" : "drop",
2386 "parameters" : [],
2387 "source_info" : {
2388 "filename" : "include/control/forwarding.p4",
2389 "line" : 128,
2390 "column" : 8,
2391 "source_fragment" : "mark_to_drop()"
2392 }
2393 }
2394 ]
2395 },
2396 {
2397 "name" : "FabricIngress.forwarding.nop_acl",
2398 "id" : 27,
2399 "runtime_data" : [],
2400 "primitives" : []
2401 },
2402 {
2403 "name" : "FabricIngress.next.set_vlan",
2404 "id" : 28,
2405 "runtime_data" : [
2406 {
2407 "name" : "new_vlan_id",
2408 "bitwidth" : 12
2409 }
2410 ],
2411 "primitives" : [
2412 {
2413 "op" : "assign",
2414 "parameters" : [
2415 {
2416 "type" : "field",
2417 "value" : ["vlan_tag", "vlan_id"]
2418 },
2419 {
2420 "type" : "runtime_data",
2421 "value" : 0
2422 }
2423 ],
2424 "source_info" : {
2425 "filename" : "include/control/next.p4",
2426 "line" : 61,
2427 "column" : 8,
2428 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2429 }
2430 }
2431 ]
2432 },
2433 {
2434 "name" : "FabricIngress.next.output_simple",
2435 "id" : 29,
2436 "runtime_data" : [
2437 {
2438 "name" : "port_num",
2439 "bitwidth" : 9
2440 }
2441 ],
2442 "primitives" : [
2443 {
2444 "op" : "assign",
2445 "parameters" : [
2446 {
2447 "type" : "field",
2448 "value" : ["standard_metadata", "egress_spec"]
2449 },
2450 {
2451 "type" : "runtime_data",
2452 "value" : 0
2453 }
2454 ],
2455 "source_info" : {
2456 "filename" : "include/control/next.p4",
2457 "line" : 85,
2458 "column" : 8,
2459 "source_fragment" : "standard_metadata.egress_spec = port_num"
2460 }
2461 }
2462 ]
2463 },
2464 {
2465 "name" : "FabricIngress.next.set_vlan_output",
2466 "id" : 30,
2467 "runtime_data" : [
2468 {
2469 "name" : "new_vlan_id",
2470 "bitwidth" : 12
2471 },
2472 {
2473 "name" : "port_num",
2474 "bitwidth" : 9
2475 }
2476 ],
2477 "primitives" : [
2478 {
2479 "op" : "assign",
2480 "parameters" : [
2481 {
2482 "type" : "field",
2483 "value" : ["vlan_tag", "vlan_id"]
2484 },
2485 {
2486 "type" : "runtime_data",
2487 "value" : 0
2488 }
2489 ],
2490 "source_info" : {
2491 "filename" : "include/control/next.p4",
2492 "line" : 90,
2493 "column" : 8,
2494 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2495 }
2496 },
2497 {
2498 "op" : "assign",
2499 "parameters" : [
2500 {
2501 "type" : "field",
2502 "value" : ["standard_metadata", "egress_spec"]
2503 },
2504 {
2505 "type" : "runtime_data",
2506 "value" : 1
2507 }
2508 ],
2509 "source_info" : {
2510 "filename" : "include/control/next.p4",
2511 "line" : 85,
2512 "column" : 8,
2513 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2514 }
2515 }
2516 ]
2517 },
2518 {
2519 "name" : "FabricIngress.next.l3_routing_simple",
2520 "id" : 31,
2521 "runtime_data" : [
2522 {
2523 "name" : "port_num",
2524 "bitwidth" : 9
2525 },
2526 {
2527 "name" : "smac",
2528 "bitwidth" : 48
2529 },
2530 {
2531 "name" : "dmac",
2532 "bitwidth" : 48
2533 }
2534 ],
2535 "primitives" : [
2536 {
2537 "op" : "assign",
2538 "parameters" : [
2539 {
2540 "type" : "field",
2541 "value" : ["ethernet", "src_addr"]
2542 },
2543 {
2544 "type" : "runtime_data",
2545 "value" : 1
2546 }
2547 ],
2548 "source_info" : {
2549 "filename" : "include/control/next.p4",
2550 "line" : 37,
2551 "column" : 8,
2552 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2553 }
2554 },
2555 {
2556 "op" : "assign",
2557 "parameters" : [
2558 {
2559 "type" : "field",
2560 "value" : ["ethernet", "dst_addr"]
2561 },
2562 {
2563 "type" : "runtime_data",
2564 "value" : 2
2565 }
2566 ],
2567 "source_info" : {
2568 "filename" : "include/control/next.p4",
2569 "line" : 41,
2570 "column" : 8,
2571 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2572 }
2573 },
2574 {
2575 "op" : "assign",
2576 "parameters" : [
2577 {
2578 "type" : "field",
2579 "value" : ["standard_metadata", "egress_spec"]
2580 },
2581 {
2582 "type" : "runtime_data",
2583 "value" : 0
2584 }
2585 ],
2586 "source_info" : {
2587 "filename" : "include/control/next.p4",
2588 "line" : 85,
2589 "column" : 8,
2590 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2591 }
2592 }
2593 ]
2594 },
2595 {
2596 "name" : "FabricIngress.next.mpls_routing_v4_simple",
2597 "id" : 32,
2598 "runtime_data" : [
2599 {
2600 "name" : "port_num",
2601 "bitwidth" : 9
2602 },
2603 {
2604 "name" : "smac",
2605 "bitwidth" : 48
2606 },
2607 {
2608 "name" : "dmac",
2609 "bitwidth" : 48
2610 },
2611 {
2612 "name" : "label",
2613 "bitwidth" : 20
2614 }
2615 ],
2616 "primitives" : [
2617 {
2618 "op" : "assign",
2619 "parameters" : [
2620 {
2621 "type" : "field",
2622 "value" : ["ethernet", "src_addr"]
2623 },
2624 {
2625 "type" : "runtime_data",
2626 "value" : 1
2627 }
2628 ],
2629 "source_info" : {
2630 "filename" : "include/control/next.p4",
2631 "line" : 37,
2632 "column" : 8,
2633 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2634 }
2635 },
2636 {
2637 "op" : "assign",
2638 "parameters" : [
2639 {
2640 "type" : "field",
2641 "value" : ["ethernet", "dst_addr"]
2642 },
2643 {
2644 "type" : "runtime_data",
2645 "value" : 2
2646 }
2647 ],
2648 "source_info" : {
2649 "filename" : "include/control/next.p4",
2650 "line" : 41,
2651 "column" : 8,
2652 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2653 }
2654 },
2655 {
2656 "op" : "assign",
2657 "parameters" : [
2658 {
2659 "type" : "field",
2660 "value" : ["standard_metadata", "egress_spec"]
2661 },
2662 {
2663 "type" : "runtime_data",
2664 "value" : 0
2665 }
2666 ],
2667 "source_info" : {
2668 "filename" : "include/control/next.p4",
2669 "line" : 85,
2670 "column" : 8,
2671 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2672 }
2673 },
2674 {
2675 "op" : "add_header",
2676 "parameters" : [
2677 {
2678 "type" : "header",
2679 "value" : "mpls"
2680 }
2681 ],
2682 "source_info" : {
2683 "filename" : "include/control/next.p4",
2684 "line" : 46,
2685 "column" : 8,
2686 "source_fragment" : "hdr.mpls.setValid()"
2687 }
2688 },
2689 {
2690 "op" : "assign",
2691 "parameters" : [
2692 {
2693 "type" : "field",
2694 "value" : ["vlan_tag", "ether_type"]
2695 },
2696 {
2697 "type" : "hexstr",
2698 "value" : "0x8847"
2699 }
2700 ],
2701 "source_info" : {
2702 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002703 "line" : 100,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07002704 "column" : 31,
2705 "source_fragment" : "0x8847; ..."
2706 }
2707 },
2708 {
2709 "op" : "assign",
2710 "parameters" : [
2711 {
2712 "type" : "field",
2713 "value" : ["mpls", "label"]
2714 },
2715 {
2716 "type" : "runtime_data",
2717 "value" : 3
2718 }
2719 ],
2720 "source_info" : {
2721 "filename" : "include/control/next.p4",
2722 "line" : 48,
2723 "column" : 8,
2724 "source_fragment" : "hdr.mpls.label = label; ..."
2725 }
2726 },
2727 {
2728 "op" : "assign",
2729 "parameters" : [
2730 {
2731 "type" : "field",
2732 "value" : ["mpls", "tc"]
2733 },
2734 {
2735 "type" : "hexstr",
2736 "value" : "0x00"
2737 }
2738 ],
2739 "source_info" : {
2740 "filename" : "include/control/next.p4",
2741 "line" : 49,
2742 "column" : 8,
2743 "source_fragment" : "hdr.mpls.tc = tc; ..."
2744 }
2745 },
2746 {
2747 "op" : "assign",
2748 "parameters" : [
2749 {
2750 "type" : "field",
2751 "value" : ["mpls", "bos"]
2752 },
2753 {
2754 "type" : "hexstr",
2755 "value" : "0x01"
2756 }
2757 ],
2758 "source_info" : {
2759 "filename" : "include/control/next.p4",
2760 "line" : 50,
2761 "column" : 8,
2762 "source_fragment" : "hdr.mpls.bos = 1w1"
2763 }
2764 },
2765 {
2766 "op" : "assign",
2767 "parameters" : [
2768 {
2769 "type" : "field",
2770 "value" : ["mpls", "ttl"]
2771 },
2772 {
2773 "type" : "hexstr",
2774 "value" : "0x40"
2775 }
2776 ],
2777 "source_info" : {
2778 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002779 "line" : 123,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07002780 "column" : 32,
2781 "source_fragment" : "64; ..."
2782 }
2783 }
2784 ]
2785 },
2786 {
2787 "name" : "FabricIngress.next.mpls_routing_v6_simple",
2788 "id" : 33,
2789 "runtime_data" : [
2790 {
2791 "name" : "port_num",
2792 "bitwidth" : 9
2793 },
2794 {
2795 "name" : "smac",
2796 "bitwidth" : 48
2797 },
2798 {
2799 "name" : "dmac",
2800 "bitwidth" : 48
2801 },
2802 {
2803 "name" : "label",
2804 "bitwidth" : 20
2805 }
2806 ],
2807 "primitives" : [
2808 {
2809 "op" : "assign",
2810 "parameters" : [
2811 {
2812 "type" : "field",
2813 "value" : ["ethernet", "src_addr"]
2814 },
2815 {
2816 "type" : "runtime_data",
2817 "value" : 1
2818 }
2819 ],
2820 "source_info" : {
2821 "filename" : "include/control/next.p4",
2822 "line" : 37,
2823 "column" : 8,
2824 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2825 }
2826 },
2827 {
2828 "op" : "assign",
2829 "parameters" : [
2830 {
2831 "type" : "field",
2832 "value" : ["ethernet", "dst_addr"]
2833 },
2834 {
2835 "type" : "runtime_data",
2836 "value" : 2
2837 }
2838 ],
2839 "source_info" : {
2840 "filename" : "include/control/next.p4",
2841 "line" : 41,
2842 "column" : 8,
2843 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2844 }
2845 },
2846 {
2847 "op" : "assign",
2848 "parameters" : [
2849 {
2850 "type" : "field",
2851 "value" : ["standard_metadata", "egress_spec"]
2852 },
2853 {
2854 "type" : "runtime_data",
2855 "value" : 0
2856 }
2857 ],
2858 "source_info" : {
2859 "filename" : "include/control/next.p4",
2860 "line" : 85,
2861 "column" : 8,
2862 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2863 }
2864 },
2865 {
2866 "op" : "add_header",
2867 "parameters" : [
2868 {
2869 "type" : "header",
2870 "value" : "mpls"
2871 }
2872 ],
2873 "source_info" : {
2874 "filename" : "include/control/next.p4",
2875 "line" : 46,
2876 "column" : 8,
2877 "source_fragment" : "hdr.mpls.setValid()"
2878 }
2879 },
2880 {
2881 "op" : "assign",
2882 "parameters" : [
2883 {
2884 "type" : "field",
2885 "value" : ["vlan_tag", "ether_type"]
2886 },
2887 {
2888 "type" : "hexstr",
2889 "value" : "0x8847"
2890 }
2891 ],
2892 "source_info" : {
2893 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002894 "line" : 100,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07002895 "column" : 31,
2896 "source_fragment" : "0x8847; ..."
2897 }
2898 },
2899 {
2900 "op" : "assign",
2901 "parameters" : [
2902 {
2903 "type" : "field",
2904 "value" : ["mpls", "label"]
2905 },
2906 {
2907 "type" : "runtime_data",
2908 "value" : 3
2909 }
2910 ],
2911 "source_info" : {
2912 "filename" : "include/control/next.p4",
2913 "line" : 48,
2914 "column" : 8,
2915 "source_fragment" : "hdr.mpls.label = label; ..."
2916 }
2917 },
2918 {
2919 "op" : "assign",
2920 "parameters" : [
2921 {
2922 "type" : "field",
2923 "value" : ["mpls", "tc"]
2924 },
2925 {
2926 "type" : "hexstr",
2927 "value" : "0x00"
2928 }
2929 ],
2930 "source_info" : {
2931 "filename" : "include/control/next.p4",
2932 "line" : 49,
2933 "column" : 8,
2934 "source_fragment" : "hdr.mpls.tc = tc; ..."
2935 }
2936 },
2937 {
2938 "op" : "assign",
2939 "parameters" : [
2940 {
2941 "type" : "field",
2942 "value" : ["mpls", "bos"]
2943 },
2944 {
2945 "type" : "hexstr",
2946 "value" : "0x01"
2947 }
2948 ],
2949 "source_info" : {
2950 "filename" : "include/control/next.p4",
2951 "line" : 50,
2952 "column" : 8,
2953 "source_fragment" : "hdr.mpls.bos = 1w1"
2954 }
2955 },
2956 {
2957 "op" : "assign",
2958 "parameters" : [
2959 {
2960 "type" : "field",
2961 "value" : ["mpls", "ttl"]
2962 },
2963 {
2964 "type" : "hexstr",
2965 "value" : "0x40"
2966 }
2967 ],
2968 "source_info" : {
2969 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002970 "line" : 123,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07002971 "column" : 32,
2972 "source_fragment" : "64; ..."
2973 }
2974 }
2975 ]
2976 },
2977 {
2978 "name" : "FabricIngress.next.l3_routing_vlan",
2979 "id" : 34,
2980 "runtime_data" : [
2981 {
2982 "name" : "port_num",
2983 "bitwidth" : 9
2984 },
2985 {
2986 "name" : "smac",
2987 "bitwidth" : 48
2988 },
2989 {
2990 "name" : "dmac",
2991 "bitwidth" : 48
2992 },
2993 {
2994 "name" : "new_vlan_id",
2995 "bitwidth" : 12
2996 }
2997 ],
2998 "primitives" : [
2999 {
3000 "op" : "assign",
3001 "parameters" : [
3002 {
3003 "type" : "field",
3004 "value" : ["ethernet", "src_addr"]
3005 },
3006 {
3007 "type" : "runtime_data",
3008 "value" : 1
3009 }
3010 ],
3011 "source_info" : {
3012 "filename" : "include/control/next.p4",
3013 "line" : 37,
3014 "column" : 8,
3015 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3016 }
3017 },
3018 {
3019 "op" : "assign",
3020 "parameters" : [
3021 {
3022 "type" : "field",
3023 "value" : ["ethernet", "dst_addr"]
3024 },
3025 {
3026 "type" : "runtime_data",
3027 "value" : 2
3028 }
3029 ],
3030 "source_info" : {
3031 "filename" : "include/control/next.p4",
3032 "line" : 41,
3033 "column" : 8,
3034 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3035 }
3036 },
3037 {
3038 "op" : "assign",
3039 "parameters" : [
3040 {
3041 "type" : "field",
3042 "value" : ["vlan_tag", "vlan_id"]
3043 },
3044 {
3045 "type" : "runtime_data",
3046 "value" : 3
3047 }
3048 ],
3049 "source_info" : {
3050 "filename" : "include/control/next.p4",
3051 "line" : 90,
3052 "column" : 8,
3053 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
3054 }
3055 },
3056 {
3057 "op" : "assign",
3058 "parameters" : [
3059 {
3060 "type" : "field",
3061 "value" : ["standard_metadata", "egress_spec"]
3062 },
3063 {
3064 "type" : "runtime_data",
3065 "value" : 0
3066 }
3067 ],
3068 "source_info" : {
3069 "filename" : "include/control/next.p4",
3070 "line" : 85,
3071 "column" : 8,
3072 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3073 }
3074 }
3075 ]
3076 },
3077 {
3078 "name" : "FabricIngress.next.l3_routing_hashed",
3079 "id" : 35,
3080 "runtime_data" : [
3081 {
3082 "name" : "port_num",
3083 "bitwidth" : 9
3084 },
3085 {
3086 "name" : "smac",
3087 "bitwidth" : 48
3088 },
3089 {
3090 "name" : "dmac",
3091 "bitwidth" : 48
3092 }
3093 ],
3094 "primitives" : [
3095 {
3096 "op" : "assign",
3097 "parameters" : [
3098 {
3099 "type" : "field",
3100 "value" : ["ethernet", "src_addr"]
3101 },
3102 {
3103 "type" : "runtime_data",
3104 "value" : 1
3105 }
3106 ],
3107 "source_info" : {
3108 "filename" : "include/control/next.p4",
3109 "line" : 37,
3110 "column" : 8,
3111 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3112 }
3113 },
3114 {
3115 "op" : "assign",
3116 "parameters" : [
3117 {
3118 "type" : "field",
3119 "value" : ["ethernet", "dst_addr"]
3120 },
3121 {
3122 "type" : "runtime_data",
3123 "value" : 2
3124 }
3125 ],
3126 "source_info" : {
3127 "filename" : "include/control/next.p4",
3128 "line" : 41,
3129 "column" : 8,
3130 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3131 }
3132 },
3133 {
3134 "op" : "assign",
3135 "parameters" : [
3136 {
3137 "type" : "field",
3138 "value" : ["standard_metadata", "egress_spec"]
3139 },
3140 {
3141 "type" : "runtime_data",
3142 "value" : 0
3143 }
3144 ],
3145 "source_info" : {
3146 "filename" : "include/control/next.p4",
3147 "line" : 149,
3148 "column" : 8,
3149 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3150 }
3151 }
3152 ]
3153 },
3154 {
3155 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
3156 "id" : 36,
3157 "runtime_data" : [
3158 {
3159 "name" : "port_num",
3160 "bitwidth" : 9
3161 },
3162 {
3163 "name" : "smac",
3164 "bitwidth" : 48
3165 },
3166 {
3167 "name" : "dmac",
3168 "bitwidth" : 48
3169 },
3170 {
3171 "name" : "label",
3172 "bitwidth" : 20
3173 }
3174 ],
3175 "primitives" : [
3176 {
3177 "op" : "assign",
3178 "parameters" : [
3179 {
3180 "type" : "field",
3181 "value" : ["ethernet", "src_addr"]
3182 },
3183 {
3184 "type" : "runtime_data",
3185 "value" : 1
3186 }
3187 ],
3188 "source_info" : {
3189 "filename" : "include/control/next.p4",
3190 "line" : 37,
3191 "column" : 8,
3192 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3193 }
3194 },
3195 {
3196 "op" : "assign",
3197 "parameters" : [
3198 {
3199 "type" : "field",
3200 "value" : ["ethernet", "dst_addr"]
3201 },
3202 {
3203 "type" : "runtime_data",
3204 "value" : 2
3205 }
3206 ],
3207 "source_info" : {
3208 "filename" : "include/control/next.p4",
3209 "line" : 41,
3210 "column" : 8,
3211 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3212 }
3213 },
3214 {
3215 "op" : "assign",
3216 "parameters" : [
3217 {
3218 "type" : "field",
3219 "value" : ["standard_metadata", "egress_spec"]
3220 },
3221 {
3222 "type" : "runtime_data",
3223 "value" : 0
3224 }
3225 ],
3226 "source_info" : {
3227 "filename" : "include/control/next.p4",
3228 "line" : 149,
3229 "column" : 8,
3230 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3231 }
3232 },
3233 {
3234 "op" : "add_header",
3235 "parameters" : [
3236 {
3237 "type" : "header",
3238 "value" : "mpls"
3239 }
3240 ],
3241 "source_info" : {
3242 "filename" : "include/control/next.p4",
3243 "line" : 46,
3244 "column" : 8,
3245 "source_fragment" : "hdr.mpls.setValid()"
3246 }
3247 },
3248 {
3249 "op" : "assign",
3250 "parameters" : [
3251 {
3252 "type" : "field",
3253 "value" : ["vlan_tag", "ether_type"]
3254 },
3255 {
3256 "type" : "hexstr",
3257 "value" : "0x8847"
3258 }
3259 ],
3260 "source_info" : {
3261 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07003262 "line" : 100,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07003263 "column" : 31,
3264 "source_fragment" : "0x8847; ..."
3265 }
3266 },
3267 {
3268 "op" : "assign",
3269 "parameters" : [
3270 {
3271 "type" : "field",
3272 "value" : ["mpls", "label"]
3273 },
3274 {
3275 "type" : "runtime_data",
3276 "value" : 3
3277 }
3278 ],
3279 "source_info" : {
3280 "filename" : "include/control/next.p4",
3281 "line" : 48,
3282 "column" : 8,
3283 "source_fragment" : "hdr.mpls.label = label; ..."
3284 }
3285 },
3286 {
3287 "op" : "assign",
3288 "parameters" : [
3289 {
3290 "type" : "field",
3291 "value" : ["mpls", "tc"]
3292 },
3293 {
3294 "type" : "hexstr",
3295 "value" : "0x00"
3296 }
3297 ],
3298 "source_info" : {
3299 "filename" : "include/control/next.p4",
3300 "line" : 49,
3301 "column" : 8,
3302 "source_fragment" : "hdr.mpls.tc = tc; ..."
3303 }
3304 },
3305 {
3306 "op" : "assign",
3307 "parameters" : [
3308 {
3309 "type" : "field",
3310 "value" : ["mpls", "bos"]
3311 },
3312 {
3313 "type" : "hexstr",
3314 "value" : "0x01"
3315 }
3316 ],
3317 "source_info" : {
3318 "filename" : "include/control/next.p4",
3319 "line" : 50,
3320 "column" : 8,
3321 "source_fragment" : "hdr.mpls.bos = 1w1"
3322 }
3323 },
3324 {
3325 "op" : "assign",
3326 "parameters" : [
3327 {
3328 "type" : "field",
3329 "value" : ["mpls", "ttl"]
3330 },
3331 {
3332 "type" : "hexstr",
3333 "value" : "0x40"
3334 }
3335 ],
3336 "source_info" : {
3337 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07003338 "line" : 123,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07003339 "column" : 32,
3340 "source_fragment" : "64; ..."
3341 }
3342 }
3343 ]
3344 },
3345 {
3346 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
3347 "id" : 37,
3348 "runtime_data" : [
3349 {
3350 "name" : "port_num",
3351 "bitwidth" : 9
3352 },
3353 {
3354 "name" : "smac",
3355 "bitwidth" : 48
3356 },
3357 {
3358 "name" : "dmac",
3359 "bitwidth" : 48
3360 },
3361 {
3362 "name" : "label",
3363 "bitwidth" : 20
3364 }
3365 ],
3366 "primitives" : [
3367 {
3368 "op" : "assign",
3369 "parameters" : [
3370 {
3371 "type" : "field",
3372 "value" : ["ethernet", "src_addr"]
3373 },
3374 {
3375 "type" : "runtime_data",
3376 "value" : 1
3377 }
3378 ],
3379 "source_info" : {
3380 "filename" : "include/control/next.p4",
3381 "line" : 37,
3382 "column" : 8,
3383 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3384 }
3385 },
3386 {
3387 "op" : "assign",
3388 "parameters" : [
3389 {
3390 "type" : "field",
3391 "value" : ["ethernet", "dst_addr"]
3392 },
3393 {
3394 "type" : "runtime_data",
3395 "value" : 2
3396 }
3397 ],
3398 "source_info" : {
3399 "filename" : "include/control/next.p4",
3400 "line" : 41,
3401 "column" : 8,
3402 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3403 }
3404 },
3405 {
3406 "op" : "assign",
3407 "parameters" : [
3408 {
3409 "type" : "field",
3410 "value" : ["standard_metadata", "egress_spec"]
3411 },
3412 {
3413 "type" : "runtime_data",
3414 "value" : 0
3415 }
3416 ],
3417 "source_info" : {
3418 "filename" : "include/control/next.p4",
3419 "line" : 149,
3420 "column" : 8,
3421 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3422 }
3423 },
3424 {
3425 "op" : "add_header",
3426 "parameters" : [
3427 {
3428 "type" : "header",
3429 "value" : "mpls"
3430 }
3431 ],
3432 "source_info" : {
3433 "filename" : "include/control/next.p4",
3434 "line" : 46,
3435 "column" : 8,
3436 "source_fragment" : "hdr.mpls.setValid()"
3437 }
3438 },
3439 {
3440 "op" : "assign",
3441 "parameters" : [
3442 {
3443 "type" : "field",
3444 "value" : ["vlan_tag", "ether_type"]
3445 },
3446 {
3447 "type" : "hexstr",
3448 "value" : "0x8847"
3449 }
3450 ],
3451 "source_info" : {
3452 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07003453 "line" : 100,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07003454 "column" : 31,
3455 "source_fragment" : "0x8847; ..."
3456 }
3457 },
3458 {
3459 "op" : "assign",
3460 "parameters" : [
3461 {
3462 "type" : "field",
3463 "value" : ["mpls", "label"]
3464 },
3465 {
3466 "type" : "runtime_data",
3467 "value" : 3
3468 }
3469 ],
3470 "source_info" : {
3471 "filename" : "include/control/next.p4",
3472 "line" : 48,
3473 "column" : 8,
3474 "source_fragment" : "hdr.mpls.label = label; ..."
3475 }
3476 },
3477 {
3478 "op" : "assign",
3479 "parameters" : [
3480 {
3481 "type" : "field",
3482 "value" : ["mpls", "tc"]
3483 },
3484 {
3485 "type" : "hexstr",
3486 "value" : "0x00"
3487 }
3488 ],
3489 "source_info" : {
3490 "filename" : "include/control/next.p4",
3491 "line" : 49,
3492 "column" : 8,
3493 "source_fragment" : "hdr.mpls.tc = tc; ..."
3494 }
3495 },
3496 {
3497 "op" : "assign",
3498 "parameters" : [
3499 {
3500 "type" : "field",
3501 "value" : ["mpls", "bos"]
3502 },
3503 {
3504 "type" : "hexstr",
3505 "value" : "0x01"
3506 }
3507 ],
3508 "source_info" : {
3509 "filename" : "include/control/next.p4",
3510 "line" : 50,
3511 "column" : 8,
3512 "source_fragment" : "hdr.mpls.bos = 1w1"
3513 }
3514 },
3515 {
3516 "op" : "assign",
3517 "parameters" : [
3518 {
3519 "type" : "field",
3520 "value" : ["mpls", "ttl"]
3521 },
3522 {
3523 "type" : "hexstr",
3524 "value" : "0x40"
3525 }
3526 ],
3527 "source_info" : {
3528 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07003529 "line" : 123,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07003530 "column" : 32,
3531 "source_fragment" : "64; ..."
3532 }
3533 }
3534 ]
3535 },
3536 {
3537 "name" : "FabricIngress.next.set_mcast_group",
3538 "id" : 38,
3539 "runtime_data" : [
3540 {
3541 "name" : "gid",
3542 "bitwidth" : 16
3543 }
3544 ],
3545 "primitives" : [
3546 {
3547 "op" : "assign",
3548 "parameters" : [
3549 {
3550 "type" : "field",
3551 "value" : ["standard_metadata", "mcast_grp"]
3552 },
3553 {
3554 "type" : "runtime_data",
3555 "value" : 0
3556 }
3557 ],
3558 "source_info" : {
3559 "filename" : "include/control/next.p4",
3560 "line" : 202,
3561 "column" : 8,
3562 "source_fragment" : "standard_metadata.mcast_grp = gid"
3563 }
3564 },
3565 {
3566 "op" : "assign",
3567 "parameters" : [
3568 {
3569 "type" : "field",
3570 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
3571 },
3572 {
3573 "type" : "expression",
3574 "value" : {
3575 "type" : "expression",
3576 "value" : {
3577 "op" : "b2d",
3578 "left" : null,
3579 "right" : {
3580 "type" : "bool",
3581 "value" : true
3582 }
3583 }
3584 }
3585 }
3586 ],
3587 "source_info" : {
3588 "filename" : "include/control/next.p4",
3589 "line" : 203,
3590 "column" : 8,
3591 "source_fragment" : "fabric_metadata.is_multicast = true"
3592 }
3593 }
3594 ]
3595 },
3596 {
3597 "name" : "act",
3598 "id" : 39,
3599 "runtime_data" : [],
3600 "primitives" : [
3601 {
3602 "op" : "assign",
3603 "parameters" : [
3604 {
3605 "type" : "field",
3606 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
3607 },
3608 {
3609 "type" : "expression",
3610 "value" : {
3611 "type" : "expression",
3612 "value" : {
3613 "op" : "b2d",
3614 "left" : null,
3615 "right" : {
3616 "type" : "bool",
3617 "value" : true
3618 }
3619 }
3620 }
3621 }
3622 ],
3623 "source_info" : {
3624 "filename" : "include/spgw.p4",
3625 "line" : 30,
3626 "column" : 32,
3627 "source_fragment" : "return"
3628 }
3629 }
3630 ]
3631 },
3632 {
3633 "name" : "act_0",
3634 "id" : 40,
3635 "runtime_data" : [],
3636 "primitives" : [
3637 {
3638 "op" : "remove_header",
3639 "parameters" : [
3640 {
3641 "type" : "header",
3642 "value" : "gtpu_ipv4"
3643 }
3644 ],
3645 "source_info" : {
3646 "filename" : "fabric.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07003647 "line" : 55,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07003648 "column" : 50,
3649 "source_fragment" : "hdr.gtpu_ipv4"
3650 }
3651 },
3652 {
3653 "op" : "remove_header",
3654 "parameters" : [
3655 {
3656 "type" : "header",
3657 "value" : "gtpu_udp"
3658 }
3659 ],
3660 "source_info" : {
3661 "filename" : "fabric.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07003662 "line" : 55,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07003663 "column" : 65,
3664 "source_fragment" : "hdr.gtpu_udp"
3665 }
3666 },
3667 {
3668 "op" : "assign",
3669 "parameters" : [
3670 {
3671 "type" : "field",
3672 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
3673 },
3674 {
3675 "type" : "expression",
3676 "value" : {
3677 "type" : "expression",
3678 "value" : {
3679 "op" : "b2d",
3680 "left" : null,
3681 "right" : {
3682 "type" : "bool",
3683 "value" : false
3684 }
3685 }
3686 }
3687 }
3688 ]
3689 }
3690 ]
3691 },
3692 {
3693 "name" : "act_1",
3694 "id" : 41,
3695 "runtime_data" : [],
3696 "primitives" : [
3697 {
3698 "op" : "assign_header",
3699 "parameters" : [
3700 {
3701 "type" : "header",
3702 "value" : "udp"
3703 },
3704 {
3705 "type" : "header",
3706 "value" : "inner_udp"
3707 }
3708 ],
3709 "source_info" : {
3710 "filename" : "include/spgw.p4",
3711 "line" : 35,
3712 "column" : 16,
3713 "source_fragment" : "= inner_udp; ..."
3714 }
3715 }
3716 ]
3717 },
3718 {
3719 "name" : "act_2",
3720 "id" : 42,
3721 "runtime_data" : [],
3722 "primitives" : [
3723 {
3724 "op" : "remove_header",
3725 "parameters" : [
3726 {
3727 "type" : "header",
3728 "value" : "udp"
3729 }
3730 ],
3731 "source_info" : {
3732 "filename" : "include/spgw.p4",
3733 "line" : 37,
3734 "column" : 12,
3735 "source_fragment" : "udp.setInvalid()"
3736 }
3737 }
3738 ]
3739 },
3740 {
3741 "name" : "act_3",
3742 "id" : 43,
3743 "runtime_data" : [],
3744 "primitives" : [
3745 {
3746 "op" : "assign_header",
3747 "parameters" : [
3748 {
3749 "type" : "header",
3750 "value" : "gtpu_ipv4"
3751 },
3752 {
3753 "type" : "header",
3754 "value" : "ipv4"
3755 }
3756 ],
3757 "source_info" : {
3758 "filename" : "include/spgw.p4",
3759 "line" : 31,
3760 "column" : 18,
3761 "source_fragment" : "= ipv4; ..."
3762 }
3763 },
3764 {
3765 "op" : "assign_header",
3766 "parameters" : [
3767 {
3768 "type" : "header",
3769 "value" : "ipv4"
3770 },
3771 {
3772 "type" : "header",
3773 "value" : "inner_ipv4"
3774 }
3775 ],
3776 "source_info" : {
3777 "filename" : "include/spgw.p4",
3778 "line" : 32,
3779 "column" : 13,
3780 "source_fragment" : "= inner_ipv4; ..."
3781 }
3782 },
3783 {
3784 "op" : "assign_header",
3785 "parameters" : [
3786 {
3787 "type" : "header",
3788 "value" : "gtpu_udp"
3789 },
3790 {
3791 "type" : "header",
3792 "value" : "udp"
3793 }
3794 ],
3795 "source_info" : {
3796 "filename" : "include/spgw.p4",
3797 "line" : 33,
3798 "column" : 17,
3799 "source_fragment" : "= udp; ..."
3800 }
3801 }
3802 ]
3803 },
3804 {
3805 "name" : "act_4",
3806 "id" : 44,
3807 "runtime_data" : [],
3808 "primitives" : [
3809 {
3810 "op" : "assign",
3811 "parameters" : [
3812 {
3813 "type" : "field",
3814 "value" : ["standard_metadata", "egress_spec"]
3815 },
3816 {
3817 "type" : "field",
3818 "value" : ["packet_out", "egress_port"]
3819 }
3820 ],
3821 "source_info" : {
3822 "filename" : "include/control/packetio.p4",
3823 "line" : 26,
3824 "column" : 12,
3825 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
3826 }
3827 },
3828 {
3829 "op" : "remove_header",
3830 "parameters" : [
3831 {
3832 "type" : "header",
3833 "value" : "packet_out"
3834 }
3835 ],
3836 "source_info" : {
3837 "filename" : "include/control/packetio.p4",
3838 "line" : 27,
3839 "column" : 12,
3840 "source_fragment" : "hdr.packet_out.setInvalid()"
3841 }
3842 },
3843 {
3844 "op" : "assign",
3845 "parameters" : [
3846 {
3847 "type" : "field",
3848 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
3849 },
3850 {
3851 "type" : "expression",
3852 "value" : {
3853 "type" : "expression",
3854 "value" : {
3855 "op" : "b2d",
3856 "left" : null,
3857 "right" : {
3858 "type" : "bool",
3859 "value" : true
3860 }
3861 }
3862 }
3863 }
3864 ],
3865 "source_info" : {
3866 "filename" : "include/control/packetio.p4",
3867 "line" : 28,
3868 "column" : 12,
3869 "source_fragment" : "fabric_metadata.is_controller_packet_out = true"
3870 }
3871 }
3872 ]
3873 },
3874 {
3875 "name" : "act_5",
3876 "id" : 45,
3877 "runtime_data" : [],
3878 "primitives" : [
3879 {
3880 "op" : "assign",
3881 "parameters" : [
3882 {
3883 "type" : "field",
3884 "value" : ["scalars", "spgw_ingress_tmp_1"]
3885 },
3886 {
3887 "type" : "expression",
3888 "value" : {
3889 "type" : "expression",
3890 "value" : {
3891 "op" : "b2d",
3892 "left" : null,
3893 "right" : {
3894 "type" : "bool",
3895 "value" : true
3896 }
3897 }
3898 }
3899 }
3900 ]
3901 }
3902 ]
3903 },
3904 {
3905 "name" : "act_6",
3906 "id" : 46,
3907 "runtime_data" : [],
3908 "primitives" : [
3909 {
3910 "op" : "assign",
3911 "parameters" : [
3912 {
3913 "type" : "field",
3914 "value" : ["scalars", "spgw_ingress_tmp_1"]
3915 },
3916 {
3917 "type" : "expression",
3918 "value" : {
3919 "type" : "expression",
3920 "value" : {
3921 "op" : "b2d",
3922 "left" : null,
3923 "right" : {
3924 "type" : "bool",
3925 "value" : false
3926 }
3927 }
3928 }
3929 }
3930 ]
3931 }
3932 ]
3933 },
3934 {
3935 "name" : "act_7",
3936 "id" : 47,
3937 "runtime_data" : [],
3938 "primitives" : [
3939 {
3940 "op" : "assign",
3941 "parameters" : [
3942 {
3943 "type" : "field",
3944 "value" : ["userMetadata.spgw", "direction"]
3945 },
3946 {
3947 "type" : "hexstr",
3948 "value" : "0x01"
3949 }
3950 ],
3951 "source_info" : {
3952 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07003953 "line" : 129,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07003954 "column" : 36,
3955 "source_fragment" : "2w1; ..."
3956 }
3957 }
3958 ]
3959 },
3960 {
3961 "name" : "act_8",
3962 "id" : 48,
3963 "runtime_data" : [],
3964 "primitives" : [
3965 {
3966 "op" : "assign",
3967 "parameters" : [
3968 {
3969 "type" : "field",
3970 "value" : ["scalars", "spgw_ingress_tmp_2"]
3971 },
3972 {
3973 "type" : "expression",
3974 "value" : {
3975 "type" : "expression",
3976 "value" : {
3977 "op" : "b2d",
3978 "left" : null,
3979 "right" : {
3980 "type" : "bool",
3981 "value" : true
3982 }
3983 }
3984 }
3985 }
3986 ]
3987 }
3988 ]
3989 },
3990 {
3991 "name" : "act_9",
3992 "id" : 49,
3993 "runtime_data" : [],
3994 "primitives" : [
3995 {
3996 "op" : "assign",
3997 "parameters" : [
3998 {
3999 "type" : "field",
4000 "value" : ["scalars", "spgw_ingress_tmp_2"]
4001 },
4002 {
4003 "type" : "expression",
4004 "value" : {
4005 "type" : "expression",
4006 "value" : {
4007 "op" : "b2d",
4008 "left" : null,
4009 "right" : {
4010 "type" : "bool",
4011 "value" : false
4012 }
4013 }
4014 }
4015 }
4016 ]
4017 }
4018 ]
4019 },
4020 {
4021 "name" : "act_10",
4022 "id" : 50,
4023 "runtime_data" : [],
4024 "primitives" : [
4025 {
4026 "op" : "assign",
4027 "parameters" : [
4028 {
4029 "type" : "field",
4030 "value" : ["userMetadata.spgw", "direction"]
4031 },
4032 {
4033 "type" : "hexstr",
4034 "value" : "0x02"
4035 }
4036 ],
4037 "source_info" : {
4038 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07004039 "line" : 130,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07004040 "column" : 38,
4041 "source_fragment" : "2w2; ..."
4042 }
4043 }
4044 ]
4045 },
4046 {
4047 "name" : "act_11",
4048 "id" : 51,
4049 "runtime_data" : [],
4050 "primitives" : [
4051 {
4052 "op" : "assign",
4053 "parameters" : [
4054 {
4055 "type" : "field",
4056 "value" : ["userMetadata.spgw", "direction"]
4057 },
4058 {
4059 "type" : "hexstr",
4060 "value" : "0x00"
4061 }
4062 ],
4063 "source_info" : {
4064 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07004065 "line" : 128,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07004066 "column" : 37,
4067 "source_fragment" : "2w0; ..."
4068 }
4069 },
4070 {
4071 "op" : "assign",
4072 "parameters" : [
4073 {
4074 "type" : "field",
4075 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
4076 },
4077 {
4078 "type" : "expression",
4079 "value" : {
4080 "type" : "expression",
4081 "value" : {
4082 "op" : "b2d",
4083 "left" : null,
4084 "right" : {
4085 "type" : "bool",
4086 "value" : true
4087 }
4088 }
4089 }
4090 }
4091 ],
4092 "source_info" : {
4093 "filename" : "include/spgw.p4",
4094 "line" : 153,
4095 "column" : 12,
4096 "source_fragment" : "return"
4097 }
4098 }
4099 ]
4100 },
4101 {
4102 "name" : "act_12",
4103 "id" : 52,
4104 "runtime_data" : [],
4105 "primitives" : [
4106 {
4107 "op" : "assign",
4108 "parameters" : [
4109 {
4110 "type" : "field",
4111 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
4112 },
4113 {
4114 "type" : "expression",
4115 "value" : {
4116 "type" : "expression",
4117 "value" : {
4118 "op" : "b2d",
4119 "left" : null,
4120 "right" : {
4121 "type" : "bool",
4122 "value" : false
4123 }
4124 }
4125 }
4126 }
4127 ]
4128 }
4129 ]
4130 },
4131 {
4132 "name" : "act_13",
4133 "id" : 53,
4134 "runtime_data" : [],
4135 "primitives" : [
4136 {
4137 "op" : "assign",
4138 "parameters" : [
4139 {
4140 "type" : "field",
4141 "value" : ["userMetadata.spgw", "ipv4_len"]
4142 },
4143 {
4144 "type" : "field",
4145 "value" : ["ipv4", "total_len"]
4146 }
4147 ],
4148 "source_info" : {
4149 "filename" : "include/spgw.p4",
4150 "line" : 170,
4151 "column" : 8,
4152 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4153 }
4154 }
4155 ]
4156 },
4157 {
4158 "name" : "act_14",
4159 "id" : 54,
4160 "runtime_data" : [],
4161 "primitives" : [
4162 {
4163 "op" : "assign",
4164 "parameters" : [
4165 {
4166 "type" : "field",
4167 "value" : ["scalars", "filtering_tmp_0"]
4168 },
4169 {
4170 "type" : "expression",
4171 "value" : {
4172 "type" : "expression",
4173 "value" : {
4174 "op" : "b2d",
4175 "left" : null,
4176 "right" : {
4177 "type" : "bool",
4178 "value" : true
4179 }
4180 }
4181 }
4182 }
4183 ]
4184 }
4185 ]
4186 },
4187 {
4188 "name" : "act_15",
4189 "id" : 55,
4190 "runtime_data" : [],
4191 "primitives" : [
4192 {
4193 "op" : "assign",
4194 "parameters" : [
4195 {
4196 "type" : "field",
4197 "value" : ["scalars", "filtering_tmp_0"]
4198 },
4199 {
4200 "type" : "expression",
4201 "value" : {
4202 "type" : "expression",
4203 "value" : {
4204 "op" : "b2d",
4205 "left" : null,
4206 "right" : {
4207 "type" : "bool",
4208 "value" : false
4209 }
4210 }
4211 }
4212 }
4213 ]
4214 }
4215 ]
4216 },
4217 {
4218 "name" : "act_16",
4219 "id" : 56,
4220 "runtime_data" : [],
4221 "primitives" : [
4222 {
4223 "op" : "assign",
4224 "parameters" : [
4225 {
4226 "type" : "field",
4227 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
4228 },
4229 {
4230 "type" : "hexstr",
4231 "value" : "0x07"
4232 }
4233 ],
4234 "source_info" : {
4235 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07004236 "line" : 119,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07004237 "column" : 31,
4238 "source_fragment" : "7; ..."
4239 }
4240 }
4241 ]
4242 },
4243 {
4244 "name" : "act_17",
4245 "id" : 57,
4246 "runtime_data" : [],
4247 "primitives" : [
4248 {
4249 "op" : "assign",
4250 "parameters" : [
4251 {
4252 "type" : "field",
4253 "value" : ["vlan_tag", "ether_type"]
4254 },
4255 {
4256 "type" : "hexstr",
4257 "value" : "0x0800"
4258 }
4259 ],
4260 "source_info" : {
4261 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07004262 "line" : 102,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07004263 "column" : 31,
4264 "source_fragment" : "0x0800; ..."
4265 }
4266 }
4267 ]
4268 },
4269 {
4270 "name" : "act_18",
4271 "id" : 58,
4272 "runtime_data" : [],
4273 "primitives" : [
4274 {
4275 "op" : "assign",
4276 "parameters" : [
4277 {
4278 "type" : "field",
4279 "value" : ["scalars", "next_hasReturned_0"]
4280 },
4281 {
4282 "type" : "expression",
4283 "value" : {
4284 "type" : "expression",
4285 "value" : {
4286 "op" : "b2d",
4287 "left" : null,
4288 "right" : {
4289 "type" : "bool",
4290 "value" : false
4291 }
4292 }
4293 }
4294 }
4295 ]
4296 }
4297 ]
4298 },
4299 {
4300 "name" : "act_19",
4301 "id" : 59,
4302 "runtime_data" : [],
4303 "primitives" : [
4304 {
4305 "op" : "assign",
4306 "parameters" : [
4307 {
4308 "type" : "field",
4309 "value" : ["scalars", "next_tmp_4"]
4310 },
4311 {
4312 "type" : "expression",
4313 "value" : {
4314 "type" : "expression",
4315 "value" : {
4316 "op" : "b2d",
4317 "left" : null,
4318 "right" : {
4319 "type" : "bool",
4320 "value" : true
4321 }
4322 }
4323 }
4324 }
4325 ]
4326 }
4327 ]
4328 },
4329 {
4330 "name" : "act_20",
4331 "id" : 60,
4332 "runtime_data" : [],
4333 "primitives" : [
4334 {
4335 "op" : "assign",
4336 "parameters" : [
4337 {
4338 "type" : "field",
4339 "value" : ["scalars", "next_tmp_4"]
4340 },
4341 {
4342 "type" : "expression",
4343 "value" : {
4344 "type" : "expression",
4345 "value" : {
4346 "op" : "b2d",
4347 "left" : null,
4348 "right" : {
4349 "type" : "bool",
4350 "value" : false
4351 }
4352 }
4353 }
4354 }
4355 ]
4356 }
4357 ]
4358 },
4359 {
4360 "name" : "act_21",
4361 "id" : 61,
4362 "runtime_data" : [],
4363 "primitives" : [
4364 {
4365 "op" : "assign",
4366 "parameters" : [
4367 {
4368 "type" : "field",
4369 "value" : ["scalars", "next_tmp_3"]
4370 },
4371 {
4372 "type" : "expression",
4373 "value" : {
4374 "type" : "expression",
4375 "value" : {
4376 "op" : "b2d",
4377 "left" : null,
4378 "right" : {
4379 "type" : "bool",
4380 "value" : true
4381 }
4382 }
4383 }
4384 }
4385 ]
4386 }
4387 ]
4388 },
4389 {
4390 "name" : "act_22",
4391 "id" : 62,
4392 "runtime_data" : [],
4393 "primitives" : [
4394 {
4395 "op" : "assign",
4396 "parameters" : [
4397 {
4398 "type" : "field",
4399 "value" : ["scalars", "next_tmp_3"]
4400 },
4401 {
4402 "type" : "expression",
4403 "value" : {
4404 "type" : "expression",
4405 "value" : {
4406 "op" : "b2d",
4407 "left" : null,
4408 "right" : {
4409 "type" : "bool",
4410 "value" : false
4411 }
4412 }
4413 }
4414 }
4415 ]
4416 }
4417 ]
4418 },
4419 {
4420 "name" : "act_23",
4421 "id" : 63,
4422 "runtime_data" : [],
4423 "primitives" : [
4424 {
4425 "op" : "assign",
4426 "parameters" : [
4427 {
4428 "type" : "field",
4429 "value" : ["scalars", "next_tmp_2"]
4430 },
4431 {
4432 "type" : "expression",
4433 "value" : {
4434 "type" : "expression",
4435 "value" : {
4436 "op" : "b2d",
4437 "left" : null,
4438 "right" : {
4439 "type" : "bool",
4440 "value" : true
4441 }
4442 }
4443 }
4444 }
4445 ]
4446 }
4447 ]
4448 },
4449 {
4450 "name" : "act_24",
4451 "id" : 64,
4452 "runtime_data" : [],
4453 "primitives" : [
4454 {
4455 "op" : "assign",
4456 "parameters" : [
4457 {
4458 "type" : "field",
4459 "value" : ["scalars", "next_tmp_2"]
4460 },
4461 {
4462 "type" : "expression",
4463 "value" : {
4464 "type" : "expression",
4465 "value" : {
4466 "op" : "b2d",
4467 "left" : null,
4468 "right" : {
4469 "type" : "bool",
4470 "value" : false
4471 }
4472 }
4473 }
4474 }
4475 ]
4476 }
4477 ]
4478 },
4479 {
4480 "name" : "act_25",
4481 "id" : 65,
4482 "runtime_data" : [],
4483 "primitives" : [
4484 {
4485 "op" : "assign",
4486 "parameters" : [
4487 {
4488 "type" : "field",
4489 "value" : ["scalars", "next_hasReturned_0"]
4490 },
4491 {
4492 "type" : "expression",
4493 "value" : {
4494 "type" : "expression",
4495 "value" : {
4496 "op" : "b2d",
4497 "left" : null,
4498 "right" : {
4499 "type" : "bool",
4500 "value" : true
4501 }
4502 }
4503 }
4504 }
4505 ],
4506 "source_info" : {
4507 "filename" : "include/control/next.p4",
4508 "line" : 223,
4509 "column" : 20,
4510 "source_fragment" : "return"
4511 }
4512 }
4513 ]
4514 },
4515 {
4516 "name" : "act_26",
4517 "id" : 66,
4518 "runtime_data" : [],
4519 "primitives" : [
4520 {
4521 "op" : "assign",
4522 "parameters" : [
4523 {
4524 "type" : "field",
4525 "value" : ["ipv4", "ttl"]
4526 },
4527 {
4528 "type" : "expression",
4529 "value" : {
4530 "type" : "expression",
4531 "value" : {
4532 "op" : "&",
4533 "left" : {
4534 "type" : "expression",
4535 "value" : {
4536 "op" : "+",
4537 "left" : {
4538 "type" : "field",
4539 "value" : ["ipv4", "ttl"]
4540 },
4541 "right" : {
4542 "type" : "hexstr",
4543 "value" : "0xff"
4544 }
4545 }
4546 },
4547 "right" : {
4548 "type" : "hexstr",
4549 "value" : "0xff"
4550 }
4551 }
4552 }
4553 }
4554 ],
4555 "source_info" : {
4556 "filename" : "include/control/next.p4",
4557 "line" : 230,
4558 "column" : 16,
4559 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4560 }
4561 }
4562 ]
4563 },
4564 {
4565 "name" : "act_27",
4566 "id" : 67,
4567 "runtime_data" : [],
4568 "primitives" : [
4569 {
4570 "op" : "assign",
4571 "parameters" : [
4572 {
4573 "type" : "field",
4574 "value" : ["scalars", "tmp_1"]
4575 },
4576 {
4577 "type" : "expression",
4578 "value" : {
4579 "type" : "expression",
4580 "value" : {
4581 "op" : "&",
4582 "left" : {
4583 "type" : "field",
4584 "value" : ["standard_metadata", "egress_spec"]
4585 },
4586 "right" : {
4587 "type" : "hexstr",
4588 "value" : "0xffffffff"
4589 }
4590 }
4591 }
4592 }
4593 ],
4594 "source_info" : {
4595 "filename" : "include/control/port_counter.p4",
4596 "line" : 28,
4597 "column" : 38,
4598 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
4599 }
4600 },
4601 {
4602 "op" : "count",
4603 "parameters" : [
4604 {
4605 "type" : "counter_array",
4606 "value" : "FabricIngress.port_counters_control.egress_port_counter"
4607 },
4608 {
4609 "type" : "field",
4610 "value" : ["scalars", "tmp_1"]
4611 }
4612 ],
4613 "source_info" : {
4614 "filename" : "include/control/port_counter.p4",
4615 "line" : 28,
4616 "column" : 12,
4617 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4618 }
4619 }
4620 ]
4621 },
4622 {
4623 "name" : "act_28",
4624 "id" : 68,
4625 "runtime_data" : [],
4626 "primitives" : [
4627 {
4628 "op" : "assign",
4629 "parameters" : [
4630 {
4631 "type" : "field",
4632 "value" : ["scalars", "tmp_2"]
4633 },
4634 {
4635 "type" : "expression",
4636 "value" : {
4637 "type" : "expression",
4638 "value" : {
4639 "op" : "&",
4640 "left" : {
4641 "type" : "field",
4642 "value" : ["standard_metadata", "ingress_port"]
4643 },
4644 "right" : {
4645 "type" : "hexstr",
4646 "value" : "0xffffffff"
4647 }
4648 }
4649 }
4650 }
4651 ],
4652 "source_info" : {
4653 "filename" : "include/control/port_counter.p4",
4654 "line" : 31,
4655 "column" : 39,
4656 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
4657 }
4658 },
4659 {
4660 "op" : "count",
4661 "parameters" : [
4662 {
4663 "type" : "counter_array",
4664 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
4665 },
4666 {
4667 "type" : "field",
4668 "value" : ["scalars", "tmp_2"]
4669 }
4670 ],
4671 "source_info" : {
4672 "filename" : "include/control/port_counter.p4",
4673 "line" : 31,
4674 "column" : 12,
4675 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4676 }
4677 }
4678 ]
4679 },
4680 {
4681 "name" : "NoAction",
4682 "id" : 69,
4683 "runtime_data" : [],
4684 "primitives" : []
4685 },
4686 {
4687 "name" : "NoAction",
4688 "id" : 70,
4689 "runtime_data" : [],
4690 "primitives" : []
4691 },
4692 {
4693 "name" : "NoAction",
4694 "id" : 71,
4695 "runtime_data" : [],
4696 "primitives" : []
4697 },
4698 {
Carmelo Casconefa421582018-09-13 10:05:57 -07004699 "name" : "nop",
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07004700 "id" : 72,
4701 "runtime_data" : [],
4702 "primitives" : []
4703 },
4704 {
4705 "name" : "nop",
4706 "id" : 73,
4707 "runtime_data" : [],
4708 "primitives" : []
4709 },
4710 {
4711 "name" : "drop_now",
4712 "id" : 74,
4713 "runtime_data" : [],
4714 "primitives" : [
4715 {
4716 "op" : "drop",
4717 "parameters" : [],
4718 "source_info" : {
4719 "filename" : "include/control/../action.p4",
4720 "line" : 24,
4721 "column" : 4,
4722 "source_fragment" : "mark_to_drop()"
4723 }
4724 },
4725 {
4726 "op" : "exit",
4727 "parameters" : [],
4728 "source_info" : {
4729 "filename" : "include/control/../action.p4",
4730 "line" : 25,
4731 "column" : 4,
4732 "source_fragment" : "exit"
4733 }
4734 }
4735 ]
4736 },
4737 {
4738 "name" : "drop_now",
4739 "id" : 75,
4740 "runtime_data" : [],
4741 "primitives" : [
4742 {
4743 "op" : "drop",
4744 "parameters" : [],
4745 "source_info" : {
4746 "filename" : "include/control/../action.p4",
4747 "line" : 24,
4748 "column" : 4,
4749 "source_fragment" : "mark_to_drop()"
4750 }
4751 },
4752 {
4753 "op" : "exit",
4754 "parameters" : [],
4755 "source_info" : {
4756 "filename" : "include/control/../action.p4",
4757 "line" : 25,
4758 "column" : 4,
4759 "source_fragment" : "exit"
4760 }
4761 }
4762 ]
4763 },
4764 {
4765 "name" : "FabricEgress.spgw_egress.gtpu_encap",
4766 "id" : 76,
4767 "runtime_data" : [],
4768 "primitives" : [
4769 {
4770 "op" : "add_header",
4771 "parameters" : [
4772 {
4773 "type" : "header",
4774 "value" : "gtpu_ipv4"
4775 }
4776 ],
4777 "source_info" : {
4778 "filename" : "include/spgw.p4",
4779 "line" : 185,
4780 "column" : 8,
4781 "source_fragment" : "gtpu_ipv4.setValid()"
4782 }
4783 },
4784 {
4785 "op" : "assign",
4786 "parameters" : [
4787 {
4788 "type" : "field",
4789 "value" : ["gtpu_ipv4", "version"]
4790 },
4791 {
4792 "type" : "hexstr",
4793 "value" : "0x04"
4794 }
4795 ],
4796 "source_info" : {
4797 "filename" : "include/spgw.p4",
4798 "line" : 186,
4799 "column" : 8,
4800 "source_fragment" : "gtpu_ipv4.version = 4"
4801 }
4802 },
4803 {
4804 "op" : "assign",
4805 "parameters" : [
4806 {
4807 "type" : "field",
4808 "value" : ["gtpu_ipv4", "ihl"]
4809 },
4810 {
4811 "type" : "hexstr",
4812 "value" : "0x05"
4813 }
4814 ],
4815 "source_info" : {
4816 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07004817 "line" : 111,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07004818 "column" : 28,
4819 "source_fragment" : "5; ..."
4820 }
4821 },
4822 {
4823 "op" : "assign",
4824 "parameters" : [
4825 {
4826 "type" : "field",
4827 "value" : ["gtpu_ipv4", "dscp"]
4828 },
4829 {
4830 "type" : "hexstr",
4831 "value" : "0x00"
4832 }
4833 ],
4834 "source_info" : {
4835 "filename" : "include/spgw.p4",
4836 "line" : 188,
4837 "column" : 8,
4838 "source_fragment" : "gtpu_ipv4.dscp = 0"
4839 }
4840 },
4841 {
4842 "op" : "assign",
4843 "parameters" : [
4844 {
4845 "type" : "field",
4846 "value" : ["gtpu_ipv4", "ecn"]
4847 },
4848 {
4849 "type" : "hexstr",
4850 "value" : "0x00"
4851 }
4852 ],
4853 "source_info" : {
4854 "filename" : "include/spgw.p4",
4855 "line" : 189,
4856 "column" : 8,
4857 "source_fragment" : "gtpu_ipv4.ecn = 0"
4858 }
4859 },
4860 {
4861 "op" : "assign",
4862 "parameters" : [
4863 {
4864 "type" : "field",
4865 "value" : ["gtpu_ipv4", "total_len"]
4866 },
4867 {
4868 "type" : "expression",
4869 "value" : {
4870 "type" : "expression",
4871 "value" : {
4872 "op" : "&",
4873 "left" : {
4874 "type" : "expression",
4875 "value" : {
4876 "op" : "+",
4877 "left" : {
4878 "type" : "field",
4879 "value" : ["ipv4", "total_len"]
4880 },
4881 "right" : {
4882 "type" : "hexstr",
4883 "value" : "0x0024"
4884 }
4885 }
4886 },
4887 "right" : {
4888 "type" : "hexstr",
4889 "value" : "0xffff"
4890 }
4891 }
4892 }
4893 }
4894 ],
4895 "source_info" : {
4896 "filename" : "include/spgw.p4",
4897 "line" : 190,
4898 "column" : 8,
4899 "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
4900 }
4901 },
4902 {
4903 "op" : "assign",
4904 "parameters" : [
4905 {
4906 "type" : "field",
4907 "value" : ["gtpu_ipv4", "identification"]
4908 },
4909 {
4910 "type" : "hexstr",
4911 "value" : "0x1513"
4912 }
4913 ],
4914 "source_info" : {
4915 "filename" : "include/spgw.p4",
4916 "line" : 192,
4917 "column" : 8,
4918 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
4919 }
4920 },
4921 {
4922 "op" : "assign",
4923 "parameters" : [
4924 {
4925 "type" : "field",
4926 "value" : ["gtpu_ipv4", "flags"]
4927 },
4928 {
4929 "type" : "hexstr",
4930 "value" : "0x00"
4931 }
4932 ],
4933 "source_info" : {
4934 "filename" : "include/spgw.p4",
4935 "line" : 193,
4936 "column" : 8,
4937 "source_fragment" : "gtpu_ipv4.flags = 0"
4938 }
4939 },
4940 {
4941 "op" : "assign",
4942 "parameters" : [
4943 {
4944 "type" : "field",
4945 "value" : ["gtpu_ipv4", "frag_offset"]
4946 },
4947 {
4948 "type" : "hexstr",
4949 "value" : "0x0000"
4950 }
4951 ],
4952 "source_info" : {
4953 "filename" : "include/spgw.p4",
4954 "line" : 194,
4955 "column" : 8,
4956 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
4957 }
4958 },
4959 {
4960 "op" : "assign",
4961 "parameters" : [
4962 {
4963 "type" : "field",
4964 "value" : ["gtpu_ipv4", "ttl"]
4965 },
4966 {
4967 "type" : "hexstr",
4968 "value" : "0x40"
4969 }
4970 ],
4971 "source_info" : {
4972 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07004973 "line" : 124,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07004974 "column" : 32,
4975 "source_fragment" : "64; ..."
4976 }
4977 },
4978 {
4979 "op" : "assign",
4980 "parameters" : [
4981 {
4982 "type" : "field",
4983 "value" : ["gtpu_ipv4", "protocol"]
4984 },
4985 {
4986 "type" : "hexstr",
4987 "value" : "0x11"
4988 }
4989 ],
4990 "source_info" : {
4991 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07004992 "line" : 108,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07004993 "column" : 25,
4994 "source_fragment" : "17; ..."
4995 }
4996 },
4997 {
4998 "op" : "assign",
4999 "parameters" : [
5000 {
5001 "type" : "field",
5002 "value" : ["gtpu_ipv4", "dst_addr"]
5003 },
5004 {
5005 "type" : "field",
5006 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
5007 }
5008 ],
5009 "source_info" : {
5010 "filename" : "include/spgw.p4",
5011 "line" : 197,
5012 "column" : 8,
5013 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
5014 }
5015 },
5016 {
5017 "op" : "assign",
5018 "parameters" : [
5019 {
5020 "type" : "field",
5021 "value" : ["gtpu_ipv4", "src_addr"]
5022 },
5023 {
5024 "type" : "field",
5025 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
5026 }
5027 ],
5028 "source_info" : {
5029 "filename" : "include/spgw.p4",
5030 "line" : 198,
5031 "column" : 8,
5032 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
5033 }
5034 },
5035 {
5036 "op" : "assign",
5037 "parameters" : [
5038 {
5039 "type" : "field",
5040 "value" : ["gtpu_ipv4", "hdr_checksum"]
5041 },
5042 {
5043 "type" : "hexstr",
5044 "value" : "0x0000"
5045 }
5046 ],
5047 "source_info" : {
5048 "filename" : "include/spgw.p4",
5049 "line" : 199,
5050 "column" : 8,
5051 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
5052 }
5053 },
5054 {
5055 "op" : "add_header",
5056 "parameters" : [
5057 {
5058 "type" : "header",
5059 "value" : "gtpu_udp"
5060 }
5061 ],
5062 "source_info" : {
5063 "filename" : "include/spgw.p4",
5064 "line" : 201,
5065 "column" : 8,
5066 "source_fragment" : "gtpu_udp.setValid()"
5067 }
5068 },
5069 {
5070 "op" : "assign",
5071 "parameters" : [
5072 {
5073 "type" : "field",
5074 "value" : ["gtpu_udp", "src_port"]
5075 },
5076 {
5077 "type" : "hexstr",
5078 "value" : "0x0868"
5079 }
5080 ],
5081 "source_info" : {
5082 "filename" : "include/spgw.p4",
5083 "line" : 202,
5084 "column" : 8,
5085 "source_fragment" : "gtpu_udp.src_port = 2152"
5086 }
5087 },
5088 {
5089 "op" : "assign",
5090 "parameters" : [
5091 {
5092 "type" : "field",
5093 "value" : ["gtpu_udp", "dst_port"]
5094 },
5095 {
5096 "type" : "hexstr",
5097 "value" : "0x0868"
5098 }
5099 ],
5100 "source_info" : {
5101 "filename" : "include/spgw.p4",
5102 "line" : 203,
5103 "column" : 8,
5104 "source_fragment" : "gtpu_udp.dst_port = 2152"
5105 }
5106 },
5107 {
5108 "op" : "assign",
5109 "parameters" : [
5110 {
5111 "type" : "field",
5112 "value" : ["gtpu_udp", "len"]
5113 },
5114 {
5115 "type" : "expression",
5116 "value" : {
5117 "type" : "expression",
5118 "value" : {
5119 "op" : "&",
5120 "left" : {
5121 "type" : "expression",
5122 "value" : {
5123 "op" : "+",
5124 "left" : {
5125 "type" : "field",
5126 "value" : ["userMetadata.spgw", "ipv4_len"]
5127 },
5128 "right" : {
5129 "type" : "hexstr",
5130 "value" : "0x0010"
5131 }
5132 }
5133 },
5134 "right" : {
5135 "type" : "hexstr",
5136 "value" : "0xffff"
5137 }
5138 }
5139 }
5140 }
5141 ],
5142 "source_info" : {
5143 "filename" : "include/spgw.p4",
5144 "line" : 204,
5145 "column" : 8,
5146 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5147 }
5148 },
5149 {
5150 "op" : "assign",
5151 "parameters" : [
5152 {
5153 "type" : "field",
5154 "value" : ["gtpu_udp", "checksum"]
5155 },
5156 {
5157 "type" : "hexstr",
5158 "value" : "0x0000"
5159 }
5160 ],
5161 "source_info" : {
5162 "filename" : "include/spgw.p4",
5163 "line" : 206,
5164 "column" : 8,
5165 "source_fragment" : "gtpu_udp.checksum = 0"
5166 }
5167 },
5168 {
5169 "op" : "add_header",
5170 "parameters" : [
5171 {
5172 "type" : "header",
5173 "value" : "gtpu"
5174 }
5175 ],
5176 "source_info" : {
5177 "filename" : "include/spgw.p4",
5178 "line" : 208,
5179 "column" : 8,
5180 "source_fragment" : "gtpu.setValid()"
5181 }
5182 },
5183 {
5184 "op" : "assign",
5185 "parameters" : [
5186 {
5187 "type" : "field",
5188 "value" : ["gtpu", "version"]
5189 },
5190 {
5191 "type" : "hexstr",
5192 "value" : "0x01"
5193 }
5194 ],
5195 "source_info" : {
5196 "filename" : "include/spgw.p4",
5197 "line" : 209,
5198 "column" : 8,
5199 "source_fragment" : "gtpu.version = 0x01"
5200 }
5201 },
5202 {
5203 "op" : "assign",
5204 "parameters" : [
5205 {
5206 "type" : "field",
5207 "value" : ["gtpu", "pt"]
5208 },
5209 {
5210 "type" : "hexstr",
5211 "value" : "0x01"
5212 }
5213 ],
5214 "source_info" : {
5215 "filename" : "include/spgw.p4",
5216 "line" : 210,
5217 "column" : 8,
5218 "source_fragment" : "gtpu.pt = 0x01"
5219 }
5220 },
5221 {
5222 "op" : "assign",
5223 "parameters" : [
5224 {
5225 "type" : "field",
5226 "value" : ["gtpu", "spare"]
5227 },
5228 {
5229 "type" : "hexstr",
5230 "value" : "0x00"
5231 }
5232 ],
5233 "source_info" : {
5234 "filename" : "include/spgw.p4",
5235 "line" : 211,
5236 "column" : 8,
5237 "source_fragment" : "gtpu.spare = 0"
5238 }
5239 },
5240 {
5241 "op" : "assign",
5242 "parameters" : [
5243 {
5244 "type" : "field",
5245 "value" : ["gtpu", "ex_flag"]
5246 },
5247 {
5248 "type" : "hexstr",
5249 "value" : "0x00"
5250 }
5251 ],
5252 "source_info" : {
5253 "filename" : "include/spgw.p4",
5254 "line" : 212,
5255 "column" : 8,
5256 "source_fragment" : "gtpu.ex_flag = 0"
5257 }
5258 },
5259 {
5260 "op" : "assign",
5261 "parameters" : [
5262 {
5263 "type" : "field",
5264 "value" : ["gtpu", "seq_flag"]
5265 },
5266 {
5267 "type" : "hexstr",
5268 "value" : "0x00"
5269 }
5270 ],
5271 "source_info" : {
5272 "filename" : "include/spgw.p4",
5273 "line" : 213,
5274 "column" : 8,
5275 "source_fragment" : "gtpu.seq_flag = 0"
5276 }
5277 },
5278 {
5279 "op" : "assign",
5280 "parameters" : [
5281 {
5282 "type" : "field",
5283 "value" : ["gtpu", "npdu_flag"]
5284 },
5285 {
5286 "type" : "hexstr",
5287 "value" : "0x00"
5288 }
5289 ],
5290 "source_info" : {
5291 "filename" : "include/spgw.p4",
5292 "line" : 214,
5293 "column" : 8,
5294 "source_fragment" : "gtpu.npdu_flag = 0"
5295 }
5296 },
5297 {
5298 "op" : "assign",
5299 "parameters" : [
5300 {
5301 "type" : "field",
5302 "value" : ["gtpu", "msgtype"]
5303 },
5304 {
5305 "type" : "hexstr",
5306 "value" : "0xff"
5307 }
5308 ],
5309 "source_info" : {
5310 "filename" : "include/spgw.p4",
5311 "line" : 215,
5312 "column" : 8,
5313 "source_fragment" : "gtpu.msgtype = 0xff"
5314 }
5315 },
5316 {
5317 "op" : "assign",
5318 "parameters" : [
5319 {
5320 "type" : "field",
5321 "value" : ["gtpu", "msglen"]
5322 },
5323 {
5324 "type" : "field",
5325 "value" : ["userMetadata.spgw", "ipv4_len"]
5326 }
5327 ],
5328 "source_info" : {
5329 "filename" : "include/spgw.p4",
5330 "line" : 216,
5331 "column" : 8,
5332 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5333 }
5334 },
5335 {
5336 "op" : "assign",
5337 "parameters" : [
5338 {
5339 "type" : "field",
5340 "value" : ["gtpu", "teid"]
5341 },
5342 {
5343 "type" : "field",
5344 "value" : ["userMetadata.spgw", "teid"]
5345 }
5346 ],
5347 "source_info" : {
5348 "filename" : "include/spgw.p4",
5349 "line" : 217,
5350 "column" : 8,
5351 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5352 }
5353 }
5354 ]
5355 },
5356 {
5357 "name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
5358 "id" : 77,
5359 "runtime_data" : [
5360 {
5361 "name" : "max_hop",
5362 "bitwidth" : 8
5363 },
5364 {
5365 "name" : "ins_cnt",
5366 "bitwidth" : 5
5367 },
5368 {
5369 "name" : "ins_mask0003",
5370 "bitwidth" : 4
5371 },
5372 {
5373 "name" : "ins_mask0407",
5374 "bitwidth" : 4
5375 }
5376 ],
5377 "primitives" : [
5378 {
5379 "op" : "add_header",
5380 "parameters" : [
5381 {
5382 "type" : "header",
5383 "value" : "intl4_shim"
5384 }
5385 ],
5386 "source_info" : {
5387 "filename" : "include/int/int_source.p4",
5388 "line" : 31,
5389 "column" : 8,
5390 "source_fragment" : "hdr.intl4_shim.setValid()"
5391 }
5392 },
5393 {
5394 "op" : "assign",
5395 "parameters" : [
5396 {
5397 "type" : "field",
5398 "value" : ["intl4_shim", "int_type"]
5399 },
5400 {
5401 "type" : "hexstr",
5402 "value" : "0x01"
5403 }
5404 ],
5405 "source_info" : {
5406 "filename" : "include/int/int_source.p4",
5407 "line" : 33,
5408 "column" : 8,
5409 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5410 }
5411 },
5412 {
5413 "op" : "assign",
5414 "parameters" : [
5415 {
5416 "type" : "field",
5417 "value" : ["intl4_shim", "len_words"]
5418 },
5419 {
5420 "type" : "hexstr",
5421 "value" : "0x04"
5422 }
5423 ],
5424 "source_info" : {
5425 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07005426 "line" : 139,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07005427 "column" : 36,
5428 "source_fragment" : "4; ..."
5429 }
5430 },
5431 {
5432 "op" : "add_header",
5433 "parameters" : [
5434 {
5435 "type" : "header",
5436 "value" : "int_header"
5437 }
5438 ],
5439 "source_info" : {
5440 "filename" : "include/int/int_source.p4",
5441 "line" : 36,
5442 "column" : 8,
5443 "source_fragment" : "hdr.int_header.setValid()"
5444 }
5445 },
5446 {
5447 "op" : "assign",
5448 "parameters" : [
5449 {
5450 "type" : "field",
5451 "value" : ["int_header", "ver"]
5452 },
5453 {
5454 "type" : "hexstr",
5455 "value" : "0x00"
5456 }
5457 ],
5458 "source_info" : {
5459 "filename" : "include/int/int_source.p4",
5460 "line" : 37,
5461 "column" : 8,
5462 "source_fragment" : "hdr.int_header.ver = 0"
5463 }
5464 },
5465 {
5466 "op" : "assign",
5467 "parameters" : [
5468 {
5469 "type" : "field",
5470 "value" : ["int_header", "rep"]
5471 },
5472 {
5473 "type" : "hexstr",
5474 "value" : "0x00"
5475 }
5476 ],
5477 "source_info" : {
5478 "filename" : "include/int/int_source.p4",
5479 "line" : 38,
5480 "column" : 8,
5481 "source_fragment" : "hdr.int_header.rep = 0"
5482 }
5483 },
5484 {
5485 "op" : "assign",
5486 "parameters" : [
5487 {
5488 "type" : "field",
5489 "value" : ["int_header", "c"]
5490 },
5491 {
5492 "type" : "hexstr",
5493 "value" : "0x00"
5494 }
5495 ],
5496 "source_info" : {
5497 "filename" : "include/int/int_source.p4",
5498 "line" : 39,
5499 "column" : 8,
5500 "source_fragment" : "hdr.int_header.c = 0"
5501 }
5502 },
5503 {
5504 "op" : "assign",
5505 "parameters" : [
5506 {
5507 "type" : "field",
5508 "value" : ["int_header", "e"]
5509 },
5510 {
5511 "type" : "hexstr",
5512 "value" : "0x00"
5513 }
5514 ],
5515 "source_info" : {
5516 "filename" : "include/int/int_source.p4",
5517 "line" : 40,
5518 "column" : 8,
5519 "source_fragment" : "hdr.int_header.e = 0"
5520 }
5521 },
5522 {
5523 "op" : "assign",
5524 "parameters" : [
5525 {
5526 "type" : "field",
5527 "value" : ["int_header", "rsvd1"]
5528 },
5529 {
5530 "type" : "hexstr",
5531 "value" : "0x00"
5532 }
5533 ],
5534 "source_info" : {
5535 "filename" : "include/int/int_source.p4",
5536 "line" : 41,
5537 "column" : 8,
5538 "source_fragment" : "hdr.int_header.rsvd1 = 0"
5539 }
5540 },
5541 {
5542 "op" : "assign",
5543 "parameters" : [
5544 {
5545 "type" : "field",
5546 "value" : ["int_header", "ins_cnt"]
5547 },
5548 {
5549 "type" : "runtime_data",
5550 "value" : 1
5551 }
5552 ],
5553 "source_info" : {
5554 "filename" : "include/int/int_source.p4",
5555 "line" : 42,
5556 "column" : 8,
5557 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
5558 }
5559 },
5560 {
5561 "op" : "assign",
5562 "parameters" : [
5563 {
5564 "type" : "field",
5565 "value" : ["int_header", "max_hop_cnt"]
5566 },
5567 {
5568 "type" : "runtime_data",
5569 "value" : 0
5570 }
5571 ],
5572 "source_info" : {
5573 "filename" : "include/int/int_source.p4",
5574 "line" : 43,
5575 "column" : 8,
5576 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
5577 }
5578 },
5579 {
5580 "op" : "assign",
5581 "parameters" : [
5582 {
5583 "type" : "field",
5584 "value" : ["int_header", "total_hop_cnt"]
5585 },
5586 {
5587 "type" : "hexstr",
5588 "value" : "0x00"
5589 }
5590 ],
5591 "source_info" : {
5592 "filename" : "include/int/int_source.p4",
5593 "line" : 44,
5594 "column" : 8,
5595 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
5596 }
5597 },
5598 {
5599 "op" : "assign",
5600 "parameters" : [
5601 {
5602 "type" : "field",
5603 "value" : ["int_header", "instruction_mask_0003"]
5604 },
5605 {
5606 "type" : "runtime_data",
5607 "value" : 2
5608 }
5609 ],
5610 "source_info" : {
5611 "filename" : "include/int/int_source.p4",
5612 "line" : 45,
5613 "column" : 8,
5614 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
5615 }
5616 },
5617 {
5618 "op" : "assign",
5619 "parameters" : [
5620 {
5621 "type" : "field",
5622 "value" : ["int_header", "instruction_mask_0407"]
5623 },
5624 {
5625 "type" : "runtime_data",
5626 "value" : 3
5627 }
5628 ],
5629 "source_info" : {
5630 "filename" : "include/int/int_source.p4",
5631 "line" : 46,
5632 "column" : 8,
5633 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
5634 }
5635 },
5636 {
5637 "op" : "assign",
5638 "parameters" : [
5639 {
5640 "type" : "field",
5641 "value" : ["int_header", "instruction_mask_0811"]
5642 },
5643 {
5644 "type" : "hexstr",
5645 "value" : "0x00"
5646 }
5647 ],
5648 "source_info" : {
5649 "filename" : "include/int/int_source.p4",
5650 "line" : 47,
5651 "column" : 8,
5652 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
5653 }
5654 },
5655 {
5656 "op" : "assign",
5657 "parameters" : [
5658 {
5659 "type" : "field",
5660 "value" : ["int_header", "instruction_mask_1215"]
5661 },
5662 {
5663 "type" : "hexstr",
5664 "value" : "0x00"
5665 }
5666 ],
5667 "source_info" : {
5668 "filename" : "include/int/int_source.p4",
5669 "line" : 48,
5670 "column" : 8,
5671 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
5672 }
5673 },
5674 {
5675 "op" : "add_header",
5676 "parameters" : [
5677 {
5678 "type" : "header",
5679 "value" : "intl4_tail"
5680 }
5681 ],
5682 "source_info" : {
5683 "filename" : "include/int/int_source.p4",
5684 "line" : 50,
5685 "column" : 8,
5686 "source_fragment" : "hdr.intl4_tail.setValid()"
5687 }
5688 },
5689 {
5690 "op" : "assign",
5691 "parameters" : [
5692 {
5693 "type" : "field",
5694 "value" : ["intl4_tail", "next_proto"]
5695 },
5696 {
5697 "type" : "field",
5698 "value" : ["ipv4", "protocol"]
5699 }
5700 ],
5701 "source_info" : {
5702 "filename" : "include/int/int_source.p4",
5703 "line" : 51,
5704 "column" : 8,
5705 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
5706 }
5707 },
5708 {
5709 "op" : "assign",
5710 "parameters" : [
5711 {
5712 "type" : "field",
5713 "value" : ["intl4_tail", "dest_port"]
5714 },
5715 {
5716 "type" : "field",
5717 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
5718 }
5719 ],
5720 "source_info" : {
5721 "filename" : "include/int/int_source.p4",
5722 "line" : 52,
5723 "column" : 8,
5724 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
5725 }
5726 },
5727 {
5728 "op" : "assign",
5729 "parameters" : [
5730 {
5731 "type" : "field",
5732 "value" : ["intl4_tail", "dscp"]
5733 },
5734 {
5735 "type" : "field",
5736 "value" : ["ipv4", "dscp"]
5737 }
5738 ],
5739 "source_info" : {
5740 "filename" : "include/int/int_source.p4",
5741 "line" : 53,
5742 "column" : 8,
5743 "source_fragment" : "hdr.intl4_tail.dscp = hdr.ipv4.dscp"
5744 }
5745 },
5746 {
5747 "op" : "assign",
5748 "parameters" : [
5749 {
5750 "type" : "field",
5751 "value" : ["ipv4", "total_len"]
5752 },
5753 {
5754 "type" : "expression",
5755 "value" : {
5756 "type" : "expression",
5757 "value" : {
5758 "op" : "&",
5759 "left" : {
5760 "type" : "expression",
5761 "value" : {
5762 "op" : "+",
5763 "left" : {
5764 "type" : "field",
5765 "value" : ["ipv4", "total_len"]
5766 },
5767 "right" : {
5768 "type" : "hexstr",
5769 "value" : "0x0010"
5770 }
5771 }
5772 },
5773 "right" : {
5774 "type" : "hexstr",
5775 "value" : "0xffff"
5776 }
5777 }
5778 }
5779 }
5780 ],
5781 "source_info" : {
5782 "filename" : "include/int/int_source.p4",
5783 "line" : 55,
5784 "column" : 8,
5785 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + INT_HEADER_LEN_BYTES"
5786 }
5787 },
5788 {
5789 "op" : "assign",
5790 "parameters" : [
5791 {
5792 "type" : "field",
5793 "value" : ["udp", "len"]
5794 },
5795 {
5796 "type" : "expression",
5797 "value" : {
5798 "type" : "expression",
5799 "value" : {
5800 "op" : "&",
5801 "left" : {
5802 "type" : "expression",
5803 "value" : {
5804 "op" : "+",
5805 "left" : {
5806 "type" : "field",
5807 "value" : ["udp", "len"]
5808 },
5809 "right" : {
5810 "type" : "hexstr",
5811 "value" : "0x0010"
5812 }
5813 }
5814 },
5815 "right" : {
5816 "type" : "hexstr",
5817 "value" : "0xffff"
5818 }
5819 }
5820 }
5821 }
5822 ],
5823 "source_info" : {
5824 "filename" : "include/int/int_source.p4",
5825 "line" : 56,
5826 "column" : 8,
5827 "source_fragment" : "hdr.udp.len = hdr.udp.len + INT_HEADER_LEN_BYTES"
5828 }
5829 },
5830 {
5831 "op" : "assign",
5832 "parameters" : [
5833 {
5834 "type" : "field",
5835 "value" : ["ipv4", "dscp"]
5836 },
5837 {
5838 "type" : "hexstr",
5839 "value" : "0x01"
5840 }
5841 ],
5842 "source_info" : {
5843 "filename" : "include/control/../define.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07005844 "line" : 135,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -07005845 "column" : 24,
5846 "source_fragment" : "0x1; ..."
5847 }
5848 }
5849 ]
5850 },
5851 {
5852 "name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
5853 "id" : 78,
5854 "runtime_data" : [
5855 {
5856 "name" : "switch_id",
5857 "bitwidth" : 32
5858 }
5859 ],
5860 "primitives" : [
5861 {
5862 "op" : "assign",
5863 "parameters" : [
5864 {
5865 "type" : "field",
5866 "value" : ["userMetadata.int_meta", "transit"]
5867 },
5868 {
5869 "type" : "expression",
5870 "value" : {
5871 "type" : "expression",
5872 "value" : {
5873 "op" : "b2d",
5874 "left" : null,
5875 "right" : {
5876 "type" : "bool",
5877 "value" : true
5878 }
5879 }
5880 }
5881 }
5882 ],
5883 "source_info" : {
5884 "filename" : "include/int/int_transit.p4",
5885 "line" : 26,
5886 "column" : 8,
5887 "source_fragment" : "fmeta.int_meta.transit = true"
5888 }
5889 },
5890 {
5891 "op" : "assign",
5892 "parameters" : [
5893 {
5894 "type" : "field",
5895 "value" : ["userMetadata.int_meta", "switch_id"]
5896 },
5897 {
5898 "type" : "runtime_data",
5899 "value" : 0
5900 }
5901 ],
5902 "source_info" : {
5903 "filename" : "include/int/int_transit.p4",
5904 "line" : 31,
5905 "column" : 8,
5906 "source_fragment" : "fmeta.int_meta.switch_id = switch_id"
5907 }
5908 }
5909 ]
5910 },
5911 {
5912 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
5913 "id" : 79,
5914 "runtime_data" : [],
5915 "primitives" : []
5916 },
5917 {
5918 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
5919 "id" : 80,
5920 "runtime_data" : [],
5921 "primitives" : [
5922 {
5923 "op" : "add_header",
5924 "parameters" : [
5925 {
5926 "type" : "header",
5927 "value" : "int_q_occupancy"
5928 }
5929 ],
5930 "source_info" : {
5931 "filename" : "include/int/int_transit.p4",
5932 "line" : 56,
5933 "column" : 8,
5934 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5935 }
5936 },
5937 {
5938 "op" : "assign",
5939 "parameters" : [
5940 {
5941 "type" : "field",
5942 "value" : ["int_q_occupancy", "q_id"]
5943 },
5944 {
5945 "type" : "hexstr",
5946 "value" : "0x00"
5947 }
5948 ],
5949 "source_info" : {
5950 "filename" : "include/int/int_transit.p4",
5951 "line" : 58,
5952 "column" : 8,
5953 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
5954 }
5955 },
5956 {
5957 "op" : "assign",
5958 "parameters" : [
5959 {
5960 "type" : "field",
5961 "value" : ["int_q_occupancy", "q_occupancy"]
5962 },
5963 {
5964 "type" : "expression",
5965 "value" : {
5966 "type" : "expression",
5967 "value" : {
5968 "op" : "&",
5969 "left" : {
5970 "type" : "field",
5971 "value" : ["standard_metadata", "deq_qdepth"]
5972 },
5973 "right" : {
5974 "type" : "hexstr",
5975 "value" : "0xffffff"
5976 }
5977 }
5978 }
5979 }
5980 ],
5981 "source_info" : {
5982 "filename" : "include/int/int_transit.p4",
5983 "line" : 59,
5984 "column" : 8,
5985 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
5986 }
5987 },
5988 {
5989 "op" : "assign",
5990 "parameters" : [
5991 {
5992 "type" : "field",
5993 "value" : ["userMetadata.int_meta", "new_words"]
5994 },
5995 {
5996 "type" : "expression",
5997 "value" : {
5998 "type" : "expression",
5999 "value" : {
6000 "op" : "&",
6001 "left" : {
6002 "type" : "expression",
6003 "value" : {
6004 "op" : "+",
6005 "left" : {
6006 "type" : "field",
6007 "value" : ["userMetadata.int_meta", "new_words"]
6008 },
6009 "right" : {
6010 "type" : "hexstr",
6011 "value" : "0x01"
6012 }
6013 }
6014 },
6015 "right" : {
6016 "type" : "hexstr",
6017 "value" : "0xff"
6018 }
6019 }
6020 }
6021 }
6022 ],
6023 "source_info" : {
6024 "filename" : "include/int/int_transit.p4",
6025 "line" : 88,
6026 "column" : 8,
6027 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
6028 }
6029 },
6030 {
6031 "op" : "assign",
6032 "parameters" : [
6033 {
6034 "type" : "field",
6035 "value" : ["userMetadata.int_meta", "new_bytes"]
6036 },
6037 {
6038 "type" : "expression",
6039 "value" : {
6040 "type" : "expression",
6041 "value" : {
6042 "op" : "&",
6043 "left" : {
6044 "type" : "expression",
6045 "value" : {
6046 "op" : "+",
6047 "left" : {
6048 "type" : "field",
6049 "value" : ["userMetadata.int_meta", "new_bytes"]
6050 },
6051 "right" : {
6052 "type" : "hexstr",
6053 "value" : "0x0004"
6054 }
6055 }
6056 },
6057 "right" : {
6058 "type" : "hexstr",
6059 "value" : "0xffff"
6060 }
6061 }
6062 }
6063 }
6064 ],
6065 "source_info" : {
6066 "filename" : "include/int/int_transit.p4",
6067 "line" : 89,
6068 "column" : 8,
6069 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
6070 }
6071 }
6072 ]
6073 },
6074 {
6075 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
6076 "id" : 81,
6077 "runtime_data" : [],
6078 "primitives" : [
6079 {
6080 "op" : "add_header",
6081 "parameters" : [
6082 {
6083 "type" : "header",
6084 "value" : "int_hop_latency"
6085 }
6086 ],
6087 "source_info" : {
6088 "filename" : "include/int/int_transit.p4",
6089 "line" : 51,
6090 "column" : 8,
6091 "source_fragment" : "hdr.int_hop_latency.setValid()"
6092 }
6093 },
6094 {
6095 "op" : "assign",
6096 "parameters" : [
6097 {
6098 "type" : "field",
6099 "value" : ["int_hop_latency", "hop_latency"]
6100 },
6101 {
6102 "type" : "field",
6103 "value" : ["standard_metadata", "deq_timedelta"]
6104 }
6105 ],
6106 "source_info" : {
6107 "filename" : "include/int/int_transit.p4",
6108 "line" : 52,
6109 "column" : 8,
6110 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
6111 }
6112 },
6113 {
6114 "op" : "assign",
6115 "parameters" : [
6116 {
6117 "type" : "field",
6118 "value" : ["userMetadata.int_meta", "new_words"]
6119 },
6120 {
6121 "type" : "expression",
6122 "value" : {
6123 "type" : "expression",
6124 "value" : {
6125 "op" : "&",
6126 "left" : {
6127 "type" : "expression",
6128 "value" : {
6129 "op" : "+",
6130 "left" : {
6131 "type" : "field",
6132 "value" : ["userMetadata.int_meta", "new_words"]
6133 },
6134 "right" : {
6135 "type" : "hexstr",
6136 "value" : "0x01"
6137 }
6138 }
6139 },
6140 "right" : {
6141 "type" : "hexstr",
6142 "value" : "0xff"
6143 }
6144 }
6145 }
6146 }
6147 ],
6148 "source_info" : {
6149 "filename" : "include/int/int_transit.p4",
6150 "line" : 88,
6151 "column" : 8,
6152 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
6153 }
6154 },
6155 {
6156 "op" : "assign",
6157 "parameters" : [
6158 {
6159 "type" : "field",
6160 "value" : ["userMetadata.int_meta", "new_bytes"]
6161 },
6162 {
6163 "type" : "expression",
6164 "value" : {
6165 "type" : "expression",
6166 "value" : {
6167 "op" : "&",
6168 "left" : {
6169 "type" : "expression",
6170 "value" : {
6171 "op" : "+",
6172 "left" : {
6173 "type" : "field",
6174 "value" : ["userMetadata.int_meta", "new_bytes"]
6175 },
6176 "right" : {
6177 "type" : "hexstr",
6178 "value" : "0x0004"
6179 }
6180 }
6181 },
6182 "right" : {
6183 "type" : "hexstr",
6184 "value" : "0xffff"
6185 }
6186 }
6187 }
6188 }
6189 ],
6190 "source_info" : {
6191 "filename" : "include/int/int_transit.p4",
6192 "line" : 89,
6193 "column" : 8,
6194 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
6195 }
6196 }
6197 ]
6198 },
6199 {
6200 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
6201 "id" : 82,
6202 "runtime_data" : [],
6203 "primitives" : [
6204 {
6205 "op" : "add_header",
6206 "parameters" : [
6207 {
6208 "type" : "header",
6209 "value" : "int_q_occupancy"
6210 }
6211 ],
6212 "source_info" : {
6213 "filename" : "include/int/int_transit.p4",
6214 "line" : 56,
6215 "column" : 8,
6216 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6217 }
6218 },
6219 {
6220 "op" : "assign",
6221 "parameters" : [
6222 {
6223 "type" : "field",
6224 "value" : ["int_q_occupancy", "q_id"]
6225 },
6226 {
6227 "type" : "hexstr",
6228 "value" : "0x00"
6229 }
6230 ],
6231 "source_info" : {
6232 "filename" : "include/int/int_transit.p4",
6233 "line" : 58,
6234 "column" : 8,
6235 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
6236 }
6237 },
6238 {
6239 "op" : "assign",
6240 "parameters" : [
6241 {
6242 "type" : "field",
6243 "value" : ["int_q_occupancy", "q_occupancy"]
6244 },
6245 {
6246 "type" : "expression",
6247 "value" : {
6248 "type" : "expression",
6249 "value" : {
6250 "op" : "&",
6251 "left" : {
6252 "type" : "field",
6253 "value" : ["standard_metadata", "deq_qdepth"]
6254 },
6255 "right" : {
6256 "type" : "hexstr",
6257 "value" : "0xffffff"
6258 }
6259 }
6260 }
6261 }
6262 ],
6263 "source_info" : {
6264 "filename" : "include/int/int_transit.p4",
6265 "line" : 59,
6266 "column" : 8,
6267 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
6268 }
6269 },
6270 {
6271 "op" : "add_header",
6272 "parameters" : [
6273 {
6274 "type" : "header",
6275 "value" : "int_hop_latency"
6276 }
6277 ],
6278 "source_info" : {
6279 "filename" : "include/int/int_transit.p4",
6280 "line" : 51,
6281 "column" : 8,
6282 "source_fragment" : "hdr.int_hop_latency.setValid()"
6283 }
6284 },
6285 {
6286 "op" : "assign",
6287 "parameters" : [
6288 {
6289 "type" : "field",
6290 "value" : ["int_hop_latency", "hop_latency"]
6291 },
6292 {
6293 "type" : "field",
6294 "value" : ["standard_metadata", "deq_timedelta"]
6295 }
6296 ],
6297 "source_info" : {
6298 "filename" : "include/int/int_transit.p4",
6299 "line" : 52,
6300 "column" : 8,
6301 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
6302 }
6303 },
6304 {
6305 "op" : "assign",
6306 "parameters" : [
6307 {
6308 "type" : "field",
6309 "value" : ["userMetadata.int_meta", "new_words"]
6310 },
6311 {
6312 "type" : "expression",
6313 "value" : {
6314 "type" : "expression",
6315 "value" : {
6316 "op" : "&",
6317 "left" : {
6318 "type" : "expression",
6319 "value" : {
6320 "op" : "+",
6321 "left" : {
6322 "type" : "field",
6323 "value" : ["userMetadata.int_meta", "new_words"]
6324 },
6325 "right" : {
6326 "type" : "hexstr",
6327 "value" : "0x02"
6328 }
6329 }
6330 },
6331 "right" : {
6332 "type" : "hexstr",
6333 "value" : "0xff"
6334 }
6335 }
6336 }
6337 }
6338 ],
6339 "source_info" : {
6340 "filename" : "include/int/int_transit.p4",
6341 "line" : 93,
6342 "column" : 8,
6343 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
6344 }
6345 },
6346 {
6347 "op" : "assign",
6348 "parameters" : [
6349 {
6350 "type" : "field",
6351 "value" : ["userMetadata.int_meta", "new_bytes"]
6352 },
6353 {
6354 "type" : "expression",
6355 "value" : {
6356 "type" : "expression",
6357 "value" : {
6358 "op" : "&",
6359 "left" : {
6360 "type" : "expression",
6361 "value" : {
6362 "op" : "+",
6363 "left" : {
6364 "type" : "field",
6365 "value" : ["userMetadata.int_meta", "new_bytes"]
6366 },
6367 "right" : {
6368 "type" : "hexstr",
6369 "value" : "0x0008"
6370 }
6371 }
6372 },
6373 "right" : {
6374 "type" : "hexstr",
6375 "value" : "0xffff"
6376 }
6377 }
6378 }
6379 }
6380 ],
6381 "source_info" : {
6382 "filename" : "include/int/int_transit.p4",
6383 "line" : 94,
6384 "column" : 8,
6385 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
6386 }
6387 }
6388 ]
6389 },
6390 {
6391 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
6392 "id" : 83,
6393 "runtime_data" : [],
6394 "primitives" : [
6395 {
6396 "op" : "add_header",
6397 "parameters" : [
6398 {
6399 "type" : "header",
6400 "value" : "int_port_ids"
6401 }
6402 ],
6403 "source_info" : {
6404 "filename" : "include/int/int_transit.p4",
6405 "line" : 45,
6406 "column" : 8,
6407 "source_fragment" : "hdr.int_port_ids.setValid()"
6408 }
6409 },
6410 {
6411 "op" : "assign",
6412 "parameters" : [
6413 {
6414 "type" : "field",
6415 "value" : ["int_port_ids", "ingress_port_id"]
6416 },
6417 {
6418 "type" : "expression",
6419 "value" : {
6420 "type" : "expression",
6421 "value" : {
6422 "op" : "&",
6423 "left" : {
6424 "type" : "field",
6425 "value" : ["standard_metadata", "ingress_port"]
6426 },
6427 "right" : {
6428 "type" : "hexstr",
6429 "value" : "0xffff"
6430 }
6431 }
6432 }
6433 }
6434 ],
6435 "source_info" : {
6436 "filename" : "include/int/int_transit.p4",
6437 "line" : 46,
6438 "column" : 8,
6439 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
6440 }
6441 },
6442 {
6443 "op" : "assign",
6444 "parameters" : [
6445 {
6446 "type" : "field",
6447 "value" : ["int_port_ids", "egress_port_id"]
6448 },
6449 {
6450 "type" : "expression",
6451 "value" : {
6452 "type" : "expression",
6453 "value" : {
6454 "op" : "&",
6455 "left" : {
6456 "type" : "field",
6457 "value" : ["standard_metadata", "egress_port"]
6458 },
6459 "right" : {
6460 "type" : "hexstr",
6461 "value" : "0xffff"
6462 }
6463 }
6464 }
6465 }
6466 ],
6467 "source_info" : {
6468 "filename" : "include/int/int_transit.p4",
6469 "line" : 47,
6470 "column" : 8,
6471 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
6472 }
6473 },
6474 {
6475 "op" : "assign",
6476 "parameters" : [
6477 {
6478 "type" : "field",
6479 "value" : ["userMetadata.int_meta", "new_words"]
6480 },
6481 {
6482 "type" : "expression",
6483 "value" : {
6484 "type" : "expression",
6485 "value" : {
6486 "op" : "&",
6487 "left" : {
6488 "type" : "expression",
6489 "value" : {
6490 "op" : "+",
6491 "left" : {
6492 "type" : "field",
6493 "value" : ["userMetadata.int_meta", "new_words"]
6494 },
6495 "right" : {
6496 "type" : "hexstr",
6497 "value" : "0x01"
6498 }
6499 }
6500 },
6501 "right" : {
6502 "type" : "hexstr",
6503 "value" : "0xff"
6504 }
6505 }
6506 }
6507 }
6508 ],
6509 "source_info" : {
6510 "filename" : "include/int/int_transit.p4",
6511 "line" : 88,
6512 "column" : 8,
6513 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
6514 }
6515 },
6516 {
6517 "op" : "assign",
6518 "parameters" : [
6519 {
6520 "type" : "field",
6521 "value" : ["userMetadata.int_meta", "new_bytes"]
6522 },
6523 {
6524 "type" : "expression",
6525 "value" : {
6526 "type" : "expression",
6527 "value" : {
6528 "op" : "&",
6529 "left" : {
6530 "type" : "expression",
6531 "value" : {
6532 "op" : "+",
6533 "left" : {
6534 "type" : "field",
6535 "value" : ["userMetadata.int_meta", "new_bytes"]
6536 },
6537 "right" : {
6538 "type" : "hexstr",
6539 "value" : "0x0004"
6540 }
6541 }
6542 },
6543 "right" : {
6544 "type" : "hexstr",
6545 "value" : "0xffff"
6546 }
6547 }
6548 }
6549 }
6550 ],
6551 "source_info" : {
6552 "filename" : "include/int/int_transit.p4",
6553 "line" : 89,
6554 "column" : 8,
6555 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
6556 }
6557 }
6558 ]
6559 },
6560 {
6561 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
6562 "id" : 84,
6563 "runtime_data" : [],
6564 "primitives" : [
6565 {
6566 "op" : "add_header",
6567 "parameters" : [
6568 {
6569 "type" : "header",
6570 "value" : "int_q_occupancy"
6571 }
6572 ],
6573 "source_info" : {
6574 "filename" : "include/int/int_transit.p4",
6575 "line" : 56,
6576 "column" : 8,
6577 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6578 }
6579 },
6580 {
6581 "op" : "assign",
6582 "parameters" : [
6583 {
6584 "type" : "field",
6585 "value" : ["int_q_occupancy", "q_id"]
6586 },
6587 {
6588 "type" : "hexstr",
6589 "value" : "0x00"
6590 }
6591 ],
6592 "source_info" : {
6593 "filename" : "include/int/int_transit.p4",
6594 "line" : 58,
6595 "column" : 8,
6596 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
6597 }
6598 },
6599 {
6600 "op" : "assign",
6601 "parameters" : [
6602 {
6603 "type" : "field",
6604 "value" : ["int_q_occupancy", "q_occupancy"]
6605 },
6606 {
6607 "type" : "expression",
6608 "value" : {
6609 "type" : "expression",
6610 "value" : {
6611 "op" : "&",
6612 "left" : {
6613 "type" : "field",
6614 "value" : ["standard_metadata", "deq_qdepth"]
6615 },
6616 "right" : {
6617 "type" : "hexstr",
6618 "value" : "0xffffff"
6619 }
6620 }
6621 }
6622 }
6623 ],
6624 "source_info" : {
6625 "filename" : "include/int/int_transit.p4",
6626 "line" : 59,
6627 "column" : 8,
6628 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
6629 }
6630 },
6631 {
6632 "op" : "add_header",
6633 "parameters" : [
6634 {
6635 "type" : "header",
6636 "value" : "int_port_ids"
6637 }
6638 ],
6639 "source_info" : {
6640 "filename" : "include/int/int_transit.p4",
6641 "line" : 45,
6642 "column" : 8,
6643 "source_fragment" : "hdr.int_port_ids.setValid()"
6644 }
6645 },
6646 {
6647 "op" : "assign",
6648 "parameters" : [
6649 {
6650 "type" : "field",
6651 "value" : ["int_port_ids", "ingress_port_id"]
6652 },
6653 {
6654 "type" : "expression",
6655 "value" : {
6656 "type" : "expression",
6657 "value" : {
6658 "op" : "&",
6659 "left" : {
6660 "type" : "field",
6661 "value" : ["standard_metadata", "ingress_port"]
6662 },
6663 "right" : {
6664 "type" : "hexstr",
6665 "value" : "0xffff"
6666 }
6667 }
6668 }
6669 }
6670 ],
6671 "source_info" : {
6672 "filename" : "include/int/int_transit.p4",
6673 "line" : 46,
6674 "column" : 8,
6675 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
6676 }
6677 },
6678 {
6679 "op" : "assign",
6680 "parameters" : [
6681 {
6682 "type" : "field",
6683 "value" : ["int_port_ids", "egress_port_id"]
6684 },
6685 {
6686 "type" : "expression",
6687 "value" : {
6688 "type" : "expression",
6689 "value" : {
6690 "op" : "&",
6691 "left" : {
6692 "type" : "field",
6693 "value" : ["standard_metadata", "egress_port"]
6694 },
6695 "right" : {
6696 "type" : "hexstr",
6697 "value" : "0xffff"
6698 }
6699 }
6700 }
6701 }
6702 ],
6703 "source_info" : {
6704 "filename" : "include/int/int_transit.p4",
6705 "line" : 47,
6706 "column" : 8,
6707 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
6708 }
6709 },
6710 {
6711 "op" : "assign",
6712 "parameters" : [
6713 {
6714 "type" : "field",
6715 "value" : ["userMetadata.int_meta", "new_words"]
6716 },
6717 {
6718 "type" : "expression",
6719 "value" : {
6720 "type" : "expression",
6721 "value" : {
6722 "op" : "&",
6723 "left" : {
6724 "type" : "expression",
6725 "value" : {
6726 "op" : "+",
6727 "left" : {
6728 "type" : "field",
6729 "value" : ["userMetadata.int_meta", "new_words"]
6730 },
6731 "right" : {
6732 "type" : "hexstr",
6733 "value" : "0x02"
6734 }
6735 }
6736 },
6737 "right" : {
6738 "type" : "hexstr",
6739 "value" : "0xff"
6740 }
6741 }
6742 }
6743 }
6744 ],
6745 "source_info" : {
6746 "filename" : "include/int/int_transit.p4",
6747 "line" : 93,
6748 "column" : 8,
6749 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
6750 }
6751 },
6752 {
6753 "op" : "assign",
6754 "parameters" : [
6755 {
6756 "type" : "field",
6757 "value" : ["userMetadata.int_meta", "new_bytes"]
6758 },
6759 {
6760 "type" : "expression",
6761 "value" : {
6762 "type" : "expression",
6763 "value" : {
6764 "op" : "&",
6765 "left" : {
6766 "type" : "expression",
6767 "value" : {
6768 "op" : "+",
6769 "left" : {
6770 "type" : "field",
6771 "value" : ["userMetadata.int_meta", "new_bytes"]
6772 },
6773 "right" : {
6774 "type" : "hexstr",
6775 "value" : "0x0008"
6776 }
6777 }
6778 },
6779 "right" : {
6780 "type" : "hexstr",
6781 "value" : "0xffff"
6782 }
6783 }
6784 }
6785 }
6786 ],
6787 "source_info" : {
6788 "filename" : "include/int/int_transit.p4",
6789 "line" : 94,
6790 "column" : 8,
6791 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
6792 }
6793 }
6794 ]
6795 },
6796 {
6797 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
6798 "id" : 85,
6799 "runtime_data" : [],
6800 "primitives" : [
6801 {
6802 "op" : "add_header",
6803 "parameters" : [
6804 {
6805 "type" : "header",
6806 "value" : "int_hop_latency"
6807 }
6808 ],
6809 "source_info" : {
6810 "filename" : "include/int/int_transit.p4",
6811 "line" : 51,
6812 "column" : 8,
6813 "source_fragment" : "hdr.int_hop_latency.setValid()"
6814 }
6815 },
6816 {
6817 "op" : "assign",
6818 "parameters" : [
6819 {
6820 "type" : "field",
6821 "value" : ["int_hop_latency", "hop_latency"]
6822 },
6823 {
6824 "type" : "field",
6825 "value" : ["standard_metadata", "deq_timedelta"]
6826 }
6827 ],
6828 "source_info" : {
6829 "filename" : "include/int/int_transit.p4",
6830 "line" : 52,
6831 "column" : 8,
6832 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
6833 }
6834 },
6835 {
6836 "op" : "add_header",
6837 "parameters" : [
6838 {
6839 "type" : "header",
6840 "value" : "int_port_ids"
6841 }
6842 ],
6843 "source_info" : {
6844 "filename" : "include/int/int_transit.p4",
6845 "line" : 45,
6846 "column" : 8,
6847 "source_fragment" : "hdr.int_port_ids.setValid()"
6848 }
6849 },
6850 {
6851 "op" : "assign",
6852 "parameters" : [
6853 {
6854 "type" : "field",
6855 "value" : ["int_port_ids", "ingress_port_id"]
6856 },
6857 {
6858 "type" : "expression",
6859 "value" : {
6860 "type" : "expression",
6861 "value" : {
6862 "op" : "&",
6863 "left" : {
6864 "type" : "field",
6865 "value" : ["standard_metadata", "ingress_port"]
6866 },
6867 "right" : {
6868 "type" : "hexstr",
6869 "value" : "0xffff"
6870 }
6871 }
6872 }
6873 }
6874 ],
6875 "source_info" : {
6876 "filename" : "include/int/int_transit.p4",
6877 "line" : 46,
6878 "column" : 8,
6879 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
6880 }
6881 },
6882 {
6883 "op" : "assign",
6884 "parameters" : [
6885 {
6886 "type" : "field",
6887 "value" : ["int_port_ids", "egress_port_id"]
6888 },
6889 {
6890 "type" : "expression",
6891 "value" : {
6892 "type" : "expression",
6893 "value" : {
6894 "op" : "&",
6895 "left" : {
6896 "type" : "field",
6897 "value" : ["standard_metadata", "egress_port"]
6898 },
6899 "right" : {
6900 "type" : "hexstr",
6901 "value" : "0xffff"
6902 }
6903 }
6904 }
6905 }
6906 ],
6907 "source_info" : {
6908 "filename" : "include/int/int_transit.p4",
6909 "line" : 47,
6910 "column" : 8,
6911 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
6912 }
6913 },
6914 {
6915 "op" : "assign",
6916 "parameters" : [
6917 {
6918 "type" : "field",
6919 "value" : ["userMetadata.int_meta", "new_words"]
6920 },
6921 {
6922 "type" : "expression",
6923 "value" : {
6924 "type" : "expression",
6925 "value" : {
6926 "op" : "&",
6927 "left" : {
6928 "type" : "expression",
6929 "value" : {
6930 "op" : "+",
6931 "left" : {
6932 "type" : "field",
6933 "value" : ["userMetadata.int_meta", "new_words"]
6934 },
6935 "right" : {
6936 "type" : "hexstr",
6937 "value" : "0x02"
6938 }
6939 }
6940 },
6941 "right" : {
6942 "type" : "hexstr",
6943 "value" : "0xff"
6944 }
6945 }
6946 }
6947 }
6948 ],
6949 "source_info" : {
6950 "filename" : "include/int/int_transit.p4",
6951 "line" : 93,
6952 "column" : 8,
6953 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
6954 }
6955 },
6956 {
6957 "op" : "assign",
6958 "parameters" : [
6959 {
6960 "type" : "field",
6961 "value" : ["userMetadata.int_meta", "new_bytes"]
6962 },
6963 {
6964 "type" : "expression",
6965 "value" : {
6966 "type" : "expression",
6967 "value" : {
6968 "op" : "&",
6969 "left" : {
6970 "type" : "expression",
6971 "value" : {
6972 "op" : "+",
6973 "left" : {
6974 "type" : "field",
6975 "value" : ["userMetadata.int_meta", "new_bytes"]
6976 },
6977 "right" : {
6978 "type" : "hexstr",
6979 "value" : "0x0008"
6980 }
6981 }
6982 },
6983 "right" : {
6984 "type" : "hexstr",
6985 "value" : "0xffff"
6986 }
6987 }
6988 }
6989 }
6990 ],
6991 "source_info" : {
6992 "filename" : "include/int/int_transit.p4",
6993 "line" : 94,
6994 "column" : 8,
6995 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
6996 }
6997 }
6998 ]
6999 },
7000 {
7001 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
7002 "id" : 86,
7003 "runtime_data" : [],
7004 "primitives" : [
7005 {
7006 "op" : "add_header",
7007 "parameters" : [
7008 {
7009 "type" : "header",
7010 "value" : "int_q_occupancy"
7011 }
7012 ],
7013 "source_info" : {
7014 "filename" : "include/int/int_transit.p4",
7015 "line" : 56,
7016 "column" : 8,
7017 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7018 }
7019 },
7020 {
7021 "op" : "assign",
7022 "parameters" : [
7023 {
7024 "type" : "field",
7025 "value" : ["int_q_occupancy", "q_id"]
7026 },
7027 {
7028 "type" : "hexstr",
7029 "value" : "0x00"
7030 }
7031 ],
7032 "source_info" : {
7033 "filename" : "include/int/int_transit.p4",
7034 "line" : 58,
7035 "column" : 8,
7036 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
7037 }
7038 },
7039 {
7040 "op" : "assign",
7041 "parameters" : [
7042 {
7043 "type" : "field",
7044 "value" : ["int_q_occupancy", "q_occupancy"]
7045 },
7046 {
7047 "type" : "expression",
7048 "value" : {
7049 "type" : "expression",
7050 "value" : {
7051 "op" : "&",
7052 "left" : {
7053 "type" : "field",
7054 "value" : ["standard_metadata", "deq_qdepth"]
7055 },
7056 "right" : {
7057 "type" : "hexstr",
7058 "value" : "0xffffff"
7059 }
7060 }
7061 }
7062 }
7063 ],
7064 "source_info" : {
7065 "filename" : "include/int/int_transit.p4",
7066 "line" : 59,
7067 "column" : 8,
7068 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
7069 }
7070 },
7071 {
7072 "op" : "add_header",
7073 "parameters" : [
7074 {
7075 "type" : "header",
7076 "value" : "int_hop_latency"
7077 }
7078 ],
7079 "source_info" : {
7080 "filename" : "include/int/int_transit.p4",
7081 "line" : 51,
7082 "column" : 8,
7083 "source_fragment" : "hdr.int_hop_latency.setValid()"
7084 }
7085 },
7086 {
7087 "op" : "assign",
7088 "parameters" : [
7089 {
7090 "type" : "field",
7091 "value" : ["int_hop_latency", "hop_latency"]
7092 },
7093 {
7094 "type" : "field",
7095 "value" : ["standard_metadata", "deq_timedelta"]
7096 }
7097 ],
7098 "source_info" : {
7099 "filename" : "include/int/int_transit.p4",
7100 "line" : 52,
7101 "column" : 8,
7102 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
7103 }
7104 },
7105 {
7106 "op" : "add_header",
7107 "parameters" : [
7108 {
7109 "type" : "header",
7110 "value" : "int_port_ids"
7111 }
7112 ],
7113 "source_info" : {
7114 "filename" : "include/int/int_transit.p4",
7115 "line" : 45,
7116 "column" : 8,
7117 "source_fragment" : "hdr.int_port_ids.setValid()"
7118 }
7119 },
7120 {
7121 "op" : "assign",
7122 "parameters" : [
7123 {
7124 "type" : "field",
7125 "value" : ["int_port_ids", "ingress_port_id"]
7126 },
7127 {
7128 "type" : "expression",
7129 "value" : {
7130 "type" : "expression",
7131 "value" : {
7132 "op" : "&",
7133 "left" : {
7134 "type" : "field",
7135 "value" : ["standard_metadata", "ingress_port"]
7136 },
7137 "right" : {
7138 "type" : "hexstr",
7139 "value" : "0xffff"
7140 }
7141 }
7142 }
7143 }
7144 ],
7145 "source_info" : {
7146 "filename" : "include/int/int_transit.p4",
7147 "line" : 46,
7148 "column" : 8,
7149 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
7150 }
7151 },
7152 {
7153 "op" : "assign",
7154 "parameters" : [
7155 {
7156 "type" : "field",
7157 "value" : ["int_port_ids", "egress_port_id"]
7158 },
7159 {
7160 "type" : "expression",
7161 "value" : {
7162 "type" : "expression",
7163 "value" : {
7164 "op" : "&",
7165 "left" : {
7166 "type" : "field",
7167 "value" : ["standard_metadata", "egress_port"]
7168 },
7169 "right" : {
7170 "type" : "hexstr",
7171 "value" : "0xffff"
7172 }
7173 }
7174 }
7175 }
7176 ],
7177 "source_info" : {
7178 "filename" : "include/int/int_transit.p4",
7179 "line" : 47,
7180 "column" : 8,
7181 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
7182 }
7183 },
7184 {
7185 "op" : "assign",
7186 "parameters" : [
7187 {
7188 "type" : "field",
7189 "value" : ["userMetadata.int_meta", "new_words"]
7190 },
7191 {
7192 "type" : "expression",
7193 "value" : {
7194 "type" : "expression",
7195 "value" : {
7196 "op" : "&",
7197 "left" : {
7198 "type" : "expression",
7199 "value" : {
7200 "op" : "+",
7201 "left" : {
7202 "type" : "field",
7203 "value" : ["userMetadata.int_meta", "new_words"]
7204 },
7205 "right" : {
7206 "type" : "hexstr",
7207 "value" : "0x03"
7208 }
7209 }
7210 },
7211 "right" : {
7212 "type" : "hexstr",
7213 "value" : "0xff"
7214 }
7215 }
7216 }
7217 }
7218 ],
7219 "source_info" : {
7220 "filename" : "include/int/int_transit.p4",
7221 "line" : 98,
7222 "column" : 8,
7223 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
7224 }
7225 },
7226 {
7227 "op" : "assign",
7228 "parameters" : [
7229 {
7230 "type" : "field",
7231 "value" : ["userMetadata.int_meta", "new_bytes"]
7232 },
7233 {
7234 "type" : "expression",
7235 "value" : {
7236 "type" : "expression",
7237 "value" : {
7238 "op" : "&",
7239 "left" : {
7240 "type" : "expression",
7241 "value" : {
7242 "op" : "+",
7243 "left" : {
7244 "type" : "field",
7245 "value" : ["userMetadata.int_meta", "new_bytes"]
7246 },
7247 "right" : {
7248 "type" : "hexstr",
7249 "value" : "0x000c"
7250 }
7251 }
7252 },
7253 "right" : {
7254 "type" : "hexstr",
7255 "value" : "0xffff"
7256 }
7257 }
7258 }
7259 }
7260 ],
7261 "source_info" : {
7262 "filename" : "include/int/int_transit.p4",
7263 "line" : 99,
7264 "column" : 8,
7265 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
7266 }
7267 }
7268 ]
7269 },
7270 {
7271 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
7272 "id" : 87,
7273 "runtime_data" : [],
7274 "primitives" : [
7275 {
7276 "op" : "add_header",
7277 "parameters" : [
7278 {
7279 "type" : "header",
7280 "value" : "int_switch_id"
7281 }
7282 ],
7283 "source_info" : {
7284 "filename" : "include/int/int_transit.p4",
7285 "line" : 40,
7286 "column" : 8,
7287 "source_fragment" : "hdr.int_switch_id.setValid()"
7288 }
7289 },
7290 {
7291 "op" : "assign",
7292 "parameters" : [
7293 {
7294 "type" : "field",
7295 "value" : ["int_switch_id", "switch_id"]
7296 },
7297 {
7298 "type" : "field",
7299 "value" : ["userMetadata.int_meta", "switch_id"]
7300 }
7301 ],
7302 "source_info" : {
7303 "filename" : "include/int/int_transit.p4",
7304 "line" : 41,
7305 "column" : 8,
7306 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7307 }
7308 },
7309 {
7310 "op" : "assign",
7311 "parameters" : [
7312 {
7313 "type" : "field",
7314 "value" : ["userMetadata.int_meta", "new_words"]
7315 },
7316 {
7317 "type" : "expression",
7318 "value" : {
7319 "type" : "expression",
7320 "value" : {
7321 "op" : "&",
7322 "left" : {
7323 "type" : "expression",
7324 "value" : {
7325 "op" : "+",
7326 "left" : {
7327 "type" : "field",
7328 "value" : ["userMetadata.int_meta", "new_words"]
7329 },
7330 "right" : {
7331 "type" : "hexstr",
7332 "value" : "0x01"
7333 }
7334 }
7335 },
7336 "right" : {
7337 "type" : "hexstr",
7338 "value" : "0xff"
7339 }
7340 }
7341 }
7342 }
7343 ],
7344 "source_info" : {
7345 "filename" : "include/int/int_transit.p4",
7346 "line" : 88,
7347 "column" : 8,
7348 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
7349 }
7350 },
7351 {
7352 "op" : "assign",
7353 "parameters" : [
7354 {
7355 "type" : "field",
7356 "value" : ["userMetadata.int_meta", "new_bytes"]
7357 },
7358 {
7359 "type" : "expression",
7360 "value" : {
7361 "type" : "expression",
7362 "value" : {
7363 "op" : "&",
7364 "left" : {
7365 "type" : "expression",
7366 "value" : {
7367 "op" : "+",
7368 "left" : {
7369 "type" : "field",
7370 "value" : ["userMetadata.int_meta", "new_bytes"]
7371 },
7372 "right" : {
7373 "type" : "hexstr",
7374 "value" : "0x0004"
7375 }
7376 }
7377 },
7378 "right" : {
7379 "type" : "hexstr",
7380 "value" : "0xffff"
7381 }
7382 }
7383 }
7384 }
7385 ],
7386 "source_info" : {
7387 "filename" : "include/int/int_transit.p4",
7388 "line" : 89,
7389 "column" : 8,
7390 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
7391 }
7392 }
7393 ]
7394 },
7395 {
7396 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
7397 "id" : 88,
7398 "runtime_data" : [],
7399 "primitives" : [
7400 {
7401 "op" : "add_header",
7402 "parameters" : [
7403 {
7404 "type" : "header",
7405 "value" : "int_q_occupancy"
7406 }
7407 ],
7408 "source_info" : {
7409 "filename" : "include/int/int_transit.p4",
7410 "line" : 56,
7411 "column" : 8,
7412 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7413 }
7414 },
7415 {
7416 "op" : "assign",
7417 "parameters" : [
7418 {
7419 "type" : "field",
7420 "value" : ["int_q_occupancy", "q_id"]
7421 },
7422 {
7423 "type" : "hexstr",
7424 "value" : "0x00"
7425 }
7426 ],
7427 "source_info" : {
7428 "filename" : "include/int/int_transit.p4",
7429 "line" : 58,
7430 "column" : 8,
7431 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
7432 }
7433 },
7434 {
7435 "op" : "assign",
7436 "parameters" : [
7437 {
7438 "type" : "field",
7439 "value" : ["int_q_occupancy", "q_occupancy"]
7440 },
7441 {
7442 "type" : "expression",
7443 "value" : {
7444 "type" : "expression",
7445 "value" : {
7446 "op" : "&",
7447 "left" : {
7448 "type" : "field",
7449 "value" : ["standard_metadata", "deq_qdepth"]
7450 },
7451 "right" : {
7452 "type" : "hexstr",
7453 "value" : "0xffffff"
7454 }
7455 }
7456 }
7457 }
7458 ],
7459 "source_info" : {
7460 "filename" : "include/int/int_transit.p4",
7461 "line" : 59,
7462 "column" : 8,
7463 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
7464 }
7465 },
7466 {
7467 "op" : "add_header",
7468 "parameters" : [
7469 {
7470 "type" : "header",
7471 "value" : "int_switch_id"
7472 }
7473 ],
7474 "source_info" : {
7475 "filename" : "include/int/int_transit.p4",
7476 "line" : 40,
7477 "column" : 8,
7478 "source_fragment" : "hdr.int_switch_id.setValid()"
7479 }
7480 },
7481 {
7482 "op" : "assign",
7483 "parameters" : [
7484 {
7485 "type" : "field",
7486 "value" : ["int_switch_id", "switch_id"]
7487 },
7488 {
7489 "type" : "field",
7490 "value" : ["userMetadata.int_meta", "switch_id"]
7491 }
7492 ],
7493 "source_info" : {
7494 "filename" : "include/int/int_transit.p4",
7495 "line" : 41,
7496 "column" : 8,
7497 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7498 }
7499 },
7500 {
7501 "op" : "assign",
7502 "parameters" : [
7503 {
7504 "type" : "field",
7505 "value" : ["userMetadata.int_meta", "new_words"]
7506 },
7507 {
7508 "type" : "expression",
7509 "value" : {
7510 "type" : "expression",
7511 "value" : {
7512 "op" : "&",
7513 "left" : {
7514 "type" : "expression",
7515 "value" : {
7516 "op" : "+",
7517 "left" : {
7518 "type" : "field",
7519 "value" : ["userMetadata.int_meta", "new_words"]
7520 },
7521 "right" : {
7522 "type" : "hexstr",
7523 "value" : "0x02"
7524 }
7525 }
7526 },
7527 "right" : {
7528 "type" : "hexstr",
7529 "value" : "0xff"
7530 }
7531 }
7532 }
7533 }
7534 ],
7535 "source_info" : {
7536 "filename" : "include/int/int_transit.p4",
7537 "line" : 93,
7538 "column" : 8,
7539 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
7540 }
7541 },
7542 {
7543 "op" : "assign",
7544 "parameters" : [
7545 {
7546 "type" : "field",
7547 "value" : ["userMetadata.int_meta", "new_bytes"]
7548 },
7549 {
7550 "type" : "expression",
7551 "value" : {
7552 "type" : "expression",
7553 "value" : {
7554 "op" : "&",
7555 "left" : {
7556 "type" : "expression",
7557 "value" : {
7558 "op" : "+",
7559 "left" : {
7560 "type" : "field",
7561 "value" : ["userMetadata.int_meta", "new_bytes"]
7562 },
7563 "right" : {
7564 "type" : "hexstr",
7565 "value" : "0x0008"
7566 }
7567 }
7568 },
7569 "right" : {
7570 "type" : "hexstr",
7571 "value" : "0xffff"
7572 }
7573 }
7574 }
7575 }
7576 ],
7577 "source_info" : {
7578 "filename" : "include/int/int_transit.p4",
7579 "line" : 94,
7580 "column" : 8,
7581 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
7582 }
7583 }
7584 ]
7585 },
7586 {
7587 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
7588 "id" : 89,
7589 "runtime_data" : [],
7590 "primitives" : [
7591 {
7592 "op" : "add_header",
7593 "parameters" : [
7594 {
7595 "type" : "header",
7596 "value" : "int_hop_latency"
7597 }
7598 ],
7599 "source_info" : {
7600 "filename" : "include/int/int_transit.p4",
7601 "line" : 51,
7602 "column" : 8,
7603 "source_fragment" : "hdr.int_hop_latency.setValid()"
7604 }
7605 },
7606 {
7607 "op" : "assign",
7608 "parameters" : [
7609 {
7610 "type" : "field",
7611 "value" : ["int_hop_latency", "hop_latency"]
7612 },
7613 {
7614 "type" : "field",
7615 "value" : ["standard_metadata", "deq_timedelta"]
7616 }
7617 ],
7618 "source_info" : {
7619 "filename" : "include/int/int_transit.p4",
7620 "line" : 52,
7621 "column" : 8,
7622 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
7623 }
7624 },
7625 {
7626 "op" : "add_header",
7627 "parameters" : [
7628 {
7629 "type" : "header",
7630 "value" : "int_switch_id"
7631 }
7632 ],
7633 "source_info" : {
7634 "filename" : "include/int/int_transit.p4",
7635 "line" : 40,
7636 "column" : 8,
7637 "source_fragment" : "hdr.int_switch_id.setValid()"
7638 }
7639 },
7640 {
7641 "op" : "assign",
7642 "parameters" : [
7643 {
7644 "type" : "field",
7645 "value" : ["int_switch_id", "switch_id"]
7646 },
7647 {
7648 "type" : "field",
7649 "value" : ["userMetadata.int_meta", "switch_id"]
7650 }
7651 ],
7652 "source_info" : {
7653 "filename" : "include/int/int_transit.p4",
7654 "line" : 41,
7655 "column" : 8,
7656 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7657 }
7658 },
7659 {
7660 "op" : "assign",
7661 "parameters" : [
7662 {
7663 "type" : "field",
7664 "value" : ["userMetadata.int_meta", "new_words"]
7665 },
7666 {
7667 "type" : "expression",
7668 "value" : {
7669 "type" : "expression",
7670 "value" : {
7671 "op" : "&",
7672 "left" : {
7673 "type" : "expression",
7674 "value" : {
7675 "op" : "+",
7676 "left" : {
7677 "type" : "field",
7678 "value" : ["userMetadata.int_meta", "new_words"]
7679 },
7680 "right" : {
7681 "type" : "hexstr",
7682 "value" : "0x02"
7683 }
7684 }
7685 },
7686 "right" : {
7687 "type" : "hexstr",
7688 "value" : "0xff"
7689 }
7690 }
7691 }
7692 }
7693 ],
7694 "source_info" : {
7695 "filename" : "include/int/int_transit.p4",
7696 "line" : 93,
7697 "column" : 8,
7698 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
7699 }
7700 },
7701 {
7702 "op" : "assign",
7703 "parameters" : [
7704 {
7705 "type" : "field",
7706 "value" : ["userMetadata.int_meta", "new_bytes"]
7707 },
7708 {
7709 "type" : "expression",
7710 "value" : {
7711 "type" : "expression",
7712 "value" : {
7713 "op" : "&",
7714 "left" : {
7715 "type" : "expression",
7716 "value" : {
7717 "op" : "+",
7718 "left" : {
7719 "type" : "field",
7720 "value" : ["userMetadata.int_meta", "new_bytes"]
7721 },
7722 "right" : {
7723 "type" : "hexstr",
7724 "value" : "0x0008"
7725 }
7726 }
7727 },
7728 "right" : {
7729 "type" : "hexstr",
7730 "value" : "0xffff"
7731 }
7732 }
7733 }
7734 }
7735 ],
7736 "source_info" : {
7737 "filename" : "include/int/int_transit.p4",
7738 "line" : 94,
7739 "column" : 8,
7740 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
7741 }
7742 }
7743 ]
7744 },
7745 {
7746 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
7747 "id" : 90,
7748 "runtime_data" : [],
7749 "primitives" : [
7750 {
7751 "op" : "add_header",
7752 "parameters" : [
7753 {
7754 "type" : "header",
7755 "value" : "int_q_occupancy"
7756 }
7757 ],
7758 "source_info" : {
7759 "filename" : "include/int/int_transit.p4",
7760 "line" : 56,
7761 "column" : 8,
7762 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7763 }
7764 },
7765 {
7766 "op" : "assign",
7767 "parameters" : [
7768 {
7769 "type" : "field",
7770 "value" : ["int_q_occupancy", "q_id"]
7771 },
7772 {
7773 "type" : "hexstr",
7774 "value" : "0x00"
7775 }
7776 ],
7777 "source_info" : {
7778 "filename" : "include/int/int_transit.p4",
7779 "line" : 58,
7780 "column" : 8,
7781 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
7782 }
7783 },
7784 {
7785 "op" : "assign",
7786 "parameters" : [
7787 {
7788 "type" : "field",
7789 "value" : ["int_q_occupancy", "q_occupancy"]
7790 },
7791 {
7792 "type" : "expression",
7793 "value" : {
7794 "type" : "expression",
7795 "value" : {
7796 "op" : "&",
7797 "left" : {
7798 "type" : "field",
7799 "value" : ["standard_metadata", "deq_qdepth"]
7800 },
7801 "right" : {
7802 "type" : "hexstr",
7803 "value" : "0xffffff"
7804 }
7805 }
7806 }
7807 }
7808 ],
7809 "source_info" : {
7810 "filename" : "include/int/int_transit.p4",
7811 "line" : 59,
7812 "column" : 8,
7813 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
7814 }
7815 },
7816 {
7817 "op" : "add_header",
7818 "parameters" : [
7819 {
7820 "type" : "header",
7821 "value" : "int_hop_latency"
7822 }
7823 ],
7824 "source_info" : {
7825 "filename" : "include/int/int_transit.p4",
7826 "line" : 51,
7827 "column" : 8,
7828 "source_fragment" : "hdr.int_hop_latency.setValid()"
7829 }
7830 },
7831 {
7832 "op" : "assign",
7833 "parameters" : [
7834 {
7835 "type" : "field",
7836 "value" : ["int_hop_latency", "hop_latency"]
7837 },
7838 {
7839 "type" : "field",
7840 "value" : ["standard_metadata", "deq_timedelta"]
7841 }
7842 ],
7843 "source_info" : {
7844 "filename" : "include/int/int_transit.p4",
7845 "line" : 52,
7846 "column" : 8,
7847 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
7848 }
7849 },
7850 {
7851 "op" : "add_header",
7852 "parameters" : [
7853 {
7854 "type" : "header",
7855 "value" : "int_switch_id"
7856 }
7857 ],
7858 "source_info" : {
7859 "filename" : "include/int/int_transit.p4",
7860 "line" : 40,
7861 "column" : 8,
7862 "source_fragment" : "hdr.int_switch_id.setValid()"
7863 }
7864 },
7865 {
7866 "op" : "assign",
7867 "parameters" : [
7868 {
7869 "type" : "field",
7870 "value" : ["int_switch_id", "switch_id"]
7871 },
7872 {
7873 "type" : "field",
7874 "value" : ["userMetadata.int_meta", "switch_id"]
7875 }
7876 ],
7877 "source_info" : {
7878 "filename" : "include/int/int_transit.p4",
7879 "line" : 41,
7880 "column" : 8,
7881 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
7882 }
7883 },
7884 {
7885 "op" : "assign",
7886 "parameters" : [
7887 {
7888 "type" : "field",
7889 "value" : ["userMetadata.int_meta", "new_words"]
7890 },
7891 {
7892 "type" : "expression",
7893 "value" : {
7894 "type" : "expression",
7895 "value" : {
7896 "op" : "&",
7897 "left" : {
7898 "type" : "expression",
7899 "value" : {
7900 "op" : "+",
7901 "left" : {
7902 "type" : "field",
7903 "value" : ["userMetadata.int_meta", "new_words"]
7904 },
7905 "right" : {
7906 "type" : "hexstr",
7907 "value" : "0x03"
7908 }
7909 }
7910 },
7911 "right" : {
7912 "type" : "hexstr",
7913 "value" : "0xff"
7914 }
7915 }
7916 }
7917 }
7918 ],
7919 "source_info" : {
7920 "filename" : "include/int/int_transit.p4",
7921 "line" : 98,
7922 "column" : 8,
7923 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
7924 }
7925 },
7926 {
7927 "op" : "assign",
7928 "parameters" : [
7929 {
7930 "type" : "field",
7931 "value" : ["userMetadata.int_meta", "new_bytes"]
7932 },
7933 {
7934 "type" : "expression",
7935 "value" : {
7936 "type" : "expression",
7937 "value" : {
7938 "op" : "&",
7939 "left" : {
7940 "type" : "expression",
7941 "value" : {
7942 "op" : "+",
7943 "left" : {
7944 "type" : "field",
7945 "value" : ["userMetadata.int_meta", "new_bytes"]
7946 },
7947 "right" : {
7948 "type" : "hexstr",
7949 "value" : "0x000c"
7950 }
7951 }
7952 },
7953 "right" : {
7954 "type" : "hexstr",
7955 "value" : "0xffff"
7956 }
7957 }
7958 }
7959 }
7960 ],
7961 "source_info" : {
7962 "filename" : "include/int/int_transit.p4",
7963 "line" : 99,
7964 "column" : 8,
7965 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
7966 }
7967 }
7968 ]
7969 },
7970 {
7971 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
7972 "id" : 91,
7973 "runtime_data" : [],
7974 "primitives" : [
7975 {
7976 "op" : "add_header",
7977 "parameters" : [
7978 {
7979 "type" : "header",
7980 "value" : "int_port_ids"
7981 }
7982 ],
7983 "source_info" : {
7984 "filename" : "include/int/int_transit.p4",
7985 "line" : 45,
7986 "column" : 8,
7987 "source_fragment" : "hdr.int_port_ids.setValid()"
7988 }
7989 },
7990 {
7991 "op" : "assign",
7992 "parameters" : [
7993 {
7994 "type" : "field",
7995 "value" : ["int_port_ids", "ingress_port_id"]
7996 },
7997 {
7998 "type" : "expression",
7999 "value" : {
8000 "type" : "expression",
8001 "value" : {
8002 "op" : "&",
8003 "left" : {
8004 "type" : "field",
8005 "value" : ["standard_metadata", "ingress_port"]
8006 },
8007 "right" : {
8008 "type" : "hexstr",
8009 "value" : "0xffff"
8010 }
8011 }
8012 }
8013 }
8014 ],
8015 "source_info" : {
8016 "filename" : "include/int/int_transit.p4",
8017 "line" : 46,
8018 "column" : 8,
8019 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8020 }
8021 },
8022 {
8023 "op" : "assign",
8024 "parameters" : [
8025 {
8026 "type" : "field",
8027 "value" : ["int_port_ids", "egress_port_id"]
8028 },
8029 {
8030 "type" : "expression",
8031 "value" : {
8032 "type" : "expression",
8033 "value" : {
8034 "op" : "&",
8035 "left" : {
8036 "type" : "field",
8037 "value" : ["standard_metadata", "egress_port"]
8038 },
8039 "right" : {
8040 "type" : "hexstr",
8041 "value" : "0xffff"
8042 }
8043 }
8044 }
8045 }
8046 ],
8047 "source_info" : {
8048 "filename" : "include/int/int_transit.p4",
8049 "line" : 47,
8050 "column" : 8,
8051 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8052 }
8053 },
8054 {
8055 "op" : "add_header",
8056 "parameters" : [
8057 {
8058 "type" : "header",
8059 "value" : "int_switch_id"
8060 }
8061 ],
8062 "source_info" : {
8063 "filename" : "include/int/int_transit.p4",
8064 "line" : 40,
8065 "column" : 8,
8066 "source_fragment" : "hdr.int_switch_id.setValid()"
8067 }
8068 },
8069 {
8070 "op" : "assign",
8071 "parameters" : [
8072 {
8073 "type" : "field",
8074 "value" : ["int_switch_id", "switch_id"]
8075 },
8076 {
8077 "type" : "field",
8078 "value" : ["userMetadata.int_meta", "switch_id"]
8079 }
8080 ],
8081 "source_info" : {
8082 "filename" : "include/int/int_transit.p4",
8083 "line" : 41,
8084 "column" : 8,
8085 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8086 }
8087 },
8088 {
8089 "op" : "assign",
8090 "parameters" : [
8091 {
8092 "type" : "field",
8093 "value" : ["userMetadata.int_meta", "new_words"]
8094 },
8095 {
8096 "type" : "expression",
8097 "value" : {
8098 "type" : "expression",
8099 "value" : {
8100 "op" : "&",
8101 "left" : {
8102 "type" : "expression",
8103 "value" : {
8104 "op" : "+",
8105 "left" : {
8106 "type" : "field",
8107 "value" : ["userMetadata.int_meta", "new_words"]
8108 },
8109 "right" : {
8110 "type" : "hexstr",
8111 "value" : "0x02"
8112 }
8113 }
8114 },
8115 "right" : {
8116 "type" : "hexstr",
8117 "value" : "0xff"
8118 }
8119 }
8120 }
8121 }
8122 ],
8123 "source_info" : {
8124 "filename" : "include/int/int_transit.p4",
8125 "line" : 93,
8126 "column" : 8,
8127 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
8128 }
8129 },
8130 {
8131 "op" : "assign",
8132 "parameters" : [
8133 {
8134 "type" : "field",
8135 "value" : ["userMetadata.int_meta", "new_bytes"]
8136 },
8137 {
8138 "type" : "expression",
8139 "value" : {
8140 "type" : "expression",
8141 "value" : {
8142 "op" : "&",
8143 "left" : {
8144 "type" : "expression",
8145 "value" : {
8146 "op" : "+",
8147 "left" : {
8148 "type" : "field",
8149 "value" : ["userMetadata.int_meta", "new_bytes"]
8150 },
8151 "right" : {
8152 "type" : "hexstr",
8153 "value" : "0x0008"
8154 }
8155 }
8156 },
8157 "right" : {
8158 "type" : "hexstr",
8159 "value" : "0xffff"
8160 }
8161 }
8162 }
8163 }
8164 ],
8165 "source_info" : {
8166 "filename" : "include/int/int_transit.p4",
8167 "line" : 94,
8168 "column" : 8,
8169 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
8170 }
8171 }
8172 ]
8173 },
8174 {
8175 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
8176 "id" : 92,
8177 "runtime_data" : [],
8178 "primitives" : [
8179 {
8180 "op" : "add_header",
8181 "parameters" : [
8182 {
8183 "type" : "header",
8184 "value" : "int_q_occupancy"
8185 }
8186 ],
8187 "source_info" : {
8188 "filename" : "include/int/int_transit.p4",
8189 "line" : 56,
8190 "column" : 8,
8191 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8192 }
8193 },
8194 {
8195 "op" : "assign",
8196 "parameters" : [
8197 {
8198 "type" : "field",
8199 "value" : ["int_q_occupancy", "q_id"]
8200 },
8201 {
8202 "type" : "hexstr",
8203 "value" : "0x00"
8204 }
8205 ],
8206 "source_info" : {
8207 "filename" : "include/int/int_transit.p4",
8208 "line" : 58,
8209 "column" : 8,
8210 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
8211 }
8212 },
8213 {
8214 "op" : "assign",
8215 "parameters" : [
8216 {
8217 "type" : "field",
8218 "value" : ["int_q_occupancy", "q_occupancy"]
8219 },
8220 {
8221 "type" : "expression",
8222 "value" : {
8223 "type" : "expression",
8224 "value" : {
8225 "op" : "&",
8226 "left" : {
8227 "type" : "field",
8228 "value" : ["standard_metadata", "deq_qdepth"]
8229 },
8230 "right" : {
8231 "type" : "hexstr",
8232 "value" : "0xffffff"
8233 }
8234 }
8235 }
8236 }
8237 ],
8238 "source_info" : {
8239 "filename" : "include/int/int_transit.p4",
8240 "line" : 59,
8241 "column" : 8,
8242 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
8243 }
8244 },
8245 {
8246 "op" : "add_header",
8247 "parameters" : [
8248 {
8249 "type" : "header",
8250 "value" : "int_port_ids"
8251 }
8252 ],
8253 "source_info" : {
8254 "filename" : "include/int/int_transit.p4",
8255 "line" : 45,
8256 "column" : 8,
8257 "source_fragment" : "hdr.int_port_ids.setValid()"
8258 }
8259 },
8260 {
8261 "op" : "assign",
8262 "parameters" : [
8263 {
8264 "type" : "field",
8265 "value" : ["int_port_ids", "ingress_port_id"]
8266 },
8267 {
8268 "type" : "expression",
8269 "value" : {
8270 "type" : "expression",
8271 "value" : {
8272 "op" : "&",
8273 "left" : {
8274 "type" : "field",
8275 "value" : ["standard_metadata", "ingress_port"]
8276 },
8277 "right" : {
8278 "type" : "hexstr",
8279 "value" : "0xffff"
8280 }
8281 }
8282 }
8283 }
8284 ],
8285 "source_info" : {
8286 "filename" : "include/int/int_transit.p4",
8287 "line" : 46,
8288 "column" : 8,
8289 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8290 }
8291 },
8292 {
8293 "op" : "assign",
8294 "parameters" : [
8295 {
8296 "type" : "field",
8297 "value" : ["int_port_ids", "egress_port_id"]
8298 },
8299 {
8300 "type" : "expression",
8301 "value" : {
8302 "type" : "expression",
8303 "value" : {
8304 "op" : "&",
8305 "left" : {
8306 "type" : "field",
8307 "value" : ["standard_metadata", "egress_port"]
8308 },
8309 "right" : {
8310 "type" : "hexstr",
8311 "value" : "0xffff"
8312 }
8313 }
8314 }
8315 }
8316 ],
8317 "source_info" : {
8318 "filename" : "include/int/int_transit.p4",
8319 "line" : 47,
8320 "column" : 8,
8321 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8322 }
8323 },
8324 {
8325 "op" : "add_header",
8326 "parameters" : [
8327 {
8328 "type" : "header",
8329 "value" : "int_switch_id"
8330 }
8331 ],
8332 "source_info" : {
8333 "filename" : "include/int/int_transit.p4",
8334 "line" : 40,
8335 "column" : 8,
8336 "source_fragment" : "hdr.int_switch_id.setValid()"
8337 }
8338 },
8339 {
8340 "op" : "assign",
8341 "parameters" : [
8342 {
8343 "type" : "field",
8344 "value" : ["int_switch_id", "switch_id"]
8345 },
8346 {
8347 "type" : "field",
8348 "value" : ["userMetadata.int_meta", "switch_id"]
8349 }
8350 ],
8351 "source_info" : {
8352 "filename" : "include/int/int_transit.p4",
8353 "line" : 41,
8354 "column" : 8,
8355 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8356 }
8357 },
8358 {
8359 "op" : "assign",
8360 "parameters" : [
8361 {
8362 "type" : "field",
8363 "value" : ["userMetadata.int_meta", "new_words"]
8364 },
8365 {
8366 "type" : "expression",
8367 "value" : {
8368 "type" : "expression",
8369 "value" : {
8370 "op" : "&",
8371 "left" : {
8372 "type" : "expression",
8373 "value" : {
8374 "op" : "+",
8375 "left" : {
8376 "type" : "field",
8377 "value" : ["userMetadata.int_meta", "new_words"]
8378 },
8379 "right" : {
8380 "type" : "hexstr",
8381 "value" : "0x03"
8382 }
8383 }
8384 },
8385 "right" : {
8386 "type" : "hexstr",
8387 "value" : "0xff"
8388 }
8389 }
8390 }
8391 }
8392 ],
8393 "source_info" : {
8394 "filename" : "include/int/int_transit.p4",
8395 "line" : 98,
8396 "column" : 8,
8397 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
8398 }
8399 },
8400 {
8401 "op" : "assign",
8402 "parameters" : [
8403 {
8404 "type" : "field",
8405 "value" : ["userMetadata.int_meta", "new_bytes"]
8406 },
8407 {
8408 "type" : "expression",
8409 "value" : {
8410 "type" : "expression",
8411 "value" : {
8412 "op" : "&",
8413 "left" : {
8414 "type" : "expression",
8415 "value" : {
8416 "op" : "+",
8417 "left" : {
8418 "type" : "field",
8419 "value" : ["userMetadata.int_meta", "new_bytes"]
8420 },
8421 "right" : {
8422 "type" : "hexstr",
8423 "value" : "0x000c"
8424 }
8425 }
8426 },
8427 "right" : {
8428 "type" : "hexstr",
8429 "value" : "0xffff"
8430 }
8431 }
8432 }
8433 }
8434 ],
8435 "source_info" : {
8436 "filename" : "include/int/int_transit.p4",
8437 "line" : 99,
8438 "column" : 8,
8439 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
8440 }
8441 }
8442 ]
8443 },
8444 {
8445 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
8446 "id" : 93,
8447 "runtime_data" : [],
8448 "primitives" : [
8449 {
8450 "op" : "add_header",
8451 "parameters" : [
8452 {
8453 "type" : "header",
8454 "value" : "int_hop_latency"
8455 }
8456 ],
8457 "source_info" : {
8458 "filename" : "include/int/int_transit.p4",
8459 "line" : 51,
8460 "column" : 8,
8461 "source_fragment" : "hdr.int_hop_latency.setValid()"
8462 }
8463 },
8464 {
8465 "op" : "assign",
8466 "parameters" : [
8467 {
8468 "type" : "field",
8469 "value" : ["int_hop_latency", "hop_latency"]
8470 },
8471 {
8472 "type" : "field",
8473 "value" : ["standard_metadata", "deq_timedelta"]
8474 }
8475 ],
8476 "source_info" : {
8477 "filename" : "include/int/int_transit.p4",
8478 "line" : 52,
8479 "column" : 8,
8480 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
8481 }
8482 },
8483 {
8484 "op" : "add_header",
8485 "parameters" : [
8486 {
8487 "type" : "header",
8488 "value" : "int_port_ids"
8489 }
8490 ],
8491 "source_info" : {
8492 "filename" : "include/int/int_transit.p4",
8493 "line" : 45,
8494 "column" : 8,
8495 "source_fragment" : "hdr.int_port_ids.setValid()"
8496 }
8497 },
8498 {
8499 "op" : "assign",
8500 "parameters" : [
8501 {
8502 "type" : "field",
8503 "value" : ["int_port_ids", "ingress_port_id"]
8504 },
8505 {
8506 "type" : "expression",
8507 "value" : {
8508 "type" : "expression",
8509 "value" : {
8510 "op" : "&",
8511 "left" : {
8512 "type" : "field",
8513 "value" : ["standard_metadata", "ingress_port"]
8514 },
8515 "right" : {
8516 "type" : "hexstr",
8517 "value" : "0xffff"
8518 }
8519 }
8520 }
8521 }
8522 ],
8523 "source_info" : {
8524 "filename" : "include/int/int_transit.p4",
8525 "line" : 46,
8526 "column" : 8,
8527 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8528 }
8529 },
8530 {
8531 "op" : "assign",
8532 "parameters" : [
8533 {
8534 "type" : "field",
8535 "value" : ["int_port_ids", "egress_port_id"]
8536 },
8537 {
8538 "type" : "expression",
8539 "value" : {
8540 "type" : "expression",
8541 "value" : {
8542 "op" : "&",
8543 "left" : {
8544 "type" : "field",
8545 "value" : ["standard_metadata", "egress_port"]
8546 },
8547 "right" : {
8548 "type" : "hexstr",
8549 "value" : "0xffff"
8550 }
8551 }
8552 }
8553 }
8554 ],
8555 "source_info" : {
8556 "filename" : "include/int/int_transit.p4",
8557 "line" : 47,
8558 "column" : 8,
8559 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8560 }
8561 },
8562 {
8563 "op" : "add_header",
8564 "parameters" : [
8565 {
8566 "type" : "header",
8567 "value" : "int_switch_id"
8568 }
8569 ],
8570 "source_info" : {
8571 "filename" : "include/int/int_transit.p4",
8572 "line" : 40,
8573 "column" : 8,
8574 "source_fragment" : "hdr.int_switch_id.setValid()"
8575 }
8576 },
8577 {
8578 "op" : "assign",
8579 "parameters" : [
8580 {
8581 "type" : "field",
8582 "value" : ["int_switch_id", "switch_id"]
8583 },
8584 {
8585 "type" : "field",
8586 "value" : ["userMetadata.int_meta", "switch_id"]
8587 }
8588 ],
8589 "source_info" : {
8590 "filename" : "include/int/int_transit.p4",
8591 "line" : 41,
8592 "column" : 8,
8593 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8594 }
8595 },
8596 {
8597 "op" : "assign",
8598 "parameters" : [
8599 {
8600 "type" : "field",
8601 "value" : ["userMetadata.int_meta", "new_words"]
8602 },
8603 {
8604 "type" : "expression",
8605 "value" : {
8606 "type" : "expression",
8607 "value" : {
8608 "op" : "&",
8609 "left" : {
8610 "type" : "expression",
8611 "value" : {
8612 "op" : "+",
8613 "left" : {
8614 "type" : "field",
8615 "value" : ["userMetadata.int_meta", "new_words"]
8616 },
8617 "right" : {
8618 "type" : "hexstr",
8619 "value" : "0x03"
8620 }
8621 }
8622 },
8623 "right" : {
8624 "type" : "hexstr",
8625 "value" : "0xff"
8626 }
8627 }
8628 }
8629 }
8630 ],
8631 "source_info" : {
8632 "filename" : "include/int/int_transit.p4",
8633 "line" : 98,
8634 "column" : 8,
8635 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
8636 }
8637 },
8638 {
8639 "op" : "assign",
8640 "parameters" : [
8641 {
8642 "type" : "field",
8643 "value" : ["userMetadata.int_meta", "new_bytes"]
8644 },
8645 {
8646 "type" : "expression",
8647 "value" : {
8648 "type" : "expression",
8649 "value" : {
8650 "op" : "&",
8651 "left" : {
8652 "type" : "expression",
8653 "value" : {
8654 "op" : "+",
8655 "left" : {
8656 "type" : "field",
8657 "value" : ["userMetadata.int_meta", "new_bytes"]
8658 },
8659 "right" : {
8660 "type" : "hexstr",
8661 "value" : "0x000c"
8662 }
8663 }
8664 },
8665 "right" : {
8666 "type" : "hexstr",
8667 "value" : "0xffff"
8668 }
8669 }
8670 }
8671 }
8672 ],
8673 "source_info" : {
8674 "filename" : "include/int/int_transit.p4",
8675 "line" : 99,
8676 "column" : 8,
8677 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
8678 }
8679 }
8680 ]
8681 },
8682 {
8683 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
8684 "id" : 94,
8685 "runtime_data" : [],
8686 "primitives" : [
8687 {
8688 "op" : "add_header",
8689 "parameters" : [
8690 {
8691 "type" : "header",
8692 "value" : "int_q_occupancy"
8693 }
8694 ],
8695 "source_info" : {
8696 "filename" : "include/int/int_transit.p4",
8697 "line" : 56,
8698 "column" : 8,
8699 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8700 }
8701 },
8702 {
8703 "op" : "assign",
8704 "parameters" : [
8705 {
8706 "type" : "field",
8707 "value" : ["int_q_occupancy", "q_id"]
8708 },
8709 {
8710 "type" : "hexstr",
8711 "value" : "0x00"
8712 }
8713 ],
8714 "source_info" : {
8715 "filename" : "include/int/int_transit.p4",
8716 "line" : 58,
8717 "column" : 8,
8718 "source_fragment" : "hdr.int_q_occupancy.q_id = 8w0"
8719 }
8720 },
8721 {
8722 "op" : "assign",
8723 "parameters" : [
8724 {
8725 "type" : "field",
8726 "value" : ["int_q_occupancy", "q_occupancy"]
8727 },
8728 {
8729 "type" : "expression",
8730 "value" : {
8731 "type" : "expression",
8732 "value" : {
8733 "op" : "&",
8734 "left" : {
8735 "type" : "field",
8736 "value" : ["standard_metadata", "deq_qdepth"]
8737 },
8738 "right" : {
8739 "type" : "hexstr",
8740 "value" : "0xffffff"
8741 }
8742 }
8743 }
8744 }
8745 ],
8746 "source_info" : {
8747 "filename" : "include/int/int_transit.p4",
8748 "line" : 59,
8749 "column" : 8,
8750 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
8751 }
8752 },
8753 {
8754 "op" : "add_header",
8755 "parameters" : [
8756 {
8757 "type" : "header",
8758 "value" : "int_hop_latency"
8759 }
8760 ],
8761 "source_info" : {
8762 "filename" : "include/int/int_transit.p4",
8763 "line" : 51,
8764 "column" : 8,
8765 "source_fragment" : "hdr.int_hop_latency.setValid()"
8766 }
8767 },
8768 {
8769 "op" : "assign",
8770 "parameters" : [
8771 {
8772 "type" : "field",
8773 "value" : ["int_hop_latency", "hop_latency"]
8774 },
8775 {
8776 "type" : "field",
8777 "value" : ["standard_metadata", "deq_timedelta"]
8778 }
8779 ],
8780 "source_info" : {
8781 "filename" : "include/int/int_transit.p4",
8782 "line" : 52,
8783 "column" : 8,
8784 "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
8785 }
8786 },
8787 {
8788 "op" : "add_header",
8789 "parameters" : [
8790 {
8791 "type" : "header",
8792 "value" : "int_port_ids"
8793 }
8794 ],
8795 "source_info" : {
8796 "filename" : "include/int/int_transit.p4",
8797 "line" : 45,
8798 "column" : 8,
8799 "source_fragment" : "hdr.int_port_ids.setValid()"
8800 }
8801 },
8802 {
8803 "op" : "assign",
8804 "parameters" : [
8805 {
8806 "type" : "field",
8807 "value" : ["int_port_ids", "ingress_port_id"]
8808 },
8809 {
8810 "type" : "expression",
8811 "value" : {
8812 "type" : "expression",
8813 "value" : {
8814 "op" : "&",
8815 "left" : {
8816 "type" : "field",
8817 "value" : ["standard_metadata", "ingress_port"]
8818 },
8819 "right" : {
8820 "type" : "hexstr",
8821 "value" : "0xffff"
8822 }
8823 }
8824 }
8825 }
8826 ],
8827 "source_info" : {
8828 "filename" : "include/int/int_transit.p4",
8829 "line" : 46,
8830 "column" : 8,
8831 "source_fragment" : "hdr.int_port_ids.ingress_port_id = (bit<16>) smeta.ingress_port"
8832 }
8833 },
8834 {
8835 "op" : "assign",
8836 "parameters" : [
8837 {
8838 "type" : "field",
8839 "value" : ["int_port_ids", "egress_port_id"]
8840 },
8841 {
8842 "type" : "expression",
8843 "value" : {
8844 "type" : "expression",
8845 "value" : {
8846 "op" : "&",
8847 "left" : {
8848 "type" : "field",
8849 "value" : ["standard_metadata", "egress_port"]
8850 },
8851 "right" : {
8852 "type" : "hexstr",
8853 "value" : "0xffff"
8854 }
8855 }
8856 }
8857 }
8858 ],
8859 "source_info" : {
8860 "filename" : "include/int/int_transit.p4",
8861 "line" : 47,
8862 "column" : 8,
8863 "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
8864 }
8865 },
8866 {
8867 "op" : "add_header",
8868 "parameters" : [
8869 {
8870 "type" : "header",
8871 "value" : "int_switch_id"
8872 }
8873 ],
8874 "source_info" : {
8875 "filename" : "include/int/int_transit.p4",
8876 "line" : 40,
8877 "column" : 8,
8878 "source_fragment" : "hdr.int_switch_id.setValid()"
8879 }
8880 },
8881 {
8882 "op" : "assign",
8883 "parameters" : [
8884 {
8885 "type" : "field",
8886 "value" : ["int_switch_id", "switch_id"]
8887 },
8888 {
8889 "type" : "field",
8890 "value" : ["userMetadata.int_meta", "switch_id"]
8891 }
8892 ],
8893 "source_info" : {
8894 "filename" : "include/int/int_transit.p4",
8895 "line" : 41,
8896 "column" : 8,
8897 "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id"
8898 }
8899 },
8900 {
8901 "op" : "assign",
8902 "parameters" : [
8903 {
8904 "type" : "field",
8905 "value" : ["userMetadata.int_meta", "new_words"]
8906 },
8907 {
8908 "type" : "expression",
8909 "value" : {
8910 "type" : "expression",
8911 "value" : {
8912 "op" : "&",
8913 "left" : {
8914 "type" : "expression",
8915 "value" : {
8916 "op" : "+",
8917 "left" : {
8918 "type" : "field",
8919 "value" : ["userMetadata.int_meta", "new_words"]
8920 },
8921 "right" : {
8922 "type" : "hexstr",
8923 "value" : "0x04"
8924 }
8925 }
8926 },
8927 "right" : {
8928 "type" : "hexstr",
8929 "value" : "0xff"
8930 }
8931 }
8932 }
8933 }
8934 ],
8935 "source_info" : {
8936 "filename" : "include/int/int_transit.p4",
8937 "line" : 103,
8938 "column" : 8,
8939 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
8940 }
8941 },
8942 {
8943 "op" : "assign",
8944 "parameters" : [
8945 {
8946 "type" : "field",
8947 "value" : ["userMetadata.int_meta", "new_bytes"]
8948 },
8949 {
8950 "type" : "expression",
8951 "value" : {
8952 "type" : "expression",
8953 "value" : {
8954 "op" : "&",
8955 "left" : {
8956 "type" : "expression",
8957 "value" : {
8958 "op" : "+",
8959 "left" : {
8960 "type" : "field",
8961 "value" : ["userMetadata.int_meta", "new_bytes"]
8962 },
8963 "right" : {
8964 "type" : "hexstr",
8965 "value" : "0x0010"
8966 }
8967 }
8968 },
8969 "right" : {
8970 "type" : "hexstr",
8971 "value" : "0xffff"
8972 }
8973 }
8974 }
8975 }
8976 ],
8977 "source_info" : {
8978 "filename" : "include/int/int_transit.p4",
8979 "line" : 104,
8980 "column" : 8,
8981 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
8982 }
8983 }
8984 ]
8985 },
8986 {
8987 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
8988 "id" : 95,
8989 "runtime_data" : [],
8990 "primitives" : []
8991 },
8992 {
8993 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
8994 "id" : 96,
8995 "runtime_data" : [],
8996 "primitives" : [
8997 {
8998 "op" : "add_header",
8999 "parameters" : [
9000 {
9001 "type" : "header",
9002 "value" : "int_egress_tx_util"
9003 }
9004 ],
9005 "source_info" : {
9006 "filename" : "include/int/int_transit.p4",
9007 "line" : 80,
9008 "column" : 8,
9009 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9010 }
9011 },
9012 {
9013 "op" : "assign",
9014 "parameters" : [
9015 {
9016 "type" : "field",
9017 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9018 },
9019 {
9020 "type" : "hexstr",
9021 "value" : "0x00000000"
9022 }
9023 ],
9024 "source_info" : {
9025 "filename" : "include/int/int_transit.p4",
9026 "line" : 82,
9027 "column" : 8,
9028 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
9029 }
9030 },
9031 {
9032 "op" : "assign",
9033 "parameters" : [
9034 {
9035 "type" : "field",
9036 "value" : ["userMetadata.int_meta", "new_words"]
9037 },
9038 {
9039 "type" : "expression",
9040 "value" : {
9041 "type" : "expression",
9042 "value" : {
9043 "op" : "&",
9044 "left" : {
9045 "type" : "expression",
9046 "value" : {
9047 "op" : "+",
9048 "left" : {
9049 "type" : "field",
9050 "value" : ["userMetadata.int_meta", "new_words"]
9051 },
9052 "right" : {
9053 "type" : "hexstr",
9054 "value" : "0x01"
9055 }
9056 }
9057 },
9058 "right" : {
9059 "type" : "hexstr",
9060 "value" : "0xff"
9061 }
9062 }
9063 }
9064 }
9065 ],
9066 "source_info" : {
9067 "filename" : "include/int/int_transit.p4",
9068 "line" : 88,
9069 "column" : 8,
9070 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
9071 }
9072 },
9073 {
9074 "op" : "assign",
9075 "parameters" : [
9076 {
9077 "type" : "field",
9078 "value" : ["userMetadata.int_meta", "new_bytes"]
9079 },
9080 {
9081 "type" : "expression",
9082 "value" : {
9083 "type" : "expression",
9084 "value" : {
9085 "op" : "&",
9086 "left" : {
9087 "type" : "expression",
9088 "value" : {
9089 "op" : "+",
9090 "left" : {
9091 "type" : "field",
9092 "value" : ["userMetadata.int_meta", "new_bytes"]
9093 },
9094 "right" : {
9095 "type" : "hexstr",
9096 "value" : "0x0004"
9097 }
9098 }
9099 },
9100 "right" : {
9101 "type" : "hexstr",
9102 "value" : "0xffff"
9103 }
9104 }
9105 }
9106 }
9107 ],
9108 "source_info" : {
9109 "filename" : "include/int/int_transit.p4",
9110 "line" : 89,
9111 "column" : 8,
9112 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
9113 }
9114 }
9115 ]
9116 },
9117 {
9118 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
9119 "id" : 97,
9120 "runtime_data" : [],
9121 "primitives" : [
9122 {
9123 "op" : "add_header",
9124 "parameters" : [
9125 {
9126 "type" : "header",
9127 "value" : "int_q_congestion"
9128 }
9129 ],
9130 "source_info" : {
9131 "filename" : "include/int/int_transit.p4",
9132 "line" : 73,
9133 "column" : 8,
9134 "source_fragment" : "hdr.int_q_congestion.setValid()"
9135 }
9136 },
9137 {
9138 "op" : "assign",
9139 "parameters" : [
9140 {
9141 "type" : "field",
9142 "value" : ["int_q_congestion", "q_id"]
9143 },
9144 {
9145 "type" : "hexstr",
9146 "value" : "0x00"
9147 }
9148 ],
9149 "source_info" : {
9150 "filename" : "include/int/int_transit.p4",
9151 "line" : 75,
9152 "column" : 8,
9153 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
9154 }
9155 },
9156 {
9157 "op" : "assign",
9158 "parameters" : [
9159 {
9160 "type" : "field",
9161 "value" : ["int_q_congestion", "q_congestion"]
9162 },
9163 {
9164 "type" : "hexstr",
9165 "value" : "0x000000"
9166 }
9167 ],
9168 "source_info" : {
9169 "filename" : "include/int/int_transit.p4",
9170 "line" : 76,
9171 "column" : 8,
9172 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
9173 }
9174 },
9175 {
9176 "op" : "assign",
9177 "parameters" : [
9178 {
9179 "type" : "field",
9180 "value" : ["userMetadata.int_meta", "new_words"]
9181 },
9182 {
9183 "type" : "expression",
9184 "value" : {
9185 "type" : "expression",
9186 "value" : {
9187 "op" : "&",
9188 "left" : {
9189 "type" : "expression",
9190 "value" : {
9191 "op" : "+",
9192 "left" : {
9193 "type" : "field",
9194 "value" : ["userMetadata.int_meta", "new_words"]
9195 },
9196 "right" : {
9197 "type" : "hexstr",
9198 "value" : "0x01"
9199 }
9200 }
9201 },
9202 "right" : {
9203 "type" : "hexstr",
9204 "value" : "0xff"
9205 }
9206 }
9207 }
9208 }
9209 ],
9210 "source_info" : {
9211 "filename" : "include/int/int_transit.p4",
9212 "line" : 88,
9213 "column" : 8,
9214 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
9215 }
9216 },
9217 {
9218 "op" : "assign",
9219 "parameters" : [
9220 {
9221 "type" : "field",
9222 "value" : ["userMetadata.int_meta", "new_bytes"]
9223 },
9224 {
9225 "type" : "expression",
9226 "value" : {
9227 "type" : "expression",
9228 "value" : {
9229 "op" : "&",
9230 "left" : {
9231 "type" : "expression",
9232 "value" : {
9233 "op" : "+",
9234 "left" : {
9235 "type" : "field",
9236 "value" : ["userMetadata.int_meta", "new_bytes"]
9237 },
9238 "right" : {
9239 "type" : "hexstr",
9240 "value" : "0x0004"
9241 }
9242 }
9243 },
9244 "right" : {
9245 "type" : "hexstr",
9246 "value" : "0xffff"
9247 }
9248 }
9249 }
9250 }
9251 ],
9252 "source_info" : {
9253 "filename" : "include/int/int_transit.p4",
9254 "line" : 89,
9255 "column" : 8,
9256 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
9257 }
9258 }
9259 ]
9260 },
9261 {
9262 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
9263 "id" : 98,
9264 "runtime_data" : [],
9265 "primitives" : [
9266 {
9267 "op" : "add_header",
9268 "parameters" : [
9269 {
9270 "type" : "header",
9271 "value" : "int_egress_tx_util"
9272 }
9273 ],
9274 "source_info" : {
9275 "filename" : "include/int/int_transit.p4",
9276 "line" : 80,
9277 "column" : 8,
9278 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9279 }
9280 },
9281 {
9282 "op" : "assign",
9283 "parameters" : [
9284 {
9285 "type" : "field",
9286 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9287 },
9288 {
9289 "type" : "hexstr",
9290 "value" : "0x00000000"
9291 }
9292 ],
9293 "source_info" : {
9294 "filename" : "include/int/int_transit.p4",
9295 "line" : 82,
9296 "column" : 8,
9297 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
9298 }
9299 },
9300 {
9301 "op" : "add_header",
9302 "parameters" : [
9303 {
9304 "type" : "header",
9305 "value" : "int_q_congestion"
9306 }
9307 ],
9308 "source_info" : {
9309 "filename" : "include/int/int_transit.p4",
9310 "line" : 73,
9311 "column" : 8,
9312 "source_fragment" : "hdr.int_q_congestion.setValid()"
9313 }
9314 },
9315 {
9316 "op" : "assign",
9317 "parameters" : [
9318 {
9319 "type" : "field",
9320 "value" : ["int_q_congestion", "q_id"]
9321 },
9322 {
9323 "type" : "hexstr",
9324 "value" : "0x00"
9325 }
9326 ],
9327 "source_info" : {
9328 "filename" : "include/int/int_transit.p4",
9329 "line" : 75,
9330 "column" : 8,
9331 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
9332 }
9333 },
9334 {
9335 "op" : "assign",
9336 "parameters" : [
9337 {
9338 "type" : "field",
9339 "value" : ["int_q_congestion", "q_congestion"]
9340 },
9341 {
9342 "type" : "hexstr",
9343 "value" : "0x000000"
9344 }
9345 ],
9346 "source_info" : {
9347 "filename" : "include/int/int_transit.p4",
9348 "line" : 76,
9349 "column" : 8,
9350 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
9351 }
9352 },
9353 {
9354 "op" : "assign",
9355 "parameters" : [
9356 {
9357 "type" : "field",
9358 "value" : ["userMetadata.int_meta", "new_words"]
9359 },
9360 {
9361 "type" : "expression",
9362 "value" : {
9363 "type" : "expression",
9364 "value" : {
9365 "op" : "&",
9366 "left" : {
9367 "type" : "expression",
9368 "value" : {
9369 "op" : "+",
9370 "left" : {
9371 "type" : "field",
9372 "value" : ["userMetadata.int_meta", "new_words"]
9373 },
9374 "right" : {
9375 "type" : "hexstr",
9376 "value" : "0x02"
9377 }
9378 }
9379 },
9380 "right" : {
9381 "type" : "hexstr",
9382 "value" : "0xff"
9383 }
9384 }
9385 }
9386 }
9387 ],
9388 "source_info" : {
9389 "filename" : "include/int/int_transit.p4",
9390 "line" : 93,
9391 "column" : 8,
9392 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
9393 }
9394 },
9395 {
9396 "op" : "assign",
9397 "parameters" : [
9398 {
9399 "type" : "field",
9400 "value" : ["userMetadata.int_meta", "new_bytes"]
9401 },
9402 {
9403 "type" : "expression",
9404 "value" : {
9405 "type" : "expression",
9406 "value" : {
9407 "op" : "&",
9408 "left" : {
9409 "type" : "expression",
9410 "value" : {
9411 "op" : "+",
9412 "left" : {
9413 "type" : "field",
9414 "value" : ["userMetadata.int_meta", "new_bytes"]
9415 },
9416 "right" : {
9417 "type" : "hexstr",
9418 "value" : "0x0008"
9419 }
9420 }
9421 },
9422 "right" : {
9423 "type" : "hexstr",
9424 "value" : "0xffff"
9425 }
9426 }
9427 }
9428 }
9429 ],
9430 "source_info" : {
9431 "filename" : "include/int/int_transit.p4",
9432 "line" : 94,
9433 "column" : 8,
9434 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
9435 }
9436 }
9437 ]
9438 },
9439 {
9440 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
9441 "id" : 99,
9442 "runtime_data" : [],
9443 "primitives" : [
9444 {
9445 "op" : "add_header",
9446 "parameters" : [
9447 {
9448 "type" : "header",
9449 "value" : "int_egress_tstamp"
9450 }
9451 ],
9452 "source_info" : {
9453 "filename" : "include/int/int_transit.p4",
9454 "line" : 68,
9455 "column" : 8,
9456 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9457 }
9458 },
9459 {
9460 "op" : "assign",
9461 "parameters" : [
9462 {
9463 "type" : "field",
9464 "value" : ["int_egress_tstamp", "egress_tstamp"]
9465 },
9466 {
9467 "type" : "expression",
9468 "value" : {
9469 "type" : "expression",
9470 "value" : {
9471 "op" : "&",
9472 "left" : {
9473 "type" : "expression",
9474 "value" : {
9475 "op" : "+",
9476 "left" : {
9477 "type" : "field",
9478 "value" : ["standard_metadata", "enq_timestamp"]
9479 },
9480 "right" : {
9481 "type" : "field",
9482 "value" : ["standard_metadata", "deq_timedelta"]
9483 }
9484 }
9485 },
9486 "right" : {
9487 "type" : "hexstr",
9488 "value" : "0xffffffff"
9489 }
9490 }
9491 }
9492 }
9493 ],
9494 "source_info" : {
9495 "filename" : "include/int/int_transit.p4",
9496 "line" : 69,
9497 "column" : 8,
9498 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
9499 }
9500 },
9501 {
9502 "op" : "assign",
9503 "parameters" : [
9504 {
9505 "type" : "field",
9506 "value" : ["userMetadata.int_meta", "new_words"]
9507 },
9508 {
9509 "type" : "expression",
9510 "value" : {
9511 "type" : "expression",
9512 "value" : {
9513 "op" : "&",
9514 "left" : {
9515 "type" : "expression",
9516 "value" : {
9517 "op" : "+",
9518 "left" : {
9519 "type" : "field",
9520 "value" : ["userMetadata.int_meta", "new_words"]
9521 },
9522 "right" : {
9523 "type" : "hexstr",
9524 "value" : "0x01"
9525 }
9526 }
9527 },
9528 "right" : {
9529 "type" : "hexstr",
9530 "value" : "0xff"
9531 }
9532 }
9533 }
9534 }
9535 ],
9536 "source_info" : {
9537 "filename" : "include/int/int_transit.p4",
9538 "line" : 88,
9539 "column" : 8,
9540 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
9541 }
9542 },
9543 {
9544 "op" : "assign",
9545 "parameters" : [
9546 {
9547 "type" : "field",
9548 "value" : ["userMetadata.int_meta", "new_bytes"]
9549 },
9550 {
9551 "type" : "expression",
9552 "value" : {
9553 "type" : "expression",
9554 "value" : {
9555 "op" : "&",
9556 "left" : {
9557 "type" : "expression",
9558 "value" : {
9559 "op" : "+",
9560 "left" : {
9561 "type" : "field",
9562 "value" : ["userMetadata.int_meta", "new_bytes"]
9563 },
9564 "right" : {
9565 "type" : "hexstr",
9566 "value" : "0x0004"
9567 }
9568 }
9569 },
9570 "right" : {
9571 "type" : "hexstr",
9572 "value" : "0xffff"
9573 }
9574 }
9575 }
9576 }
9577 ],
9578 "source_info" : {
9579 "filename" : "include/int/int_transit.p4",
9580 "line" : 89,
9581 "column" : 8,
9582 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
9583 }
9584 }
9585 ]
9586 },
9587 {
9588 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
9589 "id" : 100,
9590 "runtime_data" : [],
9591 "primitives" : [
9592 {
9593 "op" : "add_header",
9594 "parameters" : [
9595 {
9596 "type" : "header",
9597 "value" : "int_egress_tx_util"
9598 }
9599 ],
9600 "source_info" : {
9601 "filename" : "include/int/int_transit.p4",
9602 "line" : 80,
9603 "column" : 8,
9604 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9605 }
9606 },
9607 {
9608 "op" : "assign",
9609 "parameters" : [
9610 {
9611 "type" : "field",
9612 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9613 },
9614 {
9615 "type" : "hexstr",
9616 "value" : "0x00000000"
9617 }
9618 ],
9619 "source_info" : {
9620 "filename" : "include/int/int_transit.p4",
9621 "line" : 82,
9622 "column" : 8,
9623 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
9624 }
9625 },
9626 {
9627 "op" : "add_header",
9628 "parameters" : [
9629 {
9630 "type" : "header",
9631 "value" : "int_egress_tstamp"
9632 }
9633 ],
9634 "source_info" : {
9635 "filename" : "include/int/int_transit.p4",
9636 "line" : 68,
9637 "column" : 8,
9638 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9639 }
9640 },
9641 {
9642 "op" : "assign",
9643 "parameters" : [
9644 {
9645 "type" : "field",
9646 "value" : ["int_egress_tstamp", "egress_tstamp"]
9647 },
9648 {
9649 "type" : "expression",
9650 "value" : {
9651 "type" : "expression",
9652 "value" : {
9653 "op" : "&",
9654 "left" : {
9655 "type" : "expression",
9656 "value" : {
9657 "op" : "+",
9658 "left" : {
9659 "type" : "field",
9660 "value" : ["standard_metadata", "enq_timestamp"]
9661 },
9662 "right" : {
9663 "type" : "field",
9664 "value" : ["standard_metadata", "deq_timedelta"]
9665 }
9666 }
9667 },
9668 "right" : {
9669 "type" : "hexstr",
9670 "value" : "0xffffffff"
9671 }
9672 }
9673 }
9674 }
9675 ],
9676 "source_info" : {
9677 "filename" : "include/int/int_transit.p4",
9678 "line" : 69,
9679 "column" : 8,
9680 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
9681 }
9682 },
9683 {
9684 "op" : "assign",
9685 "parameters" : [
9686 {
9687 "type" : "field",
9688 "value" : ["userMetadata.int_meta", "new_words"]
9689 },
9690 {
9691 "type" : "expression",
9692 "value" : {
9693 "type" : "expression",
9694 "value" : {
9695 "op" : "&",
9696 "left" : {
9697 "type" : "expression",
9698 "value" : {
9699 "op" : "+",
9700 "left" : {
9701 "type" : "field",
9702 "value" : ["userMetadata.int_meta", "new_words"]
9703 },
9704 "right" : {
9705 "type" : "hexstr",
9706 "value" : "0x02"
9707 }
9708 }
9709 },
9710 "right" : {
9711 "type" : "hexstr",
9712 "value" : "0xff"
9713 }
9714 }
9715 }
9716 }
9717 ],
9718 "source_info" : {
9719 "filename" : "include/int/int_transit.p4",
9720 "line" : 93,
9721 "column" : 8,
9722 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
9723 }
9724 },
9725 {
9726 "op" : "assign",
9727 "parameters" : [
9728 {
9729 "type" : "field",
9730 "value" : ["userMetadata.int_meta", "new_bytes"]
9731 },
9732 {
9733 "type" : "expression",
9734 "value" : {
9735 "type" : "expression",
9736 "value" : {
9737 "op" : "&",
9738 "left" : {
9739 "type" : "expression",
9740 "value" : {
9741 "op" : "+",
9742 "left" : {
9743 "type" : "field",
9744 "value" : ["userMetadata.int_meta", "new_bytes"]
9745 },
9746 "right" : {
9747 "type" : "hexstr",
9748 "value" : "0x0008"
9749 }
9750 }
9751 },
9752 "right" : {
9753 "type" : "hexstr",
9754 "value" : "0xffff"
9755 }
9756 }
9757 }
9758 }
9759 ],
9760 "source_info" : {
9761 "filename" : "include/int/int_transit.p4",
9762 "line" : 94,
9763 "column" : 8,
9764 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
9765 }
9766 }
9767 ]
9768 },
9769 {
9770 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
9771 "id" : 101,
9772 "runtime_data" : [],
9773 "primitives" : [
9774 {
9775 "op" : "add_header",
9776 "parameters" : [
9777 {
9778 "type" : "header",
9779 "value" : "int_q_congestion"
9780 }
9781 ],
9782 "source_info" : {
9783 "filename" : "include/int/int_transit.p4",
9784 "line" : 73,
9785 "column" : 8,
9786 "source_fragment" : "hdr.int_q_congestion.setValid()"
9787 }
9788 },
9789 {
9790 "op" : "assign",
9791 "parameters" : [
9792 {
9793 "type" : "field",
9794 "value" : ["int_q_congestion", "q_id"]
9795 },
9796 {
9797 "type" : "hexstr",
9798 "value" : "0x00"
9799 }
9800 ],
9801 "source_info" : {
9802 "filename" : "include/int/int_transit.p4",
9803 "line" : 75,
9804 "column" : 8,
9805 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
9806 }
9807 },
9808 {
9809 "op" : "assign",
9810 "parameters" : [
9811 {
9812 "type" : "field",
9813 "value" : ["int_q_congestion", "q_congestion"]
9814 },
9815 {
9816 "type" : "hexstr",
9817 "value" : "0x000000"
9818 }
9819 ],
9820 "source_info" : {
9821 "filename" : "include/int/int_transit.p4",
9822 "line" : 76,
9823 "column" : 8,
9824 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
9825 }
9826 },
9827 {
9828 "op" : "add_header",
9829 "parameters" : [
9830 {
9831 "type" : "header",
9832 "value" : "int_egress_tstamp"
9833 }
9834 ],
9835 "source_info" : {
9836 "filename" : "include/int/int_transit.p4",
9837 "line" : 68,
9838 "column" : 8,
9839 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9840 }
9841 },
9842 {
9843 "op" : "assign",
9844 "parameters" : [
9845 {
9846 "type" : "field",
9847 "value" : ["int_egress_tstamp", "egress_tstamp"]
9848 },
9849 {
9850 "type" : "expression",
9851 "value" : {
9852 "type" : "expression",
9853 "value" : {
9854 "op" : "&",
9855 "left" : {
9856 "type" : "expression",
9857 "value" : {
9858 "op" : "+",
9859 "left" : {
9860 "type" : "field",
9861 "value" : ["standard_metadata", "enq_timestamp"]
9862 },
9863 "right" : {
9864 "type" : "field",
9865 "value" : ["standard_metadata", "deq_timedelta"]
9866 }
9867 }
9868 },
9869 "right" : {
9870 "type" : "hexstr",
9871 "value" : "0xffffffff"
9872 }
9873 }
9874 }
9875 }
9876 ],
9877 "source_info" : {
9878 "filename" : "include/int/int_transit.p4",
9879 "line" : 69,
9880 "column" : 8,
9881 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
9882 }
9883 },
9884 {
9885 "op" : "assign",
9886 "parameters" : [
9887 {
9888 "type" : "field",
9889 "value" : ["userMetadata.int_meta", "new_words"]
9890 },
9891 {
9892 "type" : "expression",
9893 "value" : {
9894 "type" : "expression",
9895 "value" : {
9896 "op" : "&",
9897 "left" : {
9898 "type" : "expression",
9899 "value" : {
9900 "op" : "+",
9901 "left" : {
9902 "type" : "field",
9903 "value" : ["userMetadata.int_meta", "new_words"]
9904 },
9905 "right" : {
9906 "type" : "hexstr",
9907 "value" : "0x02"
9908 }
9909 }
9910 },
9911 "right" : {
9912 "type" : "hexstr",
9913 "value" : "0xff"
9914 }
9915 }
9916 }
9917 }
9918 ],
9919 "source_info" : {
9920 "filename" : "include/int/int_transit.p4",
9921 "line" : 93,
9922 "column" : 8,
9923 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
9924 }
9925 },
9926 {
9927 "op" : "assign",
9928 "parameters" : [
9929 {
9930 "type" : "field",
9931 "value" : ["userMetadata.int_meta", "new_bytes"]
9932 },
9933 {
9934 "type" : "expression",
9935 "value" : {
9936 "type" : "expression",
9937 "value" : {
9938 "op" : "&",
9939 "left" : {
9940 "type" : "expression",
9941 "value" : {
9942 "op" : "+",
9943 "left" : {
9944 "type" : "field",
9945 "value" : ["userMetadata.int_meta", "new_bytes"]
9946 },
9947 "right" : {
9948 "type" : "hexstr",
9949 "value" : "0x0008"
9950 }
9951 }
9952 },
9953 "right" : {
9954 "type" : "hexstr",
9955 "value" : "0xffff"
9956 }
9957 }
9958 }
9959 }
9960 ],
9961 "source_info" : {
9962 "filename" : "include/int/int_transit.p4",
9963 "line" : 94,
9964 "column" : 8,
9965 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
9966 }
9967 }
9968 ]
9969 },
9970 {
9971 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
9972 "id" : 102,
9973 "runtime_data" : [],
9974 "primitives" : [
9975 {
9976 "op" : "add_header",
9977 "parameters" : [
9978 {
9979 "type" : "header",
9980 "value" : "int_egress_tx_util"
9981 }
9982 ],
9983 "source_info" : {
9984 "filename" : "include/int/int_transit.p4",
9985 "line" : 80,
9986 "column" : 8,
9987 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9988 }
9989 },
9990 {
9991 "op" : "assign",
9992 "parameters" : [
9993 {
9994 "type" : "field",
9995 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9996 },
9997 {
9998 "type" : "hexstr",
9999 "value" : "0x00000000"
10000 }
10001 ],
10002 "source_info" : {
10003 "filename" : "include/int/int_transit.p4",
10004 "line" : 82,
10005 "column" : 8,
10006 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
10007 }
10008 },
10009 {
10010 "op" : "add_header",
10011 "parameters" : [
10012 {
10013 "type" : "header",
10014 "value" : "int_q_congestion"
10015 }
10016 ],
10017 "source_info" : {
10018 "filename" : "include/int/int_transit.p4",
10019 "line" : 73,
10020 "column" : 8,
10021 "source_fragment" : "hdr.int_q_congestion.setValid()"
10022 }
10023 },
10024 {
10025 "op" : "assign",
10026 "parameters" : [
10027 {
10028 "type" : "field",
10029 "value" : ["int_q_congestion", "q_id"]
10030 },
10031 {
10032 "type" : "hexstr",
10033 "value" : "0x00"
10034 }
10035 ],
10036 "source_info" : {
10037 "filename" : "include/int/int_transit.p4",
10038 "line" : 75,
10039 "column" : 8,
10040 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
10041 }
10042 },
10043 {
10044 "op" : "assign",
10045 "parameters" : [
10046 {
10047 "type" : "field",
10048 "value" : ["int_q_congestion", "q_congestion"]
10049 },
10050 {
10051 "type" : "hexstr",
10052 "value" : "0x000000"
10053 }
10054 ],
10055 "source_info" : {
10056 "filename" : "include/int/int_transit.p4",
10057 "line" : 76,
10058 "column" : 8,
10059 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
10060 }
10061 },
10062 {
10063 "op" : "add_header",
10064 "parameters" : [
10065 {
10066 "type" : "header",
10067 "value" : "int_egress_tstamp"
10068 }
10069 ],
10070 "source_info" : {
10071 "filename" : "include/int/int_transit.p4",
10072 "line" : 68,
10073 "column" : 8,
10074 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
10075 }
10076 },
10077 {
10078 "op" : "assign",
10079 "parameters" : [
10080 {
10081 "type" : "field",
10082 "value" : ["int_egress_tstamp", "egress_tstamp"]
10083 },
10084 {
10085 "type" : "expression",
10086 "value" : {
10087 "type" : "expression",
10088 "value" : {
10089 "op" : "&",
10090 "left" : {
10091 "type" : "expression",
10092 "value" : {
10093 "op" : "+",
10094 "left" : {
10095 "type" : "field",
10096 "value" : ["standard_metadata", "enq_timestamp"]
10097 },
10098 "right" : {
10099 "type" : "field",
10100 "value" : ["standard_metadata", "deq_timedelta"]
10101 }
10102 }
10103 },
10104 "right" : {
10105 "type" : "hexstr",
10106 "value" : "0xffffffff"
10107 }
10108 }
10109 }
10110 }
10111 ],
10112 "source_info" : {
10113 "filename" : "include/int/int_transit.p4",
10114 "line" : 69,
10115 "column" : 8,
10116 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
10117 }
10118 },
10119 {
10120 "op" : "assign",
10121 "parameters" : [
10122 {
10123 "type" : "field",
10124 "value" : ["userMetadata.int_meta", "new_words"]
10125 },
10126 {
10127 "type" : "expression",
10128 "value" : {
10129 "type" : "expression",
10130 "value" : {
10131 "op" : "&",
10132 "left" : {
10133 "type" : "expression",
10134 "value" : {
10135 "op" : "+",
10136 "left" : {
10137 "type" : "field",
10138 "value" : ["userMetadata.int_meta", "new_words"]
10139 },
10140 "right" : {
10141 "type" : "hexstr",
10142 "value" : "0x03"
10143 }
10144 }
10145 },
10146 "right" : {
10147 "type" : "hexstr",
10148 "value" : "0xff"
10149 }
10150 }
10151 }
10152 }
10153 ],
10154 "source_info" : {
10155 "filename" : "include/int/int_transit.p4",
10156 "line" : 98,
10157 "column" : 8,
10158 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
10159 }
10160 },
10161 {
10162 "op" : "assign",
10163 "parameters" : [
10164 {
10165 "type" : "field",
10166 "value" : ["userMetadata.int_meta", "new_bytes"]
10167 },
10168 {
10169 "type" : "expression",
10170 "value" : {
10171 "type" : "expression",
10172 "value" : {
10173 "op" : "&",
10174 "left" : {
10175 "type" : "expression",
10176 "value" : {
10177 "op" : "+",
10178 "left" : {
10179 "type" : "field",
10180 "value" : ["userMetadata.int_meta", "new_bytes"]
10181 },
10182 "right" : {
10183 "type" : "hexstr",
10184 "value" : "0x000c"
10185 }
10186 }
10187 },
10188 "right" : {
10189 "type" : "hexstr",
10190 "value" : "0xffff"
10191 }
10192 }
10193 }
10194 }
10195 ],
10196 "source_info" : {
10197 "filename" : "include/int/int_transit.p4",
10198 "line" : 99,
10199 "column" : 8,
10200 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
10201 }
10202 }
10203 ]
10204 },
10205 {
10206 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
10207 "id" : 103,
10208 "runtime_data" : [],
10209 "primitives" : [
10210 {
10211 "op" : "add_header",
10212 "parameters" : [
10213 {
10214 "type" : "header",
10215 "value" : "int_ingress_tstamp"
10216 }
10217 ],
10218 "source_info" : {
10219 "filename" : "include/int/int_transit.p4",
10220 "line" : 63,
10221 "column" : 8,
10222 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10223 }
10224 },
10225 {
10226 "op" : "assign",
10227 "parameters" : [
10228 {
10229 "type" : "field",
10230 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10231 },
10232 {
10233 "type" : "field",
10234 "value" : ["standard_metadata", "enq_timestamp"]
10235 }
10236 ],
10237 "source_info" : {
10238 "filename" : "include/int/int_transit.p4",
10239 "line" : 64,
10240 "column" : 8,
10241 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10242 }
10243 },
10244 {
10245 "op" : "assign",
10246 "parameters" : [
10247 {
10248 "type" : "field",
10249 "value" : ["userMetadata.int_meta", "new_words"]
10250 },
10251 {
10252 "type" : "expression",
10253 "value" : {
10254 "type" : "expression",
10255 "value" : {
10256 "op" : "&",
10257 "left" : {
10258 "type" : "expression",
10259 "value" : {
10260 "op" : "+",
10261 "left" : {
10262 "type" : "field",
10263 "value" : ["userMetadata.int_meta", "new_words"]
10264 },
10265 "right" : {
10266 "type" : "hexstr",
10267 "value" : "0x01"
10268 }
10269 }
10270 },
10271 "right" : {
10272 "type" : "hexstr",
10273 "value" : "0xff"
10274 }
10275 }
10276 }
10277 }
10278 ],
10279 "source_info" : {
10280 "filename" : "include/int/int_transit.p4",
10281 "line" : 88,
10282 "column" : 8,
10283 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 1"
10284 }
10285 },
10286 {
10287 "op" : "assign",
10288 "parameters" : [
10289 {
10290 "type" : "field",
10291 "value" : ["userMetadata.int_meta", "new_bytes"]
10292 },
10293 {
10294 "type" : "expression",
10295 "value" : {
10296 "type" : "expression",
10297 "value" : {
10298 "op" : "&",
10299 "left" : {
10300 "type" : "expression",
10301 "value" : {
10302 "op" : "+",
10303 "left" : {
10304 "type" : "field",
10305 "value" : ["userMetadata.int_meta", "new_bytes"]
10306 },
10307 "right" : {
10308 "type" : "hexstr",
10309 "value" : "0x0004"
10310 }
10311 }
10312 },
10313 "right" : {
10314 "type" : "hexstr",
10315 "value" : "0xffff"
10316 }
10317 }
10318 }
10319 }
10320 ],
10321 "source_info" : {
10322 "filename" : "include/int/int_transit.p4",
10323 "line" : 89,
10324 "column" : 8,
10325 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 4"
10326 }
10327 }
10328 ]
10329 },
10330 {
10331 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
10332 "id" : 104,
10333 "runtime_data" : [],
10334 "primitives" : [
10335 {
10336 "op" : "add_header",
10337 "parameters" : [
10338 {
10339 "type" : "header",
10340 "value" : "int_egress_tx_util"
10341 }
10342 ],
10343 "source_info" : {
10344 "filename" : "include/int/int_transit.p4",
10345 "line" : 80,
10346 "column" : 8,
10347 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
10348 }
10349 },
10350 {
10351 "op" : "assign",
10352 "parameters" : [
10353 {
10354 "type" : "field",
10355 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
10356 },
10357 {
10358 "type" : "hexstr",
10359 "value" : "0x00000000"
10360 }
10361 ],
10362 "source_info" : {
10363 "filename" : "include/int/int_transit.p4",
10364 "line" : 82,
10365 "column" : 8,
10366 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
10367 }
10368 },
10369 {
10370 "op" : "add_header",
10371 "parameters" : [
10372 {
10373 "type" : "header",
10374 "value" : "int_ingress_tstamp"
10375 }
10376 ],
10377 "source_info" : {
10378 "filename" : "include/int/int_transit.p4",
10379 "line" : 63,
10380 "column" : 8,
10381 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10382 }
10383 },
10384 {
10385 "op" : "assign",
10386 "parameters" : [
10387 {
10388 "type" : "field",
10389 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10390 },
10391 {
10392 "type" : "field",
10393 "value" : ["standard_metadata", "enq_timestamp"]
10394 }
10395 ],
10396 "source_info" : {
10397 "filename" : "include/int/int_transit.p4",
10398 "line" : 64,
10399 "column" : 8,
10400 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10401 }
10402 },
10403 {
10404 "op" : "assign",
10405 "parameters" : [
10406 {
10407 "type" : "field",
10408 "value" : ["userMetadata.int_meta", "new_words"]
10409 },
10410 {
10411 "type" : "expression",
10412 "value" : {
10413 "type" : "expression",
10414 "value" : {
10415 "op" : "&",
10416 "left" : {
10417 "type" : "expression",
10418 "value" : {
10419 "op" : "+",
10420 "left" : {
10421 "type" : "field",
10422 "value" : ["userMetadata.int_meta", "new_words"]
10423 },
10424 "right" : {
10425 "type" : "hexstr",
10426 "value" : "0x02"
10427 }
10428 }
10429 },
10430 "right" : {
10431 "type" : "hexstr",
10432 "value" : "0xff"
10433 }
10434 }
10435 }
10436 }
10437 ],
10438 "source_info" : {
10439 "filename" : "include/int/int_transit.p4",
10440 "line" : 93,
10441 "column" : 8,
10442 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
10443 }
10444 },
10445 {
10446 "op" : "assign",
10447 "parameters" : [
10448 {
10449 "type" : "field",
10450 "value" : ["userMetadata.int_meta", "new_bytes"]
10451 },
10452 {
10453 "type" : "expression",
10454 "value" : {
10455 "type" : "expression",
10456 "value" : {
10457 "op" : "&",
10458 "left" : {
10459 "type" : "expression",
10460 "value" : {
10461 "op" : "+",
10462 "left" : {
10463 "type" : "field",
10464 "value" : ["userMetadata.int_meta", "new_bytes"]
10465 },
10466 "right" : {
10467 "type" : "hexstr",
10468 "value" : "0x0008"
10469 }
10470 }
10471 },
10472 "right" : {
10473 "type" : "hexstr",
10474 "value" : "0xffff"
10475 }
10476 }
10477 }
10478 }
10479 ],
10480 "source_info" : {
10481 "filename" : "include/int/int_transit.p4",
10482 "line" : 94,
10483 "column" : 8,
10484 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
10485 }
10486 }
10487 ]
10488 },
10489 {
10490 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
10491 "id" : 105,
10492 "runtime_data" : [],
10493 "primitives" : [
10494 {
10495 "op" : "add_header",
10496 "parameters" : [
10497 {
10498 "type" : "header",
10499 "value" : "int_q_congestion"
10500 }
10501 ],
10502 "source_info" : {
10503 "filename" : "include/int/int_transit.p4",
10504 "line" : 73,
10505 "column" : 8,
10506 "source_fragment" : "hdr.int_q_congestion.setValid()"
10507 }
10508 },
10509 {
10510 "op" : "assign",
10511 "parameters" : [
10512 {
10513 "type" : "field",
10514 "value" : ["int_q_congestion", "q_id"]
10515 },
10516 {
10517 "type" : "hexstr",
10518 "value" : "0x00"
10519 }
10520 ],
10521 "source_info" : {
10522 "filename" : "include/int/int_transit.p4",
10523 "line" : 75,
10524 "column" : 8,
10525 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
10526 }
10527 },
10528 {
10529 "op" : "assign",
10530 "parameters" : [
10531 {
10532 "type" : "field",
10533 "value" : ["int_q_congestion", "q_congestion"]
10534 },
10535 {
10536 "type" : "hexstr",
10537 "value" : "0x000000"
10538 }
10539 ],
10540 "source_info" : {
10541 "filename" : "include/int/int_transit.p4",
10542 "line" : 76,
10543 "column" : 8,
10544 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
10545 }
10546 },
10547 {
10548 "op" : "add_header",
10549 "parameters" : [
10550 {
10551 "type" : "header",
10552 "value" : "int_ingress_tstamp"
10553 }
10554 ],
10555 "source_info" : {
10556 "filename" : "include/int/int_transit.p4",
10557 "line" : 63,
10558 "column" : 8,
10559 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10560 }
10561 },
10562 {
10563 "op" : "assign",
10564 "parameters" : [
10565 {
10566 "type" : "field",
10567 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10568 },
10569 {
10570 "type" : "field",
10571 "value" : ["standard_metadata", "enq_timestamp"]
10572 }
10573 ],
10574 "source_info" : {
10575 "filename" : "include/int/int_transit.p4",
10576 "line" : 64,
10577 "column" : 8,
10578 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10579 }
10580 },
10581 {
10582 "op" : "assign",
10583 "parameters" : [
10584 {
10585 "type" : "field",
10586 "value" : ["userMetadata.int_meta", "new_words"]
10587 },
10588 {
10589 "type" : "expression",
10590 "value" : {
10591 "type" : "expression",
10592 "value" : {
10593 "op" : "&",
10594 "left" : {
10595 "type" : "expression",
10596 "value" : {
10597 "op" : "+",
10598 "left" : {
10599 "type" : "field",
10600 "value" : ["userMetadata.int_meta", "new_words"]
10601 },
10602 "right" : {
10603 "type" : "hexstr",
10604 "value" : "0x02"
10605 }
10606 }
10607 },
10608 "right" : {
10609 "type" : "hexstr",
10610 "value" : "0xff"
10611 }
10612 }
10613 }
10614 }
10615 ],
10616 "source_info" : {
10617 "filename" : "include/int/int_transit.p4",
10618 "line" : 93,
10619 "column" : 8,
10620 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
10621 }
10622 },
10623 {
10624 "op" : "assign",
10625 "parameters" : [
10626 {
10627 "type" : "field",
10628 "value" : ["userMetadata.int_meta", "new_bytes"]
10629 },
10630 {
10631 "type" : "expression",
10632 "value" : {
10633 "type" : "expression",
10634 "value" : {
10635 "op" : "&",
10636 "left" : {
10637 "type" : "expression",
10638 "value" : {
10639 "op" : "+",
10640 "left" : {
10641 "type" : "field",
10642 "value" : ["userMetadata.int_meta", "new_bytes"]
10643 },
10644 "right" : {
10645 "type" : "hexstr",
10646 "value" : "0x0008"
10647 }
10648 }
10649 },
10650 "right" : {
10651 "type" : "hexstr",
10652 "value" : "0xffff"
10653 }
10654 }
10655 }
10656 }
10657 ],
10658 "source_info" : {
10659 "filename" : "include/int/int_transit.p4",
10660 "line" : 94,
10661 "column" : 8,
10662 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
10663 }
10664 }
10665 ]
10666 },
10667 {
10668 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
10669 "id" : 106,
10670 "runtime_data" : [],
10671 "primitives" : [
10672 {
10673 "op" : "add_header",
10674 "parameters" : [
10675 {
10676 "type" : "header",
10677 "value" : "int_egress_tx_util"
10678 }
10679 ],
10680 "source_info" : {
10681 "filename" : "include/int/int_transit.p4",
10682 "line" : 80,
10683 "column" : 8,
10684 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
10685 }
10686 },
10687 {
10688 "op" : "assign",
10689 "parameters" : [
10690 {
10691 "type" : "field",
10692 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
10693 },
10694 {
10695 "type" : "hexstr",
10696 "value" : "0x00000000"
10697 }
10698 ],
10699 "source_info" : {
10700 "filename" : "include/int/int_transit.p4",
10701 "line" : 82,
10702 "column" : 8,
10703 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
10704 }
10705 },
10706 {
10707 "op" : "add_header",
10708 "parameters" : [
10709 {
10710 "type" : "header",
10711 "value" : "int_q_congestion"
10712 }
10713 ],
10714 "source_info" : {
10715 "filename" : "include/int/int_transit.p4",
10716 "line" : 73,
10717 "column" : 8,
10718 "source_fragment" : "hdr.int_q_congestion.setValid()"
10719 }
10720 },
10721 {
10722 "op" : "assign",
10723 "parameters" : [
10724 {
10725 "type" : "field",
10726 "value" : ["int_q_congestion", "q_id"]
10727 },
10728 {
10729 "type" : "hexstr",
10730 "value" : "0x00"
10731 }
10732 ],
10733 "source_info" : {
10734 "filename" : "include/int/int_transit.p4",
10735 "line" : 75,
10736 "column" : 8,
10737 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
10738 }
10739 },
10740 {
10741 "op" : "assign",
10742 "parameters" : [
10743 {
10744 "type" : "field",
10745 "value" : ["int_q_congestion", "q_congestion"]
10746 },
10747 {
10748 "type" : "hexstr",
10749 "value" : "0x000000"
10750 }
10751 ],
10752 "source_info" : {
10753 "filename" : "include/int/int_transit.p4",
10754 "line" : 76,
10755 "column" : 8,
10756 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
10757 }
10758 },
10759 {
10760 "op" : "add_header",
10761 "parameters" : [
10762 {
10763 "type" : "header",
10764 "value" : "int_ingress_tstamp"
10765 }
10766 ],
10767 "source_info" : {
10768 "filename" : "include/int/int_transit.p4",
10769 "line" : 63,
10770 "column" : 8,
10771 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10772 }
10773 },
10774 {
10775 "op" : "assign",
10776 "parameters" : [
10777 {
10778 "type" : "field",
10779 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10780 },
10781 {
10782 "type" : "field",
10783 "value" : ["standard_metadata", "enq_timestamp"]
10784 }
10785 ],
10786 "source_info" : {
10787 "filename" : "include/int/int_transit.p4",
10788 "line" : 64,
10789 "column" : 8,
10790 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10791 }
10792 },
10793 {
10794 "op" : "assign",
10795 "parameters" : [
10796 {
10797 "type" : "field",
10798 "value" : ["userMetadata.int_meta", "new_words"]
10799 },
10800 {
10801 "type" : "expression",
10802 "value" : {
10803 "type" : "expression",
10804 "value" : {
10805 "op" : "&",
10806 "left" : {
10807 "type" : "expression",
10808 "value" : {
10809 "op" : "+",
10810 "left" : {
10811 "type" : "field",
10812 "value" : ["userMetadata.int_meta", "new_words"]
10813 },
10814 "right" : {
10815 "type" : "hexstr",
10816 "value" : "0x03"
10817 }
10818 }
10819 },
10820 "right" : {
10821 "type" : "hexstr",
10822 "value" : "0xff"
10823 }
10824 }
10825 }
10826 }
10827 ],
10828 "source_info" : {
10829 "filename" : "include/int/int_transit.p4",
10830 "line" : 98,
10831 "column" : 8,
10832 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
10833 }
10834 },
10835 {
10836 "op" : "assign",
10837 "parameters" : [
10838 {
10839 "type" : "field",
10840 "value" : ["userMetadata.int_meta", "new_bytes"]
10841 },
10842 {
10843 "type" : "expression",
10844 "value" : {
10845 "type" : "expression",
10846 "value" : {
10847 "op" : "&",
10848 "left" : {
10849 "type" : "expression",
10850 "value" : {
10851 "op" : "+",
10852 "left" : {
10853 "type" : "field",
10854 "value" : ["userMetadata.int_meta", "new_bytes"]
10855 },
10856 "right" : {
10857 "type" : "hexstr",
10858 "value" : "0x000c"
10859 }
10860 }
10861 },
10862 "right" : {
10863 "type" : "hexstr",
10864 "value" : "0xffff"
10865 }
10866 }
10867 }
10868 }
10869 ],
10870 "source_info" : {
10871 "filename" : "include/int/int_transit.p4",
10872 "line" : 99,
10873 "column" : 8,
10874 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
10875 }
10876 }
10877 ]
10878 },
10879 {
10880 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
10881 "id" : 107,
10882 "runtime_data" : [],
10883 "primitives" : [
10884 {
10885 "op" : "add_header",
10886 "parameters" : [
10887 {
10888 "type" : "header",
10889 "value" : "int_egress_tstamp"
10890 }
10891 ],
10892 "source_info" : {
10893 "filename" : "include/int/int_transit.p4",
10894 "line" : 68,
10895 "column" : 8,
10896 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
10897 }
10898 },
10899 {
10900 "op" : "assign",
10901 "parameters" : [
10902 {
10903 "type" : "field",
10904 "value" : ["int_egress_tstamp", "egress_tstamp"]
10905 },
10906 {
10907 "type" : "expression",
10908 "value" : {
10909 "type" : "expression",
10910 "value" : {
10911 "op" : "&",
10912 "left" : {
10913 "type" : "expression",
10914 "value" : {
10915 "op" : "+",
10916 "left" : {
10917 "type" : "field",
10918 "value" : ["standard_metadata", "enq_timestamp"]
10919 },
10920 "right" : {
10921 "type" : "field",
10922 "value" : ["standard_metadata", "deq_timedelta"]
10923 }
10924 }
10925 },
10926 "right" : {
10927 "type" : "hexstr",
10928 "value" : "0xffffffff"
10929 }
10930 }
10931 }
10932 }
10933 ],
10934 "source_info" : {
10935 "filename" : "include/int/int_transit.p4",
10936 "line" : 69,
10937 "column" : 8,
10938 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
10939 }
10940 },
10941 {
10942 "op" : "add_header",
10943 "parameters" : [
10944 {
10945 "type" : "header",
10946 "value" : "int_ingress_tstamp"
10947 }
10948 ],
10949 "source_info" : {
10950 "filename" : "include/int/int_transit.p4",
10951 "line" : 63,
10952 "column" : 8,
10953 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
10954 }
10955 },
10956 {
10957 "op" : "assign",
10958 "parameters" : [
10959 {
10960 "type" : "field",
10961 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
10962 },
10963 {
10964 "type" : "field",
10965 "value" : ["standard_metadata", "enq_timestamp"]
10966 }
10967 ],
10968 "source_info" : {
10969 "filename" : "include/int/int_transit.p4",
10970 "line" : 64,
10971 "column" : 8,
10972 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
10973 }
10974 },
10975 {
10976 "op" : "assign",
10977 "parameters" : [
10978 {
10979 "type" : "field",
10980 "value" : ["userMetadata.int_meta", "new_words"]
10981 },
10982 {
10983 "type" : "expression",
10984 "value" : {
10985 "type" : "expression",
10986 "value" : {
10987 "op" : "&",
10988 "left" : {
10989 "type" : "expression",
10990 "value" : {
10991 "op" : "+",
10992 "left" : {
10993 "type" : "field",
10994 "value" : ["userMetadata.int_meta", "new_words"]
10995 },
10996 "right" : {
10997 "type" : "hexstr",
10998 "value" : "0x02"
10999 }
11000 }
11001 },
11002 "right" : {
11003 "type" : "hexstr",
11004 "value" : "0xff"
11005 }
11006 }
11007 }
11008 }
11009 ],
11010 "source_info" : {
11011 "filename" : "include/int/int_transit.p4",
11012 "line" : 93,
11013 "column" : 8,
11014 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 2"
11015 }
11016 },
11017 {
11018 "op" : "assign",
11019 "parameters" : [
11020 {
11021 "type" : "field",
11022 "value" : ["userMetadata.int_meta", "new_bytes"]
11023 },
11024 {
11025 "type" : "expression",
11026 "value" : {
11027 "type" : "expression",
11028 "value" : {
11029 "op" : "&",
11030 "left" : {
11031 "type" : "expression",
11032 "value" : {
11033 "op" : "+",
11034 "left" : {
11035 "type" : "field",
11036 "value" : ["userMetadata.int_meta", "new_bytes"]
11037 },
11038 "right" : {
11039 "type" : "hexstr",
11040 "value" : "0x0008"
11041 }
11042 }
11043 },
11044 "right" : {
11045 "type" : "hexstr",
11046 "value" : "0xffff"
11047 }
11048 }
11049 }
11050 }
11051 ],
11052 "source_info" : {
11053 "filename" : "include/int/int_transit.p4",
11054 "line" : 94,
11055 "column" : 8,
11056 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 8"
11057 }
11058 }
11059 ]
11060 },
11061 {
11062 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
11063 "id" : 108,
11064 "runtime_data" : [],
11065 "primitives" : [
11066 {
11067 "op" : "add_header",
11068 "parameters" : [
11069 {
11070 "type" : "header",
11071 "value" : "int_egress_tx_util"
11072 }
11073 ],
11074 "source_info" : {
11075 "filename" : "include/int/int_transit.p4",
11076 "line" : 80,
11077 "column" : 8,
11078 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
11079 }
11080 },
11081 {
11082 "op" : "assign",
11083 "parameters" : [
11084 {
11085 "type" : "field",
11086 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
11087 },
11088 {
11089 "type" : "hexstr",
11090 "value" : "0x00000000"
11091 }
11092 ],
11093 "source_info" : {
11094 "filename" : "include/int/int_transit.p4",
11095 "line" : 82,
11096 "column" : 8,
11097 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
11098 }
11099 },
11100 {
11101 "op" : "add_header",
11102 "parameters" : [
11103 {
11104 "type" : "header",
11105 "value" : "int_egress_tstamp"
11106 }
11107 ],
11108 "source_info" : {
11109 "filename" : "include/int/int_transit.p4",
11110 "line" : 68,
11111 "column" : 8,
11112 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11113 }
11114 },
11115 {
11116 "op" : "assign",
11117 "parameters" : [
11118 {
11119 "type" : "field",
11120 "value" : ["int_egress_tstamp", "egress_tstamp"]
11121 },
11122 {
11123 "type" : "expression",
11124 "value" : {
11125 "type" : "expression",
11126 "value" : {
11127 "op" : "&",
11128 "left" : {
11129 "type" : "expression",
11130 "value" : {
11131 "op" : "+",
11132 "left" : {
11133 "type" : "field",
11134 "value" : ["standard_metadata", "enq_timestamp"]
11135 },
11136 "right" : {
11137 "type" : "field",
11138 "value" : ["standard_metadata", "deq_timedelta"]
11139 }
11140 }
11141 },
11142 "right" : {
11143 "type" : "hexstr",
11144 "value" : "0xffffffff"
11145 }
11146 }
11147 }
11148 }
11149 ],
11150 "source_info" : {
11151 "filename" : "include/int/int_transit.p4",
11152 "line" : 69,
11153 "column" : 8,
11154 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11155 }
11156 },
11157 {
11158 "op" : "add_header",
11159 "parameters" : [
11160 {
11161 "type" : "header",
11162 "value" : "int_ingress_tstamp"
11163 }
11164 ],
11165 "source_info" : {
11166 "filename" : "include/int/int_transit.p4",
11167 "line" : 63,
11168 "column" : 8,
11169 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11170 }
11171 },
11172 {
11173 "op" : "assign",
11174 "parameters" : [
11175 {
11176 "type" : "field",
11177 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11178 },
11179 {
11180 "type" : "field",
11181 "value" : ["standard_metadata", "enq_timestamp"]
11182 }
11183 ],
11184 "source_info" : {
11185 "filename" : "include/int/int_transit.p4",
11186 "line" : 64,
11187 "column" : 8,
11188 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11189 }
11190 },
11191 {
11192 "op" : "assign",
11193 "parameters" : [
11194 {
11195 "type" : "field",
11196 "value" : ["userMetadata.int_meta", "new_words"]
11197 },
11198 {
11199 "type" : "expression",
11200 "value" : {
11201 "type" : "expression",
11202 "value" : {
11203 "op" : "&",
11204 "left" : {
11205 "type" : "expression",
11206 "value" : {
11207 "op" : "+",
11208 "left" : {
11209 "type" : "field",
11210 "value" : ["userMetadata.int_meta", "new_words"]
11211 },
11212 "right" : {
11213 "type" : "hexstr",
11214 "value" : "0x03"
11215 }
11216 }
11217 },
11218 "right" : {
11219 "type" : "hexstr",
11220 "value" : "0xff"
11221 }
11222 }
11223 }
11224 }
11225 ],
11226 "source_info" : {
11227 "filename" : "include/int/int_transit.p4",
11228 "line" : 98,
11229 "column" : 8,
11230 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
11231 }
11232 },
11233 {
11234 "op" : "assign",
11235 "parameters" : [
11236 {
11237 "type" : "field",
11238 "value" : ["userMetadata.int_meta", "new_bytes"]
11239 },
11240 {
11241 "type" : "expression",
11242 "value" : {
11243 "type" : "expression",
11244 "value" : {
11245 "op" : "&",
11246 "left" : {
11247 "type" : "expression",
11248 "value" : {
11249 "op" : "+",
11250 "left" : {
11251 "type" : "field",
11252 "value" : ["userMetadata.int_meta", "new_bytes"]
11253 },
11254 "right" : {
11255 "type" : "hexstr",
11256 "value" : "0x000c"
11257 }
11258 }
11259 },
11260 "right" : {
11261 "type" : "hexstr",
11262 "value" : "0xffff"
11263 }
11264 }
11265 }
11266 }
11267 ],
11268 "source_info" : {
11269 "filename" : "include/int/int_transit.p4",
11270 "line" : 99,
11271 "column" : 8,
11272 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
11273 }
11274 }
11275 ]
11276 },
11277 {
11278 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
11279 "id" : 109,
11280 "runtime_data" : [],
11281 "primitives" : [
11282 {
11283 "op" : "add_header",
11284 "parameters" : [
11285 {
11286 "type" : "header",
11287 "value" : "int_q_congestion"
11288 }
11289 ],
11290 "source_info" : {
11291 "filename" : "include/int/int_transit.p4",
11292 "line" : 73,
11293 "column" : 8,
11294 "source_fragment" : "hdr.int_q_congestion.setValid()"
11295 }
11296 },
11297 {
11298 "op" : "assign",
11299 "parameters" : [
11300 {
11301 "type" : "field",
11302 "value" : ["int_q_congestion", "q_id"]
11303 },
11304 {
11305 "type" : "hexstr",
11306 "value" : "0x00"
11307 }
11308 ],
11309 "source_info" : {
11310 "filename" : "include/int/int_transit.p4",
11311 "line" : 75,
11312 "column" : 8,
11313 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
11314 }
11315 },
11316 {
11317 "op" : "assign",
11318 "parameters" : [
11319 {
11320 "type" : "field",
11321 "value" : ["int_q_congestion", "q_congestion"]
11322 },
11323 {
11324 "type" : "hexstr",
11325 "value" : "0x000000"
11326 }
11327 ],
11328 "source_info" : {
11329 "filename" : "include/int/int_transit.p4",
11330 "line" : 76,
11331 "column" : 8,
11332 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
11333 }
11334 },
11335 {
11336 "op" : "add_header",
11337 "parameters" : [
11338 {
11339 "type" : "header",
11340 "value" : "int_egress_tstamp"
11341 }
11342 ],
11343 "source_info" : {
11344 "filename" : "include/int/int_transit.p4",
11345 "line" : 68,
11346 "column" : 8,
11347 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11348 }
11349 },
11350 {
11351 "op" : "assign",
11352 "parameters" : [
11353 {
11354 "type" : "field",
11355 "value" : ["int_egress_tstamp", "egress_tstamp"]
11356 },
11357 {
11358 "type" : "expression",
11359 "value" : {
11360 "type" : "expression",
11361 "value" : {
11362 "op" : "&",
11363 "left" : {
11364 "type" : "expression",
11365 "value" : {
11366 "op" : "+",
11367 "left" : {
11368 "type" : "field",
11369 "value" : ["standard_metadata", "enq_timestamp"]
11370 },
11371 "right" : {
11372 "type" : "field",
11373 "value" : ["standard_metadata", "deq_timedelta"]
11374 }
11375 }
11376 },
11377 "right" : {
11378 "type" : "hexstr",
11379 "value" : "0xffffffff"
11380 }
11381 }
11382 }
11383 }
11384 ],
11385 "source_info" : {
11386 "filename" : "include/int/int_transit.p4",
11387 "line" : 69,
11388 "column" : 8,
11389 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11390 }
11391 },
11392 {
11393 "op" : "add_header",
11394 "parameters" : [
11395 {
11396 "type" : "header",
11397 "value" : "int_ingress_tstamp"
11398 }
11399 ],
11400 "source_info" : {
11401 "filename" : "include/int/int_transit.p4",
11402 "line" : 63,
11403 "column" : 8,
11404 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11405 }
11406 },
11407 {
11408 "op" : "assign",
11409 "parameters" : [
11410 {
11411 "type" : "field",
11412 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11413 },
11414 {
11415 "type" : "field",
11416 "value" : ["standard_metadata", "enq_timestamp"]
11417 }
11418 ],
11419 "source_info" : {
11420 "filename" : "include/int/int_transit.p4",
11421 "line" : 64,
11422 "column" : 8,
11423 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11424 }
11425 },
11426 {
11427 "op" : "assign",
11428 "parameters" : [
11429 {
11430 "type" : "field",
11431 "value" : ["userMetadata.int_meta", "new_words"]
11432 },
11433 {
11434 "type" : "expression",
11435 "value" : {
11436 "type" : "expression",
11437 "value" : {
11438 "op" : "&",
11439 "left" : {
11440 "type" : "expression",
11441 "value" : {
11442 "op" : "+",
11443 "left" : {
11444 "type" : "field",
11445 "value" : ["userMetadata.int_meta", "new_words"]
11446 },
11447 "right" : {
11448 "type" : "hexstr",
11449 "value" : "0x03"
11450 }
11451 }
11452 },
11453 "right" : {
11454 "type" : "hexstr",
11455 "value" : "0xff"
11456 }
11457 }
11458 }
11459 }
11460 ],
11461 "source_info" : {
11462 "filename" : "include/int/int_transit.p4",
11463 "line" : 98,
11464 "column" : 8,
11465 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 3"
11466 }
11467 },
11468 {
11469 "op" : "assign",
11470 "parameters" : [
11471 {
11472 "type" : "field",
11473 "value" : ["userMetadata.int_meta", "new_bytes"]
11474 },
11475 {
11476 "type" : "expression",
11477 "value" : {
11478 "type" : "expression",
11479 "value" : {
11480 "op" : "&",
11481 "left" : {
11482 "type" : "expression",
11483 "value" : {
11484 "op" : "+",
11485 "left" : {
11486 "type" : "field",
11487 "value" : ["userMetadata.int_meta", "new_bytes"]
11488 },
11489 "right" : {
11490 "type" : "hexstr",
11491 "value" : "0x000c"
11492 }
11493 }
11494 },
11495 "right" : {
11496 "type" : "hexstr",
11497 "value" : "0xffff"
11498 }
11499 }
11500 }
11501 }
11502 ],
11503 "source_info" : {
11504 "filename" : "include/int/int_transit.p4",
11505 "line" : 99,
11506 "column" : 8,
11507 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 12"
11508 }
11509 }
11510 ]
11511 },
11512 {
11513 "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
11514 "id" : 110,
11515 "runtime_data" : [],
11516 "primitives" : [
11517 {
11518 "op" : "add_header",
11519 "parameters" : [
11520 {
11521 "type" : "header",
11522 "value" : "int_egress_tx_util"
11523 }
11524 ],
11525 "source_info" : {
11526 "filename" : "include/int/int_transit.p4",
11527 "line" : 80,
11528 "column" : 8,
11529 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
11530 }
11531 },
11532 {
11533 "op" : "assign",
11534 "parameters" : [
11535 {
11536 "type" : "field",
11537 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
11538 },
11539 {
11540 "type" : "hexstr",
11541 "value" : "0x00000000"
11542 }
11543 ],
11544 "source_info" : {
11545 "filename" : "include/int/int_transit.p4",
11546 "line" : 82,
11547 "column" : 8,
11548 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
11549 }
11550 },
11551 {
11552 "op" : "add_header",
11553 "parameters" : [
11554 {
11555 "type" : "header",
11556 "value" : "int_q_congestion"
11557 }
11558 ],
11559 "source_info" : {
11560 "filename" : "include/int/int_transit.p4",
11561 "line" : 73,
11562 "column" : 8,
11563 "source_fragment" : "hdr.int_q_congestion.setValid()"
11564 }
11565 },
11566 {
11567 "op" : "assign",
11568 "parameters" : [
11569 {
11570 "type" : "field",
11571 "value" : ["int_q_congestion", "q_id"]
11572 },
11573 {
11574 "type" : "hexstr",
11575 "value" : "0x00"
11576 }
11577 ],
11578 "source_info" : {
11579 "filename" : "include/int/int_transit.p4",
11580 "line" : 75,
11581 "column" : 8,
11582 "source_fragment" : "hdr.int_q_congestion.q_id = 8w0"
11583 }
11584 },
11585 {
11586 "op" : "assign",
11587 "parameters" : [
11588 {
11589 "type" : "field",
11590 "value" : ["int_q_congestion", "q_congestion"]
11591 },
11592 {
11593 "type" : "hexstr",
11594 "value" : "0x000000"
11595 }
11596 ],
11597 "source_info" : {
11598 "filename" : "include/int/int_transit.p4",
11599 "line" : 76,
11600 "column" : 8,
11601 "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
11602 }
11603 },
11604 {
11605 "op" : "add_header",
11606 "parameters" : [
11607 {
11608 "type" : "header",
11609 "value" : "int_egress_tstamp"
11610 }
11611 ],
11612 "source_info" : {
11613 "filename" : "include/int/int_transit.p4",
11614 "line" : 68,
11615 "column" : 8,
11616 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
11617 }
11618 },
11619 {
11620 "op" : "assign",
11621 "parameters" : [
11622 {
11623 "type" : "field",
11624 "value" : ["int_egress_tstamp", "egress_tstamp"]
11625 },
11626 {
11627 "type" : "expression",
11628 "value" : {
11629 "type" : "expression",
11630 "value" : {
11631 "op" : "&",
11632 "left" : {
11633 "type" : "expression",
11634 "value" : {
11635 "op" : "+",
11636 "left" : {
11637 "type" : "field",
11638 "value" : ["standard_metadata", "enq_timestamp"]
11639 },
11640 "right" : {
11641 "type" : "field",
11642 "value" : ["standard_metadata", "deq_timedelta"]
11643 }
11644 }
11645 },
11646 "right" : {
11647 "type" : "hexstr",
11648 "value" : "0xffffffff"
11649 }
11650 }
11651 }
11652 }
11653 ],
11654 "source_info" : {
11655 "filename" : "include/int/int_transit.p4",
11656 "line" : 69,
11657 "column" : 8,
11658 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = (bit<32>) smeta.enq_timestamp + (bit<32>) smeta.deq_timedelta"
11659 }
11660 },
11661 {
11662 "op" : "add_header",
11663 "parameters" : [
11664 {
11665 "type" : "header",
11666 "value" : "int_ingress_tstamp"
11667 }
11668 ],
11669 "source_info" : {
11670 "filename" : "include/int/int_transit.p4",
11671 "line" : 63,
11672 "column" : 8,
11673 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
11674 }
11675 },
11676 {
11677 "op" : "assign",
11678 "parameters" : [
11679 {
11680 "type" : "field",
11681 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
11682 },
11683 {
11684 "type" : "field",
11685 "value" : ["standard_metadata", "enq_timestamp"]
11686 }
11687 ],
11688 "source_info" : {
11689 "filename" : "include/int/int_transit.p4",
11690 "line" : 64,
11691 "column" : 8,
11692 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
11693 }
11694 },
11695 {
11696 "op" : "assign",
11697 "parameters" : [
11698 {
11699 "type" : "field",
11700 "value" : ["userMetadata.int_meta", "new_words"]
11701 },
11702 {
11703 "type" : "expression",
11704 "value" : {
11705 "type" : "expression",
11706 "value" : {
11707 "op" : "&",
11708 "left" : {
11709 "type" : "expression",
11710 "value" : {
11711 "op" : "+",
11712 "left" : {
11713 "type" : "field",
11714 "value" : ["userMetadata.int_meta", "new_words"]
11715 },
11716 "right" : {
11717 "type" : "hexstr",
11718 "value" : "0x04"
11719 }
11720 }
11721 },
11722 "right" : {
11723 "type" : "hexstr",
11724 "value" : "0xff"
11725 }
11726 }
11727 }
11728 }
11729 ],
11730 "source_info" : {
11731 "filename" : "include/int/int_transit.p4",
11732 "line" : 103,
11733 "column" : 8,
11734 "source_fragment" : "fmeta.int_meta.new_words = fmeta.int_meta.new_words + 4"
11735 }
11736 },
11737 {
11738 "op" : "assign",
11739 "parameters" : [
11740 {
11741 "type" : "field",
11742 "value" : ["userMetadata.int_meta", "new_bytes"]
11743 },
11744 {
11745 "type" : "expression",
11746 "value" : {
11747 "type" : "expression",
11748 "value" : {
11749 "op" : "&",
11750 "left" : {
11751 "type" : "expression",
11752 "value" : {
11753 "op" : "+",
11754 "left" : {
11755 "type" : "field",
11756 "value" : ["userMetadata.int_meta", "new_bytes"]
11757 },
11758 "right" : {
11759 "type" : "hexstr",
11760 "value" : "0x0010"
11761 }
11762 }
11763 },
11764 "right" : {
11765 "type" : "hexstr",
11766 "value" : "0xffff"
11767 }
11768 }
11769 }
11770 }
11771 ],
11772 "source_info" : {
11773 "filename" : "include/int/int_transit.p4",
11774 "line" : 104,
11775 "column" : 8,
11776 "source_fragment" : "fmeta.int_meta.new_bytes = fmeta.int_meta.new_bytes + 16"
11777 }
11778 }
11779 ]
11780 },
11781 {
11782 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
11783 "id" : 111,
11784 "runtime_data" : [],
11785 "primitives" : [
11786 {
11787 "op" : "assign",
11788 "parameters" : [
11789 {
11790 "type" : "field",
11791 "value" : ["ethernet", "ether_type"]
11792 },
11793 {
11794 "type" : "field",
11795 "value" : ["vlan_tag", "ether_type"]
11796 }
11797 ],
11798 "source_info" : {
11799 "filename" : "include/control/packetio.p4",
11800 "line" : 40,
11801 "column" : 8,
11802 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11803 }
11804 },
11805 {
11806 "op" : "remove_header",
11807 "parameters" : [
11808 {
11809 "type" : "header",
11810 "value" : "vlan_tag"
11811 }
11812 ],
11813 "source_info" : {
11814 "filename" : "include/control/packetio.p4",
11815 "line" : 41,
11816 "column" : 8,
11817 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11818 }
11819 }
11820 ]
11821 },
11822 {
11823 "name" : "FabricEgress.egress_next.pop_vlan",
11824 "id" : 112,
11825 "runtime_data" : [],
11826 "primitives" : [
11827 {
11828 "op" : "assign",
11829 "parameters" : [
11830 {
11831 "type" : "field",
11832 "value" : ["ethernet", "ether_type"]
11833 },
11834 {
11835 "type" : "field",
11836 "value" : ["vlan_tag", "ether_type"]
11837 }
11838 ],
11839 "source_info" : {
11840 "filename" : "include/control/next.p4",
11841 "line" : 253,
11842 "column" : 8,
11843 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11844 }
11845 },
11846 {
11847 "op" : "remove_header",
11848 "parameters" : [
11849 {
11850 "type" : "header",
11851 "value" : "vlan_tag"
11852 }
11853 ],
11854 "source_info" : {
11855 "filename" : "include/control/next.p4",
11856 "line" : 254,
11857 "column" : 8,
11858 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11859 }
11860 }
11861 ]
11862 },
11863 {
11864 "name" : "act_29",
11865 "id" : 113,
11866 "runtime_data" : [],
11867 "primitives" : [
11868 {
11869 "op" : "add_header",
11870 "parameters" : [
11871 {
11872 "type" : "header",
11873 "value" : "packet_in"
11874 }
11875 ],
11876 "source_info" : {
11877 "filename" : "include/control/packetio.p4",
11878 "line" : 57,
11879 "column" : 12,
11880 "source_fragment" : "hdr.packet_in.setValid()"
11881 }
11882 },
11883 {
11884 "op" : "assign",
11885 "parameters" : [
11886 {
11887 "type" : "field",
11888 "value" : ["packet_in", "ingress_port"]
11889 },
11890 {
11891 "type" : "field",
11892 "value" : ["standard_metadata", "ingress_port"]
11893 }
11894 ],
11895 "source_info" : {
11896 "filename" : "include/control/packetio.p4",
11897 "line" : 58,
11898 "column" : 12,
11899 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
11900 }
11901 }
11902 ]
11903 },
11904 {
11905 "name" : "act_30",
11906 "id" : 114,
11907 "runtime_data" : [],
11908 "primitives" : [
11909 {
11910 "op" : "assign",
11911 "parameters" : [
11912 {
11913 "type" : "field",
11914 "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
11915 },
11916 {
11917 "type" : "expression",
11918 "value" : {
11919 "type" : "expression",
11920 "value" : {
11921 "op" : "b2d",
11922 "left" : null,
11923 "right" : {
11924 "type" : "bool",
11925 "value" : false
11926 }
11927 }
11928 }
11929 }
11930 ]
11931 }
11932 ]
11933 },
11934 {
11935 "name" : "act_31",
11936 "id" : 115,
11937 "runtime_data" : [],
11938 "primitives" : [
11939 {
11940 "op" : "assign",
11941 "parameters" : [
11942 {
11943 "type" : "field",
11944 "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
11945 },
11946 {
11947 "type" : "expression",
11948 "value" : {
11949 "type" : "expression",
11950 "value" : {
11951 "op" : "b2d",
11952 "left" : null,
11953 "right" : {
11954 "type" : "bool",
11955 "value" : true
11956 }
11957 }
11958 }
11959 }
11960 ],
11961 "source_info" : {
11962 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070011963 "line" : 376,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070011964 "column" : 12,
11965 "source_fragment" : "return"
11966 }
11967 }
11968 ]
11969 },
11970 {
11971 "name" : "act_32",
11972 "id" : 116,
11973 "runtime_data" : [],
11974 "primitives" : [
11975 {
11976 "op" : "assign",
11977 "parameters" : [
11978 {
11979 "type" : "field",
11980 "value" : ["ipv4", "total_len"]
11981 },
11982 {
11983 "type" : "expression",
11984 "value" : {
11985 "type" : "expression",
11986 "value" : {
11987 "op" : "&",
11988 "left" : {
11989 "type" : "expression",
11990 "value" : {
11991 "op" : "+",
11992 "left" : {
11993 "type" : "field",
11994 "value" : ["ipv4", "total_len"]
11995 },
11996 "right" : {
11997 "type" : "field",
11998 "value" : ["userMetadata.int_meta", "new_bytes"]
11999 }
12000 }
12001 },
12002 "right" : {
12003 "type" : "hexstr",
12004 "value" : "0xffff"
12005 }
12006 }
12007 }
12008 }
12009 ],
12010 "source_info" : {
12011 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070012012 "line" : 384,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070012013 "column" : 12,
12014 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fmeta.int_meta.new_bytes"
12015 }
12016 }
12017 ]
12018 },
12019 {
12020 "name" : "act_33",
12021 "id" : 117,
12022 "runtime_data" : [],
12023 "primitives" : [
12024 {
12025 "op" : "assign",
12026 "parameters" : [
12027 {
12028 "type" : "field",
12029 "value" : ["int_header", "total_hop_cnt"]
12030 },
12031 {
12032 "type" : "expression",
12033 "value" : {
12034 "type" : "expression",
12035 "value" : {
12036 "op" : "&",
12037 "left" : {
12038 "type" : "expression",
12039 "value" : {
12040 "op" : "+",
12041 "left" : {
12042 "type" : "field",
12043 "value" : ["int_header", "total_hop_cnt"]
12044 },
12045 "right" : {
12046 "type" : "hexstr",
12047 "value" : "0x01"
12048 }
12049 }
12050 },
12051 "right" : {
12052 "type" : "hexstr",
12053 "value" : "0xff"
12054 }
12055 }
12056 }
12057 }
12058 ],
12059 "source_info" : {
12060 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070012061 "line" : 381,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070012062 "column" : 8,
12063 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
12064 }
12065 }
12066 ]
12067 },
12068 {
12069 "name" : "act_34",
12070 "id" : 118,
12071 "runtime_data" : [],
12072 "primitives" : [
12073 {
12074 "op" : "assign",
12075 "parameters" : [
12076 {
12077 "type" : "field",
12078 "value" : ["udp", "len"]
12079 },
12080 {
12081 "type" : "expression",
12082 "value" : {
12083 "type" : "expression",
12084 "value" : {
12085 "op" : "&",
12086 "left" : {
12087 "type" : "expression",
12088 "value" : {
12089 "op" : "+",
12090 "left" : {
12091 "type" : "field",
12092 "value" : ["udp", "len"]
12093 },
12094 "right" : {
12095 "type" : "field",
12096 "value" : ["userMetadata.int_meta", "new_bytes"]
12097 }
12098 }
12099 },
12100 "right" : {
12101 "type" : "hexstr",
12102 "value" : "0xffff"
12103 }
12104 }
12105 }
12106 }
12107 ],
12108 "source_info" : {
12109 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070012110 "line" : 387,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070012111 "column" : 12,
12112 "source_fragment" : "hdr.udp.len = hdr.udp.len + fmeta.int_meta.new_bytes"
12113 }
12114 }
12115 ]
12116 },
12117 {
12118 "name" : "act_35",
12119 "id" : 119,
12120 "runtime_data" : [],
12121 "primitives" : [
12122 {
12123 "op" : "assign",
12124 "parameters" : [
12125 {
12126 "type" : "field",
12127 "value" : ["intl4_shim", "len_words"]
12128 },
12129 {
12130 "type" : "expression",
12131 "value" : {
12132 "type" : "expression",
12133 "value" : {
12134 "op" : "&",
12135 "left" : {
12136 "type" : "expression",
12137 "value" : {
12138 "op" : "+",
12139 "left" : {
12140 "type" : "field",
12141 "value" : ["intl4_shim", "len_words"]
12142 },
12143 "right" : {
12144 "type" : "field",
12145 "value" : ["userMetadata.int_meta", "new_words"]
12146 }
12147 }
12148 },
12149 "right" : {
12150 "type" : "hexstr",
12151 "value" : "0xff"
12152 }
12153 }
12154 }
12155 }
12156 ],
12157 "source_info" : {
12158 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070012159 "line" : 390,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070012160 "column" : 12,
12161 "source_fragment" : "hdr.intl4_shim.len_words = hdr.intl4_shim.len_words + fmeta.int_meta.new_words"
12162 }
12163 }
12164 ]
12165 }
12166 ],
12167 "pipelines" : [
12168 {
12169 "name" : "ingress",
12170 "id" : 0,
12171 "source_info" : {
12172 "filename" : "fabric.p4",
12173 "line" : 40,
12174 "column" : 8,
12175 "source_fragment" : "FabricIngress"
12176 },
12177 "init_table" : "tbl_act",
12178 "tables" : [
12179 {
12180 "name" : "tbl_act",
12181 "id" : 0,
12182 "key" : [],
12183 "match_type" : "exact",
12184 "type" : "simple",
12185 "max_size" : 1024,
12186 "with_counters" : false,
12187 "support_timeout" : false,
12188 "direct_meters" : null,
12189 "action_ids" : [40],
12190 "actions" : ["act_0"],
12191 "base_default_next" : "node_3",
12192 "next_tables" : {
12193 "act_0" : "node_3"
12194 },
12195 "default_entry" : {
12196 "action_id" : 40,
12197 "action_const" : true,
12198 "action_data" : [],
12199 "action_entry_const" : true
12200 }
12201 },
12202 {
12203 "name" : "tbl_act_0",
12204 "id" : 1,
12205 "key" : [],
12206 "match_type" : "exact",
12207 "type" : "simple",
12208 "max_size" : 1024,
12209 "with_counters" : false,
12210 "support_timeout" : false,
12211 "direct_meters" : null,
12212 "action_ids" : [39],
12213 "actions" : ["act"],
12214 "base_default_next" : "node_5",
12215 "next_tables" : {
12216 "act" : "node_5"
12217 },
12218 "default_entry" : {
12219 "action_id" : 39,
12220 "action_const" : true,
12221 "action_data" : [],
12222 "action_entry_const" : true
12223 }
12224 },
12225 {
12226 "name" : "tbl_act_1",
12227 "id" : 2,
12228 "key" : [],
12229 "match_type" : "exact",
12230 "type" : "simple",
12231 "max_size" : 1024,
12232 "with_counters" : false,
12233 "support_timeout" : false,
12234 "direct_meters" : null,
12235 "action_ids" : [43],
12236 "actions" : ["act_3"],
12237 "base_default_next" : "node_7",
12238 "next_tables" : {
12239 "act_3" : "node_7"
12240 },
12241 "default_entry" : {
12242 "action_id" : 43,
12243 "action_const" : true,
12244 "action_data" : [],
12245 "action_entry_const" : true
12246 }
12247 },
12248 {
12249 "name" : "tbl_act_2",
12250 "id" : 3,
12251 "key" : [],
12252 "match_type" : "exact",
12253 "type" : "simple",
12254 "max_size" : 1024,
12255 "with_counters" : false,
12256 "support_timeout" : false,
12257 "direct_meters" : null,
12258 "action_ids" : [41],
12259 "actions" : ["act_1"],
12260 "base_default_next" : "node_10",
12261 "next_tables" : {
12262 "act_1" : "node_10"
12263 },
12264 "default_entry" : {
12265 "action_id" : 41,
12266 "action_const" : true,
12267 "action_data" : [],
12268 "action_entry_const" : true
12269 }
12270 },
12271 {
12272 "name" : "tbl_act_3",
12273 "id" : 4,
12274 "key" : [],
12275 "match_type" : "exact",
12276 "type" : "simple",
12277 "max_size" : 1024,
12278 "with_counters" : false,
12279 "support_timeout" : false,
12280 "direct_meters" : null,
12281 "action_ids" : [42],
12282 "actions" : ["act_2"],
12283 "base_default_next" : "node_10",
12284 "next_tables" : {
12285 "act_2" : "node_10"
12286 },
12287 "default_entry" : {
12288 "action_id" : 42,
12289 "action_const" : true,
12290 "action_data" : [],
12291 "action_entry_const" : true
12292 }
12293 },
12294 {
12295 "name" : "tbl_act_4",
12296 "id" : 5,
12297 "key" : [],
12298 "match_type" : "exact",
12299 "type" : "simple",
12300 "max_size" : 1024,
12301 "with_counters" : false,
12302 "support_timeout" : false,
12303 "direct_meters" : null,
12304 "action_ids" : [44],
12305 "actions" : ["act_4"],
12306 "base_default_next" : null,
12307 "next_tables" : {
12308 "act_4" : null
12309 },
12310 "default_entry" : {
12311 "action_id" : 44,
12312 "action_const" : true,
12313 "action_data" : [],
12314 "action_entry_const" : true
12315 }
12316 },
12317 {
12318 "name" : "tbl_act_5",
12319 "id" : 6,
12320 "key" : [],
12321 "match_type" : "exact",
12322 "type" : "simple",
12323 "max_size" : 1024,
12324 "with_counters" : false,
12325 "support_timeout" : false,
12326 "direct_meters" : null,
12327 "action_ids" : [52],
12328 "actions" : ["act_12"],
12329 "base_default_next" : "node_13",
12330 "next_tables" : {
12331 "act_12" : "node_13"
12332 },
12333 "default_entry" : {
12334 "action_id" : 52,
12335 "action_const" : true,
12336 "action_data" : [],
12337 "action_entry_const" : true
12338 }
12339 },
12340 {
12341 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
12342 "id" : 7,
12343 "source_info" : {
12344 "filename" : "include/spgw.p4",
12345 "line" : 79,
12346 "column" : 10,
12347 "source_fragment" : "s1u_filter_table"
12348 },
12349 "key" : [
12350 {
12351 "match_type" : "exact",
12352 "name" : "gtpu_ipv4.dst_addr",
12353 "target" : ["gtpu_ipv4", "dst_addr"],
12354 "mask" : null
12355 }
12356 ],
12357 "match_type" : "exact",
12358 "type" : "simple",
12359 "max_size" : 1024,
12360 "with_counters" : false,
12361 "support_timeout" : false,
12362 "direct_meters" : null,
12363 "action_ids" : [1],
12364 "actions" : ["NoAction"],
12365 "base_default_next" : null,
12366 "next_tables" : {
12367 "__HIT__" : "tbl_act_6",
12368 "__MISS__" : "tbl_act_7"
12369 },
12370 "default_entry" : {
12371 "action_id" : 1,
12372 "action_const" : false,
12373 "action_data" : [],
12374 "action_entry_const" : false
12375 }
12376 },
12377 {
12378 "name" : "tbl_act_6",
12379 "id" : 8,
12380 "key" : [],
12381 "match_type" : "exact",
12382 "type" : "simple",
12383 "max_size" : 1024,
12384 "with_counters" : false,
12385 "support_timeout" : false,
12386 "direct_meters" : null,
12387 "action_ids" : [45],
12388 "actions" : ["act_5"],
12389 "base_default_next" : "node_17",
12390 "next_tables" : {
12391 "act_5" : "node_17"
12392 },
12393 "default_entry" : {
12394 "action_id" : 45,
12395 "action_const" : true,
12396 "action_data" : [],
12397 "action_entry_const" : true
12398 }
12399 },
12400 {
12401 "name" : "tbl_act_7",
12402 "id" : 9,
12403 "key" : [],
12404 "match_type" : "exact",
12405 "type" : "simple",
12406 "max_size" : 1024,
12407 "with_counters" : false,
12408 "support_timeout" : false,
12409 "direct_meters" : null,
12410 "action_ids" : [46],
12411 "actions" : ["act_6"],
12412 "base_default_next" : "node_17",
12413 "next_tables" : {
12414 "act_6" : "node_17"
12415 },
12416 "default_entry" : {
12417 "action_id" : 46,
12418 "action_const" : true,
12419 "action_data" : [],
12420 "action_entry_const" : true
12421 }
12422 },
12423 {
12424 "name" : "tbl_drop_now",
12425 "id" : 10,
12426 "key" : [],
12427 "match_type" : "exact",
12428 "type" : "simple",
12429 "max_size" : 1024,
12430 "with_counters" : false,
12431 "support_timeout" : false,
12432 "direct_meters" : null,
12433 "action_ids" : [10],
12434 "actions" : ["drop_now"],
12435 "base_default_next" : "tbl_act_8",
12436 "next_tables" : {
12437 "drop_now" : "tbl_act_8"
12438 },
12439 "default_entry" : {
12440 "action_id" : 10,
12441 "action_const" : true,
12442 "action_data" : [],
12443 "action_entry_const" : true
12444 }
12445 },
12446 {
12447 "name" : "tbl_act_8",
12448 "id" : 11,
12449 "key" : [],
12450 "match_type" : "exact",
12451 "type" : "simple",
12452 "max_size" : 1024,
12453 "with_counters" : false,
12454 "support_timeout" : false,
12455 "direct_meters" : null,
12456 "action_ids" : [47],
12457 "actions" : ["act_7"],
12458 "base_default_next" : "tbl_spgw_ingress_gtpu_decap",
12459 "next_tables" : {
12460 "act_7" : "tbl_spgw_ingress_gtpu_decap"
12461 },
12462 "default_entry" : {
12463 "action_id" : 47,
12464 "action_const" : true,
12465 "action_data" : [],
12466 "action_entry_const" : true
12467 }
12468 },
12469 {
12470 "name" : "tbl_spgw_ingress_gtpu_decap",
12471 "id" : 12,
12472 "key" : [],
12473 "match_type" : "exact",
12474 "type" : "simple",
12475 "max_size" : 1024,
12476 "with_counters" : false,
12477 "support_timeout" : false,
12478 "direct_meters" : null,
12479 "action_ids" : [11],
12480 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
12481 "base_default_next" : "node_27",
12482 "next_tables" : {
12483 "FabricIngress.spgw_ingress.gtpu_decap" : "node_27"
12484 },
12485 "default_entry" : {
12486 "action_id" : 11,
12487 "action_const" : true,
12488 "action_data" : [],
12489 "action_entry_const" : true
12490 }
12491 },
12492 {
12493 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
12494 "id" : 13,
12495 "source_info" : {
12496 "filename" : "include/spgw.p4",
12497 "line" : 68,
12498 "column" : 10,
12499 "source_fragment" : "dl_sess_lookup"
12500 },
12501 "key" : [
12502 {
12503 "match_type" : "exact",
12504 "name" : "ipv4.dst_addr",
12505 "target" : ["ipv4", "dst_addr"],
12506 "mask" : null
12507 }
12508 ],
12509 "match_type" : "exact",
12510 "type" : "simple",
12511 "max_size" : 1024,
12512 "with_counters" : true,
12513 "support_timeout" : false,
12514 "direct_meters" : null,
12515 "action_ids" : [12, 0],
12516 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
12517 "base_default_next" : null,
12518 "next_tables" : {
12519 "__HIT__" : "tbl_act_9",
12520 "__MISS__" : "tbl_act_10"
12521 },
12522 "default_entry" : {
12523 "action_id" : 0,
12524 "action_const" : false,
12525 "action_data" : [],
12526 "action_entry_const" : false
12527 }
12528 },
12529 {
12530 "name" : "tbl_act_9",
12531 "id" : 14,
12532 "key" : [],
12533 "match_type" : "exact",
12534 "type" : "simple",
12535 "max_size" : 1024,
12536 "with_counters" : false,
12537 "support_timeout" : false,
12538 "direct_meters" : null,
12539 "action_ids" : [48],
12540 "actions" : ["act_8"],
12541 "base_default_next" : "node_24",
12542 "next_tables" : {
12543 "act_8" : "node_24"
12544 },
12545 "default_entry" : {
12546 "action_id" : 48,
12547 "action_const" : true,
12548 "action_data" : [],
12549 "action_entry_const" : true
12550 }
12551 },
12552 {
12553 "name" : "tbl_act_10",
12554 "id" : 15,
12555 "key" : [],
12556 "match_type" : "exact",
12557 "type" : "simple",
12558 "max_size" : 1024,
12559 "with_counters" : false,
12560 "support_timeout" : false,
12561 "direct_meters" : null,
12562 "action_ids" : [49],
12563 "actions" : ["act_9"],
12564 "base_default_next" : "node_24",
12565 "next_tables" : {
12566 "act_9" : "node_24"
12567 },
12568 "default_entry" : {
12569 "action_id" : 49,
12570 "action_const" : true,
12571 "action_data" : [],
12572 "action_entry_const" : true
12573 }
12574 },
12575 {
12576 "name" : "tbl_act_11",
12577 "id" : 16,
12578 "key" : [],
12579 "match_type" : "exact",
12580 "type" : "simple",
12581 "max_size" : 1024,
12582 "with_counters" : false,
12583 "support_timeout" : false,
12584 "direct_meters" : null,
12585 "action_ids" : [50],
12586 "actions" : ["act_10"],
12587 "base_default_next" : "node_27",
12588 "next_tables" : {
12589 "act_10" : "node_27"
12590 },
12591 "default_entry" : {
12592 "action_id" : 50,
12593 "action_const" : true,
12594 "action_data" : [],
12595 "action_entry_const" : true
12596 }
12597 },
12598 {
12599 "name" : "tbl_act_12",
12600 "id" : 17,
12601 "key" : [],
12602 "match_type" : "exact",
12603 "type" : "simple",
12604 "max_size" : 1024,
12605 "with_counters" : false,
12606 "support_timeout" : false,
12607 "direct_meters" : null,
12608 "action_ids" : [51],
12609 "actions" : ["act_11"],
12610 "base_default_next" : "node_27",
12611 "next_tables" : {
12612 "act_11" : "node_27"
12613 },
12614 "default_entry" : {
12615 "action_id" : 51,
12616 "action_const" : true,
12617 "action_data" : [],
12618 "action_entry_const" : true
12619 }
12620 },
12621 {
12622 "name" : "tbl_act_13",
12623 "id" : 18,
12624 "key" : [],
12625 "match_type" : "exact",
12626 "type" : "simple",
12627 "max_size" : 1024,
12628 "with_counters" : false,
12629 "support_timeout" : false,
12630 "direct_meters" : null,
12631 "action_ids" : [53],
12632 "actions" : ["act_13"],
12633 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
12634 "next_tables" : {
12635 "act_13" : "FabricIngress.filtering.ingress_port_vlan"
12636 },
12637 "default_entry" : {
12638 "action_id" : 53,
12639 "action_const" : true,
12640 "action_data" : [],
12641 "action_entry_const" : true
12642 }
12643 },
12644 {
12645 "name" : "FabricIngress.filtering.ingress_port_vlan",
12646 "id" : 19,
12647 "source_info" : {
12648 "filename" : "include/control/filtering.p4",
12649 "line" : 66,
12650 "column" : 10,
12651 "source_fragment" : "ingress_port_vlan"
12652 },
12653 "key" : [
12654 {
12655 "match_type" : "exact",
12656 "name" : "standard_metadata.ingress_port",
12657 "target" : ["standard_metadata", "ingress_port"],
12658 "mask" : null
12659 },
12660 {
12661 "match_type" : "exact",
12662 "name" : "hdr.vlan_tag.is_valid",
12663 "target" : ["vlan_tag", "$valid$"],
12664 "mask" : null
12665 },
12666 {
12667 "match_type" : "ternary",
12668 "name" : "hdr.vlan_tag.vlan_id",
12669 "target" : ["vlan_tag", "vlan_id"],
12670 "mask" : null
12671 }
12672 ],
12673 "match_type" : "ternary",
12674 "type" : "simple",
12675 "max_size" : 1024,
12676 "with_counters" : true,
12677 "support_timeout" : false,
12678 "direct_meters" : null,
12679 "action_ids" : [16, 15, 14, 17],
12680 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "FabricIngress.filtering.drop", "FabricIngress.filtering.nop_ingress_port_vlan"],
12681 "base_default_next" : null,
12682 "next_tables" : {
12683 "__HIT__" : "tbl_act_14",
12684 "__MISS__" : "tbl_act_15"
12685 },
12686 "default_entry" : {
12687 "action_id" : 16,
12688 "action_const" : true,
12689 "action_data" : ["0xffe"],
12690 "action_entry_const" : true
12691 }
12692 },
12693 {
12694 "name" : "tbl_act_14",
12695 "id" : 20,
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" : [54],
12704 "actions" : ["act_14"],
12705 "base_default_next" : "node_32",
12706 "next_tables" : {
12707 "act_14" : "node_32"
12708 },
12709 "default_entry" : {
12710 "action_id" : 54,
12711 "action_const" : true,
12712 "action_data" : [],
12713 "action_entry_const" : true
12714 }
12715 },
12716 {
12717 "name" : "tbl_act_15",
12718 "id" : 21,
12719 "key" : [],
12720 "match_type" : "exact",
12721 "type" : "simple",
12722 "max_size" : 1024,
12723 "with_counters" : false,
12724 "support_timeout" : false,
12725 "direct_meters" : null,
12726 "action_ids" : [55],
12727 "actions" : ["act_15"],
12728 "base_default_next" : "node_32",
12729 "next_tables" : {
12730 "act_15" : "node_32"
12731 },
12732 "default_entry" : {
12733 "action_id" : 55,
12734 "action_const" : true,
12735 "action_data" : [],
12736 "action_entry_const" : true
12737 }
12738 },
12739 {
12740 "name" : "FabricIngress.filtering.fwd_classifier",
12741 "id" : 22,
12742 "source_info" : {
12743 "filename" : "include/control/filtering.p4",
12744 "line" : 103,
12745 "column" : 10,
12746 "source_fragment" : "fwd_classifier"
12747 },
12748 "key" : [
12749 {
12750 "match_type" : "exact",
12751 "name" : "standard_metadata.ingress_port",
12752 "target" : ["standard_metadata", "ingress_port"],
12753 "mask" : null
12754 },
12755 {
12756 "match_type" : "ternary",
12757 "name" : "hdr.ethernet.dst_addr",
12758 "target" : ["ethernet", "dst_addr"],
12759 "mask" : null
12760 },
12761 {
12762 "match_type" : "exact",
12763 "name" : "hdr.vlan_tag.ether_type",
12764 "target" : ["vlan_tag", "ether_type"],
12765 "mask" : null
12766 }
12767 ],
12768 "match_type" : "ternary",
12769 "type" : "simple",
12770 "max_size" : 1024,
12771 "with_counters" : true,
12772 "support_timeout" : false,
12773 "direct_meters" : null,
12774 "action_ids" : [18],
12775 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
12776 "base_default_next" : "node_35",
12777 "next_tables" : {
12778 "FabricIngress.filtering.set_forwarding_type" : "node_35"
12779 },
12780 "default_entry" : {
12781 "action_id" : 18,
12782 "action_const" : true,
12783 "action_data" : ["0x0"],
12784 "action_entry_const" : true
12785 }
12786 },
12787 {
12788 "name" : "tbl_act_16",
12789 "id" : 23,
12790 "key" : [],
12791 "match_type" : "exact",
12792 "type" : "simple",
12793 "max_size" : 1024,
12794 "with_counters" : false,
12795 "support_timeout" : false,
12796 "direct_meters" : null,
12797 "action_ids" : [56],
12798 "actions" : ["act_16"],
12799 "base_default_next" : "node_35",
12800 "next_tables" : {
12801 "act_16" : "node_35"
12802 },
12803 "default_entry" : {
12804 "action_id" : 56,
12805 "action_const" : true,
12806 "action_data" : [],
12807 "action_entry_const" : true
12808 }
12809 },
12810 {
12811 "name" : "FabricIngress.forwarding.bridging",
12812 "id" : 24,
12813 "source_info" : {
12814 "filename" : "include/control/forwarding.p4",
12815 "line" : 41,
12816 "column" : 10,
12817 "source_fragment" : "bridging"
12818 },
12819 "key" : [
12820 {
12821 "match_type" : "exact",
12822 "name" : "hdr.vlan_tag.vlan_id",
12823 "target" : ["vlan_tag", "vlan_id"],
12824 "mask" : null
12825 },
12826 {
12827 "match_type" : "ternary",
12828 "name" : "hdr.ethernet.dst_addr",
12829 "target" : ["ethernet", "dst_addr"],
12830 "mask" : null
12831 }
12832 ],
12833 "match_type" : "ternary",
12834 "type" : "simple",
12835 "max_size" : 1024,
12836 "with_counters" : true,
12837 "support_timeout" : false,
12838 "direct_meters" : null,
12839 "action_ids" : [19, 3],
12840 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
12841 "base_default_next" : "FabricIngress.forwarding.acl",
12842 "next_tables" : {
12843 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
12844 "NoAction" : "FabricIngress.forwarding.acl"
12845 },
12846 "default_entry" : {
12847 "action_id" : 3,
12848 "action_const" : false,
12849 "action_data" : [],
12850 "action_entry_const" : false
12851 }
12852 },
12853 {
12854 "name" : "FabricIngress.forwarding.mpls",
12855 "id" : 25,
12856 "source_info" : {
12857 "filename" : "include/control/forwarding.p4",
12858 "line" : 65,
12859 "column" : 10,
12860 "source_fragment" : "mpls"
12861 },
12862 "key" : [
12863 {
12864 "match_type" : "exact",
12865 "name" : "hdr.mpls.label",
12866 "target" : ["mpls", "label"],
12867 "mask" : null
12868 }
12869 ],
12870 "match_type" : "exact",
12871 "type" : "simple",
12872 "max_size" : 1024,
12873 "with_counters" : true,
12874 "support_timeout" : false,
12875 "direct_meters" : null,
12876 "action_ids" : [20, 4],
12877 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
12878 "base_default_next" : "tbl_act_17",
12879 "next_tables" : {
12880 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_17",
12881 "NoAction" : "tbl_act_17"
12882 },
12883 "default_entry" : {
12884 "action_id" : 4,
12885 "action_const" : false,
12886 "action_data" : [],
12887 "action_entry_const" : false
12888 }
12889 },
12890 {
12891 "name" : "tbl_act_17",
12892 "id" : 26,
12893 "key" : [],
12894 "match_type" : "exact",
12895 "type" : "simple",
12896 "max_size" : 1024,
12897 "with_counters" : false,
12898 "support_timeout" : false,
12899 "direct_meters" : null,
12900 "action_ids" : [57],
12901 "actions" : ["act_17"],
12902 "base_default_next" : "FabricIngress.forwarding.acl",
12903 "next_tables" : {
12904 "act_17" : "FabricIngress.forwarding.acl"
12905 },
12906 "default_entry" : {
12907 "action_id" : 57,
12908 "action_const" : true,
12909 "action_data" : [],
12910 "action_entry_const" : true
12911 }
12912 },
12913 {
12914 "name" : "FabricIngress.forwarding.routing_v4",
12915 "id" : 27,
12916 "source_info" : {
12917 "filename" : "include/control/forwarding.p4",
12918 "line" : 91,
12919 "column" : 10,
12920 "source_fragment" : "routing_v4"
12921 },
12922 "key" : [
12923 {
12924 "match_type" : "lpm",
12925 "name" : "hdr.ipv4.dst_addr",
12926 "target" : ["ipv4", "dst_addr"],
12927 "mask" : null
12928 }
12929 ],
12930 "match_type" : "lpm",
12931 "type" : "simple",
12932 "max_size" : 1024,
12933 "with_counters" : true,
12934 "support_timeout" : false,
12935 "direct_meters" : null,
12936 "action_ids" : [21, 22, 5],
12937 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "NoAction"],
12938 "base_default_next" : "FabricIngress.forwarding.acl",
12939 "next_tables" : {
12940 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl",
12941 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.forwarding.acl",
12942 "NoAction" : "FabricIngress.forwarding.acl"
12943 },
12944 "default_entry" : {
12945 "action_id" : 5,
12946 "action_const" : false,
12947 "action_data" : [],
12948 "action_entry_const" : false
12949 }
12950 },
12951 {
12952 "name" : "FabricIngress.forwarding.acl",
12953 "id" : 28,
12954 "source_info" : {
12955 "filename" : "include/control/forwarding.p4",
12956 "line" : 136,
12957 "column" : 10,
12958 "source_fragment" : "acl"
12959 },
12960 "key" : [
12961 {
12962 "match_type" : "ternary",
12963 "name" : "standard_metadata.ingress_port",
12964 "target" : ["standard_metadata", "ingress_port"],
12965 "mask" : null
12966 },
12967 {
12968 "match_type" : "ternary",
12969 "name" : "fabric_metadata.ip_proto",
12970 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
12971 "mask" : null
12972 },
12973 {
12974 "match_type" : "ternary",
12975 "name" : "fabric_metadata.l4_src_port",
12976 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
12977 "mask" : null
12978 },
12979 {
12980 "match_type" : "ternary",
12981 "name" : "fabric_metadata.l4_dst_port",
12982 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
12983 "mask" : null
12984 },
12985 {
12986 "match_type" : "ternary",
12987 "name" : "hdr.ethernet.dst_addr",
12988 "target" : ["ethernet", "dst_addr"],
12989 "mask" : null
12990 },
12991 {
12992 "match_type" : "ternary",
12993 "name" : "hdr.ethernet.src_addr",
12994 "target" : ["ethernet", "src_addr"],
12995 "mask" : null
12996 },
12997 {
12998 "match_type" : "ternary",
12999 "name" : "hdr.vlan_tag.vlan_id",
13000 "target" : ["vlan_tag", "vlan_id"],
13001 "mask" : null
13002 },
13003 {
13004 "match_type" : "ternary",
13005 "name" : "hdr.vlan_tag.ether_type",
13006 "target" : ["vlan_tag", "ether_type"],
13007 "mask" : null
13008 },
13009 {
13010 "match_type" : "ternary",
13011 "name" : "hdr.ipv4.src_addr",
13012 "target" : ["ipv4", "src_addr"],
13013 "mask" : null
13014 },
13015 {
13016 "match_type" : "ternary",
13017 "name" : "hdr.ipv4.dst_addr",
13018 "target" : ["ipv4", "dst_addr"],
13019 "mask" : null
13020 },
13021 {
13022 "match_type" : "ternary",
13023 "name" : "hdr.icmp.icmp_type",
13024 "target" : ["icmp", "icmp_type"],
13025 "mask" : null
13026 },
13027 {
13028 "match_type" : "ternary",
13029 "name" : "hdr.icmp.icmp_code",
13030 "target" : ["icmp", "icmp_code"],
13031 "mask" : null
13032 }
13033 ],
13034 "match_type" : "ternary",
13035 "type" : "simple",
13036 "max_size" : 128,
13037 "with_counters" : true,
13038 "support_timeout" : false,
13039 "direct_meters" : null,
13040 "action_ids" : [23, 24, 25, 26, 27],
13041 "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "FabricIngress.forwarding.nop_acl"],
13042 "base_default_next" : "tbl_act_18",
13043 "next_tables" : {
13044 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_18",
13045 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_18",
13046 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_18",
13047 "FabricIngress.forwarding.drop" : "tbl_act_18",
13048 "FabricIngress.forwarding.nop_acl" : "tbl_act_18"
13049 },
13050 "default_entry" : {
13051 "action_id" : 27,
13052 "action_const" : true,
13053 "action_data" : [],
13054 "action_entry_const" : true
13055 }
13056 },
13057 {
13058 "name" : "tbl_act_18",
13059 "id" : 29,
13060 "key" : [],
13061 "match_type" : "exact",
13062 "type" : "simple",
13063 "max_size" : 1024,
13064 "with_counters" : false,
13065 "support_timeout" : false,
13066 "direct_meters" : null,
13067 "action_ids" : [58],
13068 "actions" : ["act_18"],
13069 "base_default_next" : "FabricIngress.next.vlan_meta",
13070 "next_tables" : {
13071 "act_18" : "FabricIngress.next.vlan_meta"
13072 },
13073 "default_entry" : {
13074 "action_id" : 58,
13075 "action_const" : true,
13076 "action_data" : [],
13077 "action_entry_const" : true
13078 }
13079 },
13080 {
13081 "name" : "FabricIngress.next.vlan_meta",
13082 "id" : 30,
13083 "source_info" : {
13084 "filename" : "include/control/next.p4",
13085 "line" : 65,
13086 "column" : 10,
13087 "source_fragment" : "vlan_meta"
13088 },
13089 "key" : [
13090 {
13091 "match_type" : "exact",
13092 "name" : "fabric_metadata.next_id",
13093 "target" : ["scalars", "fabric_metadata_t.next_id"],
13094 "mask" : null
13095 }
13096 ],
13097 "match_type" : "exact",
13098 "type" : "simple",
13099 "max_size" : 1024,
13100 "with_counters" : true,
13101 "support_timeout" : false,
13102 "direct_meters" : null,
13103 "action_ids" : [28, 9],
13104 "actions" : ["FabricIngress.next.set_vlan", "nop"],
13105 "base_default_next" : "FabricIngress.next.simple",
13106 "next_tables" : {
13107 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
13108 "nop" : "FabricIngress.next.simple"
13109 },
13110 "default_entry" : {
13111 "action_id" : 9,
13112 "action_const" : false,
13113 "action_data" : [],
13114 "action_entry_const" : false
13115 }
13116 },
13117 {
13118 "name" : "FabricIngress.next.simple",
13119 "id" : 31,
13120 "source_info" : {
13121 "filename" : "include/control/next.p4",
13122 "line" : 122,
13123 "column" : 10,
13124 "source_fragment" : "simple"
13125 },
13126 "key" : [
13127 {
13128 "match_type" : "exact",
13129 "name" : "fabric_metadata.next_id",
13130 "target" : ["scalars", "fabric_metadata_t.next_id"],
13131 "mask" : null
13132 }
13133 ],
13134 "match_type" : "exact",
13135 "type" : "simple",
13136 "max_size" : 1024,
13137 "with_counters" : true,
13138 "support_timeout" : false,
13139 "direct_meters" : null,
13140 "action_ids" : [29, 30, 31, 32, 33, 34, 6],
13141 "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"],
13142 "base_default_next" : null,
13143 "next_tables" : {
13144 "__HIT__" : "tbl_act_19",
13145 "__MISS__" : "tbl_act_20"
13146 },
13147 "default_entry" : {
13148 "action_id" : 6,
13149 "action_const" : false,
13150 "action_data" : [],
13151 "action_entry_const" : false
13152 }
13153 },
13154 {
13155 "name" : "tbl_act_19",
13156 "id" : 32,
13157 "key" : [],
13158 "match_type" : "exact",
13159 "type" : "simple",
13160 "max_size" : 1024,
13161 "with_counters" : false,
13162 "support_timeout" : false,
13163 "direct_meters" : null,
13164 "action_ids" : [59],
13165 "actions" : ["act_19"],
13166 "base_default_next" : "node_48",
13167 "next_tables" : {
13168 "act_19" : "node_48"
13169 },
13170 "default_entry" : {
13171 "action_id" : 59,
13172 "action_const" : true,
13173 "action_data" : [],
13174 "action_entry_const" : true
13175 }
13176 },
13177 {
13178 "name" : "tbl_act_20",
13179 "id" : 33,
13180 "key" : [],
13181 "match_type" : "exact",
13182 "type" : "simple",
13183 "max_size" : 1024,
13184 "with_counters" : false,
13185 "support_timeout" : false,
13186 "direct_meters" : null,
13187 "action_ids" : [60],
13188 "actions" : ["act_20"],
13189 "base_default_next" : "node_48",
13190 "next_tables" : {
13191 "act_20" : "node_48"
13192 },
13193 "default_entry" : {
13194 "action_id" : 60,
13195 "action_const" : true,
13196 "action_data" : [],
13197 "action_entry_const" : true
13198 }
13199 },
13200 {
13201 "name" : "FabricIngress.next.hashed",
13202 "id" : 34,
13203 "source_info" : {
13204 "filename" : "include/control/next.p4",
13205 "line" : 175,
13206 "column" : 10,
13207 "source_fragment" : "hashed"
13208 },
13209 "key" : [
13210 {
13211 "match_type" : "exact",
13212 "name" : "fabric_metadata.next_id",
13213 "target" : ["scalars", "fabric_metadata_t.next_id"],
13214 "mask" : null
13215 }
13216 ],
13217 "match_type" : "exact",
13218 "type" : "indirect_ws",
13219 "action_profile" : "FabricIngress.next.ecmp_selector",
13220 "max_size" : 1024,
13221 "with_counters" : true,
13222 "support_timeout" : false,
13223 "direct_meters" : null,
13224 "action_ids" : [35, 36, 37, 7],
13225 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
13226 "base_default_next" : null,
13227 "next_tables" : {
13228 "__HIT__" : "tbl_act_21",
13229 "__MISS__" : "tbl_act_22"
13230 }
13231 },
13232 {
13233 "name" : "tbl_act_21",
13234 "id" : 35,
13235 "key" : [],
13236 "match_type" : "exact",
13237 "type" : "simple",
13238 "max_size" : 1024,
13239 "with_counters" : false,
13240 "support_timeout" : false,
13241 "direct_meters" : null,
13242 "action_ids" : [61],
13243 "actions" : ["act_21"],
13244 "base_default_next" : "node_52",
13245 "next_tables" : {
13246 "act_21" : "node_52"
13247 },
13248 "default_entry" : {
13249 "action_id" : 61,
13250 "action_const" : true,
13251 "action_data" : [],
13252 "action_entry_const" : true
13253 }
13254 },
13255 {
13256 "name" : "tbl_act_22",
13257 "id" : 36,
13258 "key" : [],
13259 "match_type" : "exact",
13260 "type" : "simple",
13261 "max_size" : 1024,
13262 "with_counters" : false,
13263 "support_timeout" : false,
13264 "direct_meters" : null,
13265 "action_ids" : [62],
13266 "actions" : ["act_22"],
13267 "base_default_next" : "node_52",
13268 "next_tables" : {
13269 "act_22" : "node_52"
13270 },
13271 "default_entry" : {
13272 "action_id" : 62,
13273 "action_const" : true,
13274 "action_data" : [],
13275 "action_entry_const" : true
13276 }
13277 },
13278 {
13279 "name" : "FabricIngress.next.multicast",
13280 "id" : 37,
13281 "source_info" : {
13282 "filename" : "include/control/next.p4",
13283 "line" : 207,
13284 "column" : 10,
13285 "source_fragment" : "multicast"
13286 },
13287 "key" : [
13288 {
13289 "match_type" : "exact",
13290 "name" : "fabric_metadata.next_id",
13291 "target" : ["scalars", "fabric_metadata_t.next_id"],
13292 "mask" : null
13293 }
13294 ],
13295 "match_type" : "exact",
13296 "type" : "simple",
13297 "max_size" : 1024,
13298 "with_counters" : true,
13299 "support_timeout" : false,
13300 "direct_meters" : null,
13301 "action_ids" : [38, 8],
13302 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
13303 "base_default_next" : null,
13304 "next_tables" : {
13305 "__HIT__" : "tbl_act_23",
13306 "__MISS__" : "tbl_act_24"
13307 },
13308 "default_entry" : {
13309 "action_id" : 8,
13310 "action_const" : false,
13311 "action_data" : [],
13312 "action_entry_const" : false
13313 }
13314 },
13315 {
13316 "name" : "tbl_act_23",
13317 "id" : 38,
13318 "key" : [],
13319 "match_type" : "exact",
13320 "type" : "simple",
13321 "max_size" : 1024,
13322 "with_counters" : false,
13323 "support_timeout" : false,
13324 "direct_meters" : null,
13325 "action_ids" : [63],
13326 "actions" : ["act_23"],
13327 "base_default_next" : "node_56",
13328 "next_tables" : {
13329 "act_23" : "node_56"
13330 },
13331 "default_entry" : {
13332 "action_id" : 63,
13333 "action_const" : true,
13334 "action_data" : [],
13335 "action_entry_const" : true
13336 }
13337 },
13338 {
13339 "name" : "tbl_act_24",
13340 "id" : 39,
13341 "key" : [],
13342 "match_type" : "exact",
13343 "type" : "simple",
13344 "max_size" : 1024,
13345 "with_counters" : false,
13346 "support_timeout" : false,
13347 "direct_meters" : null,
13348 "action_ids" : [64],
13349 "actions" : ["act_24"],
13350 "base_default_next" : "node_56",
13351 "next_tables" : {
13352 "act_24" : "node_56"
13353 },
13354 "default_entry" : {
13355 "action_id" : 64,
13356 "action_const" : true,
13357 "action_data" : [],
13358 "action_entry_const" : true
13359 }
13360 },
13361 {
13362 "name" : "tbl_act_25",
13363 "id" : 40,
13364 "key" : [],
13365 "match_type" : "exact",
13366 "type" : "simple",
13367 "max_size" : 1024,
13368 "with_counters" : false,
13369 "support_timeout" : false,
13370 "direct_meters" : null,
13371 "action_ids" : [65],
13372 "actions" : ["act_25"],
13373 "base_default_next" : "node_58",
13374 "next_tables" : {
13375 "act_25" : "node_58"
13376 },
13377 "default_entry" : {
13378 "action_id" : 65,
13379 "action_const" : true,
13380 "action_data" : [],
13381 "action_entry_const" : true
13382 }
13383 },
13384 {
13385 "name" : "tbl_act_26",
13386 "id" : 41,
13387 "key" : [],
13388 "match_type" : "exact",
13389 "type" : "simple",
13390 "max_size" : 1024,
13391 "with_counters" : false,
13392 "support_timeout" : false,
13393 "direct_meters" : null,
13394 "action_ids" : [66],
13395 "actions" : ["act_26"],
13396 "base_default_next" : "node_62",
13397 "next_tables" : {
13398 "act_26" : "node_62"
13399 },
13400 "default_entry" : {
13401 "action_id" : 66,
13402 "action_const" : true,
13403 "action_data" : [],
13404 "action_entry_const" : true
13405 }
13406 },
13407 {
13408 "name" : "tbl_act_27",
13409 "id" : 42,
13410 "key" : [],
13411 "match_type" : "exact",
13412 "type" : "simple",
13413 "max_size" : 1024,
13414 "with_counters" : false,
13415 "support_timeout" : false,
13416 "direct_meters" : null,
13417 "action_ids" : [67],
13418 "actions" : ["act_27"],
13419 "base_default_next" : "node_64",
13420 "next_tables" : {
13421 "act_27" : "node_64"
13422 },
13423 "default_entry" : {
13424 "action_id" : 67,
13425 "action_const" : true,
13426 "action_data" : [],
13427 "action_entry_const" : true
13428 }
13429 },
13430 {
13431 "name" : "tbl_act_28",
13432 "id" : 43,
13433 "key" : [],
13434 "match_type" : "exact",
13435 "type" : "simple",
13436 "max_size" : 1024,
13437 "with_counters" : false,
13438 "support_timeout" : false,
13439 "direct_meters" : null,
13440 "action_ids" : [68],
13441 "actions" : ["act_28"],
13442 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
13443 "next_tables" : {
13444 "act_28" : "FabricIngress.process_set_source_sink.tb_set_source"
13445 },
13446 "default_entry" : {
13447 "action_id" : 68,
13448 "action_const" : true,
13449 "action_data" : [],
13450 "action_entry_const" : true
13451 }
13452 },
13453 {
13454 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
13455 "id" : 44,
13456 "source_info" : {
13457 "filename" : "include/int/int_main.p4",
13458 "line" : 46,
13459 "column" : 10,
13460 "source_fragment" : "tb_set_source"
13461 },
13462 "key" : [
13463 {
13464 "match_type" : "exact",
13465 "name" : "standard_metadata.ingress_port",
13466 "target" : ["standard_metadata", "ingress_port"],
13467 "mask" : null
13468 }
13469 ],
13470 "match_type" : "exact",
13471 "type" : "simple",
13472 "max_size" : 511,
13473 "with_counters" : true,
13474 "support_timeout" : false,
13475 "direct_meters" : null,
13476 "action_ids" : [13, 2],
13477 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
13478 "base_default_next" : null,
13479 "next_tables" : {
13480 "FabricIngress.process_set_source_sink.int_set_source" : null,
13481 "NoAction" : null
13482 },
13483 "default_entry" : {
13484 "action_id" : 2,
13485 "action_const" : false,
13486 "action_data" : [],
13487 "action_entry_const" : false
13488 }
13489 }
13490 ],
13491 "action_profiles" : [
13492 {
13493 "name" : "FabricIngress.next.ecmp_selector",
13494 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070013495 "source_info" : {
13496 "filename" : "include/control/next.p4",
13497 "line" : 145,
13498 "column" : 55,
13499 "source_fragment" : "ecmp_selector"
13500 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070013501 "max_size" : 64,
13502 "selector" : {
13503 "algo" : "crc16",
13504 "input" : [
13505 {
13506 "type" : "field",
13507 "value" : ["ipv4", "dst_addr"]
13508 },
13509 {
13510 "type" : "field",
13511 "value" : ["ipv4", "src_addr"]
13512 },
13513 {
13514 "type" : "field",
13515 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
13516 },
13517 {
13518 "type" : "field",
13519 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
13520 },
13521 {
13522 "type" : "field",
13523 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
13524 }
13525 ]
13526 }
13527 }
13528 ],
13529 "conditionals" : [
13530 {
13531 "name" : "node_3",
13532 "id" : 0,
13533 "source_info" : {
13534 "filename" : "include/spgw.p4",
13535 "line" : 30,
13536 "column" : 12,
13537 "source_fragment" : "! is_gtpu_encapped"
13538 },
13539 "expression" : {
13540 "type" : "expression",
13541 "value" : {
13542 "op" : "not",
13543 "left" : null,
13544 "right" : {
13545 "type" : "expression",
13546 "value" : {
13547 "op" : "d2b",
13548 "left" : null,
13549 "right" : {
13550 "type" : "field",
13551 "value" : ["gtpu", "$valid$"]
13552 }
13553 }
13554 }
13555 }
13556 },
13557 "true_next" : "tbl_act_0",
13558 "false_next" : "node_5"
13559 },
13560 {
13561 "name" : "node_5",
13562 "id" : 1,
13563 "expression" : {
13564 "type" : "expression",
13565 "value" : {
13566 "op" : "not",
13567 "left" : null,
13568 "right" : {
13569 "type" : "expression",
13570 "value" : {
13571 "op" : "d2b",
13572 "left" : null,
13573 "right" : {
13574 "type" : "field",
13575 "value" : ["scalars", "spgw_normalizer_hasReturned_0"]
13576 }
13577 }
13578 }
13579 }
13580 },
13581 "true_next" : "tbl_act_1",
13582 "false_next" : "node_10"
13583 },
13584 {
13585 "name" : "node_7",
13586 "id" : 2,
13587 "source_info" : {
13588 "filename" : "include/spgw.p4",
13589 "line" : 34,
13590 "column" : 12,
13591 "source_fragment" : "inner_udp.isValid()"
13592 },
13593 "expression" : {
13594 "type" : "expression",
13595 "value" : {
13596 "op" : "d2b",
13597 "left" : null,
13598 "right" : {
13599 "type" : "field",
13600 "value" : ["inner_udp", "$valid$"]
13601 }
13602 }
13603 },
13604 "true_next" : "tbl_act_2",
13605 "false_next" : "tbl_act_3"
13606 },
13607 {
13608 "name" : "node_10",
13609 "id" : 3,
13610 "source_info" : {
13611 "filename" : "include/control/packetio.p4",
13612 "line" : 25,
13613 "column" : 12,
13614 "source_fragment" : "hdr.packet_out.isValid()"
13615 },
13616 "expression" : {
13617 "type" : "expression",
13618 "value" : {
13619 "op" : "d2b",
13620 "left" : null,
13621 "right" : {
13622 "type" : "field",
13623 "value" : ["packet_out", "$valid$"]
13624 }
13625 }
13626 },
13627 "true_next" : "tbl_act_4",
13628 "false_next" : "tbl_act_5"
13629 },
13630 {
13631 "name" : "node_13",
13632 "id" : 4,
13633 "source_info" : {
13634 "filename" : "include/spgw.p4",
13635 "line" : 139,
13636 "column" : 12,
13637 "source_fragment" : "gtpu.isValid()"
13638 },
13639 "expression" : {
13640 "type" : "expression",
13641 "value" : {
13642 "op" : "d2b",
13643 "left" : null,
13644 "right" : {
13645 "type" : "field",
13646 "value" : ["gtpu", "$valid$"]
13647 }
13648 }
13649 },
13650 "true_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
13651 "false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
13652 },
13653 {
13654 "name" : "node_17",
13655 "id" : 5,
13656 "source_info" : {
13657 "filename" : "include/spgw.p4",
13658 "line" : 143,
13659 "column" : 16,
13660 "source_fragment" : "!s1u_filter_table.apply().hit"
13661 },
13662 "expression" : {
13663 "type" : "expression",
13664 "value" : {
13665 "op" : "not",
13666 "left" : null,
13667 "right" : {
13668 "type" : "expression",
13669 "value" : {
13670 "op" : "d2b",
13671 "left" : null,
13672 "right" : {
13673 "type" : "field",
13674 "value" : ["scalars", "spgw_ingress_tmp_1"]
13675 }
13676 }
13677 }
13678 }
13679 },
13680 "true_next" : "tbl_drop_now",
13681 "false_next" : "tbl_act_8"
13682 },
13683 {
13684 "name" : "node_24",
13685 "id" : 6,
13686 "expression" : {
13687 "type" : "expression",
13688 "value" : {
13689 "op" : "d2b",
13690 "left" : null,
13691 "right" : {
13692 "type" : "field",
13693 "value" : ["scalars", "spgw_ingress_tmp_2"]
13694 }
13695 }
13696 },
13697 "true_next" : "tbl_act_11",
13698 "false_next" : "tbl_act_12"
13699 },
13700 {
13701 "name" : "node_27",
13702 "id" : 7,
13703 "expression" : {
13704 "type" : "expression",
13705 "value" : {
13706 "op" : "not",
13707 "left" : null,
13708 "right" : {
13709 "type" : "expression",
13710 "value" : {
13711 "op" : "d2b",
13712 "left" : null,
13713 "right" : {
13714 "type" : "field",
13715 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
13716 }
13717 }
13718 }
13719 }
13720 },
13721 "true_next" : "tbl_act_13",
13722 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
13723 },
13724 {
13725 "name" : "node_32",
13726 "id" : 8,
13727 "expression" : {
13728 "type" : "expression",
13729 "value" : {
13730 "op" : "d2b",
13731 "left" : null,
13732 "right" : {
13733 "type" : "field",
13734 "value" : ["scalars", "filtering_tmp_0"]
13735 }
13736 }
13737 },
13738 "true_next" : "FabricIngress.filtering.fwd_classifier",
13739 "false_next" : "tbl_act_16"
13740 },
13741 {
13742 "name" : "node_35",
13743 "id" : 9,
13744 "source_info" : {
13745 "filename" : "include/control/forwarding.p4",
13746 "line" : 191,
13747 "column" : 11,
13748 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
13749 },
13750 "expression" : {
13751 "type" : "expression",
13752 "value" : {
13753 "op" : "==",
13754 "left" : {
13755 "type" : "field",
13756 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13757 },
13758 "right" : {
13759 "type" : "hexstr",
13760 "value" : "0x00"
13761 }
13762 }
13763 },
13764 "true_next" : "FabricIngress.forwarding.bridging",
13765 "false_next" : "node_37"
13766 },
13767 {
13768 "name" : "node_37",
13769 "id" : 10,
13770 "source_info" : {
13771 "filename" : "include/control/forwarding.p4",
13772 "line" : 192,
13773 "column" : 17,
13774 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
13775 },
13776 "expression" : {
13777 "type" : "expression",
13778 "value" : {
13779 "op" : "==",
13780 "left" : {
13781 "type" : "field",
13782 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13783 },
13784 "right" : {
13785 "type" : "hexstr",
13786 "value" : "0x01"
13787 }
13788 }
13789 },
13790 "true_next" : "FabricIngress.forwarding.mpls",
13791 "false_next" : "node_40"
13792 },
13793 {
13794 "name" : "node_40",
13795 "id" : 11,
13796 "source_info" : {
13797 "filename" : "include/control/forwarding.p4",
13798 "line" : 198,
13799 "column" : 17,
13800 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
13801 },
13802 "expression" : {
13803 "type" : "expression",
13804 "value" : {
13805 "op" : "==",
13806 "left" : {
13807 "type" : "field",
13808 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13809 },
13810 "right" : {
13811 "type" : "hexstr",
13812 "value" : "0x02"
13813 }
13814 }
13815 },
13816 "true_next" : "FabricIngress.forwarding.routing_v4",
13817 "false_next" : "FabricIngress.forwarding.acl"
13818 },
13819 {
13820 "name" : "node_48",
13821 "id" : 12,
13822 "source_info" : {
13823 "filename" : "include/control/next.p4",
13824 "line" : 219,
13825 "column" : 12,
13826 "source_fragment" : "!simple.apply().hit"
13827 },
13828 "expression" : {
13829 "type" : "expression",
13830 "value" : {
13831 "op" : "not",
13832 "left" : null,
13833 "right" : {
13834 "type" : "expression",
13835 "value" : {
13836 "op" : "d2b",
13837 "left" : null,
13838 "right" : {
13839 "type" : "field",
13840 "value" : ["scalars", "next_tmp_4"]
13841 }
13842 }
13843 }
13844 }
13845 },
13846 "true_next" : "FabricIngress.next.hashed",
13847 "false_next" : "node_58"
13848 },
13849 {
13850 "name" : "node_52",
13851 "id" : 13,
13852 "source_info" : {
13853 "filename" : "include/control/next.p4",
13854 "line" : 220,
13855 "column" : 16,
13856 "source_fragment" : "!hashed.apply().hit"
13857 },
13858 "expression" : {
13859 "type" : "expression",
13860 "value" : {
13861 "op" : "not",
13862 "left" : null,
13863 "right" : {
13864 "type" : "expression",
13865 "value" : {
13866 "op" : "d2b",
13867 "left" : null,
13868 "right" : {
13869 "type" : "field",
13870 "value" : ["scalars", "next_tmp_3"]
13871 }
13872 }
13873 }
13874 }
13875 },
13876 "true_next" : "FabricIngress.next.multicast",
13877 "false_next" : "node_58"
13878 },
13879 {
13880 "name" : "node_56",
13881 "id" : 14,
13882 "source_info" : {
13883 "filename" : "include/control/next.p4",
13884 "line" : 221,
13885 "column" : 20,
13886 "source_fragment" : "!multicast.apply().hit"
13887 },
13888 "expression" : {
13889 "type" : "expression",
13890 "value" : {
13891 "op" : "not",
13892 "left" : null,
13893 "right" : {
13894 "type" : "expression",
13895 "value" : {
13896 "op" : "d2b",
13897 "left" : null,
13898 "right" : {
13899 "type" : "field",
13900 "value" : ["scalars", "next_tmp_2"]
13901 }
13902 }
13903 }
13904 }
13905 },
13906 "true_next" : "tbl_act_25",
13907 "false_next" : "node_58"
13908 },
13909 {
13910 "name" : "node_58",
13911 "id" : 15,
13912 "expression" : {
13913 "type" : "expression",
13914 "value" : {
13915 "op" : "not",
13916 "left" : null,
13917 "right" : {
13918 "type" : "expression",
13919 "value" : {
13920 "op" : "d2b",
13921 "left" : null,
13922 "right" : {
13923 "type" : "field",
13924 "value" : ["scalars", "next_hasReturned_0"]
13925 }
13926 }
13927 }
13928 }
13929 },
13930 "true_next" : "node_59",
13931 "false_next" : "node_62"
13932 },
13933 {
13934 "name" : "node_59",
13935 "id" : 16,
13936 "source_info" : {
13937 "filename" : "include/control/next.p4",
13938 "line" : 228,
13939 "column" : 12,
13940 "source_fragment" : "!hdr.mpls.isValid()"
13941 },
13942 "expression" : {
13943 "type" : "expression",
13944 "value" : {
13945 "op" : "not",
13946 "left" : null,
13947 "right" : {
13948 "type" : "expression",
13949 "value" : {
13950 "op" : "d2b",
13951 "left" : null,
13952 "right" : {
13953 "type" : "field",
13954 "value" : ["mpls", "$valid$"]
13955 }
13956 }
13957 }
13958 }
13959 },
13960 "true_next" : "node_60",
13961 "false_next" : "node_62"
13962 },
13963 {
13964 "name" : "node_60",
13965 "id" : 17,
13966 "source_info" : {
13967 "filename" : "include/control/next.p4",
13968 "line" : 229,
13969 "column" : 15,
13970 "source_fragment" : "hdr.ipv4.isValid()"
13971 },
13972 "expression" : {
13973 "type" : "expression",
13974 "value" : {
13975 "op" : "d2b",
13976 "left" : null,
13977 "right" : {
13978 "type" : "field",
13979 "value" : ["ipv4", "$valid$"]
13980 }
13981 }
13982 },
13983 "true_next" : "tbl_act_26",
13984 "false_next" : "node_62"
13985 },
13986 {
13987 "name" : "node_62",
13988 "id" : 18,
13989 "source_info" : {
13990 "filename" : "include/control/port_counter.p4",
13991 "line" : 27,
13992 "column" : 12,
13993 "source_fragment" : "standard_metadata.egress_spec < 511"
13994 },
13995 "expression" : {
13996 "type" : "expression",
13997 "value" : {
13998 "op" : "<",
13999 "left" : {
14000 "type" : "field",
14001 "value" : ["standard_metadata", "egress_spec"]
14002 },
14003 "right" : {
14004 "type" : "hexstr",
14005 "value" : "0x01ff"
14006 }
14007 }
14008 },
14009 "true_next" : "tbl_act_27",
14010 "false_next" : "node_64"
14011 },
14012 {
14013 "name" : "node_64",
14014 "id" : 19,
14015 "source_info" : {
14016 "filename" : "include/control/port_counter.p4",
14017 "line" : 30,
14018 "column" : 12,
14019 "source_fragment" : "standard_metadata.ingress_port < 511"
14020 },
14021 "expression" : {
14022 "type" : "expression",
14023 "value" : {
14024 "op" : "<",
14025 "left" : {
14026 "type" : "field",
14027 "value" : ["standard_metadata", "ingress_port"]
14028 },
14029 "right" : {
14030 "type" : "hexstr",
14031 "value" : "0x01ff"
14032 }
14033 }
14034 },
14035 "true_next" : "tbl_act_28",
14036 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
14037 }
14038 ]
14039 },
14040 {
14041 "name" : "egress",
14042 "id" : 1,
14043 "source_info" : {
14044 "filename" : "fabric.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014045 "line" : 80,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014046 "column" : 8,
14047 "source_fragment" : "FabricEgress"
14048 },
14049 "init_table" : "node_69",
14050 "tables" : [
14051 {
14052 "name" : "tbl_pkt_io_egress_pop_vlan",
14053 "id" : 45,
14054 "key" : [],
14055 "match_type" : "exact",
14056 "type" : "simple",
14057 "max_size" : 1024,
14058 "with_counters" : false,
14059 "support_timeout" : false,
14060 "direct_meters" : null,
14061 "action_ids" : [111],
14062 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
14063 "base_default_next" : "node_73",
14064 "next_tables" : {
14065 "FabricEgress.pkt_io_egress.pop_vlan" : "node_73"
14066 },
14067 "default_entry" : {
14068 "action_id" : 111,
14069 "action_const" : true,
14070 "action_data" : [],
14071 "action_entry_const" : true
14072 }
14073 },
14074 {
14075 "name" : "tbl_drop_now_0",
14076 "id" : 46,
14077 "key" : [],
14078 "match_type" : "exact",
14079 "type" : "simple",
14080 "max_size" : 1024,
14081 "with_counters" : false,
14082 "support_timeout" : false,
14083 "direct_meters" : null,
14084 "action_ids" : [74],
14085 "actions" : ["drop_now"],
14086 "base_default_next" : "tbl_act_29",
14087 "next_tables" : {
14088 "drop_now" : "tbl_act_29"
14089 },
14090 "default_entry" : {
14091 "action_id" : 74,
14092 "action_const" : true,
14093 "action_data" : [],
14094 "action_entry_const" : true
14095 }
14096 },
14097 {
14098 "name" : "tbl_act_29",
14099 "id" : 47,
14100 "key" : [],
14101 "match_type" : "exact",
14102 "type" : "simple",
14103 "max_size" : 1024,
14104 "with_counters" : false,
14105 "support_timeout" : false,
14106 "direct_meters" : null,
14107 "action_ids" : [113],
14108 "actions" : ["act_29"],
14109 "base_default_next" : null,
14110 "next_tables" : {
14111 "act_29" : null
14112 },
14113 "default_entry" : {
14114 "action_id" : 113,
14115 "action_const" : true,
14116 "action_data" : [],
14117 "action_entry_const" : true
14118 }
14119 },
14120 {
14121 "name" : "tbl_drop_now_1",
14122 "id" : 48,
14123 "key" : [],
14124 "match_type" : "exact",
14125 "type" : "simple",
14126 "max_size" : 1024,
14127 "with_counters" : false,
14128 "support_timeout" : false,
14129 "direct_meters" : null,
14130 "action_ids" : [75],
14131 "actions" : ["drop_now"],
14132 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
14133 "next_tables" : {
14134 "drop_now" : "FabricEgress.egress_next.egress_vlan"
14135 },
14136 "default_entry" : {
14137 "action_id" : 75,
14138 "action_const" : true,
14139 "action_data" : [],
14140 "action_entry_const" : true
14141 }
14142 },
14143 {
14144 "name" : "FabricEgress.egress_next.egress_vlan",
14145 "id" : 49,
14146 "source_info" : {
14147 "filename" : "include/control/next.p4",
14148 "line" : 258,
14149 "column" : 10,
14150 "source_fragment" : "egress_vlan"
14151 },
14152 "key" : [
14153 {
14154 "match_type" : "exact",
14155 "name" : "hdr.vlan_tag.vlan_id",
14156 "target" : ["vlan_tag", "vlan_id"],
14157 "mask" : null
14158 },
14159 {
14160 "match_type" : "exact",
14161 "name" : "standard_metadata.egress_port",
14162 "target" : ["standard_metadata", "egress_port"],
14163 "mask" : null
14164 }
14165 ],
14166 "match_type" : "exact",
14167 "type" : "simple",
14168 "max_size" : 1024,
14169 "with_counters" : true,
14170 "support_timeout" : false,
14171 "direct_meters" : null,
14172 "action_ids" : [112, 73],
14173 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
14174 "base_default_next" : "node_79",
14175 "next_tables" : {
14176 "FabricEgress.egress_next.pop_vlan" : "node_79",
14177 "nop" : "node_79"
14178 },
14179 "default_entry" : {
14180 "action_id" : 73,
14181 "action_const" : false,
14182 "action_data" : [],
14183 "action_entry_const" : false
14184 }
14185 },
14186 {
14187 "name" : "tbl_spgw_egress_gtpu_encap",
14188 "id" : 50,
14189 "key" : [],
14190 "match_type" : "exact",
14191 "type" : "simple",
14192 "max_size" : 1024,
14193 "with_counters" : false,
14194 "support_timeout" : false,
14195 "direct_meters" : null,
14196 "action_ids" : [76],
14197 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
14198 "base_default_next" : "node_81",
14199 "next_tables" : {
14200 "FabricEgress.spgw_egress.gtpu_encap" : "node_81"
14201 },
14202 "default_entry" : {
14203 "action_id" : 76,
14204 "action_const" : true,
14205 "action_data" : [],
14206 "action_entry_const" : true
14207 }
14208 },
14209 {
14210 "name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
14211 "id" : 51,
14212 "source_info" : {
14213 "filename" : "include/int/int_source.p4",
14214 "line" : 65,
14215 "column" : 10,
14216 "source_fragment" : "tb_int_source"
14217 },
14218 "key" : [
14219 {
14220 "match_type" : "ternary",
14221 "name" : "hdr.ipv4.src_addr",
14222 "target" : ["ipv4", "src_addr"],
14223 "mask" : null
14224 },
14225 {
14226 "match_type" : "ternary",
14227 "name" : "hdr.ipv4.dst_addr",
14228 "target" : ["ipv4", "dst_addr"],
14229 "mask" : null
14230 },
14231 {
14232 "match_type" : "ternary",
14233 "name" : "fabric_metadata.l4_src_port",
14234 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
14235 "mask" : null
14236 },
14237 {
14238 "match_type" : "ternary",
14239 "name" : "fabric_metadata.l4_dst_port",
14240 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
14241 "mask" : null
14242 }
14243 ],
14244 "match_type" : "ternary",
14245 "type" : "simple",
14246 "max_size" : 1024,
14247 "with_counters" : true,
14248 "support_timeout" : false,
14249 "direct_meters" : null,
14250 "action_ids" : [77, 69],
14251 "actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "NoAction"],
14252 "base_default_next" : "node_84",
14253 "next_tables" : {
14254 "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_84",
14255 "NoAction" : "node_84"
14256 },
14257 "default_entry" : {
14258 "action_id" : 69,
14259 "action_const" : false,
14260 "action_data" : [],
14261 "action_entry_const" : false
14262 }
14263 },
14264 {
14265 "name" : "tbl_act_30",
14266 "id" : 52,
14267 "key" : [],
14268 "match_type" : "exact",
14269 "type" : "simple",
14270 "max_size" : 1024,
14271 "with_counters" : false,
14272 "support_timeout" : false,
14273 "direct_meters" : null,
14274 "action_ids" : [114],
14275 "actions" : ["act_30"],
14276 "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
14277 "next_tables" : {
14278 "act_30" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
14279 },
14280 "default_entry" : {
14281 "action_id" : 114,
14282 "action_const" : true,
14283 "action_data" : [],
14284 "action_entry_const" : true
14285 }
14286 },
14287 {
14288 "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
14289 "id" : 53,
14290 "source_info" : {
14291 "filename" : "include/int/int_transit.p4",
14292 "line" : 271,
14293 "column" : 10,
14294 "source_fragment" : "tb_int_insert"
14295 },
Carmelo Casconefa421582018-09-13 10:05:57 -070014296 "key" : [
14297 {
14298 "match_type" : "exact",
14299 "name" : "hdr.int_header.is_valid",
14300 "target" : ["int_header", "$valid$"],
14301 "mask" : null
14302 }
14303 ],
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014304 "match_type" : "exact",
14305 "type" : "simple",
Carmelo Casconefa421582018-09-13 10:05:57 -070014306 "max_size" : 1,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014307 "with_counters" : false,
14308 "support_timeout" : false,
14309 "direct_meters" : null,
Carmelo Casconefa421582018-09-13 10:05:57 -070014310 "action_ids" : [78, 72],
14311 "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014312 "base_default_next" : "node_87",
14313 "next_tables" : {
14314 "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_87",
Carmelo Casconefa421582018-09-13 10:05:57 -070014315 "nop" : "node_87"
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014316 },
14317 "default_entry" : {
Carmelo Casconefa421582018-09-13 10:05:57 -070014318 "action_id" : 72,
14319 "action_const" : true,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014320 "action_data" : [],
Carmelo Casconefa421582018-09-13 10:05:57 -070014321 "action_entry_const" : true
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014322 }
14323 },
14324 {
14325 "name" : "tbl_act_31",
14326 "id" : 54,
14327 "key" : [],
14328 "match_type" : "exact",
14329 "type" : "simple",
14330 "max_size" : 1024,
14331 "with_counters" : false,
14332 "support_timeout" : false,
14333 "direct_meters" : null,
14334 "action_ids" : [115],
14335 "actions" : ["act_31"],
14336 "base_default_next" : "node_89",
14337 "next_tables" : {
14338 "act_31" : "node_89"
14339 },
14340 "default_entry" : {
14341 "action_id" : 115,
14342 "action_const" : true,
14343 "action_data" : [],
14344 "action_entry_const" : true
14345 }
14346 },
14347 {
14348 "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
14349 "id" : 55,
14350 "source_info" : {
14351 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014352 "line" : 286,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014353 "column" : 10,
14354 "source_fragment" : "tb_int_inst_0003"
14355 },
14356 "key" : [
14357 {
14358 "match_type" : "exact",
14359 "name" : "hdr.int_header.instruction_mask_0003",
14360 "target" : ["int_header", "instruction_mask_0003"],
14361 "mask" : null
14362 }
14363 ],
14364 "match_type" : "exact",
14365 "type" : "simple",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014366 "max_size" : 1024,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014367 "with_counters" : false,
14368 "support_timeout" : false,
14369 "direct_meters" : null,
Carmelo Casconefa421582018-09-13 10:05:57 -070014370 "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 -070014371 "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"],
14372 "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14373 "next_tables" : {
14374 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14375 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14376 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14377 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14378 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14379 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14380 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14381 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14382 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14383 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14384 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14385 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14386 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14387 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14388 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14389 "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14390 "NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
14391 },
14392 "default_entry" : {
Carmelo Casconefa421582018-09-13 10:05:57 -070014393 "action_id" : 70,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014394 "action_const" : false,
14395 "action_data" : [],
14396 "action_entry_const" : false
14397 },
14398 "entries" : [
14399 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014400 "source_info" : {
14401 "filename" : "include/int/int_transit.p4",
14402 "line" : 310,
14403 "column" : 12,
14404 "source_fragment" : "(0x0) : int_set_header_0003_i0()"
14405 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014406 "match_key" : [
14407 {
14408 "match_type" : "exact",
14409 "key" : "0x00"
14410 }
14411 ],
14412 "action_entry" : {
14413 "action_id" : 79,
14414 "action_data" : []
14415 },
14416 "priority" : 1
14417 },
14418 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014419 "source_info" : {
14420 "filename" : "include/int/int_transit.p4",
14421 "line" : 311,
14422 "column" : 12,
14423 "source_fragment" : "(0x1) : int_set_header_0003_i1()"
14424 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014425 "match_key" : [
14426 {
14427 "match_type" : "exact",
14428 "key" : "0x01"
14429 }
14430 ],
14431 "action_entry" : {
14432 "action_id" : 80,
14433 "action_data" : []
14434 },
14435 "priority" : 2
14436 },
14437 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014438 "source_info" : {
14439 "filename" : "include/int/int_transit.p4",
14440 "line" : 312,
14441 "column" : 12,
14442 "source_fragment" : "(0x2) : int_set_header_0003_i2()"
14443 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014444 "match_key" : [
14445 {
14446 "match_type" : "exact",
14447 "key" : "0x02"
14448 }
14449 ],
14450 "action_entry" : {
14451 "action_id" : 81,
14452 "action_data" : []
14453 },
14454 "priority" : 3
14455 },
14456 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014457 "source_info" : {
14458 "filename" : "include/int/int_transit.p4",
14459 "line" : 313,
14460 "column" : 12,
14461 "source_fragment" : "(0x3) : int_set_header_0003_i3()"
14462 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014463 "match_key" : [
14464 {
14465 "match_type" : "exact",
14466 "key" : "0x03"
14467 }
14468 ],
14469 "action_entry" : {
14470 "action_id" : 82,
14471 "action_data" : []
14472 },
14473 "priority" : 4
14474 },
14475 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014476 "source_info" : {
14477 "filename" : "include/int/int_transit.p4",
14478 "line" : 314,
14479 "column" : 12,
14480 "source_fragment" : "(0x4) : int_set_header_0003_i4()"
14481 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014482 "match_key" : [
14483 {
14484 "match_type" : "exact",
14485 "key" : "0x04"
14486 }
14487 ],
14488 "action_entry" : {
14489 "action_id" : 83,
14490 "action_data" : []
14491 },
14492 "priority" : 5
14493 },
14494 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014495 "source_info" : {
14496 "filename" : "include/int/int_transit.p4",
14497 "line" : 315,
14498 "column" : 12,
14499 "source_fragment" : "(0x5) : int_set_header_0003_i5()"
14500 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014501 "match_key" : [
14502 {
14503 "match_type" : "exact",
14504 "key" : "0x05"
14505 }
14506 ],
14507 "action_entry" : {
14508 "action_id" : 84,
14509 "action_data" : []
14510 },
14511 "priority" : 6
14512 },
14513 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014514 "source_info" : {
14515 "filename" : "include/int/int_transit.p4",
14516 "line" : 316,
14517 "column" : 12,
14518 "source_fragment" : "(0x6) : int_set_header_0003_i6()"
14519 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014520 "match_key" : [
14521 {
14522 "match_type" : "exact",
14523 "key" : "0x06"
14524 }
14525 ],
14526 "action_entry" : {
14527 "action_id" : 85,
14528 "action_data" : []
14529 },
14530 "priority" : 7
14531 },
14532 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014533 "source_info" : {
14534 "filename" : "include/int/int_transit.p4",
14535 "line" : 317,
14536 "column" : 12,
14537 "source_fragment" : "(0x7) : int_set_header_0003_i7()"
14538 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014539 "match_key" : [
14540 {
14541 "match_type" : "exact",
14542 "key" : "0x07"
14543 }
14544 ],
14545 "action_entry" : {
14546 "action_id" : 86,
14547 "action_data" : []
14548 },
14549 "priority" : 8
14550 },
14551 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014552 "source_info" : {
14553 "filename" : "include/int/int_transit.p4",
14554 "line" : 318,
14555 "column" : 12,
14556 "source_fragment" : "(0x8) : int_set_header_0003_i8()"
14557 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014558 "match_key" : [
14559 {
14560 "match_type" : "exact",
14561 "key" : "0x08"
14562 }
14563 ],
14564 "action_entry" : {
14565 "action_id" : 87,
14566 "action_data" : []
14567 },
14568 "priority" : 9
14569 },
14570 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014571 "source_info" : {
14572 "filename" : "include/int/int_transit.p4",
14573 "line" : 319,
14574 "column" : 12,
14575 "source_fragment" : "(0x9) : int_set_header_0003_i9()"
14576 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014577 "match_key" : [
14578 {
14579 "match_type" : "exact",
14580 "key" : "0x09"
14581 }
14582 ],
14583 "action_entry" : {
14584 "action_id" : 88,
14585 "action_data" : []
14586 },
14587 "priority" : 10
14588 },
14589 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014590 "source_info" : {
14591 "filename" : "include/int/int_transit.p4",
14592 "line" : 320,
14593 "column" : 12,
14594 "source_fragment" : "(0xA) : int_set_header_0003_i10()"
14595 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014596 "match_key" : [
14597 {
14598 "match_type" : "exact",
14599 "key" : "0x0a"
14600 }
14601 ],
14602 "action_entry" : {
14603 "action_id" : 89,
14604 "action_data" : []
14605 },
14606 "priority" : 11
14607 },
14608 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014609 "source_info" : {
14610 "filename" : "include/int/int_transit.p4",
14611 "line" : 321,
14612 "column" : 12,
14613 "source_fragment" : "(0xB) : int_set_header_0003_i11()"
14614 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014615 "match_key" : [
14616 {
14617 "match_type" : "exact",
14618 "key" : "0x0b"
14619 }
14620 ],
14621 "action_entry" : {
14622 "action_id" : 90,
14623 "action_data" : []
14624 },
14625 "priority" : 12
14626 },
14627 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014628 "source_info" : {
14629 "filename" : "include/int/int_transit.p4",
14630 "line" : 322,
14631 "column" : 12,
14632 "source_fragment" : "(0xC) : int_set_header_0003_i12()"
14633 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014634 "match_key" : [
14635 {
14636 "match_type" : "exact",
14637 "key" : "0x0c"
14638 }
14639 ],
14640 "action_entry" : {
14641 "action_id" : 91,
14642 "action_data" : []
14643 },
14644 "priority" : 13
14645 },
14646 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014647 "source_info" : {
14648 "filename" : "include/int/int_transit.p4",
14649 "line" : 323,
14650 "column" : 12,
14651 "source_fragment" : "(0xD) : int_set_header_0003_i13()"
14652 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014653 "match_key" : [
14654 {
14655 "match_type" : "exact",
14656 "key" : "0x0d"
14657 }
14658 ],
14659 "action_entry" : {
14660 "action_id" : 92,
14661 "action_data" : []
14662 },
14663 "priority" : 14
14664 },
14665 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014666 "source_info" : {
14667 "filename" : "include/int/int_transit.p4",
14668 "line" : 324,
14669 "column" : 12,
14670 "source_fragment" : "(0xE) : int_set_header_0003_i14()"
14671 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014672 "match_key" : [
14673 {
14674 "match_type" : "exact",
14675 "key" : "0x0e"
14676 }
14677 ],
14678 "action_entry" : {
14679 "action_id" : 93,
14680 "action_data" : []
14681 },
14682 "priority" : 15
14683 },
14684 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014685 "source_info" : {
14686 "filename" : "include/int/int_transit.p4",
14687 "line" : 325,
14688 "column" : 12,
14689 "source_fragment" : "(0xF) : int_set_header_0003_i15()"
14690 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014691 "match_key" : [
14692 {
14693 "match_type" : "exact",
14694 "key" : "0x0f"
14695 }
14696 ],
14697 "action_entry" : {
14698 "action_id" : 94,
14699 "action_data" : []
14700 },
14701 "priority" : 16
14702 }
14703 ]
14704 },
14705 {
14706 "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
14707 "id" : 56,
14708 "source_info" : {
14709 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014710 "line" : 330,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014711 "column" : 10,
14712 "source_fragment" : "tb_int_inst_0407"
14713 },
14714 "key" : [
14715 {
14716 "match_type" : "exact",
14717 "name" : "hdr.int_header.instruction_mask_0407",
14718 "target" : ["int_header", "instruction_mask_0407"],
14719 "mask" : null
14720 }
14721 ],
14722 "match_type" : "exact",
14723 "type" : "simple",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014724 "max_size" : 1024,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014725 "with_counters" : false,
14726 "support_timeout" : false,
14727 "direct_meters" : null,
Carmelo Casconefa421582018-09-13 10:05:57 -070014728 "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 -070014729 "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"],
14730 "base_default_next" : "tbl_act_32",
14731 "next_tables" : {
14732 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_32",
14733 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_32",
14734 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_32",
14735 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_32",
14736 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_32",
14737 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_32",
14738 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_32",
14739 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_32",
14740 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_32",
14741 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_32",
14742 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_32",
14743 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_32",
14744 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_32",
14745 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_32",
14746 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_32",
14747 "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_32",
14748 "NoAction" : "tbl_act_32"
14749 },
14750 "default_entry" : {
Carmelo Casconefa421582018-09-13 10:05:57 -070014751 "action_id" : 71,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014752 "action_const" : false,
14753 "action_data" : [],
14754 "action_entry_const" : false
14755 },
14756 "entries" : [
14757 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014758 "source_info" : {
14759 "filename" : "include/int/int_transit.p4",
14760 "line" : 354,
14761 "column" : 12,
14762 "source_fragment" : "(0x0) : int_set_header_0407_i0()"
14763 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014764 "match_key" : [
14765 {
14766 "match_type" : "exact",
14767 "key" : "0x00"
14768 }
14769 ],
14770 "action_entry" : {
14771 "action_id" : 95,
14772 "action_data" : []
14773 },
14774 "priority" : 1
14775 },
14776 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014777 "source_info" : {
14778 "filename" : "include/int/int_transit.p4",
14779 "line" : 355,
14780 "column" : 12,
14781 "source_fragment" : "(0x1) : int_set_header_0407_i1()"
14782 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014783 "match_key" : [
14784 {
14785 "match_type" : "exact",
14786 "key" : "0x01"
14787 }
14788 ],
14789 "action_entry" : {
14790 "action_id" : 96,
14791 "action_data" : []
14792 },
14793 "priority" : 2
14794 },
14795 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014796 "source_info" : {
14797 "filename" : "include/int/int_transit.p4",
14798 "line" : 356,
14799 "column" : 12,
14800 "source_fragment" : "(0x2) : int_set_header_0407_i2()"
14801 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014802 "match_key" : [
14803 {
14804 "match_type" : "exact",
14805 "key" : "0x02"
14806 }
14807 ],
14808 "action_entry" : {
14809 "action_id" : 97,
14810 "action_data" : []
14811 },
14812 "priority" : 3
14813 },
14814 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014815 "source_info" : {
14816 "filename" : "include/int/int_transit.p4",
14817 "line" : 357,
14818 "column" : 12,
14819 "source_fragment" : "(0x3) : int_set_header_0407_i3()"
14820 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014821 "match_key" : [
14822 {
14823 "match_type" : "exact",
14824 "key" : "0x03"
14825 }
14826 ],
14827 "action_entry" : {
14828 "action_id" : 98,
14829 "action_data" : []
14830 },
14831 "priority" : 4
14832 },
14833 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014834 "source_info" : {
14835 "filename" : "include/int/int_transit.p4",
14836 "line" : 358,
14837 "column" : 12,
14838 "source_fragment" : "(0x4) : int_set_header_0407_i4()"
14839 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014840 "match_key" : [
14841 {
14842 "match_type" : "exact",
14843 "key" : "0x04"
14844 }
14845 ],
14846 "action_entry" : {
14847 "action_id" : 99,
14848 "action_data" : []
14849 },
14850 "priority" : 5
14851 },
14852 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014853 "source_info" : {
14854 "filename" : "include/int/int_transit.p4",
14855 "line" : 359,
14856 "column" : 12,
14857 "source_fragment" : "(0x5) : int_set_header_0407_i5()"
14858 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014859 "match_key" : [
14860 {
14861 "match_type" : "exact",
14862 "key" : "0x05"
14863 }
14864 ],
14865 "action_entry" : {
14866 "action_id" : 100,
14867 "action_data" : []
14868 },
14869 "priority" : 6
14870 },
14871 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014872 "source_info" : {
14873 "filename" : "include/int/int_transit.p4",
14874 "line" : 360,
14875 "column" : 12,
14876 "source_fragment" : "(0x6) : int_set_header_0407_i6()"
14877 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014878 "match_key" : [
14879 {
14880 "match_type" : "exact",
14881 "key" : "0x06"
14882 }
14883 ],
14884 "action_entry" : {
14885 "action_id" : 101,
14886 "action_data" : []
14887 },
14888 "priority" : 7
14889 },
14890 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014891 "source_info" : {
14892 "filename" : "include/int/int_transit.p4",
14893 "line" : 361,
14894 "column" : 12,
14895 "source_fragment" : "(0x7) : int_set_header_0407_i7()"
14896 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014897 "match_key" : [
14898 {
14899 "match_type" : "exact",
14900 "key" : "0x07"
14901 }
14902 ],
14903 "action_entry" : {
14904 "action_id" : 102,
14905 "action_data" : []
14906 },
14907 "priority" : 8
14908 },
14909 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014910 "source_info" : {
14911 "filename" : "include/int/int_transit.p4",
14912 "line" : 362,
14913 "column" : 12,
14914 "source_fragment" : "(0x8) : int_set_header_0407_i8()"
14915 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014916 "match_key" : [
14917 {
14918 "match_type" : "exact",
14919 "key" : "0x08"
14920 }
14921 ],
14922 "action_entry" : {
14923 "action_id" : 103,
14924 "action_data" : []
14925 },
14926 "priority" : 9
14927 },
14928 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014929 "source_info" : {
14930 "filename" : "include/int/int_transit.p4",
14931 "line" : 363,
14932 "column" : 12,
14933 "source_fragment" : "(0x9) : int_set_header_0407_i9()"
14934 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014935 "match_key" : [
14936 {
14937 "match_type" : "exact",
14938 "key" : "0x09"
14939 }
14940 ],
14941 "action_entry" : {
14942 "action_id" : 104,
14943 "action_data" : []
14944 },
14945 "priority" : 10
14946 },
14947 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014948 "source_info" : {
14949 "filename" : "include/int/int_transit.p4",
14950 "line" : 364,
14951 "column" : 12,
14952 "source_fragment" : "(0xA) : int_set_header_0407_i10()"
14953 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014954 "match_key" : [
14955 {
14956 "match_type" : "exact",
14957 "key" : "0x0a"
14958 }
14959 ],
14960 "action_entry" : {
14961 "action_id" : 105,
14962 "action_data" : []
14963 },
14964 "priority" : 11
14965 },
14966 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014967 "source_info" : {
14968 "filename" : "include/int/int_transit.p4",
14969 "line" : 365,
14970 "column" : 12,
14971 "source_fragment" : "(0xB) : int_set_header_0407_i11()"
14972 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014973 "match_key" : [
14974 {
14975 "match_type" : "exact",
14976 "key" : "0x0b"
14977 }
14978 ],
14979 "action_entry" : {
14980 "action_id" : 106,
14981 "action_data" : []
14982 },
14983 "priority" : 12
14984 },
14985 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070014986 "source_info" : {
14987 "filename" : "include/int/int_transit.p4",
14988 "line" : 366,
14989 "column" : 12,
14990 "source_fragment" : "(0xC) : int_set_header_0407_i12()"
14991 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070014992 "match_key" : [
14993 {
14994 "match_type" : "exact",
14995 "key" : "0x0c"
14996 }
14997 ],
14998 "action_entry" : {
14999 "action_id" : 107,
15000 "action_data" : []
15001 },
15002 "priority" : 13
15003 },
15004 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015005 "source_info" : {
15006 "filename" : "include/int/int_transit.p4",
15007 "line" : 367,
15008 "column" : 12,
15009 "source_fragment" : "(0xD) : int_set_header_0407_i13()"
15010 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015011 "match_key" : [
15012 {
15013 "match_type" : "exact",
15014 "key" : "0x0d"
15015 }
15016 ],
15017 "action_entry" : {
15018 "action_id" : 108,
15019 "action_data" : []
15020 },
15021 "priority" : 14
15022 },
15023 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015024 "source_info" : {
15025 "filename" : "include/int/int_transit.p4",
15026 "line" : 368,
15027 "column" : 12,
15028 "source_fragment" : "(0xE) : int_set_header_0407_i14()"
15029 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015030 "match_key" : [
15031 {
15032 "match_type" : "exact",
15033 "key" : "0x0e"
15034 }
15035 ],
15036 "action_entry" : {
15037 "action_id" : 109,
15038 "action_data" : []
15039 },
15040 "priority" : 15
15041 },
15042 {
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015043 "source_info" : {
15044 "filename" : "include/int/int_transit.p4",
15045 "line" : 369,
15046 "column" : 12,
15047 "source_fragment" : "(0xF) : int_set_header_0407_i15()"
15048 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015049 "match_key" : [
15050 {
15051 "match_type" : "exact",
15052 "key" : "0x0f"
15053 }
15054 ],
15055 "action_entry" : {
15056 "action_id" : 110,
15057 "action_data" : []
15058 },
15059 "priority" : 16
15060 }
15061 ]
15062 },
15063 {
15064 "name" : "tbl_act_32",
15065 "id" : 57,
15066 "key" : [],
15067 "match_type" : "exact",
15068 "type" : "simple",
15069 "max_size" : 1024,
15070 "with_counters" : false,
15071 "support_timeout" : false,
15072 "direct_meters" : null,
15073 "action_ids" : [117],
15074 "actions" : ["act_33"],
15075 "base_default_next" : "node_93",
15076 "next_tables" : {
15077 "act_33" : "node_93"
15078 },
15079 "default_entry" : {
15080 "action_id" : 117,
15081 "action_const" : true,
15082 "action_data" : [],
15083 "action_entry_const" : true
15084 }
15085 },
15086 {
15087 "name" : "tbl_act_33",
15088 "id" : 58,
15089 "key" : [],
15090 "match_type" : "exact",
15091 "type" : "simple",
15092 "max_size" : 1024,
15093 "with_counters" : false,
15094 "support_timeout" : false,
15095 "direct_meters" : null,
15096 "action_ids" : [116],
15097 "actions" : ["act_32"],
15098 "base_default_next" : "node_95",
15099 "next_tables" : {
15100 "act_32" : "node_95"
15101 },
15102 "default_entry" : {
15103 "action_id" : 116,
15104 "action_const" : true,
15105 "action_data" : [],
15106 "action_entry_const" : true
15107 }
15108 },
15109 {
15110 "name" : "tbl_act_34",
15111 "id" : 59,
15112 "key" : [],
15113 "match_type" : "exact",
15114 "type" : "simple",
15115 "max_size" : 1024,
15116 "with_counters" : false,
15117 "support_timeout" : false,
15118 "direct_meters" : null,
15119 "action_ids" : [118],
15120 "actions" : ["act_34"],
15121 "base_default_next" : "node_97",
15122 "next_tables" : {
15123 "act_34" : "node_97"
15124 },
15125 "default_entry" : {
15126 "action_id" : 118,
15127 "action_const" : true,
15128 "action_data" : [],
15129 "action_entry_const" : true
15130 }
15131 },
15132 {
15133 "name" : "tbl_act_35",
15134 "id" : 60,
15135 "key" : [],
15136 "match_type" : "exact",
15137 "type" : "simple",
15138 "max_size" : 1024,
15139 "with_counters" : false,
15140 "support_timeout" : false,
15141 "direct_meters" : null,
15142 "action_ids" : [119],
15143 "actions" : ["act_35"],
15144 "base_default_next" : null,
15145 "next_tables" : {
15146 "act_35" : null
15147 },
15148 "default_entry" : {
15149 "action_id" : 119,
15150 "action_const" : true,
15151 "action_data" : [],
15152 "action_entry_const" : true
15153 }
15154 }
15155 ],
15156 "action_profiles" : [],
15157 "conditionals" : [
15158 {
15159 "name" : "node_69",
15160 "id" : 20,
15161 "source_info" : {
15162 "filename" : "include/control/packetio.p4",
15163 "line" : 44,
15164 "column" : 12,
15165 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
15166 },
15167 "expression" : {
15168 "type" : "expression",
15169 "value" : {
15170 "op" : "==",
15171 "left" : {
15172 "type" : "expression",
15173 "value" : {
15174 "op" : "d2b",
15175 "left" : null,
15176 "right" : {
15177 "type" : "field",
15178 "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
15179 }
15180 }
15181 },
15182 "right" : {
15183 "type" : "bool",
15184 "value" : true
15185 }
15186 }
15187 },
15188 "true_next" : null,
15189 "false_next" : "node_70"
15190 },
15191 {
15192 "name" : "node_70",
15193 "id" : 21,
15194 "source_info" : {
15195 "filename" : "include/control/packetio.p4",
15196 "line" : 48,
15197 "column" : 12,
15198 "source_fragment" : "standard_metadata.egress_port == 255"
15199 },
15200 "expression" : {
15201 "type" : "expression",
15202 "value" : {
15203 "op" : "==",
15204 "left" : {
15205 "type" : "field",
15206 "value" : ["standard_metadata", "egress_port"]
15207 },
15208 "right" : {
15209 "type" : "hexstr",
15210 "value" : "0x00ff"
15211 }
15212 }
15213 },
15214 "true_next" : "node_71",
15215 "false_next" : "node_76"
15216 },
15217 {
15218 "name" : "node_71",
15219 "id" : 22,
15220 "source_info" : {
15221 "filename" : "include/control/packetio.p4",
15222 "line" : 49,
15223 "column" : 16,
15224 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
15225 },
15226 "expression" : {
15227 "type" : "expression",
15228 "value" : {
15229 "op" : "and",
15230 "left" : {
15231 "type" : "expression",
15232 "value" : {
15233 "op" : "d2b",
15234 "left" : null,
15235 "right" : {
15236 "type" : "field",
15237 "value" : ["vlan_tag", "$valid$"]
15238 }
15239 }
15240 },
15241 "right" : {
15242 "type" : "expression",
15243 "value" : {
15244 "op" : "==",
15245 "left" : {
15246 "type" : "expression",
15247 "value" : {
15248 "op" : "d2b",
15249 "left" : null,
15250 "right" : {
15251 "type" : "field",
15252 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
15253 }
15254 }
15255 },
15256 "right" : {
15257 "type" : "bool",
15258 "value" : true
15259 }
15260 }
15261 }
15262 }
15263 },
15264 "true_next" : "tbl_pkt_io_egress_pop_vlan",
15265 "false_next" : "node_73"
15266 },
15267 {
15268 "name" : "node_73",
15269 "id" : 23,
15270 "source_info" : {
15271 "filename" : "include/control/packetio.p4",
15272 "line" : 52,
15273 "column" : 16,
15274 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
15275 },
15276 "expression" : {
15277 "type" : "expression",
15278 "value" : {
15279 "op" : "and",
15280 "left" : {
15281 "type" : "expression",
15282 "value" : {
15283 "op" : "==",
15284 "left" : {
15285 "type" : "expression",
15286 "value" : {
15287 "op" : "d2b",
15288 "left" : null,
15289 "right" : {
15290 "type" : "field",
15291 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
15292 }
15293 }
15294 },
15295 "right" : {
15296 "type" : "bool",
15297 "value" : true
15298 }
15299 }
15300 },
15301 "right" : {
15302 "type" : "expression",
15303 "value" : {
15304 "op" : "==",
15305 "left" : {
15306 "type" : "expression",
15307 "value" : {
15308 "op" : "d2b",
15309 "left" : null,
15310 "right" : {
15311 "type" : "field",
15312 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
15313 }
15314 }
15315 },
15316 "right" : {
15317 "type" : "bool",
15318 "value" : false
15319 }
15320 }
15321 }
15322 }
15323 },
15324 "true_next" : "tbl_drop_now_0",
15325 "false_next" : "tbl_act_29"
15326 },
15327 {
15328 "name" : "node_76",
15329 "id" : 24,
15330 "source_info" : {
15331 "filename" : "include/control/next.p4",
15332 "line" : 272,
15333 "column" : 12,
15334 "source_fragment" : "fabric_metadata.is_multicast == true ..."
15335 },
15336 "expression" : {
15337 "type" : "expression",
15338 "value" : {
15339 "op" : "and",
15340 "left" : {
15341 "type" : "expression",
15342 "value" : {
15343 "op" : "==",
15344 "left" : {
15345 "type" : "expression",
15346 "value" : {
15347 "op" : "d2b",
15348 "left" : null,
15349 "right" : {
15350 "type" : "field",
15351 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
15352 }
15353 }
15354 },
15355 "right" : {
15356 "type" : "bool",
15357 "value" : true
15358 }
15359 }
15360 },
15361 "right" : {
15362 "type" : "expression",
15363 "value" : {
15364 "op" : "==",
15365 "left" : {
15366 "type" : "field",
15367 "value" : ["standard_metadata", "ingress_port"]
15368 },
15369 "right" : {
15370 "type" : "field",
15371 "value" : ["standard_metadata", "egress_port"]
15372 }
15373 }
15374 }
15375 }
15376 },
15377 "true_next" : "tbl_drop_now_1",
15378 "false_next" : "FabricEgress.egress_next.egress_vlan"
15379 },
15380 {
15381 "name" : "node_79",
15382 "id" : 25,
15383 "source_info" : {
15384 "filename" : "include/spgw.p4",
15385 "line" : 221,
15386 "column" : 12,
15387 "source_fragment" : "spgw_meta.direction == SPGW_DIR_DOWNLINK"
15388 },
15389 "expression" : {
15390 "type" : "expression",
15391 "value" : {
15392 "op" : "==",
15393 "left" : {
15394 "type" : "field",
15395 "value" : ["userMetadata.spgw", "direction"]
15396 },
15397 "right" : {
15398 "type" : "hexstr",
15399 "value" : "0x02"
15400 }
15401 }
15402 },
15403 "true_next" : "tbl_spgw_egress_gtpu_encap",
15404 "false_next" : "node_81"
15405 },
15406 {
15407 "name" : "node_81",
15408 "id" : 26,
15409 "source_info" : {
15410 "filename" : "include/int/int_main.p4",
15411 "line" : 98,
15412 "column" : 12,
15413 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
15414 },
15415 "expression" : {
15416 "type" : "expression",
15417 "value" : {
15418 "op" : "and",
15419 "left" : {
15420 "type" : "expression",
15421 "value" : {
15422 "op" : "and",
15423 "left" : {
15424 "type" : "expression",
15425 "value" : {
15426 "op" : "!=",
15427 "left" : {
15428 "type" : "field",
15429 "value" : ["standard_metadata", "ingress_port"]
15430 },
15431 "right" : {
15432 "type" : "hexstr",
15433 "value" : "0x00ff"
15434 }
15435 }
15436 },
15437 "right" : {
15438 "type" : "expression",
15439 "value" : {
15440 "op" : "!=",
15441 "left" : {
15442 "type" : "field",
15443 "value" : ["standard_metadata", "egress_port"]
15444 },
15445 "right" : {
15446 "type" : "hexstr",
15447 "value" : "0x00ff"
15448 }
15449 }
15450 }
15451 }
15452 },
15453 "right" : {
15454 "type" : "expression",
15455 "value" : {
15456 "op" : "or",
15457 "left" : {
15458 "type" : "expression",
15459 "value" : {
15460 "op" : "d2b",
15461 "left" : null,
15462 "right" : {
15463 "type" : "field",
15464 "value" : ["udp", "$valid$"]
15465 }
15466 }
15467 },
15468 "right" : {
15469 "type" : "expression",
15470 "value" : {
15471 "op" : "d2b",
15472 "left" : null,
15473 "right" : {
15474 "type" : "field",
15475 "value" : ["tcp", "$valid$"]
15476 }
15477 }
15478 }
15479 }
15480 }
15481 }
15482 },
15483 "false_next" : null,
15484 "true_next" : "node_82"
15485 },
15486 {
15487 "name" : "node_82",
15488 "id" : 27,
15489 "source_info" : {
15490 "filename" : "include/int/int_main.p4",
15491 "line" : 102,
15492 "column" : 16,
15493 "source_fragment" : "fabric_metadata.int_meta.source == true"
15494 },
15495 "expression" : {
15496 "type" : "expression",
15497 "value" : {
15498 "op" : "==",
15499 "left" : {
15500 "type" : "expression",
15501 "value" : {
15502 "op" : "d2b",
15503 "left" : null,
15504 "right" : {
15505 "type" : "field",
15506 "value" : ["userMetadata.int_meta", "source"]
15507 }
15508 }
15509 },
15510 "right" : {
15511 "type" : "bool",
15512 "value" : true
15513 }
15514 }
15515 },
15516 "true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
15517 "false_next" : "node_84"
15518 },
15519 {
15520 "name" : "node_84",
15521 "id" : 28,
15522 "source_info" : {
15523 "filename" : "include/int/int_main.p4",
15524 "line" : 106,
15525 "column" : 15,
15526 "source_fragment" : "hdr.int_header.isValid()"
15527 },
15528 "expression" : {
15529 "type" : "expression",
15530 "value" : {
15531 "op" : "d2b",
15532 "left" : null,
15533 "right" : {
15534 "type" : "field",
15535 "value" : ["int_header", "$valid$"]
15536 }
15537 }
15538 },
15539 "false_next" : null,
15540 "true_next" : "tbl_act_30"
15541 },
15542 {
15543 "name" : "node_87",
15544 "id" : 29,
15545 "source_info" : {
15546 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015547 "line" : 375,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015548 "column" : 12,
15549 "source_fragment" : "fmeta.int_meta.transit == false"
15550 },
15551 "expression" : {
15552 "type" : "expression",
15553 "value" : {
15554 "op" : "==",
15555 "left" : {
15556 "type" : "expression",
15557 "value" : {
15558 "op" : "d2b",
15559 "left" : null,
15560 "right" : {
15561 "type" : "field",
15562 "value" : ["userMetadata.int_meta", "transit"]
15563 }
15564 }
15565 },
15566 "right" : {
15567 "type" : "bool",
15568 "value" : false
15569 }
15570 }
15571 },
15572 "true_next" : "tbl_act_31",
15573 "false_next" : "node_89"
15574 },
15575 {
15576 "name" : "node_89",
15577 "id" : 30,
15578 "expression" : {
15579 "type" : "expression",
15580 "value" : {
15581 "op" : "not",
15582 "left" : null,
15583 "right" : {
15584 "type" : "expression",
15585 "value" : {
15586 "op" : "d2b",
15587 "left" : null,
15588 "right" : {
15589 "type" : "field",
15590 "value" : ["scalars", "process_int_main_process_int_transit_hasReturned_0"]
15591 }
15592 }
15593 }
15594 }
15595 },
15596 "false_next" : null,
15597 "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
15598 },
15599 {
15600 "name" : "node_93",
15601 "id" : 31,
15602 "source_info" : {
15603 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015604 "line" : 383,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015605 "column" : 12,
15606 "source_fragment" : "hdr.ipv4.isValid()"
15607 },
15608 "expression" : {
15609 "type" : "expression",
15610 "value" : {
15611 "op" : "d2b",
15612 "left" : null,
15613 "right" : {
15614 "type" : "field",
15615 "value" : ["ipv4", "$valid$"]
15616 }
15617 }
15618 },
15619 "true_next" : "tbl_act_33",
15620 "false_next" : "node_95"
15621 },
15622 {
15623 "name" : "node_95",
15624 "id" : 32,
15625 "source_info" : {
15626 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015627 "line" : 386,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015628 "column" : 12,
15629 "source_fragment" : "hdr.udp.isValid()"
15630 },
15631 "expression" : {
15632 "type" : "expression",
15633 "value" : {
15634 "op" : "d2b",
15635 "left" : null,
15636 "right" : {
15637 "type" : "field",
15638 "value" : ["udp", "$valid$"]
15639 }
15640 }
15641 },
15642 "true_next" : "tbl_act_34",
15643 "false_next" : "node_97"
15644 },
15645 {
15646 "name" : "node_97",
15647 "id" : 33,
15648 "source_info" : {
15649 "filename" : "include/int/int_transit.p4",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015650 "line" : 389,
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015651 "column" : 12,
15652 "source_fragment" : "hdr.intl4_shim.isValid()"
15653 },
15654 "expression" : {
15655 "type" : "expression",
15656 "value" : {
15657 "op" : "d2b",
15658 "left" : null,
15659 "right" : {
15660 "type" : "field",
15661 "value" : ["intl4_shim", "$valid$"]
15662 }
15663 }
15664 },
15665 "false_next" : null,
15666 "true_next" : "tbl_act_35"
15667 }
15668 ]
15669 }
15670 ],
15671 "checksums" : [
15672 {
15673 "name" : "cksum",
15674 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015675 "source_info" : {
15676 "filename" : "include/checksum.p4",
15677 "line" : 28,
15678 "column" : 8,
15679 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
15680 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015681 "target" : ["ipv4", "hdr_checksum"],
15682 "type" : "generic",
15683 "calculation" : "calc",
15684 "if_cond" : {
15685 "type" : "expression",
15686 "value" : {
15687 "op" : "d2b",
15688 "left" : null,
15689 "right" : {
15690 "type" : "field",
15691 "value" : ["ipv4", "$valid$"]
15692 }
15693 }
15694 }
15695 },
15696 {
15697 "name" : "cksum_0",
15698 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015699 "source_info" : {
15700 "filename" : "include/spgw.p4",
15701 "line" : 237,
15702 "column" : 8,
15703 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
15704 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015705 "target" : ["gtpu_ipv4", "hdr_checksum"],
15706 "type" : "generic",
15707 "calculation" : "calc_0",
15708 "if_cond" : {
15709 "type" : "expression",
15710 "value" : {
15711 "op" : "d2b",
15712 "left" : null,
15713 "right" : {
15714 "type" : "field",
15715 "value" : ["gtpu_ipv4", "$valid$"]
15716 }
15717 }
15718 }
15719 },
15720 {
15721 "name" : "cksum_1",
15722 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070015723 "source_info" : {
15724 "filename" : "include/checksum.p4",
15725 "line" : 57,
15726 "column" : 8,
15727 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
15728 },
Carmelo Cascone5a8a6502018-09-16 13:52:45 -070015729 "target" : ["ipv4", "hdr_checksum"],
15730 "type" : "generic",
15731 "calculation" : "calc_1",
15732 "if_cond" : {
15733 "type" : "expression",
15734 "value" : {
15735 "op" : "d2b",
15736 "left" : null,
15737 "right" : {
15738 "type" : "field",
15739 "value" : ["ipv4", "$valid$"]
15740 }
15741 }
15742 }
15743 }
15744 ],
15745 "force_arith" : [],
15746 "extern_instances" : [],
15747 "field_aliases" : [
15748 [
15749 "queueing_metadata.enq_timestamp",
15750 ["standard_metadata", "enq_timestamp"]
15751 ],
15752 [
15753 "queueing_metadata.enq_qdepth",
15754 ["standard_metadata", "enq_qdepth"]
15755 ],
15756 [
15757 "queueing_metadata.deq_timedelta",
15758 ["standard_metadata", "deq_timedelta"]
15759 ],
15760 [
15761 "queueing_metadata.deq_qdepth",
15762 ["standard_metadata", "deq_qdepth"]
15763 ],
15764 [
15765 "intrinsic_metadata.ingress_global_timestamp",
15766 ["standard_metadata", "ingress_global_timestamp"]
15767 ],
15768 [
15769 "intrinsic_metadata.egress_global_timestamp",
15770 ["standard_metadata", "egress_global_timestamp"]
15771 ],
15772 [
15773 "intrinsic_metadata.lf_field_list",
15774 ["standard_metadata", "lf_field_list"]
15775 ],
15776 [
15777 "intrinsic_metadata.mcast_grp",
15778 ["standard_metadata", "mcast_grp"]
15779 ],
15780 [
15781 "intrinsic_metadata.resubmit_flag",
15782 ["standard_metadata", "resubmit_flag"]
15783 ],
15784 [
15785 "intrinsic_metadata.egress_rid",
15786 ["standard_metadata", "egress_rid"]
15787 ],
15788 [
15789 "intrinsic_metadata.recirculate_flag",
15790 ["standard_metadata", "recirculate_flag"]
15791 ]
15792 ],
15793 "program" : "fabric.p4",
15794 "__meta__" : {
15795 "version" : [2, 18],
15796 "compiler" : "https://github.com/p4lang/p4c"
15797 }
15798}