blob: abd55ecd247d531630e79813b96c908985aa72a9 [file] [log] [blame]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
7 ["tmp", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008 ["tmp_0", 1, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02009 ["tmp_1", 32, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010 ["tmp_2", 1, false],
11 ["tmp_3", 32, false],
12 ["tmp_4", 32, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013 ["spgw_ingress_tmp_2", 1, false],
14 ["spgw_ingress_tmp_3", 1, false],
15 ["spgw_ingress_tmp_4", 1, false],
16 ["next_tmp_2", 1, false],
17 ["next_tmp_3", 1, false],
18 ["next_tmp_4", 1, false],
19 ["spgw_ingress_hasReturned_0", 1, false],
20 ["next_hasReturned_0", 1, false],
21 ["fabric_metadata_t.fwd_type", 3, false],
22 ["fabric_metadata_t.next_id", 32, false],
23 ["fabric_metadata_t.pop_vlan_when_packet_in", 1, false],
24 ["fabric_metadata_t.is_multicast", 1, false],
25 ["fabric_metadata_t.clone_to_cpu", 1, false],
26 ["fabric_metadata_t.ip_proto", 8, false],
27 ["fabric_metadata_t.l4_src_port", 16, false],
28 ["fabric_metadata_t.l4_dst_port", 16, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090029 ["fabric_metadata_t.compute_checksum", 1, false],
30 ["_padding_2", 3, false]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020031 ]
32 },
33 {
34 "name" : "standard_metadata",
35 "id" : 1,
36 "fields" : [
37 ["ingress_port", 9, false],
38 ["egress_spec", 9, false],
39 ["egress_port", 9, false],
40 ["clone_spec", 32, false],
41 ["instance_type", 32, false],
42 ["drop", 1, false],
43 ["recirculate_port", 16, false],
44 ["packet_length", 32, false],
45 ["enq_timestamp", 32, false],
46 ["enq_qdepth", 19, false],
47 ["deq_timedelta", 32, false],
48 ["deq_qdepth", 19, false],
49 ["ingress_global_timestamp", 48, false],
50 ["egress_global_timestamp", 48, false],
51 ["lf_field_list", 32, false],
52 ["mcast_grp", 16, false],
53 ["resubmit_flag", 32, false],
54 ["egress_rid", 16, false],
55 ["checksum_error", 1, false],
56 ["recirculate_flag", 32, false],
57 ["_padding", 5, false]
58 ]
59 },
60 {
61 "name" : "ethernet_t",
62 "id" : 2,
63 "fields" : [
64 ["dst_addr", 48, false],
65 ["src_addr", 48, false],
66 ["ether_type", 16, false]
67 ]
68 },
69 {
70 "name" : "vlan_tag_t",
71 "id" : 3,
72 "fields" : [
73 ["pri", 3, false],
74 ["cfi", 1, false],
75 ["vlan_id", 12, false],
76 ["ether_type", 16, false]
77 ]
78 },
79 {
80 "name" : "mpls_t",
81 "id" : 4,
82 "fields" : [
83 ["label", 20, false],
84 ["tc", 3, false],
85 ["bos", 1, false],
86 ["ttl", 8, false]
87 ]
88 },
89 {
90 "name" : "ipv4_t",
91 "id" : 5,
92 "fields" : [
93 ["version", 4, false],
94 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090095 ["dscp", 6, false],
96 ["ecn", 2, false],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020097 ["total_len", 16, false],
98 ["identification", 16, false],
99 ["flags", 3, false],
100 ["frag_offset", 13, false],
101 ["ttl", 8, false],
102 ["protocol", 8, false],
103 ["hdr_checksum", 16, false],
104 ["src_addr", 32, false],
105 ["dst_addr", 32, false]
106 ]
107 },
108 {
109 "name" : "udp_t",
110 "id" : 6,
111 "fields" : [
112 ["src_port", 16, false],
113 ["dst_port", 16, false],
114 ["len", 16, false],
115 ["checksum", 16, false]
116 ]
117 },
118 {
119 "name" : "gtpu_t",
120 "id" : 7,
121 "fields" : [
122 ["version", 3, false],
123 ["pt", 1, false],
124 ["spare", 1, false],
125 ["ex_flag", 1, false],
126 ["seq_flag", 1, false],
127 ["npdu_flag", 1, false],
128 ["msgtype", 8, false],
129 ["msglen", 16, false],
130 ["teid", 32, false]
131 ]
132 },
133 {
134 "name" : "ipv6_t",
135 "id" : 8,
136 "fields" : [
137 ["version", 4, false],
138 ["traffic_class", 8, false],
139 ["flow_label", 20, false],
140 ["payload_len", 16, false],
141 ["next_hdr", 8, false],
142 ["hop_limit", 8, false],
143 ["src_addr", 128, false],
144 ["dst_addr", 128, false]
145 ]
146 },
147 {
148 "name" : "arp_t",
149 "id" : 9,
150 "fields" : [
151 ["hw_type", 16, false],
152 ["proto_type", 16, false],
153 ["hw_addr_len", 8, false],
154 ["proto_addr_len", 8, false],
155 ["opcode", 16, false]
156 ]
157 },
158 {
159 "name" : "tcp_t",
160 "id" : 10,
161 "fields" : [
162 ["src_port", 16, false],
163 ["dst_port", 16, false],
164 ["seq_no", 32, false],
165 ["ack_no", 32, false],
166 ["data_offset", 4, false],
167 ["res", 3, false],
168 ["ecn", 3, false],
169 ["ctrl", 6, false],
170 ["window", 16, false],
171 ["checksum", 16, false],
172 ["urgent_ptr", 16, false]
173 ]
174 },
175 {
176 "name" : "icmp_t",
177 "id" : 11,
178 "fields" : [
179 ["icmp_type", 8, false],
180 ["icmp_code", 8, false],
181 ["checksum", 16, false],
182 ["identifier", 16, false],
183 ["sequence_number", 16, false],
184 ["timestamp", 64, false]
185 ]
186 },
187 {
188 "name" : "packet_out_header_t",
189 "id" : 12,
190 "fields" : [
191 ["egress_port", 9, false],
192 ["_pad", 7, false]
193 ]
194 },
195 {
196 "name" : "packet_in_header_t",
197 "id" : 13,
198 "fields" : [
199 ["ingress_port", 9, false],
200 ["_pad", 7, false]
201 ]
202 },
203 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900204 "name" : "report_fixed_header_t",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200205 "id" : 14,
206 "fields" : [
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900207 ["ver", 4, false],
208 ["nproto", 4, false],
209 ["d", 1, false],
210 ["q", 1, false],
211 ["f", 1, false],
212 ["rsvd", 15, false],
213 ["hw_id", 6, false],
214 ["seq_no", 32, false],
215 ["ingress_tstamp", 32, false]
216 ]
217 },
218 {
219 "name" : "drop_report_header_t",
220 "id" : 15,
221 "fields" : [
222 ["switch_id", 32, false],
223 ["ingress_port_id", 16, false],
224 ["egress_port_id", 16, false],
225 ["queue_id", 8, false],
226 ["drop_reason", 8, false],
227 ["pad", 16, false]
228 ]
229 },
230 {
231 "name" : "local_report_header_t",
232 "id" : 16,
233 "fields" : [
234 ["switch_id", 32, false],
235 ["ingress_port_id", 16, false],
236 ["egress_port_id", 16, false],
237 ["queue_id", 8, false],
238 ["queue_occupancy", 24, false],
239 ["egress_tstamp", 32, false]
240 ]
241 },
242 {
243 "name" : "intl4_shim_t",
244 "id" : 17,
245 "fields" : [
246 ["int_type", 8, false],
247 ["rsvd1", 8, false],
248 ["len", 8, false],
249 ["rsvd2", 8, false]
250 ]
251 },
252 {
253 "name" : "int_header_t",
254 "id" : 18,
255 "fields" : [
256 ["ver", 2, false],
257 ["rep", 2, false],
258 ["c", 1, false],
259 ["e", 1, false],
260 ["rsvd1", 5, false],
261 ["ins_cnt", 5, false],
262 ["max_hop_cnt", 8, false],
263 ["total_hop_cnt", 8, false],
264 ["instruction_mask_0003", 4, false],
265 ["instruction_mask_0407", 4, false],
266 ["instruction_mask_0811", 4, false],
267 ["instruction_mask_1215", 4, false],
268 ["rsvd2", 16, false]
269 ]
270 },
271 {
272 "name" : "int_data_t",
273 "id" : 19,
274 "fields" : [
275 ["data", "*"]
276 ],
277 "max_length" : 1004
278 },
279 {
280 "name" : "int_switch_id_t",
281 "id" : 20,
282 "fields" : [
283 ["switch_id", 32, false]
284 ]
285 },
286 {
287 "name" : "int_port_ids_t",
288 "id" : 21,
289 "fields" : [
290 ["ingress_port_id", 16, false],
291 ["egress_port_id", 16, false]
292 ]
293 },
294 {
295 "name" : "int_hop_latency_t",
296 "id" : 22,
297 "fields" : [
298 ["hop_latency", 32, false]
299 ]
300 },
301 {
302 "name" : "int_q_occupancy_t",
303 "id" : 23,
304 "fields" : [
305 ["q_id", 8, false],
306 ["q_occupancy", 24, false]
307 ]
308 },
309 {
310 "name" : "int_ingress_tstamp_t",
311 "id" : 24,
312 "fields" : [
313 ["ingress_tstamp", 32, false]
314 ]
315 },
316 {
317 "name" : "int_egress_tstamp_t",
318 "id" : 25,
319 "fields" : [
320 ["egress_tstamp", 32, false]
321 ]
322 },
323 {
324 "name" : "int_q_congestion_t",
325 "id" : 26,
326 "fields" : [
327 ["q_id", 8, false],
328 ["q_congestion", 24, false]
329 ]
330 },
331 {
332 "name" : "int_egress_port_tx_util_t",
333 "id" : 27,
334 "fields" : [
335 ["egress_port_tx_util", 32, false]
336 ]
337 },
338 {
339 "name" : "intl4_tail_t",
340 "id" : 28,
341 "fields" : [
342 ["next_proto", 8, false],
343 ["dest_port", 16, false],
344 ["dscp", 8, false]
345 ]
346 },
347 {
348 "name" : "spgw_meta_t",
349 "id" : 29,
350 "fields" : [
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200351 ["do_spgw", 1, 0],
352 ["direction", 1, false],
353 ["ipv4_len", 16, false],
354 ["teid", 32, false],
355 ["s1u_enb_addr", 32, false],
356 ["s1u_sgw_addr", 32, false],
357 ["_padding_0", 6, false]
358 ]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900359 },
360 {
361 "name" : "int_metadata_t",
362 "id" : 30,
363 "fields" : [
364 ["switch_id", 32, false],
365 ["insert_byte_cnt", 16, false],
366 ["source", 1, false],
367 ["sink", 1, false],
368 ["mirror_id", 8, false],
369 ["flow_id", 16, false],
370 ["metadata_len", 8, false],
371 ["_padding_1", 6, false]
372 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200373 }
374 ],
375 "headers" : [
376 {
377 "name" : "scalars",
378 "id" : 0,
379 "header_type" : "scalars_0",
380 "metadata" : true,
381 "pi_omit" : true
382 },
383 {
384 "name" : "standard_metadata",
385 "id" : 1,
386 "header_type" : "standard_metadata",
387 "metadata" : true,
388 "pi_omit" : true
389 },
390 {
391 "name" : "ethernet",
392 "id" : 2,
393 "header_type" : "ethernet_t",
394 "metadata" : false,
395 "pi_omit" : true
396 },
397 {
398 "name" : "vlan_tag",
399 "id" : 3,
400 "header_type" : "vlan_tag_t",
401 "metadata" : false,
402 "pi_omit" : true
403 },
404 {
405 "name" : "mpls",
406 "id" : 4,
407 "header_type" : "mpls_t",
408 "metadata" : false,
409 "pi_omit" : true
410 },
411 {
412 "name" : "gtpu_ipv4",
413 "id" : 5,
414 "header_type" : "ipv4_t",
415 "metadata" : false,
416 "pi_omit" : true
417 },
418 {
419 "name" : "gtpu_udp",
420 "id" : 6,
421 "header_type" : "udp_t",
422 "metadata" : false,
423 "pi_omit" : true
424 },
425 {
426 "name" : "gtpu",
427 "id" : 7,
428 "header_type" : "gtpu_t",
429 "metadata" : false,
430 "pi_omit" : true
431 },
432 {
433 "name" : "ipv4",
434 "id" : 8,
435 "header_type" : "ipv4_t",
436 "metadata" : false,
437 "pi_omit" : true
438 },
439 {
440 "name" : "ipv6",
441 "id" : 9,
442 "header_type" : "ipv6_t",
443 "metadata" : false,
444 "pi_omit" : true
445 },
446 {
447 "name" : "arp",
448 "id" : 10,
449 "header_type" : "arp_t",
450 "metadata" : false,
451 "pi_omit" : true
452 },
453 {
454 "name" : "tcp",
455 "id" : 11,
456 "header_type" : "tcp_t",
457 "metadata" : false,
458 "pi_omit" : true
459 },
460 {
461 "name" : "udp",
462 "id" : 12,
463 "header_type" : "udp_t",
464 "metadata" : false,
465 "pi_omit" : true
466 },
467 {
468 "name" : "icmp",
469 "id" : 13,
470 "header_type" : "icmp_t",
471 "metadata" : false,
472 "pi_omit" : true
473 },
474 {
475 "name" : "packet_out",
476 "id" : 14,
477 "header_type" : "packet_out_header_t",
478 "metadata" : false,
479 "pi_omit" : true
480 },
481 {
482 "name" : "packet_in",
483 "id" : 15,
484 "header_type" : "packet_in_header_t",
485 "metadata" : false,
486 "pi_omit" : true
487 },
488 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900489 "name" : "report_ethernet",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200490 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900491 "header_type" : "ethernet_t",
492 "metadata" : false,
493 "pi_omit" : true
494 },
495 {
496 "name" : "report_ipv4",
497 "id" : 17,
498 "header_type" : "ipv4_t",
499 "metadata" : false,
500 "pi_omit" : true
501 },
502 {
503 "name" : "report_udp",
504 "id" : 18,
505 "header_type" : "udp_t",
506 "metadata" : false,
507 "pi_omit" : true
508 },
509 {
510 "name" : "report_fixed_header",
511 "id" : 19,
512 "header_type" : "report_fixed_header_t",
513 "metadata" : false,
514 "pi_omit" : true
515 },
516 {
517 "name" : "report_local.drop_report_header",
518 "id" : 20,
519 "header_type" : "drop_report_header_t",
520 "metadata" : false,
521 "pi_omit" : true
522 },
523 {
524 "name" : "report_local.local_report_header",
525 "id" : 21,
526 "header_type" : "local_report_header_t",
527 "metadata" : false,
528 "pi_omit" : true
529 },
530 {
531 "name" : "intl4_shim",
532 "id" : 22,
533 "header_type" : "intl4_shim_t",
534 "metadata" : false,
535 "pi_omit" : true
536 },
537 {
538 "name" : "int_header",
539 "id" : 23,
540 "header_type" : "int_header_t",
541 "metadata" : false,
542 "pi_omit" : true
543 },
544 {
545 "name" : "int_data",
546 "id" : 24,
547 "header_type" : "int_data_t",
548 "metadata" : false,
549 "pi_omit" : true
550 },
551 {
552 "name" : "int_switch_id",
553 "id" : 25,
554 "header_type" : "int_switch_id_t",
555 "metadata" : false,
556 "pi_omit" : true
557 },
558 {
559 "name" : "int_port_ids",
560 "id" : 26,
561 "header_type" : "int_port_ids_t",
562 "metadata" : false,
563 "pi_omit" : true
564 },
565 {
566 "name" : "int_hop_latency",
567 "id" : 27,
568 "header_type" : "int_hop_latency_t",
569 "metadata" : false,
570 "pi_omit" : true
571 },
572 {
573 "name" : "int_q_occupancy",
574 "id" : 28,
575 "header_type" : "int_q_occupancy_t",
576 "metadata" : false,
577 "pi_omit" : true
578 },
579 {
580 "name" : "int_ingress_tstamp",
581 "id" : 29,
582 "header_type" : "int_ingress_tstamp_t",
583 "metadata" : false,
584 "pi_omit" : true
585 },
586 {
587 "name" : "int_egress_tstamp",
588 "id" : 30,
589 "header_type" : "int_egress_tstamp_t",
590 "metadata" : false,
591 "pi_omit" : true
592 },
593 {
594 "name" : "int_q_congestion",
595 "id" : 31,
596 "header_type" : "int_q_congestion_t",
597 "metadata" : false,
598 "pi_omit" : true
599 },
600 {
601 "name" : "int_egress_tx_util",
602 "id" : 32,
603 "header_type" : "int_egress_port_tx_util_t",
604 "metadata" : false,
605 "pi_omit" : true
606 },
607 {
608 "name" : "intl4_tail",
609 "id" : 33,
610 "header_type" : "intl4_tail_t",
611 "metadata" : false,
612 "pi_omit" : true
613 },
614 {
615 "name" : "userMetadata.spgw",
616 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200617 "header_type" : "spgw_meta_t",
618 "metadata" : true,
619 "pi_omit" : true
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900620 },
621 {
622 "name" : "userMetadata.int_meta",
623 "id" : 35,
624 "header_type" : "int_metadata_t",
625 "metadata" : true,
626 "pi_omit" : true
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200627 }
628 ],
629 "header_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900630 "header_union_types" : [
631 {
632 "name" : "local_report_t",
633 "id" : 0,
634 "headers" : [
635 ["drop_report_header", "drop_report_header_t"],
636 ["local_report_header", "local_report_header_t"]
637 ]
638 }
639 ],
640 "header_unions" : [
641 {
642 "name" : "report_local",
643 "id" : 0,
644 "union_type" : "local_report_t",
645 "header_ids" : [20, 21],
646 "pi_omit" : true
647 }
648 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200649 "header_union_stacks" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900650 "field_lists" : [
651 {
652 "id" : 1,
653 "name" : "fl",
654 "elements" : []
655 }
656 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200657 "errors" : [],
658 "enums" : [],
659 "parsers" : [
660 {
661 "name" : "parser",
662 "id" : 0,
663 "init_state" : "start",
664 "parse_states" : [
665 {
666 "name" : "start",
667 "id" : 0,
668 "parser_ops" : [],
669 "transitions" : [
670 {
671 "type" : "hexstr",
672 "value" : "0x00ff",
673 "mask" : null,
674 "next_state" : "parse_packet_out"
675 },
676 {
677 "value" : "default",
678 "mask" : null,
679 "next_state" : "parse_ethernet"
680 }
681 ],
682 "transition_key" : [
683 {
684 "type" : "field",
685 "value" : ["standard_metadata", "ingress_port"]
686 }
687 ]
688 },
689 {
690 "name" : "parse_packet_out",
691 "id" : 1,
692 "parser_ops" : [
693 {
694 "parameters" : [
695 {
696 "type" : "regular",
697 "value" : "packet_out"
698 }
699 ],
700 "op" : "extract"
701 }
702 ],
703 "transitions" : [
704 {
705 "value" : "default",
706 "mask" : null,
707 "next_state" : "parse_ethernet"
708 }
709 ],
710 "transition_key" : []
711 },
712 {
713 "name" : "parse_ethernet",
714 "id" : 2,
715 "parser_ops" : [
716 {
717 "parameters" : [
718 {
719 "type" : "regular",
720 "value" : "ethernet"
721 }
722 ],
723 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200724 }
725 ],
726 "transitions" : [
727 {
728 "type" : "hexstr",
729 "value" : "0x8100",
730 "mask" : null,
731 "next_state" : "parse_vlan_tag"
732 },
733 {
734 "type" : "hexstr",
735 "value" : "0x8847",
736 "mask" : null,
737 "next_state" : "parse_mpls"
738 },
739 {
740 "type" : "hexstr",
741 "value" : "0x0806",
742 "mask" : null,
743 "next_state" : "parse_arp"
744 },
745 {
746 "type" : "hexstr",
747 "value" : "0x0800",
748 "mask" : null,
749 "next_state" : "parse_ipv4"
750 },
751 {
752 "type" : "hexstr",
753 "value" : "0x86dd",
754 "mask" : null,
755 "next_state" : "parse_ipv6"
756 },
757 {
758 "value" : "default",
759 "mask" : null,
760 "next_state" : null
761 }
762 ],
763 "transition_key" : [
764 {
765 "type" : "field",
766 "value" : ["ethernet", "ether_type"]
767 }
768 ]
769 },
770 {
771 "name" : "parse_vlan_tag",
772 "id" : 3,
773 "parser_ops" : [
774 {
775 "parameters" : [
776 {
777 "type" : "regular",
778 "value" : "vlan_tag"
779 }
780 ],
781 "op" : "extract"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200782 }
783 ],
784 "transitions" : [
785 {
786 "type" : "hexstr",
787 "value" : "0x0806",
788 "mask" : null,
789 "next_state" : "parse_arp"
790 },
791 {
792 "type" : "hexstr",
793 "value" : "0x0800",
794 "mask" : null,
795 "next_state" : "parse_ipv4"
796 },
797 {
798 "type" : "hexstr",
799 "value" : "0x86dd",
800 "mask" : null,
801 "next_state" : "parse_ipv6"
802 },
803 {
804 "type" : "hexstr",
805 "value" : "0x8847",
806 "mask" : null,
807 "next_state" : "parse_mpls"
808 },
809 {
810 "value" : "default",
811 "mask" : null,
812 "next_state" : null
813 }
814 ],
815 "transition_key" : [
816 {
817 "type" : "field",
818 "value" : ["vlan_tag", "ether_type"]
819 }
820 ]
821 },
822 {
823 "name" : "parse_mpls",
824 "id" : 4,
825 "parser_ops" : [
826 {
827 "parameters" : [
828 {
829 "type" : "regular",
830 "value" : "mpls"
831 }
832 ],
833 "op" : "extract"
834 },
835 {
836 "parameters" : [
837 {
838 "type" : "field",
839 "value" : ["scalars", "tmp"]
840 },
841 {
842 "type" : "lookahead",
843 "value" : [0, 4]
844 }
845 ],
846 "op" : "set"
847 }
848 ],
849 "transitions" : [
850 {
851 "type" : "hexstr",
852 "value" : "0x04",
853 "mask" : null,
854 "next_state" : "parse_ipv4"
855 },
856 {
857 "type" : "hexstr",
858 "value" : "0x06",
859 "mask" : null,
860 "next_state" : "parse_ipv6"
861 },
862 {
863 "value" : "default",
864 "mask" : null,
865 "next_state" : "parse_ethernet"
866 }
867 ],
868 "transition_key" : [
869 {
870 "type" : "field",
871 "value" : ["scalars", "tmp"]
872 }
873 ]
874 },
875 {
876 "name" : "parse_ipv4",
877 "id" : 5,
878 "parser_ops" : [
879 {
880 "parameters" : [
881 {
882 "type" : "regular",
883 "value" : "ipv4"
884 }
885 ],
886 "op" : "extract"
887 },
888 {
889 "parameters" : [
890 {
891 "type" : "field",
892 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
893 },
894 {
895 "type" : "field",
896 "value" : ["ipv4", "protocol"]
897 }
898 ],
899 "op" : "set"
900 }
901 ],
902 "transitions" : [
903 {
904 "type" : "hexstr",
905 "value" : "0x06",
906 "mask" : null,
907 "next_state" : "parse_tcp"
908 },
909 {
910 "type" : "hexstr",
911 "value" : "0x11",
912 "mask" : null,
913 "next_state" : "parse_udp"
914 },
915 {
916 "type" : "hexstr",
917 "value" : "0x01",
918 "mask" : null,
919 "next_state" : "parse_icmp"
920 },
921 {
922 "value" : "default",
923 "mask" : null,
924 "next_state" : null
925 }
926 ],
927 "transition_key" : [
928 {
929 "type" : "field",
930 "value" : ["ipv4", "protocol"]
931 }
932 ]
933 },
934 {
935 "name" : "parse_ipv6",
936 "id" : 6,
937 "parser_ops" : [
938 {
939 "parameters" : [
940 {
941 "type" : "regular",
942 "value" : "ipv6"
943 }
944 ],
945 "op" : "extract"
946 },
947 {
948 "parameters" : [
949 {
950 "type" : "field",
951 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
952 },
953 {
954 "type" : "field",
955 "value" : ["ipv6", "next_hdr"]
956 }
957 ],
958 "op" : "set"
959 }
960 ],
961 "transitions" : [
962 {
963 "type" : "hexstr",
964 "value" : "0x06",
965 "mask" : null,
966 "next_state" : "parse_tcp"
967 },
968 {
969 "type" : "hexstr",
970 "value" : "0x11",
971 "mask" : null,
972 "next_state" : "parse_udp"
973 },
974 {
975 "type" : "hexstr",
976 "value" : "0x3a",
977 "mask" : null,
978 "next_state" : "parse_icmp"
979 },
980 {
981 "value" : "default",
982 "mask" : null,
983 "next_state" : null
984 }
985 ],
986 "transition_key" : [
987 {
988 "type" : "field",
989 "value" : ["ipv6", "next_hdr"]
990 }
991 ]
992 },
993 {
994 "name" : "parse_arp",
995 "id" : 7,
996 "parser_ops" : [
997 {
998 "parameters" : [
999 {
1000 "type" : "regular",
1001 "value" : "arp"
1002 }
1003 ],
1004 "op" : "extract"
1005 }
1006 ],
1007 "transitions" : [
1008 {
1009 "value" : "default",
1010 "mask" : null,
1011 "next_state" : null
1012 }
1013 ],
1014 "transition_key" : []
1015 },
1016 {
1017 "name" : "parse_tcp",
1018 "id" : 8,
1019 "parser_ops" : [
1020 {
1021 "parameters" : [
1022 {
1023 "type" : "regular",
1024 "value" : "tcp"
1025 }
1026 ],
1027 "op" : "extract"
1028 },
1029 {
1030 "parameters" : [
1031 {
1032 "type" : "field",
1033 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1034 },
1035 {
1036 "type" : "field",
1037 "value" : ["tcp", "src_port"]
1038 }
1039 ],
1040 "op" : "set"
1041 },
1042 {
1043 "parameters" : [
1044 {
1045 "type" : "field",
1046 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1047 },
1048 {
1049 "type" : "field",
1050 "value" : ["tcp", "dst_port"]
1051 }
1052 ],
1053 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001054 },
1055 {
1056 "parameters" : [
1057 {
1058 "type" : "field",
1059 "value" : ["scalars", "tmp_0"]
1060 },
1061 {
1062 "type" : "expression",
1063 "value" : {
1064 "type" : "expression",
1065 "value" : {
1066 "op" : "?",
1067 "left" : {
1068 "type" : "hexstr",
1069 "value" : "0x01"
1070 },
1071 "right" : {
1072 "type" : "hexstr",
1073 "value" : "0x00"
1074 },
1075 "cond" : {
1076 "type" : "expression",
1077 "value" : {
1078 "op" : "and",
1079 "left" : {
1080 "type" : "expression",
1081 "value" : {
1082 "op" : "d2b",
1083 "left" : null,
1084 "right" : {
1085 "type" : "field",
1086 "value" : ["ipv4", "$valid$"]
1087 }
1088 }
1089 },
1090 "right" : {
1091 "type" : "expression",
1092 "value" : {
1093 "op" : "==",
1094 "left" : {
1095 "type" : "expression",
1096 "value" : {
1097 "op" : "&",
1098 "left" : {
1099 "type" : "field",
1100 "value" : ["ipv4", "dscp"]
1101 },
1102 "right" : {
1103 "type" : "hexstr",
1104 "value" : "0x01"
1105 }
1106 }
1107 },
1108 "right" : {
1109 "type" : "hexstr",
1110 "value" : "0x01"
1111 }
1112 }
1113 }
1114 }
1115 }
1116 }
1117 }
1118 }
1119 ],
1120 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001121 }
1122 ],
1123 "transitions" : [
1124 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001125 "type" : "hexstr",
1126 "value" : "0x01",
1127 "mask" : null,
1128 "next_state" : "parse_intl4_shim"
1129 },
1130 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001131 "value" : "default",
1132 "mask" : null,
1133 "next_state" : null
1134 }
1135 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001136 "transition_key" : [
1137 {
1138 "type" : "field",
1139 "value" : ["scalars", "tmp_0"]
1140 }
1141 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001142 },
1143 {
1144 "name" : "parse_udp",
1145 "id" : 9,
1146 "parser_ops" : [
1147 {
1148 "parameters" : [
1149 {
1150 "type" : "regular",
1151 "value" : "udp"
1152 }
1153 ],
1154 "op" : "extract"
1155 },
1156 {
1157 "parameters" : [
1158 {
1159 "type" : "field",
1160 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1161 },
1162 {
1163 "type" : "field",
1164 "value" : ["udp", "src_port"]
1165 }
1166 ],
1167 "op" : "set"
1168 },
1169 {
1170 "parameters" : [
1171 {
1172 "type" : "field",
1173 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1174 },
1175 {
1176 "type" : "field",
1177 "value" : ["udp", "dst_port"]
1178 }
1179 ],
1180 "op" : "set"
1181 }
1182 ],
1183 "transitions" : [
1184 {
1185 "type" : "hexstr",
1186 "value" : "0x0868",
1187 "mask" : null,
1188 "next_state" : "parse_gtpu"
1189 },
1190 {
1191 "value" : "default",
1192 "mask" : null,
1193 "next_state" : null
1194 }
1195 ],
1196 "transition_key" : [
1197 {
1198 "type" : "field",
1199 "value" : ["udp", "dst_port"]
1200 }
1201 ]
1202 },
1203 {
1204 "name" : "parse_icmp",
1205 "id" : 10,
1206 "parser_ops" : [
1207 {
1208 "parameters" : [
1209 {
1210 "type" : "regular",
1211 "value" : "icmp"
1212 }
1213 ],
1214 "op" : "extract"
1215 }
1216 ],
1217 "transitions" : [
1218 {
1219 "value" : "default",
1220 "mask" : null,
1221 "next_state" : null
1222 }
1223 ],
1224 "transition_key" : []
1225 },
1226 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001227 "name" : "parse_intl4_shim",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001228 "id" : 11,
1229 "parser_ops" : [
1230 {
1231 "parameters" : [
1232 {
1233 "type" : "regular",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001234 "value" : "intl4_shim"
1235 }
1236 ],
1237 "op" : "extract"
1238 },
1239 {
1240 "parameters" : [
1241 {
1242 "type" : "regular",
1243 "value" : "int_header"
1244 }
1245 ],
1246 "op" : "extract"
1247 },
1248 {
1249 "parameters" : [
1250 {
1251 "type" : "field",
1252 "value" : ["userMetadata.int_meta", "metadata_len"]
1253 },
1254 {
1255 "type" : "expression",
1256 "value" : {
1257 "type" : "expression",
1258 "value" : {
1259 "op" : "&",
1260 "left" : {
1261 "type" : "expression",
1262 "value" : {
1263 "op" : "+",
1264 "left" : {
1265 "type" : "field",
1266 "value" : ["intl4_shim", "len"]
1267 },
1268 "right" : {
1269 "type" : "hexstr",
1270 "value" : "0xfc"
1271 }
1272 }
1273 },
1274 "right" : {
1275 "type" : "hexstr",
1276 "value" : "0xff"
1277 }
1278 }
1279 }
1280 }
1281 ],
1282 "op" : "set"
1283 }
1284 ],
1285 "transitions" : [
1286 {
1287 "type" : "hexstr",
1288 "value" : "0x00",
1289 "mask" : null,
1290 "next_state" : "parse_intl4_tail"
1291 },
1292 {
1293 "value" : "default",
1294 "mask" : null,
1295 "next_state" : "parse_int_data"
1296 }
1297 ],
1298 "transition_key" : [
1299 {
1300 "type" : "field",
1301 "value" : ["userMetadata.int_meta", "metadata_len"]
1302 }
1303 ]
1304 },
1305 {
1306 "name" : "parse_int_data",
1307 "id" : 12,
1308 "parser_ops" : [
1309 {
1310 "parameters" : [
1311 {
1312 "type" : "field",
1313 "value" : ["scalars", "tmp_1"]
1314 },
1315 {
1316 "type" : "expression",
1317 "value" : {
1318 "type" : "expression",
1319 "value" : {
1320 "op" : "&",
1321 "left" : {
1322 "type" : "expression",
1323 "value" : {
1324 "op" : "&",
1325 "left" : {
1326 "type" : "expression",
1327 "value" : {
1328 "op" : "<<",
1329 "left" : {
1330 "type" : "expression",
1331 "value" : {
1332 "op" : "&",
1333 "left" : {
1334 "type" : "expression",
1335 "value" : {
1336 "op" : "+",
1337 "left" : {
1338 "type" : "field",
1339 "value" : ["intl4_shim", "len"]
1340 },
1341 "right" : {
1342 "type" : "hexstr",
1343 "value" : "0xfc"
1344 }
1345 }
1346 },
1347 "right" : {
1348 "type" : "hexstr",
1349 "value" : "0xff"
1350 }
1351 }
1352 },
1353 "right" : {
1354 "type" : "hexstr",
1355 "value" : "0x5"
1356 }
1357 }
1358 },
1359 "right" : {
1360 "type" : "hexstr",
1361 "value" : "0xff"
1362 }
1363 }
1364 },
1365 "right" : {
1366 "type" : "hexstr",
1367 "value" : "0xffffffff"
1368 }
1369 }
1370 }
1371 }
1372 ],
1373 "op" : "set"
1374 },
1375 {
1376 "parameters" : [
1377 {
1378 "type" : "regular",
1379 "value" : "int_data"
1380 },
1381 {
1382 "type" : "expression",
1383 "value" : {
1384 "type" : "field",
1385 "value" : ["scalars", "tmp_1"]
1386 }
1387 }
1388 ],
1389 "op" : "extract_VL"
1390 }
1391 ],
1392 "transitions" : [
1393 {
1394 "value" : "default",
1395 "mask" : null,
1396 "next_state" : "parse_intl4_tail"
1397 }
1398 ],
1399 "transition_key" : []
1400 },
1401 {
1402 "name" : "parse_intl4_tail",
1403 "id" : 13,
1404 "parser_ops" : [
1405 {
1406 "parameters" : [
1407 {
1408 "type" : "regular",
1409 "value" : "intl4_tail"
1410 }
1411 ],
1412 "op" : "extract"
1413 }
1414 ],
1415 "transitions" : [
1416 {
1417 "value" : "default",
1418 "mask" : null,
1419 "next_state" : null
1420 }
1421 ],
1422 "transition_key" : []
1423 },
1424 {
1425 "name" : "parse_gtpu",
1426 "id" : 14,
1427 "parser_ops" : [
1428 {
1429 "parameters" : [
1430 {
1431 "type" : "regular",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001432 "value" : "gtpu"
1433 }
1434 ],
1435 "op" : "extract"
1436 },
1437 {
1438 "parameters" : [
1439 {
1440 "type" : "regular",
1441 "value" : "gtpu_ipv4"
1442 }
1443 ],
1444 "op" : "extract"
1445 }
1446 ],
1447 "transitions" : [
1448 {
1449 "type" : "hexstr",
1450 "value" : "0x06",
1451 "mask" : null,
1452 "next_state" : "parse_tcp"
1453 },
1454 {
1455 "type" : "hexstr",
1456 "value" : "0x11",
1457 "mask" : null,
1458 "next_state" : "parse_udp_inner"
1459 },
1460 {
1461 "type" : "hexstr",
1462 "value" : "0x01",
1463 "mask" : null,
1464 "next_state" : "parse_icmp"
1465 },
1466 {
1467 "value" : "default",
1468 "mask" : null,
1469 "next_state" : null
1470 }
1471 ],
1472 "transition_key" : [
1473 {
1474 "type" : "field",
1475 "value" : ["gtpu_ipv4", "protocol"]
1476 }
1477 ]
1478 },
1479 {
1480 "name" : "parse_udp_inner",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001481 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001482 "parser_ops" : [
1483 {
1484 "parameters" : [
1485 {
1486 "type" : "regular",
1487 "value" : "gtpu_udp"
1488 }
1489 ],
1490 "op" : "extract"
1491 },
1492 {
1493 "parameters" : [
1494 {
1495 "type" : "field",
1496 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1497 },
1498 {
1499 "type" : "field",
1500 "value" : ["gtpu_udp", "src_port"]
1501 }
1502 ],
1503 "op" : "set"
1504 },
1505 {
1506 "parameters" : [
1507 {
1508 "type" : "field",
1509 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1510 },
1511 {
1512 "type" : "field",
1513 "value" : ["gtpu_udp", "dst_port"]
1514 }
1515 ],
1516 "op" : "set"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001517 },
1518 {
1519 "parameters" : [
1520 {
1521 "type" : "field",
1522 "value" : ["scalars", "tmp_2"]
1523 },
1524 {
1525 "type" : "expression",
1526 "value" : {
1527 "type" : "expression",
1528 "value" : {
1529 "op" : "?",
1530 "left" : {
1531 "type" : "hexstr",
1532 "value" : "0x01"
1533 },
1534 "right" : {
1535 "type" : "hexstr",
1536 "value" : "0x00"
1537 },
1538 "cond" : {
1539 "type" : "expression",
1540 "value" : {
1541 "op" : "and",
1542 "left" : {
1543 "type" : "expression",
1544 "value" : {
1545 "op" : "d2b",
1546 "left" : null,
1547 "right" : {
1548 "type" : "field",
1549 "value" : ["ipv4", "$valid$"]
1550 }
1551 }
1552 },
1553 "right" : {
1554 "type" : "expression",
1555 "value" : {
1556 "op" : "==",
1557 "left" : {
1558 "type" : "expression",
1559 "value" : {
1560 "op" : "&",
1561 "left" : {
1562 "type" : "field",
1563 "value" : ["ipv4", "dscp"]
1564 },
1565 "right" : {
1566 "type" : "hexstr",
1567 "value" : "0x01"
1568 }
1569 }
1570 },
1571 "right" : {
1572 "type" : "hexstr",
1573 "value" : "0x01"
1574 }
1575 }
1576 }
1577 }
1578 }
1579 }
1580 }
1581 }
1582 ],
1583 "op" : "set"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001584 }
1585 ],
1586 "transitions" : [
1587 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001588 "type" : "hexstr",
1589 "value" : "0x01",
1590 "mask" : null,
1591 "next_state" : "parse_intl4_shim"
1592 },
1593 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001594 "value" : "default",
1595 "mask" : null,
1596 "next_state" : null
1597 }
1598 ],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001599 "transition_key" : [
1600 {
1601 "type" : "field",
1602 "value" : ["scalars", "tmp_2"]
1603 }
1604 ]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001605 }
1606 ]
1607 }
1608 ],
1609 "parse_vsets" : [],
1610 "deparsers" : [
1611 {
1612 "name" : "deparser",
1613 "id" : 0,
1614 "source_info" : {
1615 "filename" : "include/parser.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001616 "line" : 212,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001617 "column" : 8,
1618 "source_fragment" : "FabricDeparser"
1619 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001620 "order" : ["packet_in", "report_ethernet", "report_ipv4", "report_udp", "report_fixed_header", "ethernet", "vlan_tag", "mpls", "arp", "gtpu_ipv4", "gtpu_udp", "gtpu", "ipv4", "ipv6", "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"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001621 }
1622 ],
1623 "meter_arrays" : [],
1624 "counter_arrays" : [
1625 {
1626 "name" : "FabricIngress.spgw_ingress.ue_counter",
1627 "id" : 0,
1628 "is_direct" : true,
1629 "binding" : "FabricIngress.spgw_ingress.ue_cdr_table"
1630 },
1631 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001632 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001633 "id" : 1,
1634 "is_direct" : true,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001635 "binding" : "FabricIngress.process_set_source_sink.tb_set_source"
1636 },
1637 {
1638 "name" : "FabricIngress.process_set_source_sink.counter_set_sink",
1639 "id" : 2,
1640 "is_direct" : true,
1641 "binding" : "FabricIngress.process_set_source_sink.tb_set_sink"
1642 },
1643 {
1644 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1645 "id" : 3,
1646 "is_direct" : true,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001647 "binding" : "FabricIngress.filtering.ingress_port_vlan"
1648 },
1649 {
1650 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001651 "id" : 4,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001652 "is_direct" : true,
1653 "binding" : "FabricIngress.filtering.fwd_classifier"
1654 },
1655 {
1656 "name" : "FabricIngress.forwarding.bridging_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001657 "id" : 5,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001658 "is_direct" : true,
1659 "binding" : "FabricIngress.forwarding.bridging"
1660 },
1661 {
1662 "name" : "FabricIngress.forwarding.mpls_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001663 "id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001664 "is_direct" : true,
1665 "binding" : "FabricIngress.forwarding.mpls"
1666 },
1667 {
1668 "name" : "FabricIngress.forwarding.unicast_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001669 "id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001670 "is_direct" : true,
1671 "binding" : "FabricIngress.forwarding.unicast_v4"
1672 },
1673 {
1674 "name" : "FabricIngress.forwarding.acl_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001675 "id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001676 "is_direct" : true,
1677 "binding" : "FabricIngress.forwarding.acl"
1678 },
1679 {
1680 "name" : "FabricIngress.forwarding.multicast_v4_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001681 "id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001682 "is_direct" : true,
1683 "binding" : "FabricIngress.forwarding.multicast_v4"
1684 },
1685 {
1686 "name" : "FabricIngress.forwarding.unicast_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001687 "id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001688 "is_direct" : true,
1689 "binding" : "FabricIngress.forwarding.unicast_v6"
1690 },
1691 {
1692 "name" : "FabricIngress.forwarding.multicast_v6_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001693 "id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001694 "is_direct" : true,
1695 "binding" : "FabricIngress.forwarding.multicast_v6"
1696 },
1697 {
1698 "name" : "FabricIngress.next.vlan_meta_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001699 "id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001700 "is_direct" : true,
1701 "binding" : "FabricIngress.next.vlan_meta"
1702 },
1703 {
1704 "name" : "FabricIngress.next.simple_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001705 "id" : 13,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001706 "is_direct" : true,
1707 "binding" : "FabricIngress.next.simple"
1708 },
1709 {
1710 "name" : "FabricIngress.next.hashed_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001711 "id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001712 "is_direct" : true,
1713 "binding" : "FabricIngress.next.hashed"
1714 },
1715 {
1716 "name" : "FabricIngress.next.multicast_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001717 "id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001718 "is_direct" : true,
1719 "binding" : "FabricIngress.next.multicast"
1720 },
1721 {
1722 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001723 "id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001724 "source_info" : {
1725 "filename" : "include/control/port_counter.p4",
1726 "line" : 23,
1727 "column" : 48,
1728 "source_fragment" : "egress_port_counter"
1729 },
1730 "size" : 511,
1731 "is_direct" : false
1732 },
1733 {
1734 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001735 "id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001736 "source_info" : {
1737 "filename" : "include/control/port_counter.p4",
1738 "line" : 24,
1739 "column" : 48,
1740 "source_fragment" : "ingress_port_counter"
1741 },
1742 "size" : 511,
1743 "is_direct" : false
1744 },
1745 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001746 "name" : "FabricEgress.process_int_source.counter_int_source",
1747 "id" : 18,
1748 "is_direct" : true,
1749 "binding" : "FabricEgress.process_int_source.tb_int_source"
1750 },
1751 {
1752 "name" : "FabricEgress.process_int_transit.counter_int_insert",
1753 "id" : 19,
1754 "is_direct" : true,
1755 "binding" : "FabricEgress.process_int_transit.tb_int_insert"
1756 },
1757 {
1758 "name" : "FabricEgress.process_int_transit.counter_int_inst_0003",
1759 "id" : 20,
1760 "is_direct" : true,
1761 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0003"
1762 },
1763 {
1764 "name" : "FabricEgress.process_int_transit.counter_int_inst_0407",
1765 "id" : 21,
1766 "is_direct" : true,
1767 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0407"
1768 },
1769 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001770 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001771 "id" : 22,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001772 "is_direct" : true,
1773 "binding" : "FabricEgress.egress_next.egress_vlan"
1774 }
1775 ],
1776 "register_arrays" : [],
1777 "calculations" : [
1778 {
1779 "name" : "calc",
1780 "id" : 0,
1781 "source_info" : {
1782 "filename" : "include/checksum.p4",
1783 "line" : 28,
1784 "column" : 8,
1785 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1786 },
1787 "algo" : "csum16",
1788 "input" : [
1789 {
1790 "type" : "field",
1791 "value" : ["ipv4", "version"]
1792 },
1793 {
1794 "type" : "field",
1795 "value" : ["ipv4", "ihl"]
1796 },
1797 {
1798 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001799 "value" : ["ipv4", "dscp"]
1800 },
1801 {
1802 "type" : "field",
1803 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001804 },
1805 {
1806 "type" : "field",
1807 "value" : ["ipv4", "total_len"]
1808 },
1809 {
1810 "type" : "field",
1811 "value" : ["ipv4", "identification"]
1812 },
1813 {
1814 "type" : "field",
1815 "value" : ["ipv4", "flags"]
1816 },
1817 {
1818 "type" : "field",
1819 "value" : ["ipv4", "frag_offset"]
1820 },
1821 {
1822 "type" : "field",
1823 "value" : ["ipv4", "ttl"]
1824 },
1825 {
1826 "type" : "field",
1827 "value" : ["ipv4", "protocol"]
1828 },
1829 {
1830 "type" : "field",
1831 "value" : ["ipv4", "src_addr"]
1832 },
1833 {
1834 "type" : "field",
1835 "value" : ["ipv4", "dst_addr"]
1836 }
1837 ]
1838 },
1839 {
1840 "name" : "calc_0",
1841 "id" : 1,
1842 "source_info" : {
1843 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001844 "line" : 292,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001845 "column" : 8,
1846 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1847 },
1848 "algo" : "csum16",
1849 "input" : [
1850 {
1851 "type" : "field",
1852 "value" : ["gtpu_ipv4", "version"]
1853 },
1854 {
1855 "type" : "field",
1856 "value" : ["gtpu_ipv4", "ihl"]
1857 },
1858 {
1859 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001860 "value" : ["gtpu_ipv4", "dscp"]
1861 },
1862 {
1863 "type" : "field",
1864 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001865 },
1866 {
1867 "type" : "field",
1868 "value" : ["gtpu_ipv4", "total_len"]
1869 },
1870 {
1871 "type" : "field",
1872 "value" : ["gtpu_ipv4", "identification"]
1873 },
1874 {
1875 "type" : "field",
1876 "value" : ["gtpu_ipv4", "flags"]
1877 },
1878 {
1879 "type" : "field",
1880 "value" : ["gtpu_ipv4", "frag_offset"]
1881 },
1882 {
1883 "type" : "field",
1884 "value" : ["gtpu_ipv4", "ttl"]
1885 },
1886 {
1887 "type" : "field",
1888 "value" : ["gtpu_ipv4", "protocol"]
1889 },
1890 {
1891 "type" : "field",
1892 "value" : ["gtpu_ipv4", "src_addr"]
1893 },
1894 {
1895 "type" : "field",
1896 "value" : ["gtpu_ipv4", "dst_addr"]
1897 }
1898 ]
1899 },
1900 {
1901 "name" : "calc_1",
1902 "id" : 2,
1903 "source_info" : {
1904 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001905 "line" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001906 "column" : 8,
1907 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1908 },
1909 "algo" : "csum16",
1910 "input" : [
1911 {
1912 "type" : "field",
1913 "value" : ["ipv4", "version"]
1914 },
1915 {
1916 "type" : "field",
1917 "value" : ["ipv4", "ihl"]
1918 },
1919 {
1920 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001921 "value" : ["ipv4", "dscp"]
1922 },
1923 {
1924 "type" : "field",
1925 "value" : ["ipv4", "ecn"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001926 },
1927 {
1928 "type" : "field",
1929 "value" : ["ipv4", "total_len"]
1930 },
1931 {
1932 "type" : "field",
1933 "value" : ["ipv4", "identification"]
1934 },
1935 {
1936 "type" : "field",
1937 "value" : ["ipv4", "flags"]
1938 },
1939 {
1940 "type" : "field",
1941 "value" : ["ipv4", "frag_offset"]
1942 },
1943 {
1944 "type" : "field",
1945 "value" : ["ipv4", "ttl"]
1946 },
1947 {
1948 "type" : "field",
1949 "value" : ["ipv4", "protocol"]
1950 },
1951 {
1952 "type" : "field",
1953 "value" : ["ipv4", "src_addr"]
1954 },
1955 {
1956 "type" : "field",
1957 "value" : ["ipv4", "dst_addr"]
1958 }
1959 ]
1960 }
1961 ],
1962 "learn_lists" : [],
1963 "actions" : [
1964 {
1965 "name" : "NoAction",
1966 "id" : 0,
1967 "runtime_data" : [],
1968 "primitives" : []
1969 },
1970 {
1971 "name" : "NoAction",
1972 "id" : 1,
1973 "runtime_data" : [],
1974 "primitives" : []
1975 },
1976 {
1977 "name" : "NoAction",
1978 "id" : 2,
1979 "runtime_data" : [],
1980 "primitives" : []
1981 },
1982 {
1983 "name" : "NoAction",
1984 "id" : 3,
1985 "runtime_data" : [],
1986 "primitives" : []
1987 },
1988 {
1989 "name" : "NoAction",
1990 "id" : 4,
1991 "runtime_data" : [],
1992 "primitives" : []
1993 },
1994 {
1995 "name" : "NoAction",
1996 "id" : 5,
1997 "runtime_data" : [],
1998 "primitives" : []
1999 },
2000 {
2001 "name" : "NoAction",
2002 "id" : 6,
2003 "runtime_data" : [],
2004 "primitives" : []
2005 },
2006 {
2007 "name" : "NoAction",
2008 "id" : 7,
2009 "runtime_data" : [],
2010 "primitives" : []
2011 },
2012 {
2013 "name" : "NoAction",
2014 "id" : 8,
2015 "runtime_data" : [],
2016 "primitives" : []
2017 },
2018 {
2019 "name" : "NoAction",
2020 "id" : 9,
2021 "runtime_data" : [],
2022 "primitives" : []
2023 },
2024 {
2025 "name" : "NoAction",
2026 "id" : 10,
2027 "runtime_data" : [],
2028 "primitives" : []
2029 },
2030 {
2031 "name" : "NoAction",
2032 "id" : 11,
2033 "runtime_data" : [],
2034 "primitives" : []
2035 },
2036 {
2037 "name" : "NoAction",
2038 "id" : 12,
2039 "runtime_data" : [],
2040 "primitives" : []
2041 },
2042 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002043 "name" : "NoAction",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002044 "id" : 13,
2045 "runtime_data" : [],
2046 "primitives" : []
2047 },
2048 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002049 "name" : "NoAction",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002050 "id" : 14,
2051 "runtime_data" : [],
2052 "primitives" : []
2053 },
2054 {
2055 "name" : "nop",
2056 "id" : 15,
2057 "runtime_data" : [],
2058 "primitives" : []
2059 },
2060 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002061 "name" : "nop",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002062 "id" : 16,
2063 "runtime_data" : [],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002064 "primitives" : []
2065 },
2066 {
2067 "name" : "nop",
2068 "id" : 17,
2069 "runtime_data" : [],
2070 "primitives" : []
2071 },
2072 {
2073 "name" : "drop_now",
2074 "id" : 18,
2075 "runtime_data" : [],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002076 "primitives" : [
2077 {
2078 "op" : "drop",
2079 "parameters" : [],
2080 "source_info" : {
2081 "filename" : "include/control/../action.p4",
2082 "line" : 24,
2083 "column" : 4,
2084 "source_fragment" : "mark_to_drop()"
2085 }
2086 },
2087 {
2088 "op" : "exit",
2089 "parameters" : [],
2090 "source_info" : {
2091 "filename" : "include/control/../action.p4",
2092 "line" : 25,
2093 "column" : 4,
2094 "source_fragment" : "exit"
2095 }
2096 }
2097 ]
2098 },
2099 {
2100 "name" : "FabricIngress.spgw_ingress.gtpu_decap",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002101 "id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002102 "runtime_data" : [],
2103 "primitives" : [
2104 {
2105 "op" : "remove_header",
2106 "parameters" : [
2107 {
2108 "type" : "header",
2109 "value" : "gtpu_ipv4"
2110 }
2111 ],
2112 "source_info" : {
2113 "filename" : "include/spgw.p4",
2114 "line" : 33,
2115 "column" : 8,
2116 "source_fragment" : "gtpu_ipv4.setInvalid()"
2117 }
2118 },
2119 {
2120 "op" : "remove_header",
2121 "parameters" : [
2122 {
2123 "type" : "header",
2124 "value" : "gtpu_udp"
2125 }
2126 ],
2127 "source_info" : {
2128 "filename" : "include/spgw.p4",
2129 "line" : 34,
2130 "column" : 8,
2131 "source_fragment" : "gtpu_udp.setInvalid()"
2132 }
2133 },
2134 {
2135 "op" : "remove_header",
2136 "parameters" : [
2137 {
2138 "type" : "header",
2139 "value" : "gtpu"
2140 }
2141 ],
2142 "source_info" : {
2143 "filename" : "include/spgw.p4",
2144 "line" : 35,
2145 "column" : 8,
2146 "source_fragment" : "gtpu.setInvalid()"
2147 }
2148 }
2149 ]
2150 },
2151 {
2152 "name" : "FabricIngress.spgw_ingress.set_dl_sess_info",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002153 "id" : 20,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002154 "runtime_data" : [
2155 {
2156 "name" : "teid",
2157 "bitwidth" : 32
2158 },
2159 {
2160 "name" : "s1u_enb_addr",
2161 "bitwidth" : 32
2162 },
2163 {
2164 "name" : "s1u_sgw_addr",
2165 "bitwidth" : 32
2166 }
2167 ],
2168 "primitives" : [
2169 {
2170 "op" : "assign",
2171 "parameters" : [
2172 {
2173 "type" : "field",
2174 "value" : ["userMetadata.spgw", "teid"]
2175 },
2176 {
2177 "type" : "runtime_data",
2178 "value" : 0
2179 }
2180 ],
2181 "source_info" : {
2182 "filename" : "include/spgw.p4",
2183 "line" : 41,
2184 "column" : 8,
2185 "source_fragment" : "spgw_meta.teid = teid"
2186 }
2187 },
2188 {
2189 "op" : "assign",
2190 "parameters" : [
2191 {
2192 "type" : "field",
2193 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
2194 },
2195 {
2196 "type" : "runtime_data",
2197 "value" : 1
2198 }
2199 ],
2200 "source_info" : {
2201 "filename" : "include/spgw.p4",
2202 "line" : 42,
2203 "column" : 8,
2204 "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr"
2205 }
2206 },
2207 {
2208 "op" : "assign",
2209 "parameters" : [
2210 {
2211 "type" : "field",
2212 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
2213 },
2214 {
2215 "type" : "runtime_data",
2216 "value" : 2
2217 }
2218 ],
2219 "source_info" : {
2220 "filename" : "include/spgw.p4",
2221 "line" : 43,
2222 "column" : 8,
2223 "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr"
2224 }
2225 }
2226 ]
2227 },
2228 {
2229 "name" : "FabricIngress.spgw_ingress.update_ue_cdr",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002230 "id" : 21,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002231 "runtime_data" : [],
2232 "primitives" : []
2233 },
2234 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002235 "name" : "FabricIngress.process_set_source_sink.int_set_source",
2236 "id" : 22,
2237 "runtime_data" : [],
2238 "primitives" : [
2239 {
2240 "op" : "assign",
2241 "parameters" : [
2242 {
2243 "type" : "field",
2244 "value" : ["userMetadata.int_meta", "source"]
2245 },
2246 {
2247 "type" : "hexstr",
2248 "value" : "0x01"
2249 }
2250 ],
2251 "source_info" : {
2252 "filename" : "include/int_source.p4",
2253 "line" : 94,
2254 "column" : 8,
2255 "source_fragment" : "fabric_metadata.int_meta.source = 1"
2256 }
2257 }
2258 ]
2259 },
2260 {
2261 "name" : "FabricIngress.process_set_source_sink.int_set_sink",
2262 "id" : 23,
2263 "runtime_data" : [],
2264 "primitives" : [
2265 {
2266 "op" : "assign",
2267 "parameters" : [
2268 {
2269 "type" : "field",
2270 "value" : ["userMetadata.int_meta", "sink"]
2271 },
2272 {
2273 "type" : "hexstr",
2274 "value" : "0x01"
2275 }
2276 ],
2277 "source_info" : {
2278 "filename" : "include/int_source.p4",
2279 "line" : 98,
2280 "column" : 8,
2281 "source_fragment" : "fabric_metadata.int_meta.sink = 1"
2282 }
2283 }
2284 ]
2285 },
2286 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002287 "name" : "FabricIngress.filtering.drop",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002288 "id" : 24,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002289 "runtime_data" : [],
2290 "primitives" : [
2291 {
2292 "op" : "drop",
2293 "parameters" : [],
2294 "source_info" : {
2295 "filename" : "include/control/filtering.p4",
2296 "line" : 37,
2297 "column" : 8,
2298 "source_fragment" : "mark_to_drop()"
2299 }
2300 }
2301 ]
2302 },
2303 {
2304 "name" : "FabricIngress.filtering.set_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002305 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002306 "runtime_data" : [
2307 {
2308 "name" : "new_vlan_id",
2309 "bitwidth" : 12
2310 }
2311 ],
2312 "primitives" : [
2313 {
2314 "op" : "assign",
2315 "parameters" : [
2316 {
2317 "type" : "field",
2318 "value" : ["vlan_tag", "vlan_id"]
2319 },
2320 {
2321 "type" : "runtime_data",
2322 "value" : 0
2323 }
2324 ],
2325 "source_info" : {
2326 "filename" : "include/control/filtering.p4",
2327 "line" : 42,
2328 "column" : 8,
2329 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2330 }
2331 }
2332 ]
2333 },
2334 {
2335 "name" : "FabricIngress.filtering.push_internal_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002336 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002337 "runtime_data" : [
2338 {
2339 "name" : "new_vlan_id",
2340 "bitwidth" : 12
2341 }
2342 ],
2343 "primitives" : [
2344 {
2345 "op" : "add_header",
2346 "parameters" : [
2347 {
2348 "type" : "header",
2349 "value" : "vlan_tag"
2350 }
2351 ],
2352 "source_info" : {
2353 "filename" : "include/control/filtering.p4",
2354 "line" : 49,
2355 "column" : 8,
2356 "source_fragment" : "hdr.vlan_tag.setValid()"
2357 }
2358 },
2359 {
2360 "op" : "assign",
2361 "parameters" : [
2362 {
2363 "type" : "field",
2364 "value" : ["vlan_tag", "cfi"]
2365 },
2366 {
2367 "type" : "hexstr",
2368 "value" : "0x00"
2369 }
2370 ],
2371 "source_info" : {
2372 "filename" : "include/control/filtering.p4",
2373 "line" : 50,
2374 "column" : 8,
2375 "source_fragment" : "hdr.vlan_tag.cfi = 0"
2376 }
2377 },
2378 {
2379 "op" : "assign",
2380 "parameters" : [
2381 {
2382 "type" : "field",
2383 "value" : ["vlan_tag", "pri"]
2384 },
2385 {
2386 "type" : "hexstr",
2387 "value" : "0x00"
2388 }
2389 ],
2390 "source_info" : {
2391 "filename" : "include/control/filtering.p4",
2392 "line" : 51,
2393 "column" : 8,
2394 "source_fragment" : "hdr.vlan_tag.pri = 0"
2395 }
2396 },
2397 {
2398 "op" : "assign",
2399 "parameters" : [
2400 {
2401 "type" : "field",
2402 "value" : ["vlan_tag", "ether_type"]
2403 },
2404 {
2405 "type" : "field",
2406 "value" : ["ethernet", "ether_type"]
2407 }
2408 ],
2409 "source_info" : {
2410 "filename" : "include/control/filtering.p4",
2411 "line" : 52,
2412 "column" : 8,
2413 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
2414 }
2415 },
2416 {
2417 "op" : "assign",
2418 "parameters" : [
2419 {
2420 "type" : "field",
2421 "value" : ["ethernet", "ether_type"]
2422 },
2423 {
2424 "type" : "hexstr",
2425 "value" : "0x8100"
2426 }
2427 ],
2428 "source_info" : {
2429 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002430 "line" : 74,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002431 "column" : 31,
2432 "source_fragment" : "0x8100; ..."
2433 }
2434 },
2435 {
2436 "op" : "assign",
2437 "parameters" : [
2438 {
2439 "type" : "field",
2440 "value" : ["vlan_tag", "vlan_id"]
2441 },
2442 {
2443 "type" : "runtime_data",
2444 "value" : 0
2445 }
2446 ],
2447 "source_info" : {
2448 "filename" : "include/control/filtering.p4",
2449 "line" : 54,
2450 "column" : 8,
2451 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2452 }
2453 },
2454 {
2455 "op" : "assign",
2456 "parameters" : [
2457 {
2458 "type" : "field",
2459 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
2460 },
2461 {
2462 "type" : "expression",
2463 "value" : {
2464 "type" : "expression",
2465 "value" : {
2466 "op" : "b2d",
2467 "left" : null,
2468 "right" : {
2469 "type" : "bool",
2470 "value" : true
2471 }
2472 }
2473 }
2474 }
2475 ],
2476 "source_info" : {
2477 "filename" : "include/control/filtering.p4",
2478 "line" : 57,
2479 "column" : 8,
2480 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
2481 }
2482 }
2483 ]
2484 },
2485 {
2486 "name" : "FabricIngress.filtering.set_forwarding_type",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002487 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002488 "runtime_data" : [
2489 {
2490 "name" : "fwd_type",
2491 "bitwidth" : 3
2492 }
2493 ],
2494 "primitives" : [
2495 {
2496 "op" : "assign",
2497 "parameters" : [
2498 {
2499 "type" : "field",
2500 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
2501 },
2502 {
2503 "type" : "runtime_data",
2504 "value" : 0
2505 }
2506 ],
2507 "source_info" : {
2508 "filename" : "include/control/filtering.p4",
2509 "line" : 94,
2510 "column" : 8,
2511 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
2512 }
2513 }
2514 ]
2515 },
2516 {
2517 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002518 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002519 "runtime_data" : [
2520 {
2521 "name" : "next_id",
2522 "bitwidth" : 32
2523 }
2524 ],
2525 "primitives" : [
2526 {
2527 "op" : "assign",
2528 "parameters" : [
2529 {
2530 "type" : "field",
2531 "value" : ["scalars", "fabric_metadata_t.next_id"]
2532 },
2533 {
2534 "type" : "runtime_data",
2535 "value" : 0
2536 }
2537 ],
2538 "source_info" : {
2539 "filename" : "include/control/forwarding.p4",
2540 "line" : 37,
2541 "column" : 8,
2542 "source_fragment" : "fabric_metadata.next_id = next_id"
2543 }
2544 }
2545 ]
2546 },
2547 {
2548 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002549 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002550 "runtime_data" : [
2551 {
2552 "name" : "next_id",
2553 "bitwidth" : 32
2554 }
2555 ],
2556 "primitives" : [
2557 {
2558 "op" : "remove_header",
2559 "parameters" : [
2560 {
2561 "type" : "header",
2562 "value" : "mpls"
2563 }
2564 ],
2565 "source_info" : {
2566 "filename" : "include/control/forwarding.p4",
2567 "line" : 60,
2568 "column" : 8,
2569 "source_fragment" : "hdr.mpls.setInvalid()"
2570 }
2571 },
2572 {
2573 "op" : "assign",
2574 "parameters" : [
2575 {
2576 "type" : "field",
2577 "value" : ["scalars", "fabric_metadata_t.next_id"]
2578 },
2579 {
2580 "type" : "runtime_data",
2581 "value" : 0
2582 }
2583 ],
2584 "source_info" : {
2585 "filename" : "include/control/forwarding.p4",
2586 "line" : 61,
2587 "column" : 8,
2588 "source_fragment" : "fabric_metadata.next_id = next_id"
2589 }
2590 }
2591 ]
2592 },
2593 {
2594 "name" : "FabricIngress.forwarding.set_next_id_unicast_v4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002595 "id" : 30,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002596 "runtime_data" : [
2597 {
2598 "name" : "next_id",
2599 "bitwidth" : 32
2600 }
2601 ],
2602 "primitives" : [
2603 {
2604 "op" : "assign",
2605 "parameters" : [
2606 {
2607 "type" : "field",
2608 "value" : ["scalars", "fabric_metadata_t.next_id"]
2609 },
2610 {
2611 "type" : "runtime_data",
2612 "value" : 0
2613 }
2614 ],
2615 "source_info" : {
2616 "filename" : "include/control/forwarding.p4",
2617 "line" : 83,
2618 "column" : 8,
2619 "source_fragment" : "fabric_metadata.next_id = next_id"
2620 }
2621 }
2622 ]
2623 },
2624 {
2625 "name" : "FabricIngress.forwarding.set_next_id_acl",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002626 "id" : 31,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002627 "runtime_data" : [
2628 {
2629 "name" : "next_id",
2630 "bitwidth" : 32
2631 }
2632 ],
2633 "primitives" : [
2634 {
2635 "op" : "assign",
2636 "parameters" : [
2637 {
2638 "type" : "field",
2639 "value" : ["scalars", "fabric_metadata_t.next_id"]
2640 },
2641 {
2642 "type" : "runtime_data",
2643 "value" : 0
2644 }
2645 ],
2646 "source_info" : {
2647 "filename" : "include/control/forwarding.p4",
2648 "line" : 105,
2649 "column" : 8,
2650 "source_fragment" : "fabric_metadata.next_id = next_id"
2651 }
2652 }
2653 ]
2654 },
2655 {
2656 "name" : "FabricIngress.forwarding.punt_to_cpu",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002657 "id" : 32,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002658 "runtime_data" : [],
2659 "primitives" : [
2660 {
2661 "op" : "assign",
2662 "parameters" : [
2663 {
2664 "type" : "field",
2665 "value" : ["standard_metadata", "egress_spec"]
2666 },
2667 {
2668 "type" : "hexstr",
2669 "value" : "0x00ff"
2670 }
2671 ],
2672 "source_info" : {
2673 "filename" : "include/control/forwarding.p4",
2674 "line" : 111,
2675 "column" : 8,
2676 "source_fragment" : "standard_metadata.egress_spec = 255"
2677 }
2678 },
2679 {
2680 "op" : "exit",
2681 "parameters" : [],
2682 "source_info" : {
2683 "filename" : "include/control/forwarding.p4",
2684 "line" : 113,
2685 "column" : 8,
2686 "source_fragment" : "exit"
2687 }
2688 }
2689 ]
2690 },
2691 {
2692 "name" : "FabricIngress.forwarding.clone_to_cpu",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002693 "id" : 33,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002694 "runtime_data" : [],
2695 "primitives" : [
2696 {
2697 "op" : "assign",
2698 "parameters" : [
2699 {
2700 "type" : "field",
2701 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2702 },
2703 {
2704 "type" : "expression",
2705 "value" : {
2706 "type" : "expression",
2707 "value" : {
2708 "op" : "b2d",
2709 "left" : null,
2710 "right" : {
2711 "type" : "bool",
2712 "value" : true
2713 }
2714 }
2715 }
2716 }
2717 ],
2718 "source_info" : {
2719 "filename" : "include/control/forwarding.p4",
2720 "line" : 118,
2721 "column" : 8,
2722 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2723 }
2724 }
2725 ]
2726 },
2727 {
2728 "name" : "FabricIngress.forwarding.drop",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002729 "id" : 34,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002730 "runtime_data" : [],
2731 "primitives" : [
2732 {
2733 "op" : "drop",
2734 "parameters" : [],
2735 "source_info" : {
2736 "filename" : "include/control/forwarding.p4",
2737 "line" : 123,
2738 "column" : 8,
2739 "source_fragment" : "mark_to_drop()"
2740 }
2741 }
2742 ]
2743 },
2744 {
2745 "name" : "FabricIngress.forwarding.set_next_id_multicast_v4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002746 "id" : 35,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002747 "runtime_data" : [
2748 {
2749 "name" : "next_id",
2750 "bitwidth" : 32
2751 }
2752 ],
2753 "primitives" : [
2754 {
2755 "op" : "assign",
2756 "parameters" : [
2757 {
2758 "type" : "field",
2759 "value" : ["scalars", "fabric_metadata_t.next_id"]
2760 },
2761 {
2762 "type" : "runtime_data",
2763 "value" : 0
2764 }
2765 ],
2766 "source_info" : {
2767 "filename" : "include/control/forwarding.p4",
2768 "line" : 164,
2769 "column" : 8,
2770 "source_fragment" : "fabric_metadata.next_id = next_id"
2771 }
2772 }
2773 ]
2774 },
2775 {
2776 "name" : "FabricIngress.forwarding.set_next_id_unicast_v6",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002777 "id" : 36,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002778 "runtime_data" : [
2779 {
2780 "name" : "next_id",
2781 "bitwidth" : 32
2782 }
2783 ],
2784 "primitives" : [
2785 {
2786 "op" : "assign",
2787 "parameters" : [
2788 {
2789 "type" : "field",
2790 "value" : ["scalars", "fabric_metadata_t.next_id"]
2791 },
2792 {
2793 "type" : "runtime_data",
2794 "value" : 0
2795 }
2796 ],
2797 "source_info" : {
2798 "filename" : "include/control/forwarding.p4",
2799 "line" : 189,
2800 "column" : 8,
2801 "source_fragment" : "fabric_metadata.next_id = next_id"
2802 }
2803 }
2804 ]
2805 },
2806 {
2807 "name" : "FabricIngress.forwarding.set_next_id_multicast_v6",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002808 "id" : 37,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002809 "runtime_data" : [
2810 {
2811 "name" : "next_id",
2812 "bitwidth" : 32
2813 }
2814 ],
2815 "primitives" : [
2816 {
2817 "op" : "assign",
2818 "parameters" : [
2819 {
2820 "type" : "field",
2821 "value" : ["scalars", "fabric_metadata_t.next_id"]
2822 },
2823 {
2824 "type" : "runtime_data",
2825 "value" : 0
2826 }
2827 ],
2828 "source_info" : {
2829 "filename" : "include/control/forwarding.p4",
2830 "line" : 212,
2831 "column" : 8,
2832 "source_fragment" : "fabric_metadata.next_id = next_id"
2833 }
2834 }
2835 ]
2836 },
2837 {
2838 "name" : "FabricIngress.next.set_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002839 "id" : 38,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002840 "runtime_data" : [
2841 {
2842 "name" : "new_vlan_id",
2843 "bitwidth" : 12
2844 }
2845 ],
2846 "primitives" : [
2847 {
2848 "op" : "assign",
2849 "parameters" : [
2850 {
2851 "type" : "field",
2852 "value" : ["vlan_tag", "vlan_id"]
2853 },
2854 {
2855 "type" : "runtime_data",
2856 "value" : 0
2857 }
2858 ],
2859 "source_info" : {
2860 "filename" : "include/control/next.p4",
2861 "line" : 61,
2862 "column" : 8,
2863 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2864 }
2865 }
2866 ]
2867 },
2868 {
2869 "name" : "FabricIngress.next.output_simple",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002870 "id" : 39,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002871 "runtime_data" : [
2872 {
2873 "name" : "port_num",
2874 "bitwidth" : 9
2875 }
2876 ],
2877 "primitives" : [
2878 {
2879 "op" : "assign",
2880 "parameters" : [
2881 {
2882 "type" : "field",
2883 "value" : ["standard_metadata", "egress_spec"]
2884 },
2885 {
2886 "type" : "runtime_data",
2887 "value" : 0
2888 }
2889 ],
2890 "source_info" : {
2891 "filename" : "include/control/next.p4",
2892 "line" : 85,
2893 "column" : 8,
2894 "source_fragment" : "standard_metadata.egress_spec = port_num"
2895 }
2896 }
2897 ]
2898 },
2899 {
2900 "name" : "FabricIngress.next.set_vlan_output",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002901 "id" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002902 "runtime_data" : [
2903 {
2904 "name" : "new_vlan_id",
2905 "bitwidth" : 12
2906 },
2907 {
2908 "name" : "port_num",
2909 "bitwidth" : 9
2910 }
2911 ],
2912 "primitives" : [
2913 {
2914 "op" : "assign",
2915 "parameters" : [
2916 {
2917 "type" : "field",
2918 "value" : ["vlan_tag", "vlan_id"]
2919 },
2920 {
2921 "type" : "runtime_data",
2922 "value" : 0
2923 }
2924 ],
2925 "source_info" : {
2926 "filename" : "include/control/next.p4",
2927 "line" : 90,
2928 "column" : 8,
2929 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2930 }
2931 },
2932 {
2933 "op" : "assign",
2934 "parameters" : [
2935 {
2936 "type" : "field",
2937 "value" : ["standard_metadata", "egress_spec"]
2938 },
2939 {
2940 "type" : "runtime_data",
2941 "value" : 1
2942 }
2943 ],
2944 "source_info" : {
2945 "filename" : "include/control/next.p4",
2946 "line" : 85,
2947 "column" : 8,
2948 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2949 }
2950 }
2951 ]
2952 },
2953 {
2954 "name" : "FabricIngress.next.l3_routing_simple",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002955 "id" : 41,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002956 "runtime_data" : [
2957 {
2958 "name" : "port_num",
2959 "bitwidth" : 9
2960 },
2961 {
2962 "name" : "smac",
2963 "bitwidth" : 48
2964 },
2965 {
2966 "name" : "dmac",
2967 "bitwidth" : 48
2968 }
2969 ],
2970 "primitives" : [
2971 {
2972 "op" : "assign",
2973 "parameters" : [
2974 {
2975 "type" : "field",
2976 "value" : ["ethernet", "src_addr"]
2977 },
2978 {
2979 "type" : "runtime_data",
2980 "value" : 1
2981 }
2982 ],
2983 "source_info" : {
2984 "filename" : "include/control/next.p4",
2985 "line" : 37,
2986 "column" : 8,
2987 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2988 }
2989 },
2990 {
2991 "op" : "assign",
2992 "parameters" : [
2993 {
2994 "type" : "field",
2995 "value" : ["ethernet", "dst_addr"]
2996 },
2997 {
2998 "type" : "runtime_data",
2999 "value" : 2
3000 }
3001 ],
3002 "source_info" : {
3003 "filename" : "include/control/next.p4",
3004 "line" : 41,
3005 "column" : 8,
3006 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3007 }
3008 },
3009 {
3010 "op" : "assign",
3011 "parameters" : [
3012 {
3013 "type" : "field",
3014 "value" : ["standard_metadata", "egress_spec"]
3015 },
3016 {
3017 "type" : "runtime_data",
3018 "value" : 0
3019 }
3020 ],
3021 "source_info" : {
3022 "filename" : "include/control/next.p4",
3023 "line" : 85,
3024 "column" : 8,
3025 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3026 }
3027 }
3028 ]
3029 },
3030 {
3031 "name" : "FabricIngress.next.mpls_routing_v4_simple",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003032 "id" : 42,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003033 "runtime_data" : [
3034 {
3035 "name" : "port_num",
3036 "bitwidth" : 9
3037 },
3038 {
3039 "name" : "smac",
3040 "bitwidth" : 48
3041 },
3042 {
3043 "name" : "dmac",
3044 "bitwidth" : 48
3045 },
3046 {
3047 "name" : "label",
3048 "bitwidth" : 20
3049 }
3050 ],
3051 "primitives" : [
3052 {
3053 "op" : "assign",
3054 "parameters" : [
3055 {
3056 "type" : "field",
3057 "value" : ["ethernet", "src_addr"]
3058 },
3059 {
3060 "type" : "runtime_data",
3061 "value" : 1
3062 }
3063 ],
3064 "source_info" : {
3065 "filename" : "include/control/next.p4",
3066 "line" : 37,
3067 "column" : 8,
3068 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3069 }
3070 },
3071 {
3072 "op" : "assign",
3073 "parameters" : [
3074 {
3075 "type" : "field",
3076 "value" : ["ethernet", "dst_addr"]
3077 },
3078 {
3079 "type" : "runtime_data",
3080 "value" : 2
3081 }
3082 ],
3083 "source_info" : {
3084 "filename" : "include/control/next.p4",
3085 "line" : 41,
3086 "column" : 8,
3087 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3088 }
3089 },
3090 {
3091 "op" : "assign",
3092 "parameters" : [
3093 {
3094 "type" : "field",
3095 "value" : ["standard_metadata", "egress_spec"]
3096 },
3097 {
3098 "type" : "runtime_data",
3099 "value" : 0
3100 }
3101 ],
3102 "source_info" : {
3103 "filename" : "include/control/next.p4",
3104 "line" : 85,
3105 "column" : 8,
3106 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3107 }
3108 },
3109 {
3110 "op" : "add_header",
3111 "parameters" : [
3112 {
3113 "type" : "header",
3114 "value" : "mpls"
3115 }
3116 ],
3117 "source_info" : {
3118 "filename" : "include/control/next.p4",
3119 "line" : 46,
3120 "column" : 8,
3121 "source_fragment" : "hdr.mpls.setValid()"
3122 }
3123 },
3124 {
3125 "op" : "assign",
3126 "parameters" : [
3127 {
3128 "type" : "field",
3129 "value" : ["vlan_tag", "ether_type"]
3130 },
3131 {
3132 "type" : "hexstr",
3133 "value" : "0x8847"
3134 }
3135 ],
3136 "source_info" : {
3137 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003138 "line" : 75,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003139 "column" : 31,
3140 "source_fragment" : "0x8847; ..."
3141 }
3142 },
3143 {
3144 "op" : "assign",
3145 "parameters" : [
3146 {
3147 "type" : "field",
3148 "value" : ["mpls", "label"]
3149 },
3150 {
3151 "type" : "runtime_data",
3152 "value" : 3
3153 }
3154 ],
3155 "source_info" : {
3156 "filename" : "include/control/next.p4",
3157 "line" : 48,
3158 "column" : 8,
3159 "source_fragment" : "hdr.mpls.label = label; ..."
3160 }
3161 },
3162 {
3163 "op" : "assign",
3164 "parameters" : [
3165 {
3166 "type" : "field",
3167 "value" : ["mpls", "tc"]
3168 },
3169 {
3170 "type" : "hexstr",
3171 "value" : "0x00"
3172 }
3173 ],
3174 "source_info" : {
3175 "filename" : "include/control/next.p4",
3176 "line" : 49,
3177 "column" : 8,
3178 "source_fragment" : "hdr.mpls.tc = tc; ..."
3179 }
3180 },
3181 {
3182 "op" : "assign",
3183 "parameters" : [
3184 {
3185 "type" : "field",
3186 "value" : ["mpls", "bos"]
3187 },
3188 {
3189 "type" : "hexstr",
3190 "value" : "0x01"
3191 }
3192 ],
3193 "source_info" : {
3194 "filename" : "include/control/next.p4",
3195 "line" : 50,
3196 "column" : 8,
3197 "source_fragment" : "hdr.mpls.bos = 1w1"
3198 }
3199 },
3200 {
3201 "op" : "assign",
3202 "parameters" : [
3203 {
3204 "type" : "field",
3205 "value" : ["mpls", "ttl"]
3206 },
3207 {
3208 "type" : "hexstr",
3209 "value" : "0x40"
3210 }
3211 ],
3212 "source_info" : {
3213 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003214 "line" : 95,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003215 "column" : 32,
3216 "source_fragment" : "64; ..."
3217 }
3218 }
3219 ]
3220 },
3221 {
3222 "name" : "FabricIngress.next.mpls_routing_v6_simple",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003223 "id" : 43,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003224 "runtime_data" : [
3225 {
3226 "name" : "port_num",
3227 "bitwidth" : 9
3228 },
3229 {
3230 "name" : "smac",
3231 "bitwidth" : 48
3232 },
3233 {
3234 "name" : "dmac",
3235 "bitwidth" : 48
3236 },
3237 {
3238 "name" : "label",
3239 "bitwidth" : 20
3240 }
3241 ],
3242 "primitives" : [
3243 {
3244 "op" : "assign",
3245 "parameters" : [
3246 {
3247 "type" : "field",
3248 "value" : ["ethernet", "src_addr"]
3249 },
3250 {
3251 "type" : "runtime_data",
3252 "value" : 1
3253 }
3254 ],
3255 "source_info" : {
3256 "filename" : "include/control/next.p4",
3257 "line" : 37,
3258 "column" : 8,
3259 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3260 }
3261 },
3262 {
3263 "op" : "assign",
3264 "parameters" : [
3265 {
3266 "type" : "field",
3267 "value" : ["ethernet", "dst_addr"]
3268 },
3269 {
3270 "type" : "runtime_data",
3271 "value" : 2
3272 }
3273 ],
3274 "source_info" : {
3275 "filename" : "include/control/next.p4",
3276 "line" : 41,
3277 "column" : 8,
3278 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3279 }
3280 },
3281 {
3282 "op" : "assign",
3283 "parameters" : [
3284 {
3285 "type" : "field",
3286 "value" : ["standard_metadata", "egress_spec"]
3287 },
3288 {
3289 "type" : "runtime_data",
3290 "value" : 0
3291 }
3292 ],
3293 "source_info" : {
3294 "filename" : "include/control/next.p4",
3295 "line" : 85,
3296 "column" : 8,
3297 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3298 }
3299 },
3300 {
3301 "op" : "add_header",
3302 "parameters" : [
3303 {
3304 "type" : "header",
3305 "value" : "mpls"
3306 }
3307 ],
3308 "source_info" : {
3309 "filename" : "include/control/next.p4",
3310 "line" : 46,
3311 "column" : 8,
3312 "source_fragment" : "hdr.mpls.setValid()"
3313 }
3314 },
3315 {
3316 "op" : "assign",
3317 "parameters" : [
3318 {
3319 "type" : "field",
3320 "value" : ["vlan_tag", "ether_type"]
3321 },
3322 {
3323 "type" : "hexstr",
3324 "value" : "0x8847"
3325 }
3326 ],
3327 "source_info" : {
3328 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003329 "line" : 75,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003330 "column" : 31,
3331 "source_fragment" : "0x8847; ..."
3332 }
3333 },
3334 {
3335 "op" : "assign",
3336 "parameters" : [
3337 {
3338 "type" : "field",
3339 "value" : ["mpls", "label"]
3340 },
3341 {
3342 "type" : "runtime_data",
3343 "value" : 3
3344 }
3345 ],
3346 "source_info" : {
3347 "filename" : "include/control/next.p4",
3348 "line" : 48,
3349 "column" : 8,
3350 "source_fragment" : "hdr.mpls.label = label; ..."
3351 }
3352 },
3353 {
3354 "op" : "assign",
3355 "parameters" : [
3356 {
3357 "type" : "field",
3358 "value" : ["mpls", "tc"]
3359 },
3360 {
3361 "type" : "hexstr",
3362 "value" : "0x00"
3363 }
3364 ],
3365 "source_info" : {
3366 "filename" : "include/control/next.p4",
3367 "line" : 49,
3368 "column" : 8,
3369 "source_fragment" : "hdr.mpls.tc = tc; ..."
3370 }
3371 },
3372 {
3373 "op" : "assign",
3374 "parameters" : [
3375 {
3376 "type" : "field",
3377 "value" : ["mpls", "bos"]
3378 },
3379 {
3380 "type" : "hexstr",
3381 "value" : "0x01"
3382 }
3383 ],
3384 "source_info" : {
3385 "filename" : "include/control/next.p4",
3386 "line" : 50,
3387 "column" : 8,
3388 "source_fragment" : "hdr.mpls.bos = 1w1"
3389 }
3390 },
3391 {
3392 "op" : "assign",
3393 "parameters" : [
3394 {
3395 "type" : "field",
3396 "value" : ["mpls", "ttl"]
3397 },
3398 {
3399 "type" : "hexstr",
3400 "value" : "0x40"
3401 }
3402 ],
3403 "source_info" : {
3404 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003405 "line" : 95,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003406 "column" : 32,
3407 "source_fragment" : "64; ..."
3408 }
3409 }
3410 ]
3411 },
3412 {
3413 "name" : "FabricIngress.next.l3_routing_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003414 "id" : 44,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003415 "runtime_data" : [
3416 {
3417 "name" : "port_num",
3418 "bitwidth" : 9
3419 },
3420 {
3421 "name" : "smac",
3422 "bitwidth" : 48
3423 },
3424 {
3425 "name" : "dmac",
3426 "bitwidth" : 48
3427 },
3428 {
3429 "name" : "new_vlan_id",
3430 "bitwidth" : 12
3431 }
3432 ],
3433 "primitives" : [
3434 {
3435 "op" : "assign",
3436 "parameters" : [
3437 {
3438 "type" : "field",
3439 "value" : ["ethernet", "src_addr"]
3440 },
3441 {
3442 "type" : "runtime_data",
3443 "value" : 1
3444 }
3445 ],
3446 "source_info" : {
3447 "filename" : "include/control/next.p4",
3448 "line" : 37,
3449 "column" : 8,
3450 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3451 }
3452 },
3453 {
3454 "op" : "assign",
3455 "parameters" : [
3456 {
3457 "type" : "field",
3458 "value" : ["ethernet", "dst_addr"]
3459 },
3460 {
3461 "type" : "runtime_data",
3462 "value" : 2
3463 }
3464 ],
3465 "source_info" : {
3466 "filename" : "include/control/next.p4",
3467 "line" : 41,
3468 "column" : 8,
3469 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3470 }
3471 },
3472 {
3473 "op" : "assign",
3474 "parameters" : [
3475 {
3476 "type" : "field",
3477 "value" : ["vlan_tag", "vlan_id"]
3478 },
3479 {
3480 "type" : "runtime_data",
3481 "value" : 3
3482 }
3483 ],
3484 "source_info" : {
3485 "filename" : "include/control/next.p4",
3486 "line" : 90,
3487 "column" : 8,
3488 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
3489 }
3490 },
3491 {
3492 "op" : "assign",
3493 "parameters" : [
3494 {
3495 "type" : "field",
3496 "value" : ["standard_metadata", "egress_spec"]
3497 },
3498 {
3499 "type" : "runtime_data",
3500 "value" : 0
3501 }
3502 ],
3503 "source_info" : {
3504 "filename" : "include/control/next.p4",
3505 "line" : 85,
3506 "column" : 8,
3507 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3508 }
3509 }
3510 ]
3511 },
3512 {
3513 "name" : "FabricIngress.next.l3_routing_hashed",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003514 "id" : 45,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003515 "runtime_data" : [
3516 {
3517 "name" : "port_num",
3518 "bitwidth" : 9
3519 },
3520 {
3521 "name" : "smac",
3522 "bitwidth" : 48
3523 },
3524 {
3525 "name" : "dmac",
3526 "bitwidth" : 48
3527 }
3528 ],
3529 "primitives" : [
3530 {
3531 "op" : "assign",
3532 "parameters" : [
3533 {
3534 "type" : "field",
3535 "value" : ["ethernet", "src_addr"]
3536 },
3537 {
3538 "type" : "runtime_data",
3539 "value" : 1
3540 }
3541 ],
3542 "source_info" : {
3543 "filename" : "include/control/next.p4",
3544 "line" : 37,
3545 "column" : 8,
3546 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3547 }
3548 },
3549 {
3550 "op" : "assign",
3551 "parameters" : [
3552 {
3553 "type" : "field",
3554 "value" : ["ethernet", "dst_addr"]
3555 },
3556 {
3557 "type" : "runtime_data",
3558 "value" : 2
3559 }
3560 ],
3561 "source_info" : {
3562 "filename" : "include/control/next.p4",
3563 "line" : 41,
3564 "column" : 8,
3565 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3566 }
3567 },
3568 {
3569 "op" : "assign",
3570 "parameters" : [
3571 {
3572 "type" : "field",
3573 "value" : ["standard_metadata", "egress_spec"]
3574 },
3575 {
3576 "type" : "runtime_data",
3577 "value" : 0
3578 }
3579 ],
3580 "source_info" : {
3581 "filename" : "include/control/next.p4",
3582 "line" : 149,
3583 "column" : 8,
3584 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3585 }
3586 }
3587 ]
3588 },
3589 {
3590 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003591 "id" : 46,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003592 "runtime_data" : [
3593 {
3594 "name" : "port_num",
3595 "bitwidth" : 9
3596 },
3597 {
3598 "name" : "smac",
3599 "bitwidth" : 48
3600 },
3601 {
3602 "name" : "dmac",
3603 "bitwidth" : 48
3604 },
3605 {
3606 "name" : "label",
3607 "bitwidth" : 20
3608 }
3609 ],
3610 "primitives" : [
3611 {
3612 "op" : "assign",
3613 "parameters" : [
3614 {
3615 "type" : "field",
3616 "value" : ["ethernet", "src_addr"]
3617 },
3618 {
3619 "type" : "runtime_data",
3620 "value" : 1
3621 }
3622 ],
3623 "source_info" : {
3624 "filename" : "include/control/next.p4",
3625 "line" : 37,
3626 "column" : 8,
3627 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3628 }
3629 },
3630 {
3631 "op" : "assign",
3632 "parameters" : [
3633 {
3634 "type" : "field",
3635 "value" : ["ethernet", "dst_addr"]
3636 },
3637 {
3638 "type" : "runtime_data",
3639 "value" : 2
3640 }
3641 ],
3642 "source_info" : {
3643 "filename" : "include/control/next.p4",
3644 "line" : 41,
3645 "column" : 8,
3646 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3647 }
3648 },
3649 {
3650 "op" : "assign",
3651 "parameters" : [
3652 {
3653 "type" : "field",
3654 "value" : ["standard_metadata", "egress_spec"]
3655 },
3656 {
3657 "type" : "runtime_data",
3658 "value" : 0
3659 }
3660 ],
3661 "source_info" : {
3662 "filename" : "include/control/next.p4",
3663 "line" : 149,
3664 "column" : 8,
3665 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3666 }
3667 },
3668 {
3669 "op" : "add_header",
3670 "parameters" : [
3671 {
3672 "type" : "header",
3673 "value" : "mpls"
3674 }
3675 ],
3676 "source_info" : {
3677 "filename" : "include/control/next.p4",
3678 "line" : 46,
3679 "column" : 8,
3680 "source_fragment" : "hdr.mpls.setValid()"
3681 }
3682 },
3683 {
3684 "op" : "assign",
3685 "parameters" : [
3686 {
3687 "type" : "field",
3688 "value" : ["vlan_tag", "ether_type"]
3689 },
3690 {
3691 "type" : "hexstr",
3692 "value" : "0x8847"
3693 }
3694 ],
3695 "source_info" : {
3696 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003697 "line" : 75,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003698 "column" : 31,
3699 "source_fragment" : "0x8847; ..."
3700 }
3701 },
3702 {
3703 "op" : "assign",
3704 "parameters" : [
3705 {
3706 "type" : "field",
3707 "value" : ["mpls", "label"]
3708 },
3709 {
3710 "type" : "runtime_data",
3711 "value" : 3
3712 }
3713 ],
3714 "source_info" : {
3715 "filename" : "include/control/next.p4",
3716 "line" : 48,
3717 "column" : 8,
3718 "source_fragment" : "hdr.mpls.label = label; ..."
3719 }
3720 },
3721 {
3722 "op" : "assign",
3723 "parameters" : [
3724 {
3725 "type" : "field",
3726 "value" : ["mpls", "tc"]
3727 },
3728 {
3729 "type" : "hexstr",
3730 "value" : "0x00"
3731 }
3732 ],
3733 "source_info" : {
3734 "filename" : "include/control/next.p4",
3735 "line" : 49,
3736 "column" : 8,
3737 "source_fragment" : "hdr.mpls.tc = tc; ..."
3738 }
3739 },
3740 {
3741 "op" : "assign",
3742 "parameters" : [
3743 {
3744 "type" : "field",
3745 "value" : ["mpls", "bos"]
3746 },
3747 {
3748 "type" : "hexstr",
3749 "value" : "0x01"
3750 }
3751 ],
3752 "source_info" : {
3753 "filename" : "include/control/next.p4",
3754 "line" : 50,
3755 "column" : 8,
3756 "source_fragment" : "hdr.mpls.bos = 1w1"
3757 }
3758 },
3759 {
3760 "op" : "assign",
3761 "parameters" : [
3762 {
3763 "type" : "field",
3764 "value" : ["mpls", "ttl"]
3765 },
3766 {
3767 "type" : "hexstr",
3768 "value" : "0x40"
3769 }
3770 ],
3771 "source_info" : {
3772 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003773 "line" : 95,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003774 "column" : 32,
3775 "source_fragment" : "64; ..."
3776 }
3777 }
3778 ]
3779 },
3780 {
3781 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003782 "id" : 47,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003783 "runtime_data" : [
3784 {
3785 "name" : "port_num",
3786 "bitwidth" : 9
3787 },
3788 {
3789 "name" : "smac",
3790 "bitwidth" : 48
3791 },
3792 {
3793 "name" : "dmac",
3794 "bitwidth" : 48
3795 },
3796 {
3797 "name" : "label",
3798 "bitwidth" : 20
3799 }
3800 ],
3801 "primitives" : [
3802 {
3803 "op" : "assign",
3804 "parameters" : [
3805 {
3806 "type" : "field",
3807 "value" : ["ethernet", "src_addr"]
3808 },
3809 {
3810 "type" : "runtime_data",
3811 "value" : 1
3812 }
3813 ],
3814 "source_info" : {
3815 "filename" : "include/control/next.p4",
3816 "line" : 37,
3817 "column" : 8,
3818 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3819 }
3820 },
3821 {
3822 "op" : "assign",
3823 "parameters" : [
3824 {
3825 "type" : "field",
3826 "value" : ["ethernet", "dst_addr"]
3827 },
3828 {
3829 "type" : "runtime_data",
3830 "value" : 2
3831 }
3832 ],
3833 "source_info" : {
3834 "filename" : "include/control/next.p4",
3835 "line" : 41,
3836 "column" : 8,
3837 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3838 }
3839 },
3840 {
3841 "op" : "assign",
3842 "parameters" : [
3843 {
3844 "type" : "field",
3845 "value" : ["standard_metadata", "egress_spec"]
3846 },
3847 {
3848 "type" : "runtime_data",
3849 "value" : 0
3850 }
3851 ],
3852 "source_info" : {
3853 "filename" : "include/control/next.p4",
3854 "line" : 149,
3855 "column" : 8,
3856 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3857 }
3858 },
3859 {
3860 "op" : "add_header",
3861 "parameters" : [
3862 {
3863 "type" : "header",
3864 "value" : "mpls"
3865 }
3866 ],
3867 "source_info" : {
3868 "filename" : "include/control/next.p4",
3869 "line" : 46,
3870 "column" : 8,
3871 "source_fragment" : "hdr.mpls.setValid()"
3872 }
3873 },
3874 {
3875 "op" : "assign",
3876 "parameters" : [
3877 {
3878 "type" : "field",
3879 "value" : ["vlan_tag", "ether_type"]
3880 },
3881 {
3882 "type" : "hexstr",
3883 "value" : "0x8847"
3884 }
3885 ],
3886 "source_info" : {
3887 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003888 "line" : 75,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003889 "column" : 31,
3890 "source_fragment" : "0x8847; ..."
3891 }
3892 },
3893 {
3894 "op" : "assign",
3895 "parameters" : [
3896 {
3897 "type" : "field",
3898 "value" : ["mpls", "label"]
3899 },
3900 {
3901 "type" : "runtime_data",
3902 "value" : 3
3903 }
3904 ],
3905 "source_info" : {
3906 "filename" : "include/control/next.p4",
3907 "line" : 48,
3908 "column" : 8,
3909 "source_fragment" : "hdr.mpls.label = label; ..."
3910 }
3911 },
3912 {
3913 "op" : "assign",
3914 "parameters" : [
3915 {
3916 "type" : "field",
3917 "value" : ["mpls", "tc"]
3918 },
3919 {
3920 "type" : "hexstr",
3921 "value" : "0x00"
3922 }
3923 ],
3924 "source_info" : {
3925 "filename" : "include/control/next.p4",
3926 "line" : 49,
3927 "column" : 8,
3928 "source_fragment" : "hdr.mpls.tc = tc; ..."
3929 }
3930 },
3931 {
3932 "op" : "assign",
3933 "parameters" : [
3934 {
3935 "type" : "field",
3936 "value" : ["mpls", "bos"]
3937 },
3938 {
3939 "type" : "hexstr",
3940 "value" : "0x01"
3941 }
3942 ],
3943 "source_info" : {
3944 "filename" : "include/control/next.p4",
3945 "line" : 50,
3946 "column" : 8,
3947 "source_fragment" : "hdr.mpls.bos = 1w1"
3948 }
3949 },
3950 {
3951 "op" : "assign",
3952 "parameters" : [
3953 {
3954 "type" : "field",
3955 "value" : ["mpls", "ttl"]
3956 },
3957 {
3958 "type" : "hexstr",
3959 "value" : "0x40"
3960 }
3961 ],
3962 "source_info" : {
3963 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003964 "line" : 95,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003965 "column" : 32,
3966 "source_fragment" : "64; ..."
3967 }
3968 }
3969 ]
3970 },
3971 {
3972 "name" : "FabricIngress.next.set_mcast_group",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003973 "id" : 48,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02003974 "runtime_data" : [
3975 {
3976 "name" : "gid",
3977 "bitwidth" : 16
3978 }
3979 ],
3980 "primitives" : [
3981 {
3982 "op" : "assign",
3983 "parameters" : [
3984 {
3985 "type" : "field",
3986 "value" : ["standard_metadata", "mcast_grp"]
3987 },
3988 {
3989 "type" : "runtime_data",
3990 "value" : 0
3991 }
3992 ],
3993 "source_info" : {
3994 "filename" : "include/control/next.p4",
3995 "line" : 202,
3996 "column" : 8,
3997 "source_fragment" : "standard_metadata.mcast_grp = gid"
3998 }
3999 },
4000 {
4001 "op" : "assign",
4002 "parameters" : [
4003 {
4004 "type" : "field",
4005 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
4006 },
4007 {
4008 "type" : "expression",
4009 "value" : {
4010 "type" : "expression",
4011 "value" : {
4012 "op" : "b2d",
4013 "left" : null,
4014 "right" : {
4015 "type" : "bool",
4016 "value" : true
4017 }
4018 }
4019 }
4020 }
4021 ],
4022 "source_info" : {
4023 "filename" : "include/control/next.p4",
4024 "line" : 203,
4025 "column" : 8,
4026 "source_fragment" : "fabric_metadata.is_multicast = true"
4027 }
4028 }
4029 ]
4030 },
4031 {
4032 "name" : "act",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004033 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004034 "runtime_data" : [],
4035 "primitives" : [
4036 {
4037 "op" : "assign",
4038 "parameters" : [
4039 {
4040 "type" : "field",
4041 "value" : ["standard_metadata", "egress_spec"]
4042 },
4043 {
4044 "type" : "field",
4045 "value" : ["packet_out", "egress_port"]
4046 }
4047 ],
4048 "source_info" : {
4049 "filename" : "include/control/packetio.p4",
4050 "line" : 26,
4051 "column" : 12,
4052 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
4053 }
4054 },
4055 {
4056 "op" : "remove_header",
4057 "parameters" : [
4058 {
4059 "type" : "header",
4060 "value" : "packet_out"
4061 }
4062 ],
4063 "source_info" : {
4064 "filename" : "include/control/packetio.p4",
4065 "line" : 27,
4066 "column" : 12,
4067 "source_fragment" : "hdr.packet_out.setInvalid()"
4068 }
4069 }
4070 ]
4071 },
4072 {
4073 "name" : "act_0",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004074 "id" : 50,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004075 "runtime_data" : [],
4076 "primitives" : [
4077 {
4078 "op" : "assign",
4079 "parameters" : [
4080 {
4081 "type" : "field",
4082 "value" : ["scalars", "spgw_ingress_tmp_2"]
4083 },
4084 {
4085 "type" : "expression",
4086 "value" : {
4087 "type" : "expression",
4088 "value" : {
4089 "op" : "b2d",
4090 "left" : null,
4091 "right" : {
4092 "type" : "bool",
4093 "value" : true
4094 }
4095 }
4096 }
4097 }
4098 ]
4099 }
4100 ]
4101 },
4102 {
4103 "name" : "act_1",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004104 "id" : 51,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004105 "runtime_data" : [],
4106 "primitives" : [
4107 {
4108 "op" : "assign",
4109 "parameters" : [
4110 {
4111 "type" : "field",
4112 "value" : ["scalars", "spgw_ingress_tmp_2"]
4113 },
4114 {
4115 "type" : "expression",
4116 "value" : {
4117 "type" : "expression",
4118 "value" : {
4119 "op" : "b2d",
4120 "left" : null,
4121 "right" : {
4122 "type" : "bool",
4123 "value" : false
4124 }
4125 }
4126 }
4127 }
4128 ]
4129 }
4130 ]
4131 },
4132 {
4133 "name" : "act_2",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004134 "id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004135 "runtime_data" : [],
4136 "primitives" : [
4137 {
4138 "op" : "assign",
4139 "parameters" : [
4140 {
4141 "type" : "field",
4142 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
4143 },
4144 {
4145 "type" : "field",
4146 "value" : ["ipv4", "src_addr"]
4147 }
4148 ],
4149 "source_info" : {
4150 "filename" : "include/spgw.p4",
4151 "line" : 147,
4152 "column" : 12,
4153 "source_fragment" : "spgw_meta.s1u_enb_addr = ipv4.src_addr"
4154 }
4155 },
4156 {
4157 "op" : "assign",
4158 "parameters" : [
4159 {
4160 "type" : "field",
4161 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
4162 },
4163 {
4164 "type" : "field",
4165 "value" : ["ipv4", "dst_addr"]
4166 }
4167 ],
4168 "source_info" : {
4169 "filename" : "include/spgw.p4",
4170 "line" : 148,
4171 "column" : 12,
4172 "source_fragment" : "spgw_meta.s1u_sgw_addr = ipv4.dst_addr"
4173 }
4174 },
4175 {
4176 "op" : "assign_header",
4177 "parameters" : [
4178 {
4179 "type" : "header",
4180 "value" : "ipv4"
4181 },
4182 {
4183 "type" : "header",
4184 "value" : "gtpu_ipv4"
4185 }
4186 ],
4187 "source_info" : {
4188 "filename" : "include/spgw.p4",
4189 "line" : 149,
4190 "column" : 17,
4191 "source_fragment" : "= gtpu_ipv4; ..."
4192 }
4193 },
4194 {
4195 "op" : "assign_header",
4196 "parameters" : [
4197 {
4198 "type" : "header",
4199 "value" : "udp"
4200 },
4201 {
4202 "type" : "header",
4203 "value" : "gtpu_udp"
4204 }
4205 ],
4206 "source_info" : {
4207 "filename" : "include/spgw.p4",
4208 "line" : 150,
4209 "column" : 16,
4210 "source_fragment" : "= gtpu_udp; ..."
4211 }
4212 }
4213 ]
4214 },
4215 {
4216 "name" : "act_3",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004217 "id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004218 "runtime_data" : [],
4219 "primitives" : [
4220 {
4221 "op" : "assign",
4222 "parameters" : [
4223 {
4224 "type" : "field",
4225 "value" : ["userMetadata.spgw", "do_spgw"]
4226 },
4227 {
4228 "type" : "expression",
4229 "value" : {
4230 "type" : "expression",
4231 "value" : {
4232 "op" : "b2d",
4233 "left" : null,
4234 "right" : {
4235 "type" : "bool",
4236 "value" : true
4237 }
4238 }
4239 }
4240 }
4241 ],
4242 "source_info" : {
4243 "filename" : "include/spgw.p4",
4244 "line" : 154,
4245 "column" : 16,
4246 "source_fragment" : "spgw_meta.do_spgw = true"
4247 }
4248 },
4249 {
4250 "op" : "assign",
4251 "parameters" : [
4252 {
4253 "type" : "field",
4254 "value" : ["userMetadata.spgw", "direction"]
4255 },
4256 {
4257 "type" : "hexstr",
4258 "value" : "0x00"
4259 }
4260 ],
4261 "source_info" : {
4262 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004263 "line" : 106,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004264 "column" : 31,
4265 "source_fragment" : "1w0; ..."
4266 }
4267 }
4268 ]
4269 },
4270 {
4271 "name" : "act_4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004272 "id" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004273 "runtime_data" : [],
4274 "primitives" : [
4275 {
4276 "op" : "assign",
4277 "parameters" : [
4278 {
4279 "type" : "field",
4280 "value" : ["scalars", "spgw_ingress_tmp_3"]
4281 },
4282 {
4283 "type" : "expression",
4284 "value" : {
4285 "type" : "expression",
4286 "value" : {
4287 "op" : "b2d",
4288 "left" : null,
4289 "right" : {
4290 "type" : "bool",
4291 "value" : true
4292 }
4293 }
4294 }
4295 }
4296 ]
4297 }
4298 ]
4299 },
4300 {
4301 "name" : "act_5",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004302 "id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004303 "runtime_data" : [],
4304 "primitives" : [
4305 {
4306 "op" : "assign",
4307 "parameters" : [
4308 {
4309 "type" : "field",
4310 "value" : ["scalars", "spgw_ingress_tmp_3"]
4311 },
4312 {
4313 "type" : "expression",
4314 "value" : {
4315 "type" : "expression",
4316 "value" : {
4317 "op" : "b2d",
4318 "left" : null,
4319 "right" : {
4320 "type" : "bool",
4321 "value" : false
4322 }
4323 }
4324 }
4325 }
4326 ]
4327 }
4328 ]
4329 },
4330 {
4331 "name" : "act_6",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004332 "id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004333 "runtime_data" : [],
4334 "primitives" : [
4335 {
4336 "op" : "assign",
4337 "parameters" : [
4338 {
4339 "type" : "field",
4340 "value" : ["userMetadata.spgw", "do_spgw"]
4341 },
4342 {
4343 "type" : "expression",
4344 "value" : {
4345 "type" : "expression",
4346 "value" : {
4347 "op" : "b2d",
4348 "left" : null,
4349 "right" : {
4350 "type" : "bool",
4351 "value" : true
4352 }
4353 }
4354 }
4355 }
4356 ],
4357 "source_info" : {
4358 "filename" : "include/spgw.p4",
4359 "line" : 158,
4360 "column" : 12,
4361 "source_fragment" : "spgw_meta.do_spgw = true"
4362 }
4363 },
4364 {
4365 "op" : "assign",
4366 "parameters" : [
4367 {
4368 "type" : "field",
4369 "value" : ["userMetadata.spgw", "direction"]
4370 },
4371 {
4372 "type" : "hexstr",
4373 "value" : "0x01"
4374 }
4375 ],
4376 "source_info" : {
4377 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004378 "line" : 107,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004379 "column" : 33,
4380 "source_fragment" : "1w1; ..."
4381 }
4382 }
4383 ]
4384 },
4385 {
4386 "name" : "act_7",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004387 "id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004388 "runtime_data" : [],
4389 "primitives" : [
4390 {
4391 "op" : "assign",
4392 "parameters" : [
4393 {
4394 "type" : "field",
4395 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
4396 },
4397 {
4398 "type" : "expression",
4399 "value" : {
4400 "type" : "expression",
4401 "value" : {
4402 "op" : "b2d",
4403 "left" : null,
4404 "right" : {
4405 "type" : "bool",
4406 "value" : false
4407 }
4408 }
4409 }
4410 }
4411 ]
4412 },
4413 {
4414 "op" : "assign",
4415 "parameters" : [
4416 {
4417 "type" : "field",
4418 "value" : ["userMetadata.spgw", "do_spgw"]
4419 },
4420 {
4421 "type" : "expression",
4422 "value" : {
4423 "type" : "expression",
4424 "value" : {
4425 "op" : "b2d",
4426 "left" : null,
4427 "right" : {
4428 "type" : "bool",
4429 "value" : false
4430 }
4431 }
4432 }
4433 }
4434 ],
4435 "source_info" : {
4436 "filename" : "include/spgw.p4",
4437 "line" : 141,
4438 "column" : 8,
4439 "source_fragment" : "spgw_meta.do_spgw = false"
4440 }
4441 }
4442 ]
4443 },
4444 {
4445 "name" : "act_8",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004446 "id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004447 "runtime_data" : [],
4448 "primitives" : [
4449 {
4450 "op" : "assign",
4451 "parameters" : [
4452 {
4453 "type" : "field",
4454 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
4455 },
4456 {
4457 "type" : "expression",
4458 "value" : {
4459 "type" : "expression",
4460 "value" : {
4461 "op" : "b2d",
4462 "left" : null,
4463 "right" : {
4464 "type" : "bool",
4465 "value" : true
4466 }
4467 }
4468 }
4469 }
4470 ],
4471 "source_info" : {
4472 "filename" : "include/spgw.p4",
4473 "line" : 164,
4474 "column" : 12,
4475 "source_fragment" : "return"
4476 }
4477 }
4478 ]
4479 },
4480 {
4481 "name" : "act_9",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004482 "id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004483 "runtime_data" : [],
4484 "primitives" : [
4485 {
4486 "op" : "assign",
4487 "parameters" : [
4488 {
4489 "type" : "field",
4490 "value" : ["scalars", "spgw_ingress_tmp_4"]
4491 },
4492 {
4493 "type" : "expression",
4494 "value" : {
4495 "type" : "expression",
4496 "value" : {
4497 "op" : "b2d",
4498 "left" : null,
4499 "right" : {
4500 "type" : "bool",
4501 "value" : true
4502 }
4503 }
4504 }
4505 }
4506 ]
4507 }
4508 ]
4509 },
4510 {
4511 "name" : "act_10",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004512 "id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004513 "runtime_data" : [],
4514 "primitives" : [
4515 {
4516 "op" : "assign",
4517 "parameters" : [
4518 {
4519 "type" : "field",
4520 "value" : ["scalars", "spgw_ingress_tmp_4"]
4521 },
4522 {
4523 "type" : "expression",
4524 "value" : {
4525 "type" : "expression",
4526 "value" : {
4527 "op" : "b2d",
4528 "left" : null,
4529 "right" : {
4530 "type" : "bool",
4531 "value" : false
4532 }
4533 }
4534 }
4535 }
4536 ]
4537 }
4538 ]
4539 },
4540 {
4541 "name" : "act_11",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004542 "id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004543 "runtime_data" : [],
4544 "primitives" : [
4545 {
4546 "op" : "assign",
4547 "parameters" : [
4548 {
4549 "type" : "field",
4550 "value" : ["userMetadata.spgw", "ipv4_len"]
4551 },
4552 {
4553 "type" : "field",
4554 "value" : ["ipv4", "total_len"]
4555 }
4556 ],
4557 "source_info" : {
4558 "filename" : "include/spgw.p4",
4559 "line" : 194,
4560 "column" : 8,
4561 "source_fragment" : "spgw_meta.ipv4_len = ipv4.total_len"
4562 }
4563 }
4564 ]
4565 },
4566 {
4567 "name" : "act_12",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004568 "id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004569 "runtime_data" : [],
4570 "primitives" : [
4571 {
4572 "op" : "assign",
4573 "parameters" : [
4574 {
4575 "type" : "field",
4576 "value" : ["vlan_tag", "ether_type"]
4577 },
4578 {
4579 "type" : "hexstr",
4580 "value" : "0x0800"
4581 }
4582 ],
4583 "source_info" : {
4584 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004585 "line" : 77,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004586 "column" : 31,
4587 "source_fragment" : "0x0800; ..."
4588 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004589 }
4590 ]
4591 },
4592 {
4593 "name" : "act_13",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004594 "id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004595 "runtime_data" : [],
4596 "primitives" : [
4597 {
4598 "op" : "assign",
4599 "parameters" : [
4600 {
4601 "type" : "field",
4602 "value" : ["scalars", "next_hasReturned_0"]
4603 },
4604 {
4605 "type" : "expression",
4606 "value" : {
4607 "type" : "expression",
4608 "value" : {
4609 "op" : "b2d",
4610 "left" : null,
4611 "right" : {
4612 "type" : "bool",
4613 "value" : false
4614 }
4615 }
4616 }
4617 }
4618 ]
4619 }
4620 ]
4621 },
4622 {
4623 "name" : "act_14",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004624 "id" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004625 "runtime_data" : [],
4626 "primitives" : [
4627 {
4628 "op" : "assign",
4629 "parameters" : [
4630 {
4631 "type" : "field",
4632 "value" : ["scalars", "next_tmp_4"]
4633 },
4634 {
4635 "type" : "expression",
4636 "value" : {
4637 "type" : "expression",
4638 "value" : {
4639 "op" : "b2d",
4640 "left" : null,
4641 "right" : {
4642 "type" : "bool",
4643 "value" : true
4644 }
4645 }
4646 }
4647 }
4648 ]
4649 }
4650 ]
4651 },
4652 {
4653 "name" : "act_15",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004654 "id" : 65,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004655 "runtime_data" : [],
4656 "primitives" : [
4657 {
4658 "op" : "assign",
4659 "parameters" : [
4660 {
4661 "type" : "field",
4662 "value" : ["scalars", "next_tmp_4"]
4663 },
4664 {
4665 "type" : "expression",
4666 "value" : {
4667 "type" : "expression",
4668 "value" : {
4669 "op" : "b2d",
4670 "left" : null,
4671 "right" : {
4672 "type" : "bool",
4673 "value" : false
4674 }
4675 }
4676 }
4677 }
4678 ]
4679 }
4680 ]
4681 },
4682 {
4683 "name" : "act_16",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004684 "id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004685 "runtime_data" : [],
4686 "primitives" : [
4687 {
4688 "op" : "assign",
4689 "parameters" : [
4690 {
4691 "type" : "field",
4692 "value" : ["scalars", "next_tmp_3"]
4693 },
4694 {
4695 "type" : "expression",
4696 "value" : {
4697 "type" : "expression",
4698 "value" : {
4699 "op" : "b2d",
4700 "left" : null,
4701 "right" : {
4702 "type" : "bool",
4703 "value" : true
4704 }
4705 }
4706 }
4707 }
4708 ]
4709 }
4710 ]
4711 },
4712 {
4713 "name" : "act_17",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004714 "id" : 67,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004715 "runtime_data" : [],
4716 "primitives" : [
4717 {
4718 "op" : "assign",
4719 "parameters" : [
4720 {
4721 "type" : "field",
4722 "value" : ["scalars", "next_tmp_3"]
4723 },
4724 {
4725 "type" : "expression",
4726 "value" : {
4727 "type" : "expression",
4728 "value" : {
4729 "op" : "b2d",
4730 "left" : null,
4731 "right" : {
4732 "type" : "bool",
4733 "value" : false
4734 }
4735 }
4736 }
4737 }
4738 ]
4739 }
4740 ]
4741 },
4742 {
4743 "name" : "act_18",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004744 "id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004745 "runtime_data" : [],
4746 "primitives" : [
4747 {
4748 "op" : "assign",
4749 "parameters" : [
4750 {
4751 "type" : "field",
4752 "value" : ["scalars", "next_tmp_2"]
4753 },
4754 {
4755 "type" : "expression",
4756 "value" : {
4757 "type" : "expression",
4758 "value" : {
4759 "op" : "b2d",
4760 "left" : null,
4761 "right" : {
4762 "type" : "bool",
4763 "value" : true
4764 }
4765 }
4766 }
4767 }
4768 ]
4769 }
4770 ]
4771 },
4772 {
4773 "name" : "act_19",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004774 "id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004775 "runtime_data" : [],
4776 "primitives" : [
4777 {
4778 "op" : "assign",
4779 "parameters" : [
4780 {
4781 "type" : "field",
4782 "value" : ["scalars", "next_tmp_2"]
4783 },
4784 {
4785 "type" : "expression",
4786 "value" : {
4787 "type" : "expression",
4788 "value" : {
4789 "op" : "b2d",
4790 "left" : null,
4791 "right" : {
4792 "type" : "bool",
4793 "value" : false
4794 }
4795 }
4796 }
4797 }
4798 ]
4799 }
4800 ]
4801 },
4802 {
4803 "name" : "act_20",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004804 "id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004805 "runtime_data" : [],
4806 "primitives" : [
4807 {
4808 "op" : "assign",
4809 "parameters" : [
4810 {
4811 "type" : "field",
4812 "value" : ["scalars", "next_hasReturned_0"]
4813 },
4814 {
4815 "type" : "expression",
4816 "value" : {
4817 "type" : "expression",
4818 "value" : {
4819 "op" : "b2d",
4820 "left" : null,
4821 "right" : {
4822 "type" : "bool",
4823 "value" : true
4824 }
4825 }
4826 }
4827 }
4828 ],
4829 "source_info" : {
4830 "filename" : "include/control/next.p4",
4831 "line" : 223,
4832 "column" : 20,
4833 "source_fragment" : "return"
4834 }
4835 }
4836 ]
4837 },
4838 {
4839 "name" : "act_21",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004840 "id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004841 "runtime_data" : [],
4842 "primitives" : [
4843 {
4844 "op" : "assign",
4845 "parameters" : [
4846 {
4847 "type" : "field",
4848 "value" : ["ipv4", "ttl"]
4849 },
4850 {
4851 "type" : "expression",
4852 "value" : {
4853 "type" : "expression",
4854 "value" : {
4855 "op" : "&",
4856 "left" : {
4857 "type" : "expression",
4858 "value" : {
4859 "op" : "+",
4860 "left" : {
4861 "type" : "field",
4862 "value" : ["ipv4", "ttl"]
4863 },
4864 "right" : {
4865 "type" : "hexstr",
4866 "value" : "0xff"
4867 }
4868 }
4869 },
4870 "right" : {
4871 "type" : "hexstr",
4872 "value" : "0xff"
4873 }
4874 }
4875 }
4876 }
4877 ],
4878 "source_info" : {
4879 "filename" : "include/control/next.p4",
4880 "line" : 230,
4881 "column" : 16,
4882 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4883 }
4884 }
4885 ]
4886 },
4887 {
4888 "name" : "act_22",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004889 "id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004890 "runtime_data" : [],
4891 "primitives" : [
4892 {
4893 "op" : "assign",
4894 "parameters" : [
4895 {
4896 "type" : "field",
4897 "value" : ["ipv6", "hop_limit"]
4898 },
4899 {
4900 "type" : "expression",
4901 "value" : {
4902 "type" : "expression",
4903 "value" : {
4904 "op" : "&",
4905 "left" : {
4906 "type" : "expression",
4907 "value" : {
4908 "op" : "+",
4909 "left" : {
4910 "type" : "field",
4911 "value" : ["ipv6", "hop_limit"]
4912 },
4913 "right" : {
4914 "type" : "hexstr",
4915 "value" : "0xff"
4916 }
4917 }
4918 },
4919 "right" : {
4920 "type" : "hexstr",
4921 "value" : "0xff"
4922 }
4923 }
4924 }
4925 }
4926 ],
4927 "source_info" : {
4928 "filename" : "include/control/next.p4",
4929 "line" : 234,
4930 "column" : 16,
4931 "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
4932 }
4933 }
4934 ]
4935 },
4936 {
4937 "name" : "act_23",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004938 "id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004939 "runtime_data" : [],
4940 "primitives" : [
4941 {
4942 "op" : "assign",
4943 "parameters" : [
4944 {
4945 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004946 "value" : ["scalars", "tmp_3"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004947 },
4948 {
4949 "type" : "expression",
4950 "value" : {
4951 "type" : "expression",
4952 "value" : {
4953 "op" : "&",
4954 "left" : {
4955 "type" : "field",
4956 "value" : ["standard_metadata", "egress_spec"]
4957 },
4958 "right" : {
4959 "type" : "hexstr",
4960 "value" : "0xffffffff"
4961 }
4962 }
4963 }
4964 }
4965 ],
4966 "source_info" : {
4967 "filename" : "include/control/port_counter.p4",
4968 "line" : 28,
4969 "column" : 38,
4970 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
4971 }
4972 },
4973 {
4974 "op" : "count",
4975 "parameters" : [
4976 {
4977 "type" : "counter_array",
4978 "value" : "FabricIngress.port_counters_control.egress_port_counter"
4979 },
4980 {
4981 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004982 "value" : ["scalars", "tmp_3"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004983 }
4984 ],
4985 "source_info" : {
4986 "filename" : "include/control/port_counter.p4",
4987 "line" : 28,
4988 "column" : 12,
4989 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4990 }
4991 }
4992 ]
4993 },
4994 {
4995 "name" : "act_24",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004996 "id" : 74,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02004997 "runtime_data" : [],
4998 "primitives" : [
4999 {
5000 "op" : "assign",
5001 "parameters" : [
5002 {
5003 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005004 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005005 },
5006 {
5007 "type" : "expression",
5008 "value" : {
5009 "type" : "expression",
5010 "value" : {
5011 "op" : "&",
5012 "left" : {
5013 "type" : "field",
5014 "value" : ["standard_metadata", "ingress_port"]
5015 },
5016 "right" : {
5017 "type" : "hexstr",
5018 "value" : "0xffffffff"
5019 }
5020 }
5021 }
5022 }
5023 ],
5024 "source_info" : {
5025 "filename" : "include/control/port_counter.p4",
5026 "line" : 31,
5027 "column" : 39,
5028 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5029 }
5030 },
5031 {
5032 "op" : "count",
5033 "parameters" : [
5034 {
5035 "type" : "counter_array",
5036 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
5037 },
5038 {
5039 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005040 "value" : ["scalars", "tmp_4"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005041 }
5042 ],
5043 "source_info" : {
5044 "filename" : "include/control/port_counter.p4",
5045 "line" : 31,
5046 "column" : 12,
5047 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5048 }
5049 }
5050 ]
5051 },
5052 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005053 "name" : "act_25",
5054 "id" : 75,
5055 "runtime_data" : [],
5056 "primitives" : [
5057 {
5058 "op" : "clone_ingress_pkt_to_egress",
5059 "parameters" : [
5060 {
5061 "type" : "hexstr",
5062 "value" : "0x000001f4"
5063 },
5064 {
5065 "type" : "hexstr",
5066 "value" : "0x1"
5067 }
5068 ]
5069 }
5070 ]
5071 },
5072 {
5073 "name" : "NoAction",
5074 "id" : 76,
5075 "runtime_data" : [],
5076 "primitives" : []
5077 },
5078 {
5079 "name" : "NoAction",
5080 "id" : 77,
5081 "runtime_data" : [],
5082 "primitives" : []
5083 },
5084 {
5085 "name" : "NoAction",
5086 "id" : 78,
5087 "runtime_data" : [],
5088 "primitives" : []
5089 },
5090 {
5091 "name" : "NoAction",
5092 "id" : 79,
5093 "runtime_data" : [],
5094 "primitives" : []
5095 },
5096 {
5097 "name" : "NoAction",
5098 "id" : 80,
5099 "runtime_data" : [],
5100 "primitives" : []
5101 },
5102 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005103 "name" : "nop",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005104 "id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005105 "runtime_data" : [],
5106 "primitives" : []
5107 },
5108 {
5109 "name" : "drop_now",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005110 "id" : 82,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005111 "runtime_data" : [],
5112 "primitives" : [
5113 {
5114 "op" : "drop",
5115 "parameters" : [],
5116 "source_info" : {
5117 "filename" : "include/control/../action.p4",
5118 "line" : 24,
5119 "column" : 4,
5120 "source_fragment" : "mark_to_drop()"
5121 }
5122 },
5123 {
5124 "op" : "exit",
5125 "parameters" : [],
5126 "source_info" : {
5127 "filename" : "include/control/../action.p4",
5128 "line" : 25,
5129 "column" : 4,
5130 "source_fragment" : "exit"
5131 }
5132 }
5133 ]
5134 },
5135 {
5136 "name" : "drop_now",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005137 "id" : 83,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005138 "runtime_data" : [],
5139 "primitives" : [
5140 {
5141 "op" : "drop",
5142 "parameters" : [],
5143 "source_info" : {
5144 "filename" : "include/control/../action.p4",
5145 "line" : 24,
5146 "column" : 4,
5147 "source_fragment" : "mark_to_drop()"
5148 }
5149 },
5150 {
5151 "op" : "exit",
5152 "parameters" : [],
5153 "source_info" : {
5154 "filename" : "include/control/../action.p4",
5155 "line" : 25,
5156 "column" : 4,
5157 "source_fragment" : "exit"
5158 }
5159 }
5160 ]
5161 },
5162 {
5163 "name" : "FabricEgress.spgw_egress.gtpu_encap",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005164 "id" : 84,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005165 "runtime_data" : [],
5166 "primitives" : [
5167 {
5168 "op" : "add_header",
5169 "parameters" : [
5170 {
5171 "type" : "header",
5172 "value" : "gtpu_ipv4"
5173 }
5174 ],
5175 "source_info" : {
5176 "filename" : "include/spgw.p4",
5177 "line" : 209,
5178 "column" : 8,
5179 "source_fragment" : "gtpu_ipv4.setValid()"
5180 }
5181 },
5182 {
5183 "op" : "assign",
5184 "parameters" : [
5185 {
5186 "type" : "field",
5187 "value" : ["gtpu_ipv4", "version"]
5188 },
5189 {
5190 "type" : "hexstr",
5191 "value" : "0x04"
5192 }
5193 ],
5194 "source_info" : {
5195 "filename" : "include/spgw.p4",
5196 "line" : 210,
5197 "column" : 8,
5198 "source_fragment" : "gtpu_ipv4.version = 4"
5199 }
5200 },
5201 {
5202 "op" : "assign",
5203 "parameters" : [
5204 {
5205 "type" : "field",
5206 "value" : ["gtpu_ipv4", "ihl"]
5207 },
5208 {
5209 "type" : "hexstr",
5210 "value" : "0x05"
5211 }
5212 ],
5213 "source_info" : {
5214 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005215 "line" : 86,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005216 "column" : 28,
5217 "source_fragment" : "5; ..."
5218 }
5219 },
5220 {
5221 "op" : "assign",
5222 "parameters" : [
5223 {
5224 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005225 "value" : ["gtpu_ipv4", "dscp"]
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005226 },
5227 {
5228 "type" : "hexstr",
5229 "value" : "0x00"
5230 }
5231 ],
5232 "source_info" : {
5233 "filename" : "include/spgw.p4",
5234 "line" : 212,
5235 "column" : 8,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005236 "source_fragment" : "gtpu_ipv4.dscp = 0"
5237 }
5238 },
5239 {
5240 "op" : "assign",
5241 "parameters" : [
5242 {
5243 "type" : "field",
5244 "value" : ["gtpu_ipv4", "ecn"]
5245 },
5246 {
5247 "type" : "hexstr",
5248 "value" : "0x00"
5249 }
5250 ],
5251 "source_info" : {
5252 "filename" : "include/spgw.p4",
5253 "line" : 213,
5254 "column" : 8,
5255 "source_fragment" : "gtpu_ipv4.ecn = 0"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005256 }
5257 },
5258 {
5259 "op" : "assign",
5260 "parameters" : [
5261 {
5262 "type" : "field",
5263 "value" : ["gtpu_ipv4", "total_len"]
5264 },
5265 {
5266 "type" : "expression",
5267 "value" : {
5268 "type" : "expression",
5269 "value" : {
5270 "op" : "&",
5271 "left" : {
5272 "type" : "expression",
5273 "value" : {
5274 "op" : "+",
5275 "left" : {
5276 "type" : "field",
5277 "value" : ["userMetadata.spgw", "ipv4_len"]
5278 },
5279 "right" : {
5280 "type" : "hexstr",
5281 "value" : "0x0024"
5282 }
5283 }
5284 },
5285 "right" : {
5286 "type" : "hexstr",
5287 "value" : "0xffff"
5288 }
5289 }
5290 }
5291 }
5292 ],
5293 "source_info" : {
5294 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005295 "line" : 214,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005296 "column" : 8,
5297 "source_fragment" : "gtpu_ipv4.total_len = spgw_meta.ipv4_len ..."
5298 }
5299 },
5300 {
5301 "op" : "assign",
5302 "parameters" : [
5303 {
5304 "type" : "field",
5305 "value" : ["gtpu_ipv4", "identification"]
5306 },
5307 {
5308 "type" : "hexstr",
5309 "value" : "0x1513"
5310 }
5311 ],
5312 "source_info" : {
5313 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005314 "line" : 216,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005315 "column" : 8,
5316 "source_fragment" : "gtpu_ipv4.identification = 0x1513"
5317 }
5318 },
5319 {
5320 "op" : "assign",
5321 "parameters" : [
5322 {
5323 "type" : "field",
5324 "value" : ["gtpu_ipv4", "flags"]
5325 },
5326 {
5327 "type" : "hexstr",
5328 "value" : "0x00"
5329 }
5330 ],
5331 "source_info" : {
5332 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005333 "line" : 217,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005334 "column" : 8,
5335 "source_fragment" : "gtpu_ipv4.flags = 0"
5336 }
5337 },
5338 {
5339 "op" : "assign",
5340 "parameters" : [
5341 {
5342 "type" : "field",
5343 "value" : ["gtpu_ipv4", "frag_offset"]
5344 },
5345 {
5346 "type" : "hexstr",
5347 "value" : "0x0000"
5348 }
5349 ],
5350 "source_info" : {
5351 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005352 "line" : 218,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005353 "column" : 8,
5354 "source_fragment" : "gtpu_ipv4.frag_offset = 0"
5355 }
5356 },
5357 {
5358 "op" : "assign",
5359 "parameters" : [
5360 {
5361 "type" : "field",
5362 "value" : ["gtpu_ipv4", "ttl"]
5363 },
5364 {
5365 "type" : "hexstr",
5366 "value" : "0x40"
5367 }
5368 ],
5369 "source_info" : {
5370 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005371 "line" : 96,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005372 "column" : 32,
5373 "source_fragment" : "64; ..."
5374 }
5375 },
5376 {
5377 "op" : "assign",
5378 "parameters" : [
5379 {
5380 "type" : "field",
5381 "value" : ["gtpu_ipv4", "protocol"]
5382 },
5383 {
5384 "type" : "hexstr",
5385 "value" : "0x11"
5386 }
5387 ],
5388 "source_info" : {
5389 "filename" : "include/control/../define.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005390 "line" : 83,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005391 "column" : 25,
5392 "source_fragment" : "17; ..."
5393 }
5394 },
5395 {
5396 "op" : "assign",
5397 "parameters" : [
5398 {
5399 "type" : "field",
5400 "value" : ["gtpu_ipv4", "dst_addr"]
5401 },
5402 {
5403 "type" : "field",
5404 "value" : ["userMetadata.spgw", "s1u_enb_addr"]
5405 }
5406 ],
5407 "source_info" : {
5408 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005409 "line" : 221,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005410 "column" : 8,
5411 "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr"
5412 }
5413 },
5414 {
5415 "op" : "assign",
5416 "parameters" : [
5417 {
5418 "type" : "field",
5419 "value" : ["gtpu_ipv4", "src_addr"]
5420 },
5421 {
5422 "type" : "field",
5423 "value" : ["userMetadata.spgw", "s1u_sgw_addr"]
5424 }
5425 ],
5426 "source_info" : {
5427 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005428 "line" : 222,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005429 "column" : 8,
5430 "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr"
5431 }
5432 },
5433 {
5434 "op" : "assign",
5435 "parameters" : [
5436 {
5437 "type" : "field",
5438 "value" : ["gtpu_ipv4", "hdr_checksum"]
5439 },
5440 {
5441 "type" : "hexstr",
5442 "value" : "0x0000"
5443 }
5444 ],
5445 "source_info" : {
5446 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005447 "line" : 223,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005448 "column" : 8,
5449 "source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
5450 }
5451 },
5452 {
5453 "op" : "add_header",
5454 "parameters" : [
5455 {
5456 "type" : "header",
5457 "value" : "gtpu_udp"
5458 }
5459 ],
5460 "source_info" : {
5461 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005462 "line" : 225,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005463 "column" : 8,
5464 "source_fragment" : "gtpu_udp.setValid()"
5465 }
5466 },
5467 {
5468 "op" : "assign",
5469 "parameters" : [
5470 {
5471 "type" : "field",
5472 "value" : ["gtpu_udp", "src_port"]
5473 },
5474 {
5475 "type" : "hexstr",
5476 "value" : "0x0868"
5477 }
5478 ],
5479 "source_info" : {
5480 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005481 "line" : 226,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005482 "column" : 8,
5483 "source_fragment" : "gtpu_udp.src_port = 2152"
5484 }
5485 },
5486 {
5487 "op" : "assign",
5488 "parameters" : [
5489 {
5490 "type" : "field",
5491 "value" : ["gtpu_udp", "dst_port"]
5492 },
5493 {
5494 "type" : "hexstr",
5495 "value" : "0x0868"
5496 }
5497 ],
5498 "source_info" : {
5499 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005500 "line" : 227,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005501 "column" : 8,
5502 "source_fragment" : "gtpu_udp.dst_port = 2152"
5503 }
5504 },
5505 {
5506 "op" : "assign",
5507 "parameters" : [
5508 {
5509 "type" : "field",
5510 "value" : ["gtpu_udp", "len"]
5511 },
5512 {
5513 "type" : "expression",
5514 "value" : {
5515 "type" : "expression",
5516 "value" : {
5517 "op" : "&",
5518 "left" : {
5519 "type" : "expression",
5520 "value" : {
5521 "op" : "+",
5522 "left" : {
5523 "type" : "field",
5524 "value" : ["userMetadata.spgw", "ipv4_len"]
5525 },
5526 "right" : {
5527 "type" : "hexstr",
5528 "value" : "0x0010"
5529 }
5530 }
5531 },
5532 "right" : {
5533 "type" : "hexstr",
5534 "value" : "0xffff"
5535 }
5536 }
5537 }
5538 }
5539 ],
5540 "source_info" : {
5541 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005542 "line" : 228,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005543 "column" : 8,
5544 "source_fragment" : "gtpu_udp.len = spgw_meta.ipv4_len ..."
5545 }
5546 },
5547 {
5548 "op" : "assign",
5549 "parameters" : [
5550 {
5551 "type" : "field",
5552 "value" : ["gtpu_udp", "checksum"]
5553 },
5554 {
5555 "type" : "hexstr",
5556 "value" : "0x0000"
5557 }
5558 ],
5559 "source_info" : {
5560 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005561 "line" : 230,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005562 "column" : 8,
5563 "source_fragment" : "gtpu_udp.checksum = 0"
5564 }
5565 },
5566 {
5567 "op" : "add_header",
5568 "parameters" : [
5569 {
5570 "type" : "header",
5571 "value" : "gtpu"
5572 }
5573 ],
5574 "source_info" : {
5575 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005576 "line" : 232,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005577 "column" : 8,
5578 "source_fragment" : "gtpu.setValid()"
5579 }
5580 },
5581 {
5582 "op" : "assign",
5583 "parameters" : [
5584 {
5585 "type" : "field",
5586 "value" : ["gtpu", "version"]
5587 },
5588 {
5589 "type" : "hexstr",
5590 "value" : "0x01"
5591 }
5592 ],
5593 "source_info" : {
5594 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005595 "line" : 233,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005596 "column" : 8,
5597 "source_fragment" : "gtpu.version = 0x01"
5598 }
5599 },
5600 {
5601 "op" : "assign",
5602 "parameters" : [
5603 {
5604 "type" : "field",
5605 "value" : ["gtpu", "pt"]
5606 },
5607 {
5608 "type" : "hexstr",
5609 "value" : "0x01"
5610 }
5611 ],
5612 "source_info" : {
5613 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005614 "line" : 234,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005615 "column" : 8,
5616 "source_fragment" : "gtpu.pt = 0x01"
5617 }
5618 },
5619 {
5620 "op" : "assign",
5621 "parameters" : [
5622 {
5623 "type" : "field",
5624 "value" : ["gtpu", "spare"]
5625 },
5626 {
5627 "type" : "hexstr",
5628 "value" : "0x00"
5629 }
5630 ],
5631 "source_info" : {
5632 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005633 "line" : 235,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005634 "column" : 8,
5635 "source_fragment" : "gtpu.spare = 0"
5636 }
5637 },
5638 {
5639 "op" : "assign",
5640 "parameters" : [
5641 {
5642 "type" : "field",
5643 "value" : ["gtpu", "ex_flag"]
5644 },
5645 {
5646 "type" : "hexstr",
5647 "value" : "0x00"
5648 }
5649 ],
5650 "source_info" : {
5651 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005652 "line" : 236,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005653 "column" : 8,
5654 "source_fragment" : "gtpu.ex_flag = 0"
5655 }
5656 },
5657 {
5658 "op" : "assign",
5659 "parameters" : [
5660 {
5661 "type" : "field",
5662 "value" : ["gtpu", "seq_flag"]
5663 },
5664 {
5665 "type" : "hexstr",
5666 "value" : "0x00"
5667 }
5668 ],
5669 "source_info" : {
5670 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005671 "line" : 237,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005672 "column" : 8,
5673 "source_fragment" : "gtpu.seq_flag = 0"
5674 }
5675 },
5676 {
5677 "op" : "assign",
5678 "parameters" : [
5679 {
5680 "type" : "field",
5681 "value" : ["gtpu", "npdu_flag"]
5682 },
5683 {
5684 "type" : "hexstr",
5685 "value" : "0x00"
5686 }
5687 ],
5688 "source_info" : {
5689 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005690 "line" : 238,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005691 "column" : 8,
5692 "source_fragment" : "gtpu.npdu_flag = 0"
5693 }
5694 },
5695 {
5696 "op" : "assign",
5697 "parameters" : [
5698 {
5699 "type" : "field",
5700 "value" : ["gtpu", "msgtype"]
5701 },
5702 {
5703 "type" : "hexstr",
5704 "value" : "0xff"
5705 }
5706 ],
5707 "source_info" : {
5708 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005709 "line" : 239,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005710 "column" : 8,
5711 "source_fragment" : "gtpu.msgtype = 0xff"
5712 }
5713 },
5714 {
5715 "op" : "assign",
5716 "parameters" : [
5717 {
5718 "type" : "field",
5719 "value" : ["gtpu", "msglen"]
5720 },
5721 {
5722 "type" : "field",
5723 "value" : ["userMetadata.spgw", "ipv4_len"]
5724 }
5725 ],
5726 "source_info" : {
5727 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005728 "line" : 240,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005729 "column" : 8,
5730 "source_fragment" : "gtpu.msglen = spgw_meta.ipv4_len"
5731 }
5732 },
5733 {
5734 "op" : "assign",
5735 "parameters" : [
5736 {
5737 "type" : "field",
5738 "value" : ["gtpu", "teid"]
5739 },
5740 {
5741 "type" : "field",
5742 "value" : ["userMetadata.spgw", "teid"]
5743 }
5744 ],
5745 "source_info" : {
5746 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005747 "line" : 241,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02005748 "column" : 8,
5749 "source_fragment" : "gtpu.teid = spgw_meta.teid"
5750 }
5751 }
5752 ]
5753 },
5754 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09005755 "name" : "FabricEgress.process_int_source.int_source_dscp",
5756 "id" : 85,
5757 "runtime_data" : [
5758 {
5759 "name" : "max_hop",
5760 "bitwidth" : 8
5761 },
5762 {
5763 "name" : "ins_cnt",
5764 "bitwidth" : 5
5765 },
5766 {
5767 "name" : "ins_mask0003",
5768 "bitwidth" : 4
5769 },
5770 {
5771 "name" : "ins_mask0407",
5772 "bitwidth" : 4
5773 }
5774 ],
5775 "primitives" : [
5776 {
5777 "op" : "add_header",
5778 "parameters" : [
5779 {
5780 "type" : "header",
5781 "value" : "intl4_shim"
5782 }
5783 ],
5784 "source_info" : {
5785 "filename" : "include/int_source.p4",
5786 "line" : 31,
5787 "column" : 8,
5788 "source_fragment" : "hdr.intl4_shim.setValid()"
5789 }
5790 },
5791 {
5792 "op" : "assign",
5793 "parameters" : [
5794 {
5795 "type" : "field",
5796 "value" : ["intl4_shim", "int_type"]
5797 },
5798 {
5799 "type" : "hexstr",
5800 "value" : "0x01"
5801 }
5802 ],
5803 "source_info" : {
5804 "filename" : "include/int_source.p4",
5805 "line" : 33,
5806 "column" : 8,
5807 "source_fragment" : "hdr.intl4_shim.int_type = 1"
5808 }
5809 },
5810 {
5811 "op" : "assign",
5812 "parameters" : [
5813 {
5814 "type" : "field",
5815 "value" : ["intl4_shim", "len"]
5816 },
5817 {
5818 "type" : "hexstr",
5819 "value" : "0x04"
5820 }
5821 ],
5822 "source_info" : {
5823 "filename" : "include/control/../define.p4",
5824 "line" : 120,
5825 "column" : 35,
5826 "source_fragment" : "4; ..."
5827 }
5828 },
5829 {
5830 "op" : "add_header",
5831 "parameters" : [
5832 {
5833 "type" : "header",
5834 "value" : "int_header"
5835 }
5836 ],
5837 "source_info" : {
5838 "filename" : "include/int_source.p4",
5839 "line" : 37,
5840 "column" : 8,
5841 "source_fragment" : "hdr.int_header.setValid()"
5842 }
5843 },
5844 {
5845 "op" : "assign",
5846 "parameters" : [
5847 {
5848 "type" : "field",
5849 "value" : ["int_header", "ver"]
5850 },
5851 {
5852 "type" : "hexstr",
5853 "value" : "0x00"
5854 }
5855 ],
5856 "source_info" : {
5857 "filename" : "include/int_source.p4",
5858 "line" : 38,
5859 "column" : 8,
5860 "source_fragment" : "hdr.int_header.ver = 0"
5861 }
5862 },
5863 {
5864 "op" : "assign",
5865 "parameters" : [
5866 {
5867 "type" : "field",
5868 "value" : ["int_header", "rep"]
5869 },
5870 {
5871 "type" : "hexstr",
5872 "value" : "0x00"
5873 }
5874 ],
5875 "source_info" : {
5876 "filename" : "include/int_source.p4",
5877 "line" : 39,
5878 "column" : 8,
5879 "source_fragment" : "hdr.int_header.rep = 0"
5880 }
5881 },
5882 {
5883 "op" : "assign",
5884 "parameters" : [
5885 {
5886 "type" : "field",
5887 "value" : ["int_header", "c"]
5888 },
5889 {
5890 "type" : "hexstr",
5891 "value" : "0x00"
5892 }
5893 ],
5894 "source_info" : {
5895 "filename" : "include/int_source.p4",
5896 "line" : 40,
5897 "column" : 8,
5898 "source_fragment" : "hdr.int_header.c = 0"
5899 }
5900 },
5901 {
5902 "op" : "assign",
5903 "parameters" : [
5904 {
5905 "type" : "field",
5906 "value" : ["int_header", "e"]
5907 },
5908 {
5909 "type" : "hexstr",
5910 "value" : "0x00"
5911 }
5912 ],
5913 "source_info" : {
5914 "filename" : "include/int_source.p4",
5915 "line" : 41,
5916 "column" : 8,
5917 "source_fragment" : "hdr.int_header.e = 0"
5918 }
5919 },
5920 {
5921 "op" : "assign",
5922 "parameters" : [
5923 {
5924 "type" : "field",
5925 "value" : ["int_header", "rsvd1"]
5926 },
5927 {
5928 "type" : "hexstr",
5929 "value" : "0x00"
5930 }
5931 ],
5932 "source_info" : {
5933 "filename" : "include/int_source.p4",
5934 "line" : 42,
5935 "column" : 8,
5936 "source_fragment" : "hdr.int_header.rsvd1 = 0"
5937 }
5938 },
5939 {
5940 "op" : "assign",
5941 "parameters" : [
5942 {
5943 "type" : "field",
5944 "value" : ["int_header", "ins_cnt"]
5945 },
5946 {
5947 "type" : "runtime_data",
5948 "value" : 1
5949 }
5950 ],
5951 "source_info" : {
5952 "filename" : "include/int_source.p4",
5953 "line" : 43,
5954 "column" : 8,
5955 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
5956 }
5957 },
5958 {
5959 "op" : "assign",
5960 "parameters" : [
5961 {
5962 "type" : "field",
5963 "value" : ["int_header", "max_hop_cnt"]
5964 },
5965 {
5966 "type" : "runtime_data",
5967 "value" : 0
5968 }
5969 ],
5970 "source_info" : {
5971 "filename" : "include/int_source.p4",
5972 "line" : 44,
5973 "column" : 8,
5974 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
5975 }
5976 },
5977 {
5978 "op" : "assign",
5979 "parameters" : [
5980 {
5981 "type" : "field",
5982 "value" : ["int_header", "total_hop_cnt"]
5983 },
5984 {
5985 "type" : "hexstr",
5986 "value" : "0x00"
5987 }
5988 ],
5989 "source_info" : {
5990 "filename" : "include/int_source.p4",
5991 "line" : 45,
5992 "column" : 8,
5993 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
5994 }
5995 },
5996 {
5997 "op" : "assign",
5998 "parameters" : [
5999 {
6000 "type" : "field",
6001 "value" : ["int_header", "instruction_mask_0003"]
6002 },
6003 {
6004 "type" : "runtime_data",
6005 "value" : 2
6006 }
6007 ],
6008 "source_info" : {
6009 "filename" : "include/int_source.p4",
6010 "line" : 46,
6011 "column" : 8,
6012 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
6013 }
6014 },
6015 {
6016 "op" : "assign",
6017 "parameters" : [
6018 {
6019 "type" : "field",
6020 "value" : ["int_header", "instruction_mask_0407"]
6021 },
6022 {
6023 "type" : "runtime_data",
6024 "value" : 3
6025 }
6026 ],
6027 "source_info" : {
6028 "filename" : "include/int_source.p4",
6029 "line" : 47,
6030 "column" : 8,
6031 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
6032 }
6033 },
6034 {
6035 "op" : "assign",
6036 "parameters" : [
6037 {
6038 "type" : "field",
6039 "value" : ["int_header", "instruction_mask_0811"]
6040 },
6041 {
6042 "type" : "hexstr",
6043 "value" : "0x00"
6044 }
6045 ],
6046 "source_info" : {
6047 "filename" : "include/int_source.p4",
6048 "line" : 48,
6049 "column" : 8,
6050 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
6051 }
6052 },
6053 {
6054 "op" : "assign",
6055 "parameters" : [
6056 {
6057 "type" : "field",
6058 "value" : ["int_header", "instruction_mask_1215"]
6059 },
6060 {
6061 "type" : "hexstr",
6062 "value" : "0x00"
6063 }
6064 ],
6065 "source_info" : {
6066 "filename" : "include/int_source.p4",
6067 "line" : 49,
6068 "column" : 8,
6069 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
6070 }
6071 },
6072 {
6073 "op" : "add_header",
6074 "parameters" : [
6075 {
6076 "type" : "header",
6077 "value" : "intl4_tail"
6078 }
6079 ],
6080 "source_info" : {
6081 "filename" : "include/int_source.p4",
6082 "line" : 52,
6083 "column" : 8,
6084 "source_fragment" : "hdr.intl4_tail.setValid()"
6085 }
6086 },
6087 {
6088 "op" : "assign",
6089 "parameters" : [
6090 {
6091 "type" : "field",
6092 "value" : ["intl4_tail", "next_proto"]
6093 },
6094 {
6095 "type" : "field",
6096 "value" : ["ipv4", "protocol"]
6097 }
6098 ],
6099 "source_info" : {
6100 "filename" : "include/int_source.p4",
6101 "line" : 53,
6102 "column" : 8,
6103 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
6104 }
6105 },
6106 {
6107 "op" : "assign",
6108 "parameters" : [
6109 {
6110 "type" : "field",
6111 "value" : ["intl4_tail", "dest_port"]
6112 },
6113 {
6114 "type" : "field",
6115 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
6116 }
6117 ],
6118 "source_info" : {
6119 "filename" : "include/int_source.p4",
6120 "line" : 54,
6121 "column" : 8,
6122 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
6123 }
6124 },
6125 {
6126 "op" : "assign",
6127 "parameters" : [
6128 {
6129 "type" : "field",
6130 "value" : ["intl4_tail", "dscp"]
6131 },
6132 {
6133 "type" : "expression",
6134 "value" : {
6135 "type" : "expression",
6136 "value" : {
6137 "op" : "&",
6138 "left" : {
6139 "type" : "field",
6140 "value" : ["ipv4", "dscp"]
6141 },
6142 "right" : {
6143 "type" : "hexstr",
6144 "value" : "0xff"
6145 }
6146 }
6147 }
6148 }
6149 ],
6150 "source_info" : {
6151 "filename" : "include/int_source.p4",
6152 "line" : 55,
6153 "column" : 8,
6154 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
6155 }
6156 },
6157 {
6158 "op" : "assign",
6159 "parameters" : [
6160 {
6161 "type" : "field",
6162 "value" : ["ipv4", "total_len"]
6163 },
6164 {
6165 "type" : "expression",
6166 "value" : {
6167 "type" : "expression",
6168 "value" : {
6169 "op" : "&",
6170 "left" : {
6171 "type" : "expression",
6172 "value" : {
6173 "op" : "+",
6174 "left" : {
6175 "type" : "field",
6176 "value" : ["ipv4", "total_len"]
6177 },
6178 "right" : {
6179 "type" : "hexstr",
6180 "value" : "0x0010"
6181 }
6182 }
6183 },
6184 "right" : {
6185 "type" : "hexstr",
6186 "value" : "0xffff"
6187 }
6188 }
6189 }
6190 }
6191 ],
6192 "source_info" : {
6193 "filename" : "include/int_source.p4",
6194 "line" : 58,
6195 "column" : 8,
6196 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
6197 }
6198 },
6199 {
6200 "op" : "assign",
6201 "parameters" : [
6202 {
6203 "type" : "field",
6204 "value" : ["udp", "len"]
6205 },
6206 {
6207 "type" : "expression",
6208 "value" : {
6209 "type" : "expression",
6210 "value" : {
6211 "op" : "&",
6212 "left" : {
6213 "type" : "expression",
6214 "value" : {
6215 "op" : "+",
6216 "left" : {
6217 "type" : "field",
6218 "value" : ["udp", "len"]
6219 },
6220 "right" : {
6221 "type" : "hexstr",
6222 "value" : "0x0010"
6223 }
6224 }
6225 },
6226 "right" : {
6227 "type" : "hexstr",
6228 "value" : "0xffff"
6229 }
6230 }
6231 }
6232 }
6233 ],
6234 "source_info" : {
6235 "filename" : "include/int_source.p4",
6236 "line" : 59,
6237 "column" : 8,
6238 "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
6239 }
6240 },
6241 {
6242 "op" : "assign",
6243 "parameters" : [
6244 {
6245 "type" : "field",
6246 "value" : ["ipv4", "dscp"]
6247 },
6248 {
6249 "type" : "hexstr",
6250 "value" : "0x01"
6251 }
6252 ],
6253 "source_info" : {
6254 "filename" : "include/control/../define.p4",
6255 "line" : 113,
6256 "column" : 24,
6257 "source_fragment" : "0x1; ..."
6258 }
6259 }
6260 ]
6261 },
6262 {
6263 "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
6264 "id" : 86,
6265 "runtime_data" : [],
6266 "primitives" : [
6267 {
6268 "op" : "assign",
6269 "parameters" : [
6270 {
6271 "type" : "field",
6272 "value" : ["int_header", "total_hop_cnt"]
6273 },
6274 {
6275 "type" : "expression",
6276 "value" : {
6277 "type" : "expression",
6278 "value" : {
6279 "op" : "&",
6280 "left" : {
6281 "type" : "expression",
6282 "value" : {
6283 "op" : "+",
6284 "left" : {
6285 "type" : "field",
6286 "value" : ["int_header", "total_hop_cnt"]
6287 },
6288 "right" : {
6289 "type" : "hexstr",
6290 "value" : "0x01"
6291 }
6292 }
6293 },
6294 "right" : {
6295 "type" : "hexstr",
6296 "value" : "0xff"
6297 }
6298 }
6299 }
6300 }
6301 ],
6302 "source_info" : {
6303 "filename" : "include/int_transit.p4",
6304 "line" : 30,
6305 "column" : 8,
6306 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
6307 }
6308 }
6309 ]
6310 },
6311 {
6312 "name" : "FabricEgress.process_int_transit.int_transit",
6313 "id" : 87,
6314 "runtime_data" : [
6315 {
6316 "name" : "switch_id",
6317 "bitwidth" : 32
6318 }
6319 ],
6320 "primitives" : [
6321 {
6322 "op" : "assign",
6323 "parameters" : [
6324 {
6325 "type" : "field",
6326 "value" : ["userMetadata.int_meta", "switch_id"]
6327 },
6328 {
6329 "type" : "runtime_data",
6330 "value" : 0
6331 }
6332 ],
6333 "source_info" : {
6334 "filename" : "include/int_transit.p4",
6335 "line" : 34,
6336 "column" : 8,
6337 "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
6338 }
6339 },
6340 {
6341 "op" : "assign",
6342 "parameters" : [
6343 {
6344 "type" : "field",
6345 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
6346 },
6347 {
6348 "type" : "expression",
6349 "value" : {
6350 "type" : "expression",
6351 "value" : {
6352 "op" : "&",
6353 "left" : {
6354 "type" : "expression",
6355 "value" : {
6356 "op" : "<<",
6357 "left" : {
6358 "type" : "expression",
6359 "value" : {
6360 "op" : "&",
6361 "left" : {
6362 "type" : "field",
6363 "value" : ["int_header", "ins_cnt"]
6364 },
6365 "right" : {
6366 "type" : "hexstr",
6367 "value" : "0xffff"
6368 }
6369 }
6370 },
6371 "right" : {
6372 "type" : "hexstr",
6373 "value" : "0x2"
6374 }
6375 }
6376 },
6377 "right" : {
6378 "type" : "hexstr",
6379 "value" : "0xffff"
6380 }
6381 }
6382 }
6383 }
6384 ],
6385 "source_info" : {
6386 "filename" : "include/int_transit.p4",
6387 "line" : 35,
6388 "column" : 8,
6389 "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
6390 }
6391 }
6392 ]
6393 },
6394 {
6395 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
6396 "id" : 88,
6397 "runtime_data" : [],
6398 "primitives" : []
6399 },
6400 {
6401 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
6402 "id" : 89,
6403 "runtime_data" : [],
6404 "primitives" : [
6405 {
6406 "op" : "add_header",
6407 "parameters" : [
6408 {
6409 "type" : "header",
6410 "value" : "int_q_occupancy"
6411 }
6412 ],
6413 "source_info" : {
6414 "filename" : "include/int_transit.p4",
6415 "line" : 57,
6416 "column" : 8,
6417 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6418 }
6419 },
6420 {
6421 "op" : "assign",
6422 "parameters" : [
6423 {
6424 "type" : "field",
6425 "value" : ["int_q_occupancy", "q_id"]
6426 },
6427 {
6428 "type" : "hexstr",
6429 "value" : "0x00"
6430 }
6431 ],
6432 "source_info" : {
6433 "filename" : "include/int_transit.p4",
6434 "line" : 58,
6435 "column" : 8,
6436 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6437 }
6438 },
6439 {
6440 "op" : "assign",
6441 "parameters" : [
6442 {
6443 "type" : "field",
6444 "value" : ["int_q_occupancy", "q_occupancy"]
6445 },
6446 {
6447 "type" : "expression",
6448 "value" : {
6449 "type" : "expression",
6450 "value" : {
6451 "op" : "&",
6452 "left" : {
6453 "type" : "field",
6454 "value" : ["standard_metadata", "deq_qdepth"]
6455 },
6456 "right" : {
6457 "type" : "hexstr",
6458 "value" : "0xffffff"
6459 }
6460 }
6461 }
6462 }
6463 ],
6464 "source_info" : {
6465 "filename" : "include/int_transit.p4",
6466 "line" : 61,
6467 "column" : 8,
6468 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6469 }
6470 }
6471 ]
6472 },
6473 {
6474 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
6475 "id" : 90,
6476 "runtime_data" : [],
6477 "primitives" : [
6478 {
6479 "op" : "add_header",
6480 "parameters" : [
6481 {
6482 "type" : "header",
6483 "value" : "int_hop_latency"
6484 }
6485 ],
6486 "source_info" : {
6487 "filename" : "include/int_transit.p4",
6488 "line" : 51,
6489 "column" : 8,
6490 "source_fragment" : "hdr.int_hop_latency.setValid()"
6491 }
6492 },
6493 {
6494 "op" : "assign",
6495 "parameters" : [
6496 {
6497 "type" : "field",
6498 "value" : ["int_hop_latency", "hop_latency"]
6499 },
6500 {
6501 "type" : "field",
6502 "value" : ["standard_metadata", "deq_timedelta"]
6503 }
6504 ],
6505 "source_info" : {
6506 "filename" : "include/int_transit.p4",
6507 "line" : 52,
6508 "column" : 8,
6509 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6510 }
6511 }
6512 ]
6513 },
6514 {
6515 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
6516 "id" : 91,
6517 "runtime_data" : [],
6518 "primitives" : [
6519 {
6520 "op" : "add_header",
6521 "parameters" : [
6522 {
6523 "type" : "header",
6524 "value" : "int_q_occupancy"
6525 }
6526 ],
6527 "source_info" : {
6528 "filename" : "include/int_transit.p4",
6529 "line" : 57,
6530 "column" : 8,
6531 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6532 }
6533 },
6534 {
6535 "op" : "assign",
6536 "parameters" : [
6537 {
6538 "type" : "field",
6539 "value" : ["int_q_occupancy", "q_id"]
6540 },
6541 {
6542 "type" : "hexstr",
6543 "value" : "0x00"
6544 }
6545 ],
6546 "source_info" : {
6547 "filename" : "include/int_transit.p4",
6548 "line" : 58,
6549 "column" : 8,
6550 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6551 }
6552 },
6553 {
6554 "op" : "assign",
6555 "parameters" : [
6556 {
6557 "type" : "field",
6558 "value" : ["int_q_occupancy", "q_occupancy"]
6559 },
6560 {
6561 "type" : "expression",
6562 "value" : {
6563 "type" : "expression",
6564 "value" : {
6565 "op" : "&",
6566 "left" : {
6567 "type" : "field",
6568 "value" : ["standard_metadata", "deq_qdepth"]
6569 },
6570 "right" : {
6571 "type" : "hexstr",
6572 "value" : "0xffffff"
6573 }
6574 }
6575 }
6576 }
6577 ],
6578 "source_info" : {
6579 "filename" : "include/int_transit.p4",
6580 "line" : 61,
6581 "column" : 8,
6582 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6583 }
6584 },
6585 {
6586 "op" : "add_header",
6587 "parameters" : [
6588 {
6589 "type" : "header",
6590 "value" : "int_hop_latency"
6591 }
6592 ],
6593 "source_info" : {
6594 "filename" : "include/int_transit.p4",
6595 "line" : 51,
6596 "column" : 8,
6597 "source_fragment" : "hdr.int_hop_latency.setValid()"
6598 }
6599 },
6600 {
6601 "op" : "assign",
6602 "parameters" : [
6603 {
6604 "type" : "field",
6605 "value" : ["int_hop_latency", "hop_latency"]
6606 },
6607 {
6608 "type" : "field",
6609 "value" : ["standard_metadata", "deq_timedelta"]
6610 }
6611 ],
6612 "source_info" : {
6613 "filename" : "include/int_transit.p4",
6614 "line" : 52,
6615 "column" : 8,
6616 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6617 }
6618 }
6619 ]
6620 },
6621 {
6622 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
6623 "id" : 92,
6624 "runtime_data" : [],
6625 "primitives" : [
6626 {
6627 "op" : "add_header",
6628 "parameters" : [
6629 {
6630 "type" : "header",
6631 "value" : "int_port_ids"
6632 }
6633 ],
6634 "source_info" : {
6635 "filename" : "include/int_transit.p4",
6636 "line" : 44,
6637 "column" : 8,
6638 "source_fragment" : "hdr.int_port_ids.setValid()"
6639 }
6640 },
6641 {
6642 "op" : "assign",
6643 "parameters" : [
6644 {
6645 "type" : "field",
6646 "value" : ["int_port_ids", "ingress_port_id"]
6647 },
6648 {
6649 "type" : "expression",
6650 "value" : {
6651 "type" : "expression",
6652 "value" : {
6653 "op" : "&",
6654 "left" : {
6655 "type" : "field",
6656 "value" : ["standard_metadata", "ingress_port"]
6657 },
6658 "right" : {
6659 "type" : "hexstr",
6660 "value" : "0xffff"
6661 }
6662 }
6663 }
6664 }
6665 ],
6666 "source_info" : {
6667 "filename" : "include/int_transit.p4",
6668 "line" : 45,
6669 "column" : 8,
6670 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6671 }
6672 },
6673 {
6674 "op" : "assign",
6675 "parameters" : [
6676 {
6677 "type" : "field",
6678 "value" : ["int_port_ids", "egress_port_id"]
6679 },
6680 {
6681 "type" : "expression",
6682 "value" : {
6683 "type" : "expression",
6684 "value" : {
6685 "op" : "&",
6686 "left" : {
6687 "type" : "field",
6688 "value" : ["standard_metadata", "egress_port"]
6689 },
6690 "right" : {
6691 "type" : "hexstr",
6692 "value" : "0xffff"
6693 }
6694 }
6695 }
6696 }
6697 ],
6698 "source_info" : {
6699 "filename" : "include/int_transit.p4",
6700 "line" : 47,
6701 "column" : 8,
6702 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6703 }
6704 }
6705 ]
6706 },
6707 {
6708 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
6709 "id" : 93,
6710 "runtime_data" : [],
6711 "primitives" : [
6712 {
6713 "op" : "add_header",
6714 "parameters" : [
6715 {
6716 "type" : "header",
6717 "value" : "int_q_occupancy"
6718 }
6719 ],
6720 "source_info" : {
6721 "filename" : "include/int_transit.p4",
6722 "line" : 57,
6723 "column" : 8,
6724 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6725 }
6726 },
6727 {
6728 "op" : "assign",
6729 "parameters" : [
6730 {
6731 "type" : "field",
6732 "value" : ["int_q_occupancy", "q_id"]
6733 },
6734 {
6735 "type" : "hexstr",
6736 "value" : "0x00"
6737 }
6738 ],
6739 "source_info" : {
6740 "filename" : "include/int_transit.p4",
6741 "line" : 58,
6742 "column" : 8,
6743 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6744 }
6745 },
6746 {
6747 "op" : "assign",
6748 "parameters" : [
6749 {
6750 "type" : "field",
6751 "value" : ["int_q_occupancy", "q_occupancy"]
6752 },
6753 {
6754 "type" : "expression",
6755 "value" : {
6756 "type" : "expression",
6757 "value" : {
6758 "op" : "&",
6759 "left" : {
6760 "type" : "field",
6761 "value" : ["standard_metadata", "deq_qdepth"]
6762 },
6763 "right" : {
6764 "type" : "hexstr",
6765 "value" : "0xffffff"
6766 }
6767 }
6768 }
6769 }
6770 ],
6771 "source_info" : {
6772 "filename" : "include/int_transit.p4",
6773 "line" : 61,
6774 "column" : 8,
6775 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6776 }
6777 },
6778 {
6779 "op" : "add_header",
6780 "parameters" : [
6781 {
6782 "type" : "header",
6783 "value" : "int_port_ids"
6784 }
6785 ],
6786 "source_info" : {
6787 "filename" : "include/int_transit.p4",
6788 "line" : 44,
6789 "column" : 8,
6790 "source_fragment" : "hdr.int_port_ids.setValid()"
6791 }
6792 },
6793 {
6794 "op" : "assign",
6795 "parameters" : [
6796 {
6797 "type" : "field",
6798 "value" : ["int_port_ids", "ingress_port_id"]
6799 },
6800 {
6801 "type" : "expression",
6802 "value" : {
6803 "type" : "expression",
6804 "value" : {
6805 "op" : "&",
6806 "left" : {
6807 "type" : "field",
6808 "value" : ["standard_metadata", "ingress_port"]
6809 },
6810 "right" : {
6811 "type" : "hexstr",
6812 "value" : "0xffff"
6813 }
6814 }
6815 }
6816 }
6817 ],
6818 "source_info" : {
6819 "filename" : "include/int_transit.p4",
6820 "line" : 45,
6821 "column" : 8,
6822 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6823 }
6824 },
6825 {
6826 "op" : "assign",
6827 "parameters" : [
6828 {
6829 "type" : "field",
6830 "value" : ["int_port_ids", "egress_port_id"]
6831 },
6832 {
6833 "type" : "expression",
6834 "value" : {
6835 "type" : "expression",
6836 "value" : {
6837 "op" : "&",
6838 "left" : {
6839 "type" : "field",
6840 "value" : ["standard_metadata", "egress_port"]
6841 },
6842 "right" : {
6843 "type" : "hexstr",
6844 "value" : "0xffff"
6845 }
6846 }
6847 }
6848 }
6849 ],
6850 "source_info" : {
6851 "filename" : "include/int_transit.p4",
6852 "line" : 47,
6853 "column" : 8,
6854 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6855 }
6856 }
6857 ]
6858 },
6859 {
6860 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
6861 "id" : 94,
6862 "runtime_data" : [],
6863 "primitives" : [
6864 {
6865 "op" : "add_header",
6866 "parameters" : [
6867 {
6868 "type" : "header",
6869 "value" : "int_hop_latency"
6870 }
6871 ],
6872 "source_info" : {
6873 "filename" : "include/int_transit.p4",
6874 "line" : 51,
6875 "column" : 8,
6876 "source_fragment" : "hdr.int_hop_latency.setValid()"
6877 }
6878 },
6879 {
6880 "op" : "assign",
6881 "parameters" : [
6882 {
6883 "type" : "field",
6884 "value" : ["int_hop_latency", "hop_latency"]
6885 },
6886 {
6887 "type" : "field",
6888 "value" : ["standard_metadata", "deq_timedelta"]
6889 }
6890 ],
6891 "source_info" : {
6892 "filename" : "include/int_transit.p4",
6893 "line" : 52,
6894 "column" : 8,
6895 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6896 }
6897 },
6898 {
6899 "op" : "add_header",
6900 "parameters" : [
6901 {
6902 "type" : "header",
6903 "value" : "int_port_ids"
6904 }
6905 ],
6906 "source_info" : {
6907 "filename" : "include/int_transit.p4",
6908 "line" : 44,
6909 "column" : 8,
6910 "source_fragment" : "hdr.int_port_ids.setValid()"
6911 }
6912 },
6913 {
6914 "op" : "assign",
6915 "parameters" : [
6916 {
6917 "type" : "field",
6918 "value" : ["int_port_ids", "ingress_port_id"]
6919 },
6920 {
6921 "type" : "expression",
6922 "value" : {
6923 "type" : "expression",
6924 "value" : {
6925 "op" : "&",
6926 "left" : {
6927 "type" : "field",
6928 "value" : ["standard_metadata", "ingress_port"]
6929 },
6930 "right" : {
6931 "type" : "hexstr",
6932 "value" : "0xffff"
6933 }
6934 }
6935 }
6936 }
6937 ],
6938 "source_info" : {
6939 "filename" : "include/int_transit.p4",
6940 "line" : 45,
6941 "column" : 8,
6942 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6943 }
6944 },
6945 {
6946 "op" : "assign",
6947 "parameters" : [
6948 {
6949 "type" : "field",
6950 "value" : ["int_port_ids", "egress_port_id"]
6951 },
6952 {
6953 "type" : "expression",
6954 "value" : {
6955 "type" : "expression",
6956 "value" : {
6957 "op" : "&",
6958 "left" : {
6959 "type" : "field",
6960 "value" : ["standard_metadata", "egress_port"]
6961 },
6962 "right" : {
6963 "type" : "hexstr",
6964 "value" : "0xffff"
6965 }
6966 }
6967 }
6968 }
6969 ],
6970 "source_info" : {
6971 "filename" : "include/int_transit.p4",
6972 "line" : 47,
6973 "column" : 8,
6974 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6975 }
6976 }
6977 ]
6978 },
6979 {
6980 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
6981 "id" : 95,
6982 "runtime_data" : [],
6983 "primitives" : [
6984 {
6985 "op" : "add_header",
6986 "parameters" : [
6987 {
6988 "type" : "header",
6989 "value" : "int_q_occupancy"
6990 }
6991 ],
6992 "source_info" : {
6993 "filename" : "include/int_transit.p4",
6994 "line" : 57,
6995 "column" : 8,
6996 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6997 }
6998 },
6999 {
7000 "op" : "assign",
7001 "parameters" : [
7002 {
7003 "type" : "field",
7004 "value" : ["int_q_occupancy", "q_id"]
7005 },
7006 {
7007 "type" : "hexstr",
7008 "value" : "0x00"
7009 }
7010 ],
7011 "source_info" : {
7012 "filename" : "include/int_transit.p4",
7013 "line" : 58,
7014 "column" : 8,
7015 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7016 }
7017 },
7018 {
7019 "op" : "assign",
7020 "parameters" : [
7021 {
7022 "type" : "field",
7023 "value" : ["int_q_occupancy", "q_occupancy"]
7024 },
7025 {
7026 "type" : "expression",
7027 "value" : {
7028 "type" : "expression",
7029 "value" : {
7030 "op" : "&",
7031 "left" : {
7032 "type" : "field",
7033 "value" : ["standard_metadata", "deq_qdepth"]
7034 },
7035 "right" : {
7036 "type" : "hexstr",
7037 "value" : "0xffffff"
7038 }
7039 }
7040 }
7041 }
7042 ],
7043 "source_info" : {
7044 "filename" : "include/int_transit.p4",
7045 "line" : 61,
7046 "column" : 8,
7047 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7048 }
7049 },
7050 {
7051 "op" : "add_header",
7052 "parameters" : [
7053 {
7054 "type" : "header",
7055 "value" : "int_hop_latency"
7056 }
7057 ],
7058 "source_info" : {
7059 "filename" : "include/int_transit.p4",
7060 "line" : 51,
7061 "column" : 8,
7062 "source_fragment" : "hdr.int_hop_latency.setValid()"
7063 }
7064 },
7065 {
7066 "op" : "assign",
7067 "parameters" : [
7068 {
7069 "type" : "field",
7070 "value" : ["int_hop_latency", "hop_latency"]
7071 },
7072 {
7073 "type" : "field",
7074 "value" : ["standard_metadata", "deq_timedelta"]
7075 }
7076 ],
7077 "source_info" : {
7078 "filename" : "include/int_transit.p4",
7079 "line" : 52,
7080 "column" : 8,
7081 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7082 }
7083 },
7084 {
7085 "op" : "add_header",
7086 "parameters" : [
7087 {
7088 "type" : "header",
7089 "value" : "int_port_ids"
7090 }
7091 ],
7092 "source_info" : {
7093 "filename" : "include/int_transit.p4",
7094 "line" : 44,
7095 "column" : 8,
7096 "source_fragment" : "hdr.int_port_ids.setValid()"
7097 }
7098 },
7099 {
7100 "op" : "assign",
7101 "parameters" : [
7102 {
7103 "type" : "field",
7104 "value" : ["int_port_ids", "ingress_port_id"]
7105 },
7106 {
7107 "type" : "expression",
7108 "value" : {
7109 "type" : "expression",
7110 "value" : {
7111 "op" : "&",
7112 "left" : {
7113 "type" : "field",
7114 "value" : ["standard_metadata", "ingress_port"]
7115 },
7116 "right" : {
7117 "type" : "hexstr",
7118 "value" : "0xffff"
7119 }
7120 }
7121 }
7122 }
7123 ],
7124 "source_info" : {
7125 "filename" : "include/int_transit.p4",
7126 "line" : 45,
7127 "column" : 8,
7128 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7129 }
7130 },
7131 {
7132 "op" : "assign",
7133 "parameters" : [
7134 {
7135 "type" : "field",
7136 "value" : ["int_port_ids", "egress_port_id"]
7137 },
7138 {
7139 "type" : "expression",
7140 "value" : {
7141 "type" : "expression",
7142 "value" : {
7143 "op" : "&",
7144 "left" : {
7145 "type" : "field",
7146 "value" : ["standard_metadata", "egress_port"]
7147 },
7148 "right" : {
7149 "type" : "hexstr",
7150 "value" : "0xffff"
7151 }
7152 }
7153 }
7154 }
7155 ],
7156 "source_info" : {
7157 "filename" : "include/int_transit.p4",
7158 "line" : 47,
7159 "column" : 8,
7160 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7161 }
7162 }
7163 ]
7164 },
7165 {
7166 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
7167 "id" : 96,
7168 "runtime_data" : [],
7169 "primitives" : [
7170 {
7171 "op" : "add_header",
7172 "parameters" : [
7173 {
7174 "type" : "header",
7175 "value" : "int_switch_id"
7176 }
7177 ],
7178 "source_info" : {
7179 "filename" : "include/int_transit.p4",
7180 "line" : 40,
7181 "column" : 8,
7182 "source_fragment" : "hdr.int_switch_id.setValid()"
7183 }
7184 },
7185 {
7186 "op" : "assign",
7187 "parameters" : [
7188 {
7189 "type" : "field",
7190 "value" : ["int_switch_id", "switch_id"]
7191 },
7192 {
7193 "type" : "field",
7194 "value" : ["userMetadata.int_meta", "switch_id"]
7195 }
7196 ],
7197 "source_info" : {
7198 "filename" : "include/int_transit.p4",
7199 "line" : 41,
7200 "column" : 8,
7201 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7202 }
7203 }
7204 ]
7205 },
7206 {
7207 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
7208 "id" : 97,
7209 "runtime_data" : [],
7210 "primitives" : [
7211 {
7212 "op" : "add_header",
7213 "parameters" : [
7214 {
7215 "type" : "header",
7216 "value" : "int_q_occupancy"
7217 }
7218 ],
7219 "source_info" : {
7220 "filename" : "include/int_transit.p4",
7221 "line" : 57,
7222 "column" : 8,
7223 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7224 }
7225 },
7226 {
7227 "op" : "assign",
7228 "parameters" : [
7229 {
7230 "type" : "field",
7231 "value" : ["int_q_occupancy", "q_id"]
7232 },
7233 {
7234 "type" : "hexstr",
7235 "value" : "0x00"
7236 }
7237 ],
7238 "source_info" : {
7239 "filename" : "include/int_transit.p4",
7240 "line" : 58,
7241 "column" : 8,
7242 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7243 }
7244 },
7245 {
7246 "op" : "assign",
7247 "parameters" : [
7248 {
7249 "type" : "field",
7250 "value" : ["int_q_occupancy", "q_occupancy"]
7251 },
7252 {
7253 "type" : "expression",
7254 "value" : {
7255 "type" : "expression",
7256 "value" : {
7257 "op" : "&",
7258 "left" : {
7259 "type" : "field",
7260 "value" : ["standard_metadata", "deq_qdepth"]
7261 },
7262 "right" : {
7263 "type" : "hexstr",
7264 "value" : "0xffffff"
7265 }
7266 }
7267 }
7268 }
7269 ],
7270 "source_info" : {
7271 "filename" : "include/int_transit.p4",
7272 "line" : 61,
7273 "column" : 8,
7274 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7275 }
7276 },
7277 {
7278 "op" : "add_header",
7279 "parameters" : [
7280 {
7281 "type" : "header",
7282 "value" : "int_switch_id"
7283 }
7284 ],
7285 "source_info" : {
7286 "filename" : "include/int_transit.p4",
7287 "line" : 40,
7288 "column" : 8,
7289 "source_fragment" : "hdr.int_switch_id.setValid()"
7290 }
7291 },
7292 {
7293 "op" : "assign",
7294 "parameters" : [
7295 {
7296 "type" : "field",
7297 "value" : ["int_switch_id", "switch_id"]
7298 },
7299 {
7300 "type" : "field",
7301 "value" : ["userMetadata.int_meta", "switch_id"]
7302 }
7303 ],
7304 "source_info" : {
7305 "filename" : "include/int_transit.p4",
7306 "line" : 41,
7307 "column" : 8,
7308 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7309 }
7310 }
7311 ]
7312 },
7313 {
7314 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
7315 "id" : 98,
7316 "runtime_data" : [],
7317 "primitives" : [
7318 {
7319 "op" : "add_header",
7320 "parameters" : [
7321 {
7322 "type" : "header",
7323 "value" : "int_hop_latency"
7324 }
7325 ],
7326 "source_info" : {
7327 "filename" : "include/int_transit.p4",
7328 "line" : 51,
7329 "column" : 8,
7330 "source_fragment" : "hdr.int_hop_latency.setValid()"
7331 }
7332 },
7333 {
7334 "op" : "assign",
7335 "parameters" : [
7336 {
7337 "type" : "field",
7338 "value" : ["int_hop_latency", "hop_latency"]
7339 },
7340 {
7341 "type" : "field",
7342 "value" : ["standard_metadata", "deq_timedelta"]
7343 }
7344 ],
7345 "source_info" : {
7346 "filename" : "include/int_transit.p4",
7347 "line" : 52,
7348 "column" : 8,
7349 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7350 }
7351 },
7352 {
7353 "op" : "add_header",
7354 "parameters" : [
7355 {
7356 "type" : "header",
7357 "value" : "int_switch_id"
7358 }
7359 ],
7360 "source_info" : {
7361 "filename" : "include/int_transit.p4",
7362 "line" : 40,
7363 "column" : 8,
7364 "source_fragment" : "hdr.int_switch_id.setValid()"
7365 }
7366 },
7367 {
7368 "op" : "assign",
7369 "parameters" : [
7370 {
7371 "type" : "field",
7372 "value" : ["int_switch_id", "switch_id"]
7373 },
7374 {
7375 "type" : "field",
7376 "value" : ["userMetadata.int_meta", "switch_id"]
7377 }
7378 ],
7379 "source_info" : {
7380 "filename" : "include/int_transit.p4",
7381 "line" : 41,
7382 "column" : 8,
7383 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7384 }
7385 }
7386 ]
7387 },
7388 {
7389 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
7390 "id" : 99,
7391 "runtime_data" : [],
7392 "primitives" : [
7393 {
7394 "op" : "add_header",
7395 "parameters" : [
7396 {
7397 "type" : "header",
7398 "value" : "int_q_occupancy"
7399 }
7400 ],
7401 "source_info" : {
7402 "filename" : "include/int_transit.p4",
7403 "line" : 57,
7404 "column" : 8,
7405 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7406 }
7407 },
7408 {
7409 "op" : "assign",
7410 "parameters" : [
7411 {
7412 "type" : "field",
7413 "value" : ["int_q_occupancy", "q_id"]
7414 },
7415 {
7416 "type" : "hexstr",
7417 "value" : "0x00"
7418 }
7419 ],
7420 "source_info" : {
7421 "filename" : "include/int_transit.p4",
7422 "line" : 58,
7423 "column" : 8,
7424 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7425 }
7426 },
7427 {
7428 "op" : "assign",
7429 "parameters" : [
7430 {
7431 "type" : "field",
7432 "value" : ["int_q_occupancy", "q_occupancy"]
7433 },
7434 {
7435 "type" : "expression",
7436 "value" : {
7437 "type" : "expression",
7438 "value" : {
7439 "op" : "&",
7440 "left" : {
7441 "type" : "field",
7442 "value" : ["standard_metadata", "deq_qdepth"]
7443 },
7444 "right" : {
7445 "type" : "hexstr",
7446 "value" : "0xffffff"
7447 }
7448 }
7449 }
7450 }
7451 ],
7452 "source_info" : {
7453 "filename" : "include/int_transit.p4",
7454 "line" : 61,
7455 "column" : 8,
7456 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7457 }
7458 },
7459 {
7460 "op" : "add_header",
7461 "parameters" : [
7462 {
7463 "type" : "header",
7464 "value" : "int_hop_latency"
7465 }
7466 ],
7467 "source_info" : {
7468 "filename" : "include/int_transit.p4",
7469 "line" : 51,
7470 "column" : 8,
7471 "source_fragment" : "hdr.int_hop_latency.setValid()"
7472 }
7473 },
7474 {
7475 "op" : "assign",
7476 "parameters" : [
7477 {
7478 "type" : "field",
7479 "value" : ["int_hop_latency", "hop_latency"]
7480 },
7481 {
7482 "type" : "field",
7483 "value" : ["standard_metadata", "deq_timedelta"]
7484 }
7485 ],
7486 "source_info" : {
7487 "filename" : "include/int_transit.p4",
7488 "line" : 52,
7489 "column" : 8,
7490 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7491 }
7492 },
7493 {
7494 "op" : "add_header",
7495 "parameters" : [
7496 {
7497 "type" : "header",
7498 "value" : "int_switch_id"
7499 }
7500 ],
7501 "source_info" : {
7502 "filename" : "include/int_transit.p4",
7503 "line" : 40,
7504 "column" : 8,
7505 "source_fragment" : "hdr.int_switch_id.setValid()"
7506 }
7507 },
7508 {
7509 "op" : "assign",
7510 "parameters" : [
7511 {
7512 "type" : "field",
7513 "value" : ["int_switch_id", "switch_id"]
7514 },
7515 {
7516 "type" : "field",
7517 "value" : ["userMetadata.int_meta", "switch_id"]
7518 }
7519 ],
7520 "source_info" : {
7521 "filename" : "include/int_transit.p4",
7522 "line" : 41,
7523 "column" : 8,
7524 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7525 }
7526 }
7527 ]
7528 },
7529 {
7530 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
7531 "id" : 100,
7532 "runtime_data" : [],
7533 "primitives" : [
7534 {
7535 "op" : "add_header",
7536 "parameters" : [
7537 {
7538 "type" : "header",
7539 "value" : "int_port_ids"
7540 }
7541 ],
7542 "source_info" : {
7543 "filename" : "include/int_transit.p4",
7544 "line" : 44,
7545 "column" : 8,
7546 "source_fragment" : "hdr.int_port_ids.setValid()"
7547 }
7548 },
7549 {
7550 "op" : "assign",
7551 "parameters" : [
7552 {
7553 "type" : "field",
7554 "value" : ["int_port_ids", "ingress_port_id"]
7555 },
7556 {
7557 "type" : "expression",
7558 "value" : {
7559 "type" : "expression",
7560 "value" : {
7561 "op" : "&",
7562 "left" : {
7563 "type" : "field",
7564 "value" : ["standard_metadata", "ingress_port"]
7565 },
7566 "right" : {
7567 "type" : "hexstr",
7568 "value" : "0xffff"
7569 }
7570 }
7571 }
7572 }
7573 ],
7574 "source_info" : {
7575 "filename" : "include/int_transit.p4",
7576 "line" : 45,
7577 "column" : 8,
7578 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7579 }
7580 },
7581 {
7582 "op" : "assign",
7583 "parameters" : [
7584 {
7585 "type" : "field",
7586 "value" : ["int_port_ids", "egress_port_id"]
7587 },
7588 {
7589 "type" : "expression",
7590 "value" : {
7591 "type" : "expression",
7592 "value" : {
7593 "op" : "&",
7594 "left" : {
7595 "type" : "field",
7596 "value" : ["standard_metadata", "egress_port"]
7597 },
7598 "right" : {
7599 "type" : "hexstr",
7600 "value" : "0xffff"
7601 }
7602 }
7603 }
7604 }
7605 ],
7606 "source_info" : {
7607 "filename" : "include/int_transit.p4",
7608 "line" : 47,
7609 "column" : 8,
7610 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7611 }
7612 },
7613 {
7614 "op" : "add_header",
7615 "parameters" : [
7616 {
7617 "type" : "header",
7618 "value" : "int_switch_id"
7619 }
7620 ],
7621 "source_info" : {
7622 "filename" : "include/int_transit.p4",
7623 "line" : 40,
7624 "column" : 8,
7625 "source_fragment" : "hdr.int_switch_id.setValid()"
7626 }
7627 },
7628 {
7629 "op" : "assign",
7630 "parameters" : [
7631 {
7632 "type" : "field",
7633 "value" : ["int_switch_id", "switch_id"]
7634 },
7635 {
7636 "type" : "field",
7637 "value" : ["userMetadata.int_meta", "switch_id"]
7638 }
7639 ],
7640 "source_info" : {
7641 "filename" : "include/int_transit.p4",
7642 "line" : 41,
7643 "column" : 8,
7644 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7645 }
7646 }
7647 ]
7648 },
7649 {
7650 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
7651 "id" : 101,
7652 "runtime_data" : [],
7653 "primitives" : [
7654 {
7655 "op" : "add_header",
7656 "parameters" : [
7657 {
7658 "type" : "header",
7659 "value" : "int_q_occupancy"
7660 }
7661 ],
7662 "source_info" : {
7663 "filename" : "include/int_transit.p4",
7664 "line" : 57,
7665 "column" : 8,
7666 "source_fragment" : "hdr.int_q_occupancy.setValid()"
7667 }
7668 },
7669 {
7670 "op" : "assign",
7671 "parameters" : [
7672 {
7673 "type" : "field",
7674 "value" : ["int_q_occupancy", "q_id"]
7675 },
7676 {
7677 "type" : "hexstr",
7678 "value" : "0x00"
7679 }
7680 ],
7681 "source_info" : {
7682 "filename" : "include/int_transit.p4",
7683 "line" : 58,
7684 "column" : 8,
7685 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
7686 }
7687 },
7688 {
7689 "op" : "assign",
7690 "parameters" : [
7691 {
7692 "type" : "field",
7693 "value" : ["int_q_occupancy", "q_occupancy"]
7694 },
7695 {
7696 "type" : "expression",
7697 "value" : {
7698 "type" : "expression",
7699 "value" : {
7700 "op" : "&",
7701 "left" : {
7702 "type" : "field",
7703 "value" : ["standard_metadata", "deq_qdepth"]
7704 },
7705 "right" : {
7706 "type" : "hexstr",
7707 "value" : "0xffffff"
7708 }
7709 }
7710 }
7711 }
7712 ],
7713 "source_info" : {
7714 "filename" : "include/int_transit.p4",
7715 "line" : 61,
7716 "column" : 8,
7717 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
7718 }
7719 },
7720 {
7721 "op" : "add_header",
7722 "parameters" : [
7723 {
7724 "type" : "header",
7725 "value" : "int_port_ids"
7726 }
7727 ],
7728 "source_info" : {
7729 "filename" : "include/int_transit.p4",
7730 "line" : 44,
7731 "column" : 8,
7732 "source_fragment" : "hdr.int_port_ids.setValid()"
7733 }
7734 },
7735 {
7736 "op" : "assign",
7737 "parameters" : [
7738 {
7739 "type" : "field",
7740 "value" : ["int_port_ids", "ingress_port_id"]
7741 },
7742 {
7743 "type" : "expression",
7744 "value" : {
7745 "type" : "expression",
7746 "value" : {
7747 "op" : "&",
7748 "left" : {
7749 "type" : "field",
7750 "value" : ["standard_metadata", "ingress_port"]
7751 },
7752 "right" : {
7753 "type" : "hexstr",
7754 "value" : "0xffff"
7755 }
7756 }
7757 }
7758 }
7759 ],
7760 "source_info" : {
7761 "filename" : "include/int_transit.p4",
7762 "line" : 45,
7763 "column" : 8,
7764 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7765 }
7766 },
7767 {
7768 "op" : "assign",
7769 "parameters" : [
7770 {
7771 "type" : "field",
7772 "value" : ["int_port_ids", "egress_port_id"]
7773 },
7774 {
7775 "type" : "expression",
7776 "value" : {
7777 "type" : "expression",
7778 "value" : {
7779 "op" : "&",
7780 "left" : {
7781 "type" : "field",
7782 "value" : ["standard_metadata", "egress_port"]
7783 },
7784 "right" : {
7785 "type" : "hexstr",
7786 "value" : "0xffff"
7787 }
7788 }
7789 }
7790 }
7791 ],
7792 "source_info" : {
7793 "filename" : "include/int_transit.p4",
7794 "line" : 47,
7795 "column" : 8,
7796 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7797 }
7798 },
7799 {
7800 "op" : "add_header",
7801 "parameters" : [
7802 {
7803 "type" : "header",
7804 "value" : "int_switch_id"
7805 }
7806 ],
7807 "source_info" : {
7808 "filename" : "include/int_transit.p4",
7809 "line" : 40,
7810 "column" : 8,
7811 "source_fragment" : "hdr.int_switch_id.setValid()"
7812 }
7813 },
7814 {
7815 "op" : "assign",
7816 "parameters" : [
7817 {
7818 "type" : "field",
7819 "value" : ["int_switch_id", "switch_id"]
7820 },
7821 {
7822 "type" : "field",
7823 "value" : ["userMetadata.int_meta", "switch_id"]
7824 }
7825 ],
7826 "source_info" : {
7827 "filename" : "include/int_transit.p4",
7828 "line" : 41,
7829 "column" : 8,
7830 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7831 }
7832 }
7833 ]
7834 },
7835 {
7836 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
7837 "id" : 102,
7838 "runtime_data" : [],
7839 "primitives" : [
7840 {
7841 "op" : "add_header",
7842 "parameters" : [
7843 {
7844 "type" : "header",
7845 "value" : "int_hop_latency"
7846 }
7847 ],
7848 "source_info" : {
7849 "filename" : "include/int_transit.p4",
7850 "line" : 51,
7851 "column" : 8,
7852 "source_fragment" : "hdr.int_hop_latency.setValid()"
7853 }
7854 },
7855 {
7856 "op" : "assign",
7857 "parameters" : [
7858 {
7859 "type" : "field",
7860 "value" : ["int_hop_latency", "hop_latency"]
7861 },
7862 {
7863 "type" : "field",
7864 "value" : ["standard_metadata", "deq_timedelta"]
7865 }
7866 ],
7867 "source_info" : {
7868 "filename" : "include/int_transit.p4",
7869 "line" : 52,
7870 "column" : 8,
7871 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
7872 }
7873 },
7874 {
7875 "op" : "add_header",
7876 "parameters" : [
7877 {
7878 "type" : "header",
7879 "value" : "int_port_ids"
7880 }
7881 ],
7882 "source_info" : {
7883 "filename" : "include/int_transit.p4",
7884 "line" : 44,
7885 "column" : 8,
7886 "source_fragment" : "hdr.int_port_ids.setValid()"
7887 }
7888 },
7889 {
7890 "op" : "assign",
7891 "parameters" : [
7892 {
7893 "type" : "field",
7894 "value" : ["int_port_ids", "ingress_port_id"]
7895 },
7896 {
7897 "type" : "expression",
7898 "value" : {
7899 "type" : "expression",
7900 "value" : {
7901 "op" : "&",
7902 "left" : {
7903 "type" : "field",
7904 "value" : ["standard_metadata", "ingress_port"]
7905 },
7906 "right" : {
7907 "type" : "hexstr",
7908 "value" : "0xffff"
7909 }
7910 }
7911 }
7912 }
7913 ],
7914 "source_info" : {
7915 "filename" : "include/int_transit.p4",
7916 "line" : 45,
7917 "column" : 8,
7918 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
7919 }
7920 },
7921 {
7922 "op" : "assign",
7923 "parameters" : [
7924 {
7925 "type" : "field",
7926 "value" : ["int_port_ids", "egress_port_id"]
7927 },
7928 {
7929 "type" : "expression",
7930 "value" : {
7931 "type" : "expression",
7932 "value" : {
7933 "op" : "&",
7934 "left" : {
7935 "type" : "field",
7936 "value" : ["standard_metadata", "egress_port"]
7937 },
7938 "right" : {
7939 "type" : "hexstr",
7940 "value" : "0xffff"
7941 }
7942 }
7943 }
7944 }
7945 ],
7946 "source_info" : {
7947 "filename" : "include/int_transit.p4",
7948 "line" : 47,
7949 "column" : 8,
7950 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
7951 }
7952 },
7953 {
7954 "op" : "add_header",
7955 "parameters" : [
7956 {
7957 "type" : "header",
7958 "value" : "int_switch_id"
7959 }
7960 ],
7961 "source_info" : {
7962 "filename" : "include/int_transit.p4",
7963 "line" : 40,
7964 "column" : 8,
7965 "source_fragment" : "hdr.int_switch_id.setValid()"
7966 }
7967 },
7968 {
7969 "op" : "assign",
7970 "parameters" : [
7971 {
7972 "type" : "field",
7973 "value" : ["int_switch_id", "switch_id"]
7974 },
7975 {
7976 "type" : "field",
7977 "value" : ["userMetadata.int_meta", "switch_id"]
7978 }
7979 ],
7980 "source_info" : {
7981 "filename" : "include/int_transit.p4",
7982 "line" : 41,
7983 "column" : 8,
7984 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
7985 }
7986 }
7987 ]
7988 },
7989 {
7990 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
7991 "id" : 103,
7992 "runtime_data" : [],
7993 "primitives" : [
7994 {
7995 "op" : "add_header",
7996 "parameters" : [
7997 {
7998 "type" : "header",
7999 "value" : "int_q_occupancy"
8000 }
8001 ],
8002 "source_info" : {
8003 "filename" : "include/int_transit.p4",
8004 "line" : 57,
8005 "column" : 8,
8006 "source_fragment" : "hdr.int_q_occupancy.setValid()"
8007 }
8008 },
8009 {
8010 "op" : "assign",
8011 "parameters" : [
8012 {
8013 "type" : "field",
8014 "value" : ["int_q_occupancy", "q_id"]
8015 },
8016 {
8017 "type" : "hexstr",
8018 "value" : "0x00"
8019 }
8020 ],
8021 "source_info" : {
8022 "filename" : "include/int_transit.p4",
8023 "line" : 58,
8024 "column" : 8,
8025 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
8026 }
8027 },
8028 {
8029 "op" : "assign",
8030 "parameters" : [
8031 {
8032 "type" : "field",
8033 "value" : ["int_q_occupancy", "q_occupancy"]
8034 },
8035 {
8036 "type" : "expression",
8037 "value" : {
8038 "type" : "expression",
8039 "value" : {
8040 "op" : "&",
8041 "left" : {
8042 "type" : "field",
8043 "value" : ["standard_metadata", "deq_qdepth"]
8044 },
8045 "right" : {
8046 "type" : "hexstr",
8047 "value" : "0xffffff"
8048 }
8049 }
8050 }
8051 }
8052 ],
8053 "source_info" : {
8054 "filename" : "include/int_transit.p4",
8055 "line" : 61,
8056 "column" : 8,
8057 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
8058 }
8059 },
8060 {
8061 "op" : "add_header",
8062 "parameters" : [
8063 {
8064 "type" : "header",
8065 "value" : "int_hop_latency"
8066 }
8067 ],
8068 "source_info" : {
8069 "filename" : "include/int_transit.p4",
8070 "line" : 51,
8071 "column" : 8,
8072 "source_fragment" : "hdr.int_hop_latency.setValid()"
8073 }
8074 },
8075 {
8076 "op" : "assign",
8077 "parameters" : [
8078 {
8079 "type" : "field",
8080 "value" : ["int_hop_latency", "hop_latency"]
8081 },
8082 {
8083 "type" : "field",
8084 "value" : ["standard_metadata", "deq_timedelta"]
8085 }
8086 ],
8087 "source_info" : {
8088 "filename" : "include/int_transit.p4",
8089 "line" : 52,
8090 "column" : 8,
8091 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
8092 }
8093 },
8094 {
8095 "op" : "add_header",
8096 "parameters" : [
8097 {
8098 "type" : "header",
8099 "value" : "int_port_ids"
8100 }
8101 ],
8102 "source_info" : {
8103 "filename" : "include/int_transit.p4",
8104 "line" : 44,
8105 "column" : 8,
8106 "source_fragment" : "hdr.int_port_ids.setValid()"
8107 }
8108 },
8109 {
8110 "op" : "assign",
8111 "parameters" : [
8112 {
8113 "type" : "field",
8114 "value" : ["int_port_ids", "ingress_port_id"]
8115 },
8116 {
8117 "type" : "expression",
8118 "value" : {
8119 "type" : "expression",
8120 "value" : {
8121 "op" : "&",
8122 "left" : {
8123 "type" : "field",
8124 "value" : ["standard_metadata", "ingress_port"]
8125 },
8126 "right" : {
8127 "type" : "hexstr",
8128 "value" : "0xffff"
8129 }
8130 }
8131 }
8132 }
8133 ],
8134 "source_info" : {
8135 "filename" : "include/int_transit.p4",
8136 "line" : 45,
8137 "column" : 8,
8138 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
8139 }
8140 },
8141 {
8142 "op" : "assign",
8143 "parameters" : [
8144 {
8145 "type" : "field",
8146 "value" : ["int_port_ids", "egress_port_id"]
8147 },
8148 {
8149 "type" : "expression",
8150 "value" : {
8151 "type" : "expression",
8152 "value" : {
8153 "op" : "&",
8154 "left" : {
8155 "type" : "field",
8156 "value" : ["standard_metadata", "egress_port"]
8157 },
8158 "right" : {
8159 "type" : "hexstr",
8160 "value" : "0xffff"
8161 }
8162 }
8163 }
8164 }
8165 ],
8166 "source_info" : {
8167 "filename" : "include/int_transit.p4",
8168 "line" : 47,
8169 "column" : 8,
8170 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
8171 }
8172 },
8173 {
8174 "op" : "add_header",
8175 "parameters" : [
8176 {
8177 "type" : "header",
8178 "value" : "int_switch_id"
8179 }
8180 ],
8181 "source_info" : {
8182 "filename" : "include/int_transit.p4",
8183 "line" : 40,
8184 "column" : 8,
8185 "source_fragment" : "hdr.int_switch_id.setValid()"
8186 }
8187 },
8188 {
8189 "op" : "assign",
8190 "parameters" : [
8191 {
8192 "type" : "field",
8193 "value" : ["int_switch_id", "switch_id"]
8194 },
8195 {
8196 "type" : "field",
8197 "value" : ["userMetadata.int_meta", "switch_id"]
8198 }
8199 ],
8200 "source_info" : {
8201 "filename" : "include/int_transit.p4",
8202 "line" : 41,
8203 "column" : 8,
8204 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
8205 }
8206 }
8207 ]
8208 },
8209 {
8210 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
8211 "id" : 104,
8212 "runtime_data" : [],
8213 "primitives" : []
8214 },
8215 {
8216 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
8217 "id" : 105,
8218 "runtime_data" : [],
8219 "primitives" : [
8220 {
8221 "op" : "add_header",
8222 "parameters" : [
8223 {
8224 "type" : "header",
8225 "value" : "int_egress_tx_util"
8226 }
8227 ],
8228 "source_info" : {
8229 "filename" : "include/int_transit.p4",
8230 "line" : 88,
8231 "column" : 8,
8232 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8233 }
8234 },
8235 {
8236 "op" : "assign",
8237 "parameters" : [
8238 {
8239 "type" : "field",
8240 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8241 },
8242 {
8243 "type" : "hexstr",
8244 "value" : "0x00000000"
8245 }
8246 ],
8247 "source_info" : {
8248 "filename" : "include/int_transit.p4",
8249 "line" : 89,
8250 "column" : 8,
8251 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8252 }
8253 }
8254 ]
8255 },
8256 {
8257 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
8258 "id" : 106,
8259 "runtime_data" : [],
8260 "primitives" : [
8261 {
8262 "op" : "add_header",
8263 "parameters" : [
8264 {
8265 "type" : "header",
8266 "value" : "int_q_congestion"
8267 }
8268 ],
8269 "source_info" : {
8270 "filename" : "include/int_transit.p4",
8271 "line" : 78,
8272 "column" : 8,
8273 "source_fragment" : "hdr.int_q_congestion.setValid()"
8274 }
8275 },
8276 {
8277 "op" : "assign",
8278 "parameters" : [
8279 {
8280 "type" : "field",
8281 "value" : ["int_q_congestion", "q_id"]
8282 },
8283 {
8284 "type" : "hexstr",
8285 "value" : "0x00"
8286 }
8287 ],
8288 "source_info" : {
8289 "filename" : "include/int_transit.p4",
8290 "line" : 79,
8291 "column" : 8,
8292 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8293 }
8294 },
8295 {
8296 "op" : "assign",
8297 "parameters" : [
8298 {
8299 "type" : "field",
8300 "value" : ["int_q_congestion", "q_congestion"]
8301 },
8302 {
8303 "type" : "hexstr",
8304 "value" : "0x000000"
8305 }
8306 ],
8307 "source_info" : {
8308 "filename" : "include/int_transit.p4",
8309 "line" : 82,
8310 "column" : 8,
8311 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8312 }
8313 }
8314 ]
8315 },
8316 {
8317 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
8318 "id" : 107,
8319 "runtime_data" : [],
8320 "primitives" : [
8321 {
8322 "op" : "add_header",
8323 "parameters" : [
8324 {
8325 "type" : "header",
8326 "value" : "int_egress_tx_util"
8327 }
8328 ],
8329 "source_info" : {
8330 "filename" : "include/int_transit.p4",
8331 "line" : 88,
8332 "column" : 8,
8333 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8334 }
8335 },
8336 {
8337 "op" : "assign",
8338 "parameters" : [
8339 {
8340 "type" : "field",
8341 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8342 },
8343 {
8344 "type" : "hexstr",
8345 "value" : "0x00000000"
8346 }
8347 ],
8348 "source_info" : {
8349 "filename" : "include/int_transit.p4",
8350 "line" : 89,
8351 "column" : 8,
8352 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8353 }
8354 },
8355 {
8356 "op" : "add_header",
8357 "parameters" : [
8358 {
8359 "type" : "header",
8360 "value" : "int_q_congestion"
8361 }
8362 ],
8363 "source_info" : {
8364 "filename" : "include/int_transit.p4",
8365 "line" : 78,
8366 "column" : 8,
8367 "source_fragment" : "hdr.int_q_congestion.setValid()"
8368 }
8369 },
8370 {
8371 "op" : "assign",
8372 "parameters" : [
8373 {
8374 "type" : "field",
8375 "value" : ["int_q_congestion", "q_id"]
8376 },
8377 {
8378 "type" : "hexstr",
8379 "value" : "0x00"
8380 }
8381 ],
8382 "source_info" : {
8383 "filename" : "include/int_transit.p4",
8384 "line" : 79,
8385 "column" : 8,
8386 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8387 }
8388 },
8389 {
8390 "op" : "assign",
8391 "parameters" : [
8392 {
8393 "type" : "field",
8394 "value" : ["int_q_congestion", "q_congestion"]
8395 },
8396 {
8397 "type" : "hexstr",
8398 "value" : "0x000000"
8399 }
8400 ],
8401 "source_info" : {
8402 "filename" : "include/int_transit.p4",
8403 "line" : 82,
8404 "column" : 8,
8405 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8406 }
8407 }
8408 ]
8409 },
8410 {
8411 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
8412 "id" : 108,
8413 "runtime_data" : [],
8414 "primitives" : [
8415 {
8416 "op" : "add_header",
8417 "parameters" : [
8418 {
8419 "type" : "header",
8420 "value" : "int_egress_tstamp"
8421 }
8422 ],
8423 "source_info" : {
8424 "filename" : "include/int_transit.p4",
8425 "line" : 70,
8426 "column" : 8,
8427 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8428 }
8429 },
8430 {
8431 "op" : "assign",
8432 "parameters" : [
8433 {
8434 "type" : "field",
8435 "value" : ["int_egress_tstamp", "egress_tstamp"]
8436 },
8437 {
8438 "type" : "expression",
8439 "value" : {
8440 "type" : "expression",
8441 "value" : {
8442 "op" : "&",
8443 "left" : {
8444 "type" : "expression",
8445 "value" : {
8446 "op" : "+",
8447 "left" : {
8448 "type" : "field",
8449 "value" : ["standard_metadata", "enq_timestamp"]
8450 },
8451 "right" : {
8452 "type" : "field",
8453 "value" : ["standard_metadata", "deq_timedelta"]
8454 }
8455 }
8456 },
8457 "right" : {
8458 "type" : "hexstr",
8459 "value" : "0xffffffff"
8460 }
8461 }
8462 }
8463 }
8464 ],
8465 "source_info" : {
8466 "filename" : "include/int_transit.p4",
8467 "line" : 71,
8468 "column" : 8,
8469 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8470 }
8471 }
8472 ]
8473 },
8474 {
8475 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
8476 "id" : 109,
8477 "runtime_data" : [],
8478 "primitives" : [
8479 {
8480 "op" : "add_header",
8481 "parameters" : [
8482 {
8483 "type" : "header",
8484 "value" : "int_egress_tx_util"
8485 }
8486 ],
8487 "source_info" : {
8488 "filename" : "include/int_transit.p4",
8489 "line" : 88,
8490 "column" : 8,
8491 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8492 }
8493 },
8494 {
8495 "op" : "assign",
8496 "parameters" : [
8497 {
8498 "type" : "field",
8499 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8500 },
8501 {
8502 "type" : "hexstr",
8503 "value" : "0x00000000"
8504 }
8505 ],
8506 "source_info" : {
8507 "filename" : "include/int_transit.p4",
8508 "line" : 89,
8509 "column" : 8,
8510 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8511 }
8512 },
8513 {
8514 "op" : "add_header",
8515 "parameters" : [
8516 {
8517 "type" : "header",
8518 "value" : "int_egress_tstamp"
8519 }
8520 ],
8521 "source_info" : {
8522 "filename" : "include/int_transit.p4",
8523 "line" : 70,
8524 "column" : 8,
8525 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8526 }
8527 },
8528 {
8529 "op" : "assign",
8530 "parameters" : [
8531 {
8532 "type" : "field",
8533 "value" : ["int_egress_tstamp", "egress_tstamp"]
8534 },
8535 {
8536 "type" : "expression",
8537 "value" : {
8538 "type" : "expression",
8539 "value" : {
8540 "op" : "&",
8541 "left" : {
8542 "type" : "expression",
8543 "value" : {
8544 "op" : "+",
8545 "left" : {
8546 "type" : "field",
8547 "value" : ["standard_metadata", "enq_timestamp"]
8548 },
8549 "right" : {
8550 "type" : "field",
8551 "value" : ["standard_metadata", "deq_timedelta"]
8552 }
8553 }
8554 },
8555 "right" : {
8556 "type" : "hexstr",
8557 "value" : "0xffffffff"
8558 }
8559 }
8560 }
8561 }
8562 ],
8563 "source_info" : {
8564 "filename" : "include/int_transit.p4",
8565 "line" : 71,
8566 "column" : 8,
8567 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8568 }
8569 }
8570 ]
8571 },
8572 {
8573 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
8574 "id" : 110,
8575 "runtime_data" : [],
8576 "primitives" : [
8577 {
8578 "op" : "add_header",
8579 "parameters" : [
8580 {
8581 "type" : "header",
8582 "value" : "int_q_congestion"
8583 }
8584 ],
8585 "source_info" : {
8586 "filename" : "include/int_transit.p4",
8587 "line" : 78,
8588 "column" : 8,
8589 "source_fragment" : "hdr.int_q_congestion.setValid()"
8590 }
8591 },
8592 {
8593 "op" : "assign",
8594 "parameters" : [
8595 {
8596 "type" : "field",
8597 "value" : ["int_q_congestion", "q_id"]
8598 },
8599 {
8600 "type" : "hexstr",
8601 "value" : "0x00"
8602 }
8603 ],
8604 "source_info" : {
8605 "filename" : "include/int_transit.p4",
8606 "line" : 79,
8607 "column" : 8,
8608 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8609 }
8610 },
8611 {
8612 "op" : "assign",
8613 "parameters" : [
8614 {
8615 "type" : "field",
8616 "value" : ["int_q_congestion", "q_congestion"]
8617 },
8618 {
8619 "type" : "hexstr",
8620 "value" : "0x000000"
8621 }
8622 ],
8623 "source_info" : {
8624 "filename" : "include/int_transit.p4",
8625 "line" : 82,
8626 "column" : 8,
8627 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8628 }
8629 },
8630 {
8631 "op" : "add_header",
8632 "parameters" : [
8633 {
8634 "type" : "header",
8635 "value" : "int_egress_tstamp"
8636 }
8637 ],
8638 "source_info" : {
8639 "filename" : "include/int_transit.p4",
8640 "line" : 70,
8641 "column" : 8,
8642 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8643 }
8644 },
8645 {
8646 "op" : "assign",
8647 "parameters" : [
8648 {
8649 "type" : "field",
8650 "value" : ["int_egress_tstamp", "egress_tstamp"]
8651 },
8652 {
8653 "type" : "expression",
8654 "value" : {
8655 "type" : "expression",
8656 "value" : {
8657 "op" : "&",
8658 "left" : {
8659 "type" : "expression",
8660 "value" : {
8661 "op" : "+",
8662 "left" : {
8663 "type" : "field",
8664 "value" : ["standard_metadata", "enq_timestamp"]
8665 },
8666 "right" : {
8667 "type" : "field",
8668 "value" : ["standard_metadata", "deq_timedelta"]
8669 }
8670 }
8671 },
8672 "right" : {
8673 "type" : "hexstr",
8674 "value" : "0xffffffff"
8675 }
8676 }
8677 }
8678 }
8679 ],
8680 "source_info" : {
8681 "filename" : "include/int_transit.p4",
8682 "line" : 71,
8683 "column" : 8,
8684 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8685 }
8686 }
8687 ]
8688 },
8689 {
8690 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
8691 "id" : 111,
8692 "runtime_data" : [],
8693 "primitives" : [
8694 {
8695 "op" : "add_header",
8696 "parameters" : [
8697 {
8698 "type" : "header",
8699 "value" : "int_egress_tx_util"
8700 }
8701 ],
8702 "source_info" : {
8703 "filename" : "include/int_transit.p4",
8704 "line" : 88,
8705 "column" : 8,
8706 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8707 }
8708 },
8709 {
8710 "op" : "assign",
8711 "parameters" : [
8712 {
8713 "type" : "field",
8714 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8715 },
8716 {
8717 "type" : "hexstr",
8718 "value" : "0x00000000"
8719 }
8720 ],
8721 "source_info" : {
8722 "filename" : "include/int_transit.p4",
8723 "line" : 89,
8724 "column" : 8,
8725 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8726 }
8727 },
8728 {
8729 "op" : "add_header",
8730 "parameters" : [
8731 {
8732 "type" : "header",
8733 "value" : "int_q_congestion"
8734 }
8735 ],
8736 "source_info" : {
8737 "filename" : "include/int_transit.p4",
8738 "line" : 78,
8739 "column" : 8,
8740 "source_fragment" : "hdr.int_q_congestion.setValid()"
8741 }
8742 },
8743 {
8744 "op" : "assign",
8745 "parameters" : [
8746 {
8747 "type" : "field",
8748 "value" : ["int_q_congestion", "q_id"]
8749 },
8750 {
8751 "type" : "hexstr",
8752 "value" : "0x00"
8753 }
8754 ],
8755 "source_info" : {
8756 "filename" : "include/int_transit.p4",
8757 "line" : 79,
8758 "column" : 8,
8759 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8760 }
8761 },
8762 {
8763 "op" : "assign",
8764 "parameters" : [
8765 {
8766 "type" : "field",
8767 "value" : ["int_q_congestion", "q_congestion"]
8768 },
8769 {
8770 "type" : "hexstr",
8771 "value" : "0x000000"
8772 }
8773 ],
8774 "source_info" : {
8775 "filename" : "include/int_transit.p4",
8776 "line" : 82,
8777 "column" : 8,
8778 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
8779 }
8780 },
8781 {
8782 "op" : "add_header",
8783 "parameters" : [
8784 {
8785 "type" : "header",
8786 "value" : "int_egress_tstamp"
8787 }
8788 ],
8789 "source_info" : {
8790 "filename" : "include/int_transit.p4",
8791 "line" : 70,
8792 "column" : 8,
8793 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
8794 }
8795 },
8796 {
8797 "op" : "assign",
8798 "parameters" : [
8799 {
8800 "type" : "field",
8801 "value" : ["int_egress_tstamp", "egress_tstamp"]
8802 },
8803 {
8804 "type" : "expression",
8805 "value" : {
8806 "type" : "expression",
8807 "value" : {
8808 "op" : "&",
8809 "left" : {
8810 "type" : "expression",
8811 "value" : {
8812 "op" : "+",
8813 "left" : {
8814 "type" : "field",
8815 "value" : ["standard_metadata", "enq_timestamp"]
8816 },
8817 "right" : {
8818 "type" : "field",
8819 "value" : ["standard_metadata", "deq_timedelta"]
8820 }
8821 }
8822 },
8823 "right" : {
8824 "type" : "hexstr",
8825 "value" : "0xffffffff"
8826 }
8827 }
8828 }
8829 }
8830 ],
8831 "source_info" : {
8832 "filename" : "include/int_transit.p4",
8833 "line" : 71,
8834 "column" : 8,
8835 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
8836 }
8837 }
8838 ]
8839 },
8840 {
8841 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
8842 "id" : 112,
8843 "runtime_data" : [],
8844 "primitives" : [
8845 {
8846 "op" : "add_header",
8847 "parameters" : [
8848 {
8849 "type" : "header",
8850 "value" : "int_ingress_tstamp"
8851 }
8852 ],
8853 "source_info" : {
8854 "filename" : "include/int_transit.p4",
8855 "line" : 65,
8856 "column" : 8,
8857 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8858 }
8859 },
8860 {
8861 "op" : "assign",
8862 "parameters" : [
8863 {
8864 "type" : "field",
8865 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
8866 },
8867 {
8868 "type" : "field",
8869 "value" : ["standard_metadata", "enq_timestamp"]
8870 }
8871 ],
8872 "source_info" : {
8873 "filename" : "include/int_transit.p4",
8874 "line" : 66,
8875 "column" : 8,
8876 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
8877 }
8878 }
8879 ]
8880 },
8881 {
8882 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
8883 "id" : 113,
8884 "runtime_data" : [],
8885 "primitives" : [
8886 {
8887 "op" : "add_header",
8888 "parameters" : [
8889 {
8890 "type" : "header",
8891 "value" : "int_egress_tx_util"
8892 }
8893 ],
8894 "source_info" : {
8895 "filename" : "include/int_transit.p4",
8896 "line" : 88,
8897 "column" : 8,
8898 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
8899 }
8900 },
8901 {
8902 "op" : "assign",
8903 "parameters" : [
8904 {
8905 "type" : "field",
8906 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
8907 },
8908 {
8909 "type" : "hexstr",
8910 "value" : "0x00000000"
8911 }
8912 ],
8913 "source_info" : {
8914 "filename" : "include/int_transit.p4",
8915 "line" : 89,
8916 "column" : 8,
8917 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
8918 }
8919 },
8920 {
8921 "op" : "add_header",
8922 "parameters" : [
8923 {
8924 "type" : "header",
8925 "value" : "int_ingress_tstamp"
8926 }
8927 ],
8928 "source_info" : {
8929 "filename" : "include/int_transit.p4",
8930 "line" : 65,
8931 "column" : 8,
8932 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
8933 }
8934 },
8935 {
8936 "op" : "assign",
8937 "parameters" : [
8938 {
8939 "type" : "field",
8940 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
8941 },
8942 {
8943 "type" : "field",
8944 "value" : ["standard_metadata", "enq_timestamp"]
8945 }
8946 ],
8947 "source_info" : {
8948 "filename" : "include/int_transit.p4",
8949 "line" : 66,
8950 "column" : 8,
8951 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
8952 }
8953 }
8954 ]
8955 },
8956 {
8957 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
8958 "id" : 114,
8959 "runtime_data" : [],
8960 "primitives" : [
8961 {
8962 "op" : "add_header",
8963 "parameters" : [
8964 {
8965 "type" : "header",
8966 "value" : "int_q_congestion"
8967 }
8968 ],
8969 "source_info" : {
8970 "filename" : "include/int_transit.p4",
8971 "line" : 78,
8972 "column" : 8,
8973 "source_fragment" : "hdr.int_q_congestion.setValid()"
8974 }
8975 },
8976 {
8977 "op" : "assign",
8978 "parameters" : [
8979 {
8980 "type" : "field",
8981 "value" : ["int_q_congestion", "q_id"]
8982 },
8983 {
8984 "type" : "hexstr",
8985 "value" : "0x00"
8986 }
8987 ],
8988 "source_info" : {
8989 "filename" : "include/int_transit.p4",
8990 "line" : 79,
8991 "column" : 8,
8992 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
8993 }
8994 },
8995 {
8996 "op" : "assign",
8997 "parameters" : [
8998 {
8999 "type" : "field",
9000 "value" : ["int_q_congestion", "q_congestion"]
9001 },
9002 {
9003 "type" : "hexstr",
9004 "value" : "0x000000"
9005 }
9006 ],
9007 "source_info" : {
9008 "filename" : "include/int_transit.p4",
9009 "line" : 82,
9010 "column" : 8,
9011 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9012 }
9013 },
9014 {
9015 "op" : "add_header",
9016 "parameters" : [
9017 {
9018 "type" : "header",
9019 "value" : "int_ingress_tstamp"
9020 }
9021 ],
9022 "source_info" : {
9023 "filename" : "include/int_transit.p4",
9024 "line" : 65,
9025 "column" : 8,
9026 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9027 }
9028 },
9029 {
9030 "op" : "assign",
9031 "parameters" : [
9032 {
9033 "type" : "field",
9034 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9035 },
9036 {
9037 "type" : "field",
9038 "value" : ["standard_metadata", "enq_timestamp"]
9039 }
9040 ],
9041 "source_info" : {
9042 "filename" : "include/int_transit.p4",
9043 "line" : 66,
9044 "column" : 8,
9045 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9046 }
9047 }
9048 ]
9049 },
9050 {
9051 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
9052 "id" : 115,
9053 "runtime_data" : [],
9054 "primitives" : [
9055 {
9056 "op" : "add_header",
9057 "parameters" : [
9058 {
9059 "type" : "header",
9060 "value" : "int_egress_tx_util"
9061 }
9062 ],
9063 "source_info" : {
9064 "filename" : "include/int_transit.p4",
9065 "line" : 88,
9066 "column" : 8,
9067 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9068 }
9069 },
9070 {
9071 "op" : "assign",
9072 "parameters" : [
9073 {
9074 "type" : "field",
9075 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9076 },
9077 {
9078 "type" : "hexstr",
9079 "value" : "0x00000000"
9080 }
9081 ],
9082 "source_info" : {
9083 "filename" : "include/int_transit.p4",
9084 "line" : 89,
9085 "column" : 8,
9086 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9087 }
9088 },
9089 {
9090 "op" : "add_header",
9091 "parameters" : [
9092 {
9093 "type" : "header",
9094 "value" : "int_q_congestion"
9095 }
9096 ],
9097 "source_info" : {
9098 "filename" : "include/int_transit.p4",
9099 "line" : 78,
9100 "column" : 8,
9101 "source_fragment" : "hdr.int_q_congestion.setValid()"
9102 }
9103 },
9104 {
9105 "op" : "assign",
9106 "parameters" : [
9107 {
9108 "type" : "field",
9109 "value" : ["int_q_congestion", "q_id"]
9110 },
9111 {
9112 "type" : "hexstr",
9113 "value" : "0x00"
9114 }
9115 ],
9116 "source_info" : {
9117 "filename" : "include/int_transit.p4",
9118 "line" : 79,
9119 "column" : 8,
9120 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9121 }
9122 },
9123 {
9124 "op" : "assign",
9125 "parameters" : [
9126 {
9127 "type" : "field",
9128 "value" : ["int_q_congestion", "q_congestion"]
9129 },
9130 {
9131 "type" : "hexstr",
9132 "value" : "0x000000"
9133 }
9134 ],
9135 "source_info" : {
9136 "filename" : "include/int_transit.p4",
9137 "line" : 82,
9138 "column" : 8,
9139 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9140 }
9141 },
9142 {
9143 "op" : "add_header",
9144 "parameters" : [
9145 {
9146 "type" : "header",
9147 "value" : "int_ingress_tstamp"
9148 }
9149 ],
9150 "source_info" : {
9151 "filename" : "include/int_transit.p4",
9152 "line" : 65,
9153 "column" : 8,
9154 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9155 }
9156 },
9157 {
9158 "op" : "assign",
9159 "parameters" : [
9160 {
9161 "type" : "field",
9162 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9163 },
9164 {
9165 "type" : "field",
9166 "value" : ["standard_metadata", "enq_timestamp"]
9167 }
9168 ],
9169 "source_info" : {
9170 "filename" : "include/int_transit.p4",
9171 "line" : 66,
9172 "column" : 8,
9173 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9174 }
9175 }
9176 ]
9177 },
9178 {
9179 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
9180 "id" : 116,
9181 "runtime_data" : [],
9182 "primitives" : [
9183 {
9184 "op" : "add_header",
9185 "parameters" : [
9186 {
9187 "type" : "header",
9188 "value" : "int_egress_tstamp"
9189 }
9190 ],
9191 "source_info" : {
9192 "filename" : "include/int_transit.p4",
9193 "line" : 70,
9194 "column" : 8,
9195 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9196 }
9197 },
9198 {
9199 "op" : "assign",
9200 "parameters" : [
9201 {
9202 "type" : "field",
9203 "value" : ["int_egress_tstamp", "egress_tstamp"]
9204 },
9205 {
9206 "type" : "expression",
9207 "value" : {
9208 "type" : "expression",
9209 "value" : {
9210 "op" : "&",
9211 "left" : {
9212 "type" : "expression",
9213 "value" : {
9214 "op" : "+",
9215 "left" : {
9216 "type" : "field",
9217 "value" : ["standard_metadata", "enq_timestamp"]
9218 },
9219 "right" : {
9220 "type" : "field",
9221 "value" : ["standard_metadata", "deq_timedelta"]
9222 }
9223 }
9224 },
9225 "right" : {
9226 "type" : "hexstr",
9227 "value" : "0xffffffff"
9228 }
9229 }
9230 }
9231 }
9232 ],
9233 "source_info" : {
9234 "filename" : "include/int_transit.p4",
9235 "line" : 71,
9236 "column" : 8,
9237 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9238 }
9239 },
9240 {
9241 "op" : "add_header",
9242 "parameters" : [
9243 {
9244 "type" : "header",
9245 "value" : "int_ingress_tstamp"
9246 }
9247 ],
9248 "source_info" : {
9249 "filename" : "include/int_transit.p4",
9250 "line" : 65,
9251 "column" : 8,
9252 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9253 }
9254 },
9255 {
9256 "op" : "assign",
9257 "parameters" : [
9258 {
9259 "type" : "field",
9260 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9261 },
9262 {
9263 "type" : "field",
9264 "value" : ["standard_metadata", "enq_timestamp"]
9265 }
9266 ],
9267 "source_info" : {
9268 "filename" : "include/int_transit.p4",
9269 "line" : 66,
9270 "column" : 8,
9271 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9272 }
9273 }
9274 ]
9275 },
9276 {
9277 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
9278 "id" : 117,
9279 "runtime_data" : [],
9280 "primitives" : [
9281 {
9282 "op" : "add_header",
9283 "parameters" : [
9284 {
9285 "type" : "header",
9286 "value" : "int_egress_tx_util"
9287 }
9288 ],
9289 "source_info" : {
9290 "filename" : "include/int_transit.p4",
9291 "line" : 88,
9292 "column" : 8,
9293 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9294 }
9295 },
9296 {
9297 "op" : "assign",
9298 "parameters" : [
9299 {
9300 "type" : "field",
9301 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9302 },
9303 {
9304 "type" : "hexstr",
9305 "value" : "0x00000000"
9306 }
9307 ],
9308 "source_info" : {
9309 "filename" : "include/int_transit.p4",
9310 "line" : 89,
9311 "column" : 8,
9312 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9313 }
9314 },
9315 {
9316 "op" : "add_header",
9317 "parameters" : [
9318 {
9319 "type" : "header",
9320 "value" : "int_egress_tstamp"
9321 }
9322 ],
9323 "source_info" : {
9324 "filename" : "include/int_transit.p4",
9325 "line" : 70,
9326 "column" : 8,
9327 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9328 }
9329 },
9330 {
9331 "op" : "assign",
9332 "parameters" : [
9333 {
9334 "type" : "field",
9335 "value" : ["int_egress_tstamp", "egress_tstamp"]
9336 },
9337 {
9338 "type" : "expression",
9339 "value" : {
9340 "type" : "expression",
9341 "value" : {
9342 "op" : "&",
9343 "left" : {
9344 "type" : "expression",
9345 "value" : {
9346 "op" : "+",
9347 "left" : {
9348 "type" : "field",
9349 "value" : ["standard_metadata", "enq_timestamp"]
9350 },
9351 "right" : {
9352 "type" : "field",
9353 "value" : ["standard_metadata", "deq_timedelta"]
9354 }
9355 }
9356 },
9357 "right" : {
9358 "type" : "hexstr",
9359 "value" : "0xffffffff"
9360 }
9361 }
9362 }
9363 }
9364 ],
9365 "source_info" : {
9366 "filename" : "include/int_transit.p4",
9367 "line" : 71,
9368 "column" : 8,
9369 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9370 }
9371 },
9372 {
9373 "op" : "add_header",
9374 "parameters" : [
9375 {
9376 "type" : "header",
9377 "value" : "int_ingress_tstamp"
9378 }
9379 ],
9380 "source_info" : {
9381 "filename" : "include/int_transit.p4",
9382 "line" : 65,
9383 "column" : 8,
9384 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9385 }
9386 },
9387 {
9388 "op" : "assign",
9389 "parameters" : [
9390 {
9391 "type" : "field",
9392 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9393 },
9394 {
9395 "type" : "field",
9396 "value" : ["standard_metadata", "enq_timestamp"]
9397 }
9398 ],
9399 "source_info" : {
9400 "filename" : "include/int_transit.p4",
9401 "line" : 66,
9402 "column" : 8,
9403 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9404 }
9405 }
9406 ]
9407 },
9408 {
9409 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
9410 "id" : 118,
9411 "runtime_data" : [],
9412 "primitives" : [
9413 {
9414 "op" : "add_header",
9415 "parameters" : [
9416 {
9417 "type" : "header",
9418 "value" : "int_q_congestion"
9419 }
9420 ],
9421 "source_info" : {
9422 "filename" : "include/int_transit.p4",
9423 "line" : 78,
9424 "column" : 8,
9425 "source_fragment" : "hdr.int_q_congestion.setValid()"
9426 }
9427 },
9428 {
9429 "op" : "assign",
9430 "parameters" : [
9431 {
9432 "type" : "field",
9433 "value" : ["int_q_congestion", "q_id"]
9434 },
9435 {
9436 "type" : "hexstr",
9437 "value" : "0x00"
9438 }
9439 ],
9440 "source_info" : {
9441 "filename" : "include/int_transit.p4",
9442 "line" : 79,
9443 "column" : 8,
9444 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9445 }
9446 },
9447 {
9448 "op" : "assign",
9449 "parameters" : [
9450 {
9451 "type" : "field",
9452 "value" : ["int_q_congestion", "q_congestion"]
9453 },
9454 {
9455 "type" : "hexstr",
9456 "value" : "0x000000"
9457 }
9458 ],
9459 "source_info" : {
9460 "filename" : "include/int_transit.p4",
9461 "line" : 82,
9462 "column" : 8,
9463 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9464 }
9465 },
9466 {
9467 "op" : "add_header",
9468 "parameters" : [
9469 {
9470 "type" : "header",
9471 "value" : "int_egress_tstamp"
9472 }
9473 ],
9474 "source_info" : {
9475 "filename" : "include/int_transit.p4",
9476 "line" : 70,
9477 "column" : 8,
9478 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9479 }
9480 },
9481 {
9482 "op" : "assign",
9483 "parameters" : [
9484 {
9485 "type" : "field",
9486 "value" : ["int_egress_tstamp", "egress_tstamp"]
9487 },
9488 {
9489 "type" : "expression",
9490 "value" : {
9491 "type" : "expression",
9492 "value" : {
9493 "op" : "&",
9494 "left" : {
9495 "type" : "expression",
9496 "value" : {
9497 "op" : "+",
9498 "left" : {
9499 "type" : "field",
9500 "value" : ["standard_metadata", "enq_timestamp"]
9501 },
9502 "right" : {
9503 "type" : "field",
9504 "value" : ["standard_metadata", "deq_timedelta"]
9505 }
9506 }
9507 },
9508 "right" : {
9509 "type" : "hexstr",
9510 "value" : "0xffffffff"
9511 }
9512 }
9513 }
9514 }
9515 ],
9516 "source_info" : {
9517 "filename" : "include/int_transit.p4",
9518 "line" : 71,
9519 "column" : 8,
9520 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9521 }
9522 },
9523 {
9524 "op" : "add_header",
9525 "parameters" : [
9526 {
9527 "type" : "header",
9528 "value" : "int_ingress_tstamp"
9529 }
9530 ],
9531 "source_info" : {
9532 "filename" : "include/int_transit.p4",
9533 "line" : 65,
9534 "column" : 8,
9535 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9536 }
9537 },
9538 {
9539 "op" : "assign",
9540 "parameters" : [
9541 {
9542 "type" : "field",
9543 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9544 },
9545 {
9546 "type" : "field",
9547 "value" : ["standard_metadata", "enq_timestamp"]
9548 }
9549 ],
9550 "source_info" : {
9551 "filename" : "include/int_transit.p4",
9552 "line" : 66,
9553 "column" : 8,
9554 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9555 }
9556 }
9557 ]
9558 },
9559 {
9560 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
9561 "id" : 119,
9562 "runtime_data" : [],
9563 "primitives" : [
9564 {
9565 "op" : "add_header",
9566 "parameters" : [
9567 {
9568 "type" : "header",
9569 "value" : "int_egress_tx_util"
9570 }
9571 ],
9572 "source_info" : {
9573 "filename" : "include/int_transit.p4",
9574 "line" : 88,
9575 "column" : 8,
9576 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
9577 }
9578 },
9579 {
9580 "op" : "assign",
9581 "parameters" : [
9582 {
9583 "type" : "field",
9584 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
9585 },
9586 {
9587 "type" : "hexstr",
9588 "value" : "0x00000000"
9589 }
9590 ],
9591 "source_info" : {
9592 "filename" : "include/int_transit.p4",
9593 "line" : 89,
9594 "column" : 8,
9595 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
9596 }
9597 },
9598 {
9599 "op" : "add_header",
9600 "parameters" : [
9601 {
9602 "type" : "header",
9603 "value" : "int_q_congestion"
9604 }
9605 ],
9606 "source_info" : {
9607 "filename" : "include/int_transit.p4",
9608 "line" : 78,
9609 "column" : 8,
9610 "source_fragment" : "hdr.int_q_congestion.setValid()"
9611 }
9612 },
9613 {
9614 "op" : "assign",
9615 "parameters" : [
9616 {
9617 "type" : "field",
9618 "value" : ["int_q_congestion", "q_id"]
9619 },
9620 {
9621 "type" : "hexstr",
9622 "value" : "0x00"
9623 }
9624 ],
9625 "source_info" : {
9626 "filename" : "include/int_transit.p4",
9627 "line" : 79,
9628 "column" : 8,
9629 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
9630 }
9631 },
9632 {
9633 "op" : "assign",
9634 "parameters" : [
9635 {
9636 "type" : "field",
9637 "value" : ["int_q_congestion", "q_congestion"]
9638 },
9639 {
9640 "type" : "hexstr",
9641 "value" : "0x000000"
9642 }
9643 ],
9644 "source_info" : {
9645 "filename" : "include/int_transit.p4",
9646 "line" : 82,
9647 "column" : 8,
9648 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
9649 }
9650 },
9651 {
9652 "op" : "add_header",
9653 "parameters" : [
9654 {
9655 "type" : "header",
9656 "value" : "int_egress_tstamp"
9657 }
9658 ],
9659 "source_info" : {
9660 "filename" : "include/int_transit.p4",
9661 "line" : 70,
9662 "column" : 8,
9663 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
9664 }
9665 },
9666 {
9667 "op" : "assign",
9668 "parameters" : [
9669 {
9670 "type" : "field",
9671 "value" : ["int_egress_tstamp", "egress_tstamp"]
9672 },
9673 {
9674 "type" : "expression",
9675 "value" : {
9676 "type" : "expression",
9677 "value" : {
9678 "op" : "&",
9679 "left" : {
9680 "type" : "expression",
9681 "value" : {
9682 "op" : "+",
9683 "left" : {
9684 "type" : "field",
9685 "value" : ["standard_metadata", "enq_timestamp"]
9686 },
9687 "right" : {
9688 "type" : "field",
9689 "value" : ["standard_metadata", "deq_timedelta"]
9690 }
9691 }
9692 },
9693 "right" : {
9694 "type" : "hexstr",
9695 "value" : "0xffffffff"
9696 }
9697 }
9698 }
9699 }
9700 ],
9701 "source_info" : {
9702 "filename" : "include/int_transit.p4",
9703 "line" : 71,
9704 "column" : 8,
9705 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
9706 }
9707 },
9708 {
9709 "op" : "add_header",
9710 "parameters" : [
9711 {
9712 "type" : "header",
9713 "value" : "int_ingress_tstamp"
9714 }
9715 ],
9716 "source_info" : {
9717 "filename" : "include/int_transit.p4",
9718 "line" : 65,
9719 "column" : 8,
9720 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
9721 }
9722 },
9723 {
9724 "op" : "assign",
9725 "parameters" : [
9726 {
9727 "type" : "field",
9728 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
9729 },
9730 {
9731 "type" : "field",
9732 "value" : ["standard_metadata", "enq_timestamp"]
9733 }
9734 ],
9735 "source_info" : {
9736 "filename" : "include/int_transit.p4",
9737 "line" : 66,
9738 "column" : 8,
9739 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
9740 }
9741 }
9742 ]
9743 },
9744 {
9745 "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
9746 "id" : 120,
9747 "runtime_data" : [],
9748 "primitives" : [
9749 {
9750 "op" : "assign",
9751 "parameters" : [
9752 {
9753 "type" : "field",
9754 "value" : ["ipv4", "total_len"]
9755 },
9756 {
9757 "type" : "expression",
9758 "value" : {
9759 "type" : "expression",
9760 "value" : {
9761 "op" : "&",
9762 "left" : {
9763 "type" : "expression",
9764 "value" : {
9765 "op" : "+",
9766 "left" : {
9767 "type" : "field",
9768 "value" : ["ipv4", "total_len"]
9769 },
9770 "right" : {
9771 "type" : "field",
9772 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9773 }
9774 }
9775 },
9776 "right" : {
9777 "type" : "hexstr",
9778 "value" : "0xffff"
9779 }
9780 }
9781 }
9782 }
9783 ],
9784 "source_info" : {
9785 "filename" : "include/int_transit.p4",
9786 "line" : 304,
9787 "column" : 8,
9788 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
9789 }
9790 }
9791 ]
9792 },
9793 {
9794 "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
9795 "id" : 121,
9796 "runtime_data" : [],
9797 "primitives" : [
9798 {
9799 "op" : "assign",
9800 "parameters" : [
9801 {
9802 "type" : "field",
9803 "value" : ["udp", "len"]
9804 },
9805 {
9806 "type" : "expression",
9807 "value" : {
9808 "type" : "expression",
9809 "value" : {
9810 "op" : "&",
9811 "left" : {
9812 "type" : "expression",
9813 "value" : {
9814 "op" : "+",
9815 "left" : {
9816 "type" : "field",
9817 "value" : ["udp", "len"]
9818 },
9819 "right" : {
9820 "type" : "field",
9821 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
9822 }
9823 }
9824 },
9825 "right" : {
9826 "type" : "hexstr",
9827 "value" : "0xffff"
9828 }
9829 }
9830 }
9831 }
9832 ],
9833 "source_info" : {
9834 "filename" : "include/int_transit.p4",
9835 "line" : 307,
9836 "column" : 8,
9837 "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
9838 }
9839 }
9840 ]
9841 },
9842 {
9843 "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
9844 "id" : 122,
9845 "runtime_data" : [],
9846 "primitives" : [
9847 {
9848 "op" : "assign",
9849 "parameters" : [
9850 {
9851 "type" : "field",
9852 "value" : ["intl4_shim", "len"]
9853 },
9854 {
9855 "type" : "expression",
9856 "value" : {
9857 "type" : "expression",
9858 "value" : {
9859 "op" : "&",
9860 "left" : {
9861 "type" : "expression",
9862 "value" : {
9863 "op" : "+",
9864 "left" : {
9865 "type" : "field",
9866 "value" : ["intl4_shim", "len"]
9867 },
9868 "right" : {
9869 "type" : "expression",
9870 "value" : {
9871 "op" : "&",
9872 "left" : {
9873 "type" : "field",
9874 "value" : ["int_header", "ins_cnt"]
9875 },
9876 "right" : {
9877 "type" : "hexstr",
9878 "value" : "0xff"
9879 }
9880 }
9881 }
9882 }
9883 },
9884 "right" : {
9885 "type" : "hexstr",
9886 "value" : "0xff"
9887 }
9888 }
9889 }
9890 }
9891 ],
9892 "source_info" : {
9893 "filename" : "include/int_transit.p4",
9894 "line" : 310,
9895 "column" : 8,
9896 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
9897 }
9898 }
9899 ]
9900 },
9901 {
9902 "name" : "FabricEgress.process_int_report.do_report_encapsulation",
9903 "id" : 123,
9904 "runtime_data" : [
9905 {
9906 "name" : "src_mac",
9907 "bitwidth" : 48
9908 },
9909 {
9910 "name" : "mon_mac",
9911 "bitwidth" : 48
9912 },
9913 {
9914 "name" : "src_ip",
9915 "bitwidth" : 32
9916 },
9917 {
9918 "name" : "mon_ip",
9919 "bitwidth" : 32
9920 },
9921 {
9922 "name" : "mon_port",
9923 "bitwidth" : 16
9924 }
9925 ],
9926 "primitives" : [
9927 {
9928 "op" : "add_header",
9929 "parameters" : [
9930 {
9931 "type" : "header",
9932 "value" : "report_ethernet"
9933 }
9934 ],
9935 "source_info" : {
9936 "filename" : "include/int_report.p4",
9937 "line" : 50,
9938 "column" : 8,
9939 "source_fragment" : "hdr.report_ethernet.setValid()"
9940 }
9941 },
9942 {
9943 "op" : "assign",
9944 "parameters" : [
9945 {
9946 "type" : "field",
9947 "value" : ["report_ethernet", "dst_addr"]
9948 },
9949 {
9950 "type" : "runtime_data",
9951 "value" : 1
9952 }
9953 ],
9954 "source_info" : {
9955 "filename" : "include/int_report.p4",
9956 "line" : 51,
9957 "column" : 8,
9958 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
9959 }
9960 },
9961 {
9962 "op" : "assign",
9963 "parameters" : [
9964 {
9965 "type" : "field",
9966 "value" : ["report_ethernet", "src_addr"]
9967 },
9968 {
9969 "type" : "runtime_data",
9970 "value" : 0
9971 }
9972 ],
9973 "source_info" : {
9974 "filename" : "include/int_report.p4",
9975 "line" : 52,
9976 "column" : 8,
9977 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
9978 }
9979 },
9980 {
9981 "op" : "assign",
9982 "parameters" : [
9983 {
9984 "type" : "field",
9985 "value" : ["report_ethernet", "ether_type"]
9986 },
9987 {
9988 "type" : "hexstr",
9989 "value" : "0x0800"
9990 }
9991 ],
9992 "source_info" : {
9993 "filename" : "include/control/../define.p4",
9994 "line" : 77,
9995 "column" : 31,
9996 "source_fragment" : "0x0800; ..."
9997 }
9998 },
9999 {
10000 "op" : "add_header",
10001 "parameters" : [
10002 {
10003 "type" : "header",
10004 "value" : "report_ipv4"
10005 }
10006 ],
10007 "source_info" : {
10008 "filename" : "include/int_report.p4",
10009 "line" : 56,
10010 "column" : 8,
10011 "source_fragment" : "hdr.report_ipv4.setValid()"
10012 }
10013 },
10014 {
10015 "op" : "assign",
10016 "parameters" : [
10017 {
10018 "type" : "field",
10019 "value" : ["report_ipv4", "version"]
10020 },
10021 {
10022 "type" : "hexstr",
10023 "value" : "0x04"
10024 }
10025 ],
10026 "source_info" : {
10027 "filename" : "include/int_report.p4",
10028 "line" : 57,
10029 "column" : 8,
10030 "source_fragment" : "hdr.report_ipv4.version = 4w4"
10031 }
10032 },
10033 {
10034 "op" : "assign",
10035 "parameters" : [
10036 {
10037 "type" : "field",
10038 "value" : ["report_ipv4", "ihl"]
10039 },
10040 {
10041 "type" : "hexstr",
10042 "value" : "0x05"
10043 }
10044 ],
10045 "source_info" : {
10046 "filename" : "include/int_report.p4",
10047 "line" : 58,
10048 "column" : 8,
10049 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
10050 }
10051 },
10052 {
10053 "op" : "assign",
10054 "parameters" : [
10055 {
10056 "type" : "field",
10057 "value" : ["report_ipv4", "dscp"]
10058 },
10059 {
10060 "type" : "hexstr",
10061 "value" : "0x00"
10062 }
10063 ],
10064 "source_info" : {
10065 "filename" : "include/int_report.p4",
10066 "line" : 59,
10067 "column" : 8,
10068 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
10069 }
10070 },
10071 {
10072 "op" : "assign",
10073 "parameters" : [
10074 {
10075 "type" : "field",
10076 "value" : ["report_ipv4", "ecn"]
10077 },
10078 {
10079 "type" : "hexstr",
10080 "value" : "0x00"
10081 }
10082 ],
10083 "source_info" : {
10084 "filename" : "include/int_report.p4",
10085 "line" : 60,
10086 "column" : 8,
10087 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
10088 }
10089 },
10090 {
10091 "op" : "assign",
10092 "parameters" : [
10093 {
10094 "type" : "field",
10095 "value" : ["report_ipv4", "total_len"]
10096 },
10097 {
10098 "type" : "expression",
10099 "value" : {
10100 "type" : "expression",
10101 "value" : {
10102 "op" : "&",
10103 "left" : {
10104 "type" : "expression",
10105 "value" : {
10106 "op" : "+",
10107 "left" : {
10108 "type" : "hexstr",
10109 "value" : "0x0036"
10110 },
10111 "right" : {
10112 "type" : "field",
10113 "value" : ["ipv4", "total_len"]
10114 }
10115 }
10116 },
10117 "right" : {
10118 "type" : "hexstr",
10119 "value" : "0xffff"
10120 }
10121 }
10122 }
10123 }
10124 ],
10125 "source_info" : {
10126 "filename" : "include/int_report.p4",
10127 "line" : 62,
10128 "column" : 8,
10129 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
10130 }
10131 },
10132 {
10133 "op" : "assign",
10134 "parameters" : [
10135 {
10136 "type" : "field",
10137 "value" : ["report_ipv4", "identification"]
10138 },
10139 {
10140 "type" : "hexstr",
10141 "value" : "0x0000"
10142 }
10143 ],
10144 "source_info" : {
10145 "filename" : "include/int_report.p4",
10146 "line" : 65,
10147 "column" : 8,
10148 "source_fragment" : "hdr.report_ipv4.identification = 0"
10149 }
10150 },
10151 {
10152 "op" : "assign",
10153 "parameters" : [
10154 {
10155 "type" : "field",
10156 "value" : ["report_ipv4", "flags"]
10157 },
10158 {
10159 "type" : "hexstr",
10160 "value" : "0x00"
10161 }
10162 ],
10163 "source_info" : {
10164 "filename" : "include/int_report.p4",
10165 "line" : 66,
10166 "column" : 8,
10167 "source_fragment" : "hdr.report_ipv4.flags = 0"
10168 }
10169 },
10170 {
10171 "op" : "assign",
10172 "parameters" : [
10173 {
10174 "type" : "field",
10175 "value" : ["report_ipv4", "frag_offset"]
10176 },
10177 {
10178 "type" : "hexstr",
10179 "value" : "0x0000"
10180 }
10181 ],
10182 "source_info" : {
10183 "filename" : "include/int_report.p4",
10184 "line" : 67,
10185 "column" : 8,
10186 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
10187 }
10188 },
10189 {
10190 "op" : "assign",
10191 "parameters" : [
10192 {
10193 "type" : "field",
10194 "value" : ["report_ipv4", "ttl"]
10195 },
10196 {
10197 "type" : "hexstr",
10198 "value" : "0xff"
10199 }
10200 ],
10201 "source_info" : {
10202 "filename" : "include/int_report.p4",
10203 "line" : 68,
10204 "column" : 8,
10205 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
10206 }
10207 },
10208 {
10209 "op" : "assign",
10210 "parameters" : [
10211 {
10212 "type" : "field",
10213 "value" : ["report_ipv4", "protocol"]
10214 },
10215 {
10216 "type" : "hexstr",
10217 "value" : "0x11"
10218 }
10219 ],
10220 "source_info" : {
10221 "filename" : "include/control/../define.p4",
10222 "line" : 83,
10223 "column" : 25,
10224 "source_fragment" : "17; ..."
10225 }
10226 },
10227 {
10228 "op" : "assign",
10229 "parameters" : [
10230 {
10231 "type" : "field",
10232 "value" : ["report_ipv4", "src_addr"]
10233 },
10234 {
10235 "type" : "runtime_data",
10236 "value" : 2
10237 }
10238 ],
10239 "source_info" : {
10240 "filename" : "include/int_report.p4",
10241 "line" : 70,
10242 "column" : 8,
10243 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
10244 }
10245 },
10246 {
10247 "op" : "assign",
10248 "parameters" : [
10249 {
10250 "type" : "field",
10251 "value" : ["report_ipv4", "dst_addr"]
10252 },
10253 {
10254 "type" : "runtime_data",
10255 "value" : 3
10256 }
10257 ],
10258 "source_info" : {
10259 "filename" : "include/int_report.p4",
10260 "line" : 71,
10261 "column" : 8,
10262 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
10263 }
10264 },
10265 {
10266 "op" : "add_header",
10267 "parameters" : [
10268 {
10269 "type" : "header",
10270 "value" : "report_udp"
10271 }
10272 ],
10273 "source_info" : {
10274 "filename" : "include/int_report.p4",
10275 "line" : 74,
10276 "column" : 8,
10277 "source_fragment" : "hdr.report_udp.setValid()"
10278 }
10279 },
10280 {
10281 "op" : "assign",
10282 "parameters" : [
10283 {
10284 "type" : "field",
10285 "value" : ["report_udp", "src_port"]
10286 },
10287 {
10288 "type" : "hexstr",
10289 "value" : "0x0000"
10290 }
10291 ],
10292 "source_info" : {
10293 "filename" : "include/int_report.p4",
10294 "line" : 75,
10295 "column" : 8,
10296 "source_fragment" : "hdr.report_udp.src_port = 0"
10297 }
10298 },
10299 {
10300 "op" : "assign",
10301 "parameters" : [
10302 {
10303 "type" : "field",
10304 "value" : ["report_udp", "dst_port"]
10305 },
10306 {
10307 "type" : "runtime_data",
10308 "value" : 4
10309 }
10310 ],
10311 "source_info" : {
10312 "filename" : "include/int_report.p4",
10313 "line" : 76,
10314 "column" : 8,
10315 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
10316 }
10317 },
10318 {
10319 "op" : "assign",
10320 "parameters" : [
10321 {
10322 "type" : "field",
10323 "value" : ["report_udp", "len"]
10324 },
10325 {
10326 "type" : "expression",
10327 "value" : {
10328 "type" : "expression",
10329 "value" : {
10330 "op" : "&",
10331 "left" : {
10332 "type" : "expression",
10333 "value" : {
10334 "op" : "+",
10335 "left" : {
10336 "type" : "hexstr",
10337 "value" : "0x0022"
10338 },
10339 "right" : {
10340 "type" : "field",
10341 "value" : ["ipv4", "total_len"]
10342 }
10343 }
10344 },
10345 "right" : {
10346 "type" : "hexstr",
10347 "value" : "0xffff"
10348 }
10349 }
10350 }
10351 }
10352 ],
10353 "source_info" : {
10354 "filename" : "include/int_report.p4",
10355 "line" : 77,
10356 "column" : 8,
10357 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
10358 }
10359 },
10360 {
10361 "op" : "assign",
10362 "parameters" : [
10363 {
10364 "type" : "field",
10365 "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
10366 },
10367 {
10368 "type" : "expression",
10369 "value" : {
10370 "type" : "expression",
10371 "value" : {
10372 "op" : "b2d",
10373 "left" : null,
10374 "right" : {
10375 "type" : "bool",
10376 "value" : true
10377 }
10378 }
10379 }
10380 }
10381 ],
10382 "source_info" : {
10383 "filename" : "include/int_report.p4",
10384 "line" : 80,
10385 "column" : 8,
10386 "source_fragment" : "fabric_metadata.compute_checksum = true"
10387 }
10388 },
10389 {
10390 "op" : "add_header",
10391 "parameters" : [
10392 {
10393 "type" : "header",
10394 "value" : "report_fixed_header"
10395 }
10396 ],
10397 "source_info" : {
10398 "filename" : "include/int_report.p4",
10399 "line" : 30,
10400 "column" : 8,
10401 "source_fragment" : "hdr.report_fixed_header.setValid()"
10402 }
10403 },
10404 {
10405 "op" : "assign",
10406 "parameters" : [
10407 {
10408 "type" : "field",
10409 "value" : ["report_fixed_header", "ver"]
10410 },
10411 {
10412 "type" : "hexstr",
10413 "value" : "0x00"
10414 }
10415 ],
10416 "source_info" : {
10417 "filename" : "include/int_report.p4",
10418 "line" : 31,
10419 "column" : 8,
10420 "source_fragment" : "hdr.report_fixed_header.ver = 0"
10421 }
10422 },
10423 {
10424 "op" : "assign",
10425 "parameters" : [
10426 {
10427 "type" : "field",
10428 "value" : ["report_fixed_header", "nproto"]
10429 },
10430 {
10431 "type" : "hexstr",
10432 "value" : "0x00"
10433 }
10434 ],
10435 "source_info" : {
10436 "filename" : "include/control/../define.p4",
10437 "line" : 125,
10438 "column" : 31,
10439 "source_fragment" : "0; ..."
10440 }
10441 },
10442 {
10443 "op" : "assign",
10444 "parameters" : [
10445 {
10446 "type" : "field",
10447 "value" : ["report_fixed_header", "d"]
10448 },
10449 {
10450 "type" : "hexstr",
10451 "value" : "0x00"
10452 }
10453 ],
10454 "source_info" : {
10455 "filename" : "include/int_report.p4",
10456 "line" : 34,
10457 "column" : 8,
10458 "source_fragment" : "hdr.report_fixed_header.d = 0"
10459 }
10460 },
10461 {
10462 "op" : "assign",
10463 "parameters" : [
10464 {
10465 "type" : "field",
10466 "value" : ["report_fixed_header", "q"]
10467 },
10468 {
10469 "type" : "hexstr",
10470 "value" : "0x00"
10471 }
10472 ],
10473 "source_info" : {
10474 "filename" : "include/int_report.p4",
10475 "line" : 35,
10476 "column" : 8,
10477 "source_fragment" : "hdr.report_fixed_header.q = 0"
10478 }
10479 },
10480 {
10481 "op" : "assign",
10482 "parameters" : [
10483 {
10484 "type" : "field",
10485 "value" : ["report_fixed_header", "f"]
10486 },
10487 {
10488 "type" : "hexstr",
10489 "value" : "0x01"
10490 }
10491 ],
10492 "source_info" : {
10493 "filename" : "include/int_report.p4",
10494 "line" : 36,
10495 "column" : 8,
10496 "source_fragment" : "hdr.report_fixed_header.f = 1"
10497 }
10498 },
10499 {
10500 "op" : "assign",
10501 "parameters" : [
10502 {
10503 "type" : "field",
10504 "value" : ["report_fixed_header", "rsvd"]
10505 },
10506 {
10507 "type" : "hexstr",
10508 "value" : "0x0000"
10509 }
10510 ],
10511 "source_info" : {
10512 "filename" : "include/int_report.p4",
10513 "line" : 37,
10514 "column" : 8,
10515 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
10516 }
10517 },
10518 {
10519 "op" : "assign",
10520 "parameters" : [
10521 {
10522 "type" : "field",
10523 "value" : ["report_fixed_header", "hw_id"]
10524 },
10525 {
10526 "type" : "hexstr",
10527 "value" : "0x01"
10528 }
10529 ],
10530 "source_info" : {
10531 "filename" : "include/control/../define.p4",
10532 "line" : 129,
10533 "column" : 21,
10534 "source_fragment" : "1; ..."
10535 }
10536 },
10537 {
10538 "op" : "assign",
10539 "parameters" : [
10540 {
10541 "type" : "field",
10542 "value" : ["report_fixed_header", "seq_no"]
10543 },
10544 {
10545 "type" : "hexstr",
10546 "value" : "0x00000000"
10547 }
10548 ],
10549 "source_info" : {
10550 "filename" : "include/int_report.p4",
10551 "line" : 41,
10552 "column" : 8,
10553 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
10554 }
10555 },
10556 {
10557 "op" : "assign",
10558 "parameters" : [
10559 {
10560 "type" : "field",
10561 "value" : ["report_fixed_header", "ingress_tstamp"]
10562 },
10563 {
10564 "type" : "field",
10565 "value" : ["standard_metadata", "enq_timestamp"]
10566 }
10567 ],
10568 "source_info" : {
10569 "filename" : "include/int_report.p4",
10570 "line" : 43,
10571 "column" : 8,
10572 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
10573 }
10574 }
10575 ]
10576 },
10577 {
10578 "name" : "FabricEgress.process_int_sink.restore_header",
10579 "id" : 124,
10580 "runtime_data" : [],
10581 "primitives" : [
10582 {
10583 "op" : "assign",
10584 "parameters" : [
10585 {
10586 "type" : "field",
10587 "value" : ["udp", "dst_port"]
10588 },
10589 {
10590 "type" : "field",
10591 "value" : ["intl4_tail", "dest_port"]
10592 }
10593 ],
10594 "source_info" : {
10595 "filename" : "include/int_sink.p4",
10596 "line" : 26,
10597 "column" : 8,
10598 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
10599 }
10600 },
10601 {
10602 "op" : "assign",
10603 "parameters" : [
10604 {
10605 "type" : "field",
10606 "value" : ["ipv4", "dscp"]
10607 },
10608 {
10609 "type" : "expression",
10610 "value" : {
10611 "type" : "expression",
10612 "value" : {
10613 "op" : "&",
10614 "left" : {
10615 "type" : "field",
10616 "value" : ["intl4_tail", "dscp"]
10617 },
10618 "right" : {
10619 "type" : "hexstr",
10620 "value" : "0x3f"
10621 }
10622 }
10623 }
10624 }
10625 ],
10626 "source_info" : {
10627 "filename" : "include/int_sink.p4",
10628 "line" : 27,
10629 "column" : 8,
10630 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
10631 }
10632 }
10633 ]
10634 },
10635 {
10636 "name" : "FabricEgress.process_int_sink.int_sink",
10637 "id" : 125,
10638 "runtime_data" : [],
10639 "primitives" : [
10640 {
10641 "op" : "assign",
10642 "parameters" : [
10643 {
10644 "type" : "field",
10645 "value" : ["ipv4", "total_len"]
10646 },
10647 {
10648 "type" : "expression",
10649 "value" : {
10650 "type" : "expression",
10651 "value" : {
10652 "op" : "&",
10653 "left" : {
10654 "type" : "expression",
10655 "value" : {
10656 "op" : "-",
10657 "left" : {
10658 "type" : "field",
10659 "value" : ["ipv4", "total_len"]
10660 },
10661 "right" : {
10662 "type" : "expression",
10663 "value" : {
10664 "op" : "&",
10665 "left" : {
10666 "type" : "expression",
10667 "value" : {
10668 "op" : "&",
10669 "left" : {
10670 "type" : "expression",
10671 "value" : {
10672 "op" : "<<",
10673 "left" : {
10674 "type" : "field",
10675 "value" : ["intl4_shim", "len"]
10676 },
10677 "right" : {
10678 "type" : "hexstr",
10679 "value" : "0x2"
10680 }
10681 }
10682 },
10683 "right" : {
10684 "type" : "hexstr",
10685 "value" : "0xff"
10686 }
10687 }
10688 },
10689 "right" : {
10690 "type" : "hexstr",
10691 "value" : "0xffff"
10692 }
10693 }
10694 }
10695 }
10696 },
10697 "right" : {
10698 "type" : "hexstr",
10699 "value" : "0xffff"
10700 }
10701 }
10702 }
10703 }
10704 ],
10705 "source_info" : {
10706 "filename" : "include/int_sink.p4",
10707 "line" : 32,
10708 "column" : 8,
10709 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
10710 }
10711 },
10712 {
10713 "op" : "assign",
10714 "parameters" : [
10715 {
10716 "type" : "field",
10717 "value" : ["udp", "len"]
10718 },
10719 {
10720 "type" : "expression",
10721 "value" : {
10722 "type" : "expression",
10723 "value" : {
10724 "op" : "&",
10725 "left" : {
10726 "type" : "expression",
10727 "value" : {
10728 "op" : "-",
10729 "left" : {
10730 "type" : "field",
10731 "value" : ["udp", "len"]
10732 },
10733 "right" : {
10734 "type" : "expression",
10735 "value" : {
10736 "op" : "&",
10737 "left" : {
10738 "type" : "expression",
10739 "value" : {
10740 "op" : "&",
10741 "left" : {
10742 "type" : "expression",
10743 "value" : {
10744 "op" : "<<",
10745 "left" : {
10746 "type" : "field",
10747 "value" : ["intl4_shim", "len"]
10748 },
10749 "right" : {
10750 "type" : "hexstr",
10751 "value" : "0x2"
10752 }
10753 }
10754 },
10755 "right" : {
10756 "type" : "hexstr",
10757 "value" : "0xff"
10758 }
10759 }
10760 },
10761 "right" : {
10762 "type" : "hexstr",
10763 "value" : "0xffff"
10764 }
10765 }
10766 }
10767 }
10768 },
10769 "right" : {
10770 "type" : "hexstr",
10771 "value" : "0xffff"
10772 }
10773 }
10774 }
10775 }
10776 ],
10777 "source_info" : {
10778 "filename" : "include/int_sink.p4",
10779 "line" : 33,
10780 "column" : 8,
10781 "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
10782 }
10783 },
10784 {
10785 "op" : "remove_header",
10786 "parameters" : [
10787 {
10788 "type" : "header",
10789 "value" : "int_header"
10790 }
10791 ],
10792 "source_info" : {
10793 "filename" : "include/int_sink.p4",
10794 "line" : 35,
10795 "column" : 8,
10796 "source_fragment" : "hdr.int_header.setInvalid()"
10797 }
10798 },
10799 {
10800 "op" : "remove_header",
10801 "parameters" : [
10802 {
10803 "type" : "header",
10804 "value" : "int_data"
10805 }
10806 ],
10807 "source_info" : {
10808 "filename" : "include/int_sink.p4",
10809 "line" : 36,
10810 "column" : 8,
10811 "source_fragment" : "hdr.int_data.setInvalid()"
10812 }
10813 },
10814 {
10815 "op" : "remove_header",
10816 "parameters" : [
10817 {
10818 "type" : "header",
10819 "value" : "intl4_shim"
10820 }
10821 ],
10822 "source_info" : {
10823 "filename" : "include/int_sink.p4",
10824 "line" : 37,
10825 "column" : 8,
10826 "source_fragment" : "hdr.intl4_shim.setInvalid()"
10827 }
10828 },
10829 {
10830 "op" : "remove_header",
10831 "parameters" : [
10832 {
10833 "type" : "header",
10834 "value" : "intl4_tail"
10835 }
10836 ],
10837 "source_info" : {
10838 "filename" : "include/int_sink.p4",
10839 "line" : 38,
10840 "column" : 8,
10841 "source_fragment" : "hdr.intl4_tail.setInvalid()"
10842 }
10843 },
10844 {
10845 "op" : "remove_header",
10846 "parameters" : [
10847 {
10848 "type" : "header",
10849 "value" : "int_switch_id"
10850 }
10851 ],
10852 "source_info" : {
10853 "filename" : "include/int_sink.p4",
10854 "line" : 39,
10855 "column" : 8,
10856 "source_fragment" : "hdr.int_switch_id.setInvalid()"
10857 }
10858 },
10859 {
10860 "op" : "remove_header",
10861 "parameters" : [
10862 {
10863 "type" : "header",
10864 "value" : "int_port_ids"
10865 }
10866 ],
10867 "source_info" : {
10868 "filename" : "include/int_sink.p4",
10869 "line" : 40,
10870 "column" : 8,
10871 "source_fragment" : "hdr.int_port_ids.setInvalid()"
10872 }
10873 },
10874 {
10875 "op" : "remove_header",
10876 "parameters" : [
10877 {
10878 "type" : "header",
10879 "value" : "int_hop_latency"
10880 }
10881 ],
10882 "source_info" : {
10883 "filename" : "include/int_sink.p4",
10884 "line" : 41,
10885 "column" : 8,
10886 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
10887 }
10888 },
10889 {
10890 "op" : "remove_header",
10891 "parameters" : [
10892 {
10893 "type" : "header",
10894 "value" : "int_q_occupancy"
10895 }
10896 ],
10897 "source_info" : {
10898 "filename" : "include/int_sink.p4",
10899 "line" : 42,
10900 "column" : 8,
10901 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
10902 }
10903 },
10904 {
10905 "op" : "remove_header",
10906 "parameters" : [
10907 {
10908 "type" : "header",
10909 "value" : "int_ingress_tstamp"
10910 }
10911 ],
10912 "source_info" : {
10913 "filename" : "include/int_sink.p4",
10914 "line" : 43,
10915 "column" : 8,
10916 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
10917 }
10918 },
10919 {
10920 "op" : "remove_header",
10921 "parameters" : [
10922 {
10923 "type" : "header",
10924 "value" : "int_egress_tstamp"
10925 }
10926 ],
10927 "source_info" : {
10928 "filename" : "include/int_sink.p4",
10929 "line" : 44,
10930 "column" : 8,
10931 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
10932 }
10933 },
10934 {
10935 "op" : "remove_header",
10936 "parameters" : [
10937 {
10938 "type" : "header",
10939 "value" : "int_q_congestion"
10940 }
10941 ],
10942 "source_info" : {
10943 "filename" : "include/int_sink.p4",
10944 "line" : 45,
10945 "column" : 8,
10946 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
10947 }
10948 },
10949 {
10950 "op" : "remove_header",
10951 "parameters" : [
10952 {
10953 "type" : "header",
10954 "value" : "int_egress_tx_util"
10955 }
10956 ],
10957 "source_info" : {
10958 "filename" : "include/int_sink.p4",
10959 "line" : 46,
10960 "column" : 8,
10961 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
10962 }
10963 }
10964 ]
10965 },
10966 {
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020010967 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010968 "id" : 126,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020010969 "runtime_data" : [],
10970 "primitives" : [
10971 {
10972 "op" : "assign",
10973 "parameters" : [
10974 {
10975 "type" : "field",
10976 "value" : ["ethernet", "ether_type"]
10977 },
10978 {
10979 "type" : "field",
10980 "value" : ["vlan_tag", "ether_type"]
10981 }
10982 ],
10983 "source_info" : {
10984 "filename" : "include/control/packetio.p4",
10985 "line" : 38,
10986 "column" : 8,
10987 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
10988 }
10989 },
10990 {
10991 "op" : "remove_header",
10992 "parameters" : [
10993 {
10994 "type" : "header",
10995 "value" : "vlan_tag"
10996 }
10997 ],
10998 "source_info" : {
10999 "filename" : "include/control/packetio.p4",
11000 "line" : 39,
11001 "column" : 8,
11002 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11003 }
11004 }
11005 ]
11006 },
11007 {
11008 "name" : "FabricEgress.egress_next.pop_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011009 "id" : 127,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011010 "runtime_data" : [],
11011 "primitives" : [
11012 {
11013 "op" : "assign",
11014 "parameters" : [
11015 {
11016 "type" : "field",
11017 "value" : ["ethernet", "ether_type"]
11018 },
11019 {
11020 "type" : "field",
11021 "value" : ["vlan_tag", "ether_type"]
11022 }
11023 ],
11024 "source_info" : {
11025 "filename" : "include/control/next.p4",
11026 "line" : 253,
11027 "column" : 8,
11028 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
11029 }
11030 },
11031 {
11032 "op" : "remove_header",
11033 "parameters" : [
11034 {
11035 "type" : "header",
11036 "value" : "vlan_tag"
11037 }
11038 ],
11039 "source_info" : {
11040 "filename" : "include/control/next.p4",
11041 "line" : 254,
11042 "column" : 8,
11043 "source_fragment" : "hdr.vlan_tag.setInvalid()"
11044 }
11045 }
11046 ]
11047 },
11048 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011049 "name" : "act_26",
11050 "id" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011051 "runtime_data" : [],
11052 "primitives" : [
11053 {
11054 "op" : "add_header",
11055 "parameters" : [
11056 {
11057 "type" : "header",
11058 "value" : "packet_in"
11059 }
11060 ],
11061 "source_info" : {
11062 "filename" : "include/control/packetio.p4",
11063 "line" : 51,
11064 "column" : 12,
11065 "source_fragment" : "hdr.packet_in.setValid()"
11066 }
11067 },
11068 {
11069 "op" : "assign",
11070 "parameters" : [
11071 {
11072 "type" : "field",
11073 "value" : ["packet_in", "ingress_port"]
11074 },
11075 {
11076 "type" : "field",
11077 "value" : ["standard_metadata", "ingress_port"]
11078 }
11079 ],
11080 "source_info" : {
11081 "filename" : "include/control/packetio.p4",
11082 "line" : 52,
11083 "column" : 12,
11084 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
11085 }
11086 }
11087 ]
11088 },
11089 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011090 "name" : "act_27",
11091 "id" : 129,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011092 "runtime_data" : [],
11093 "primitives" : [
11094 {
11095 "op" : "remove_header",
11096 "parameters" : [
11097 {
11098 "type" : "header",
11099 "value" : "gtpu_ipv4"
11100 }
11101 ],
11102 "source_info" : {
11103 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011104 "line" : 86,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011105 "column" : 36,
11106 "source_fragment" : "hdr.gtpu_ipv4"
11107 }
11108 },
11109 {
11110 "op" : "remove_header",
11111 "parameters" : [
11112 {
11113 "type" : "header",
11114 "value" : "gtpu_udp"
11115 }
11116 ],
11117 "source_info" : {
11118 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011119 "line" : 86,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011120 "column" : 51,
11121 "source_fragment" : "hdr.gtpu_udp"
11122 }
11123 },
11124 {
11125 "op" : "remove_header",
11126 "parameters" : [
11127 {
11128 "type" : "header",
11129 "value" : "gtpu"
11130 }
11131 ],
11132 "source_info" : {
11133 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011134 "line" : 86,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011135 "column" : 65,
11136 "source_fragment" : "hdr.gtpu"
11137 }
11138 }
11139 ]
11140 }
11141 ],
11142 "pipelines" : [
11143 {
11144 "name" : "ingress",
11145 "id" : 0,
11146 "source_info" : {
11147 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011148 "line" : 40,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011149 "column" : 8,
11150 "source_fragment" : "FabricIngress"
11151 },
11152 "init_table" : "node_2",
11153 "tables" : [
11154 {
11155 "name" : "tbl_act",
11156 "id" : 0,
11157 "key" : [],
11158 "match_type" : "exact",
11159 "type" : "simple",
11160 "max_size" : 1024,
11161 "with_counters" : false,
11162 "support_timeout" : false,
11163 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011164 "action_ids" : [49],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011165 "actions" : ["act"],
11166 "base_default_next" : null,
11167 "next_tables" : {
11168 "act" : null
11169 },
11170 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011171 "action_id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011172 "action_const" : true,
11173 "action_data" : [],
11174 "action_entry_const" : true
11175 }
11176 },
11177 {
11178 "name" : "tbl_act_0",
11179 "id" : 1,
11180 "key" : [],
11181 "match_type" : "exact",
11182 "type" : "simple",
11183 "max_size" : 1024,
11184 "with_counters" : false,
11185 "support_timeout" : false,
11186 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011187 "action_ids" : [57],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011188 "actions" : ["act_7"],
11189 "base_default_next" : "node_5",
11190 "next_tables" : {
11191 "act_7" : "node_5"
11192 },
11193 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011194 "action_id" : 57,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011195 "action_const" : true,
11196 "action_data" : [],
11197 "action_entry_const" : true
11198 }
11199 },
11200 {
11201 "name" : "tbl_act_1",
11202 "id" : 2,
11203 "key" : [],
11204 "match_type" : "exact",
11205 "type" : "simple",
11206 "max_size" : 1024,
11207 "with_counters" : false,
11208 "support_timeout" : false,
11209 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011210 "action_ids" : [52],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011211 "actions" : ["act_2"],
11212 "base_default_next" : "FabricIngress.spgw_ingress.s1u_filter_table",
11213 "next_tables" : {
11214 "act_2" : "FabricIngress.spgw_ingress.s1u_filter_table"
11215 },
11216 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011217 "action_id" : 52,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011218 "action_const" : true,
11219 "action_data" : [],
11220 "action_entry_const" : true
11221 }
11222 },
11223 {
11224 "name" : "FabricIngress.spgw_ingress.s1u_filter_table",
11225 "id" : 3,
11226 "source_info" : {
11227 "filename" : "include/spgw.p4",
11228 "line" : 60,
11229 "column" : 10,
11230 "source_fragment" : "s1u_filter_table"
11231 },
11232 "key" : [
11233 {
11234 "match_type" : "exact",
11235 "name" : "spgw_meta.s1u_sgw_addr",
11236 "target" : ["userMetadata.spgw", "s1u_sgw_addr"],
11237 "mask" : null
11238 }
11239 ],
11240 "match_type" : "exact",
11241 "type" : "simple",
11242 "max_size" : 1024,
11243 "with_counters" : false,
11244 "support_timeout" : false,
11245 "direct_meters" : null,
11246 "action_ids" : [1],
11247 "actions" : ["NoAction"],
11248 "base_default_next" : null,
11249 "next_tables" : {
11250 "__HIT__" : "tbl_act_2",
11251 "__MISS__" : "tbl_act_3"
11252 },
11253 "default_entry" : {
11254 "action_id" : 1,
11255 "action_const" : false,
11256 "action_data" : [],
11257 "action_entry_const" : false
11258 }
11259 },
11260 {
11261 "name" : "tbl_act_2",
11262 "id" : 4,
11263 "key" : [],
11264 "match_type" : "exact",
11265 "type" : "simple",
11266 "max_size" : 1024,
11267 "with_counters" : false,
11268 "support_timeout" : false,
11269 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011270 "action_ids" : [50],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011271 "actions" : ["act_0"],
11272 "base_default_next" : "node_10",
11273 "next_tables" : {
11274 "act_0" : "node_10"
11275 },
11276 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011277 "action_id" : 50,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011278 "action_const" : true,
11279 "action_data" : [],
11280 "action_entry_const" : true
11281 }
11282 },
11283 {
11284 "name" : "tbl_act_3",
11285 "id" : 5,
11286 "key" : [],
11287 "match_type" : "exact",
11288 "type" : "simple",
11289 "max_size" : 1024,
11290 "with_counters" : false,
11291 "support_timeout" : false,
11292 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011293 "action_ids" : [51],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011294 "actions" : ["act_1"],
11295 "base_default_next" : "node_10",
11296 "next_tables" : {
11297 "act_1" : "node_10"
11298 },
11299 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011300 "action_id" : 51,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011301 "action_const" : true,
11302 "action_data" : [],
11303 "action_entry_const" : true
11304 }
11305 },
11306 {
11307 "name" : "tbl_act_4",
11308 "id" : 6,
11309 "key" : [],
11310 "match_type" : "exact",
11311 "type" : "simple",
11312 "max_size" : 1024,
11313 "with_counters" : false,
11314 "support_timeout" : false,
11315 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011316 "action_ids" : [53],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011317 "actions" : ["act_3"],
11318 "base_default_next" : "node_17",
11319 "next_tables" : {
11320 "act_3" : "node_17"
11321 },
11322 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011323 "action_id" : 53,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011324 "action_const" : true,
11325 "action_data" : [],
11326 "action_entry_const" : true
11327 }
11328 },
11329 {
11330 "name" : "FabricIngress.spgw_ingress.ue_filter_table",
11331 "id" : 7,
11332 "source_info" : {
11333 "filename" : "include/spgw.p4",
11334 "line" : 50,
11335 "column" : 10,
11336 "source_fragment" : "ue_filter_table"
11337 },
11338 "key" : [
11339 {
11340 "match_type" : "lpm",
11341 "name" : "ipv4.dst_addr",
11342 "target" : ["ipv4", "dst_addr"],
11343 "mask" : null
11344 }
11345 ],
11346 "match_type" : "lpm",
11347 "type" : "simple",
11348 "max_size" : 1024,
11349 "with_counters" : false,
11350 "support_timeout" : false,
11351 "direct_meters" : null,
11352 "action_ids" : [0],
11353 "actions" : ["NoAction"],
11354 "base_default_next" : null,
11355 "next_tables" : {
11356 "__HIT__" : "tbl_act_5",
11357 "__MISS__" : "tbl_act_6"
11358 },
11359 "default_entry" : {
11360 "action_id" : 0,
11361 "action_const" : false,
11362 "action_data" : [],
11363 "action_entry_const" : false
11364 }
11365 },
11366 {
11367 "name" : "tbl_act_5",
11368 "id" : 8,
11369 "key" : [],
11370 "match_type" : "exact",
11371 "type" : "simple",
11372 "max_size" : 1024,
11373 "with_counters" : false,
11374 "support_timeout" : false,
11375 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011376 "action_ids" : [54],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011377 "actions" : ["act_4"],
11378 "base_default_next" : "node_15",
11379 "next_tables" : {
11380 "act_4" : "node_15"
11381 },
11382 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011383 "action_id" : 54,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011384 "action_const" : true,
11385 "action_data" : [],
11386 "action_entry_const" : true
11387 }
11388 },
11389 {
11390 "name" : "tbl_act_6",
11391 "id" : 9,
11392 "key" : [],
11393 "match_type" : "exact",
11394 "type" : "simple",
11395 "max_size" : 1024,
11396 "with_counters" : false,
11397 "support_timeout" : false,
11398 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011399 "action_ids" : [55],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011400 "actions" : ["act_5"],
11401 "base_default_next" : "node_15",
11402 "next_tables" : {
11403 "act_5" : "node_15"
11404 },
11405 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011406 "action_id" : 55,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011407 "action_const" : true,
11408 "action_data" : [],
11409 "action_entry_const" : true
11410 }
11411 },
11412 {
11413 "name" : "tbl_act_7",
11414 "id" : 10,
11415 "key" : [],
11416 "match_type" : "exact",
11417 "type" : "simple",
11418 "max_size" : 1024,
11419 "with_counters" : false,
11420 "support_timeout" : false,
11421 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011422 "action_ids" : [56],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011423 "actions" : ["act_6"],
11424 "base_default_next" : "node_17",
11425 "next_tables" : {
11426 "act_6" : "node_17"
11427 },
11428 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011429 "action_id" : 56,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011430 "action_const" : true,
11431 "action_data" : [],
11432 "action_entry_const" : true
11433 }
11434 },
11435 {
11436 "name" : "tbl_act_8",
11437 "id" : 11,
11438 "key" : [],
11439 "match_type" : "exact",
11440 "type" : "simple",
11441 "max_size" : 1024,
11442 "with_counters" : false,
11443 "support_timeout" : false,
11444 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011445 "action_ids" : [58],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011446 "actions" : ["act_8"],
11447 "base_default_next" : "node_19",
11448 "next_tables" : {
11449 "act_8" : "node_19"
11450 },
11451 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011452 "action_id" : 58,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011453 "action_const" : true,
11454 "action_data" : [],
11455 "action_entry_const" : true
11456 }
11457 },
11458 {
11459 "name" : "tbl_spgw_ingress_gtpu_decap",
11460 "id" : 12,
11461 "key" : [],
11462 "match_type" : "exact",
11463 "type" : "simple",
11464 "max_size" : 1024,
11465 "with_counters" : false,
11466 "support_timeout" : false,
11467 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011468 "action_ids" : [19],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011469 "actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
11470 "base_default_next" : "node_22",
11471 "next_tables" : {
11472 "FabricIngress.spgw_ingress.gtpu_decap" : "node_22"
11473 },
11474 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011475 "action_id" : 19,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011476 "action_const" : true,
11477 "action_data" : [],
11478 "action_entry_const" : true
11479 }
11480 },
11481 {
11482 "name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
11483 "id" : 13,
11484 "source_info" : {
11485 "filename" : "include/spgw.p4",
11486 "line" : 119,
11487 "column" : 10,
11488 "source_fragment" : "dl_sess_lookup"
11489 },
11490 "key" : [
11491 {
11492 "match_type" : "exact",
11493 "name" : "ipv4.dst_addr",
11494 "target" : ["ipv4", "dst_addr"],
11495 "mask" : null
11496 }
11497 ],
11498 "match_type" : "exact",
11499 "type" : "simple",
11500 "max_size" : 1024,
11501 "with_counters" : false,
11502 "support_timeout" : false,
11503 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011504 "action_ids" : [20, 2],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011505 "actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "NoAction"],
11506 "base_default_next" : null,
11507 "next_tables" : {
11508 "__HIT__" : "tbl_act_9",
11509 "__MISS__" : "tbl_act_10"
11510 },
11511 "default_entry" : {
11512 "action_id" : 2,
11513 "action_const" : false,
11514 "action_data" : [],
11515 "action_entry_const" : false
11516 }
11517 },
11518 {
11519 "name" : "tbl_act_9",
11520 "id" : 14,
11521 "key" : [],
11522 "match_type" : "exact",
11523 "type" : "simple",
11524 "max_size" : 1024,
11525 "with_counters" : false,
11526 "support_timeout" : false,
11527 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011528 "action_ids" : [59],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011529 "actions" : ["act_9"],
11530 "base_default_next" : "node_26",
11531 "next_tables" : {
11532 "act_9" : "node_26"
11533 },
11534 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011535 "action_id" : 59,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011536 "action_const" : true,
11537 "action_data" : [],
11538 "action_entry_const" : true
11539 }
11540 },
11541 {
11542 "name" : "tbl_act_10",
11543 "id" : 15,
11544 "key" : [],
11545 "match_type" : "exact",
11546 "type" : "simple",
11547 "max_size" : 1024,
11548 "with_counters" : false,
11549 "support_timeout" : false,
11550 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011551 "action_ids" : [60],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011552 "actions" : ["act_10"],
11553 "base_default_next" : "node_26",
11554 "next_tables" : {
11555 "act_10" : "node_26"
11556 },
11557 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011558 "action_id" : 60,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011559 "action_const" : true,
11560 "action_data" : [],
11561 "action_entry_const" : true
11562 }
11563 },
11564 {
11565 "name" : "tbl_drop_now",
11566 "id" : 16,
11567 "key" : [],
11568 "match_type" : "exact",
11569 "type" : "simple",
11570 "max_size" : 1024,
11571 "with_counters" : false,
11572 "support_timeout" : false,
11573 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011574 "action_ids" : [18],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011575 "actions" : ["drop_now"],
11576 "base_default_next" : "FabricIngress.spgw_ingress.ue_cdr_table",
11577 "next_tables" : {
11578 "drop_now" : "FabricIngress.spgw_ingress.ue_cdr_table"
11579 },
11580 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011581 "action_id" : 18,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011582 "action_const" : true,
11583 "action_data" : [],
11584 "action_entry_const" : true
11585 }
11586 },
11587 {
11588 "name" : "FabricIngress.spgw_ingress.ue_cdr_table",
11589 "id" : 17,
11590 "source_info" : {
11591 "filename" : "include/spgw.p4",
11592 "line" : 129,
11593 "column" : 10,
11594 "source_fragment" : "ue_cdr_table"
11595 },
11596 "key" : [
11597 {
11598 "match_type" : "exact",
11599 "name" : "ipv4.dst_addr",
11600 "target" : ["ipv4", "dst_addr"],
11601 "mask" : null
11602 }
11603 ],
11604 "match_type" : "exact",
11605 "type" : "simple",
11606 "max_size" : 1024,
11607 "with_counters" : true,
11608 "support_timeout" : false,
11609 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011610 "action_ids" : [21, 3],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011611 "actions" : ["FabricIngress.spgw_ingress.update_ue_cdr", "NoAction"],
11612 "base_default_next" : "tbl_act_11",
11613 "next_tables" : {
11614 "FabricIngress.spgw_ingress.update_ue_cdr" : "tbl_act_11",
11615 "NoAction" : "tbl_act_11"
11616 },
11617 "default_entry" : {
11618 "action_id" : 3,
11619 "action_const" : false,
11620 "action_data" : [],
11621 "action_entry_const" : false
11622 }
11623 },
11624 {
11625 "name" : "tbl_act_11",
11626 "id" : 18,
11627 "key" : [],
11628 "match_type" : "exact",
11629 "type" : "simple",
11630 "max_size" : 1024,
11631 "with_counters" : false,
11632 "support_timeout" : false,
11633 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011634 "action_ids" : [61],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011635 "actions" : ["act_11"],
11636 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
11637 "next_tables" : {
11638 "act_11" : "FabricIngress.filtering.ingress_port_vlan"
11639 },
11640 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011641 "action_id" : 61,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011642 "action_const" : true,
11643 "action_data" : [],
11644 "action_entry_const" : true
11645 }
11646 },
11647 {
11648 "name" : "FabricIngress.filtering.ingress_port_vlan",
11649 "id" : 19,
11650 "source_info" : {
11651 "filename" : "include/control/filtering.p4",
11652 "line" : 61,
11653 "column" : 10,
11654 "source_fragment" : "ingress_port_vlan"
11655 },
11656 "key" : [
11657 {
11658 "match_type" : "exact",
11659 "name" : "standard_metadata.ingress_port",
11660 "target" : ["standard_metadata", "ingress_port"],
11661 "mask" : null
11662 },
11663 {
11664 "match_type" : "exact",
11665 "name" : "hdr.vlan_tag.is_valid",
11666 "target" : ["vlan_tag", "$valid$"],
11667 "mask" : null
11668 },
11669 {
11670 "match_type" : "ternary",
11671 "name" : "hdr.vlan_tag.vlan_id",
11672 "target" : ["vlan_tag", "vlan_id"],
11673 "mask" : null
11674 }
11675 ],
11676 "match_type" : "ternary",
11677 "type" : "simple",
11678 "max_size" : 1024,
11679 "with_counters" : true,
11680 "support_timeout" : false,
11681 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011682 "action_ids" : [26, 25, 15, 24],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011683 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "nop", "FabricIngress.filtering.drop"],
11684 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
11685 "next_tables" : {
11686 "FabricIngress.filtering.push_internal_vlan" : "FabricIngress.filtering.fwd_classifier",
11687 "FabricIngress.filtering.set_vlan" : "FabricIngress.filtering.fwd_classifier",
11688 "nop" : "FabricIngress.filtering.fwd_classifier",
11689 "FabricIngress.filtering.drop" : "FabricIngress.filtering.fwd_classifier"
11690 },
11691 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011692 "action_id" : 15,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011693 "action_const" : true,
11694 "action_data" : [],
11695 "action_entry_const" : true
11696 }
11697 },
11698 {
11699 "name" : "FabricIngress.filtering.fwd_classifier",
11700 "id" : 20,
11701 "source_info" : {
11702 "filename" : "include/control/filtering.p4",
11703 "line" : 98,
11704 "column" : 10,
11705 "source_fragment" : "fwd_classifier"
11706 },
11707 "key" : [
11708 {
11709 "match_type" : "exact",
11710 "name" : "standard_metadata.ingress_port",
11711 "target" : ["standard_metadata", "ingress_port"],
11712 "mask" : null
11713 },
11714 {
11715 "match_type" : "exact",
11716 "name" : "hdr.ethernet.dst_addr",
11717 "target" : ["ethernet", "dst_addr"],
11718 "mask" : null
11719 },
11720 {
11721 "match_type" : "exact",
Yi Tseng8235a1a2018-07-24 20:57:28 +080011722 "name" : "hdr.vlan_tag.ether_type",
11723 "target" : ["vlan_tag", "ether_type"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011724 "mask" : null
11725 }
11726 ],
11727 "match_type" : "exact",
11728 "type" : "simple",
11729 "max_size" : 1024,
11730 "with_counters" : true,
11731 "support_timeout" : false,
11732 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011733 "action_ids" : [27],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011734 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
11735 "base_default_next" : "node_32",
11736 "next_tables" : {
11737 "FabricIngress.filtering.set_forwarding_type" : "node_32"
11738 },
11739 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011740 "action_id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011741 "action_const" : true,
11742 "action_data" : ["0x0"],
11743 "action_entry_const" : true
11744 }
11745 },
11746 {
11747 "name" : "FabricIngress.forwarding.bridging",
11748 "id" : 21,
11749 "source_info" : {
11750 "filename" : "include/control/forwarding.p4",
11751 "line" : 41,
11752 "column" : 10,
11753 "source_fragment" : "bridging"
11754 },
11755 "key" : [
11756 {
11757 "match_type" : "exact",
11758 "name" : "hdr.vlan_tag.vlan_id",
11759 "target" : ["vlan_tag", "vlan_id"],
11760 "mask" : null
11761 },
11762 {
11763 "match_type" : "ternary",
11764 "name" : "hdr.ethernet.dst_addr",
11765 "target" : ["ethernet", "dst_addr"],
11766 "mask" : null
11767 }
11768 ],
11769 "match_type" : "ternary",
11770 "type" : "simple",
11771 "max_size" : 1024,
11772 "with_counters" : true,
11773 "support_timeout" : false,
11774 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011775 "action_ids" : [28, 6],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011776 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
11777 "base_default_next" : "FabricIngress.forwarding.acl",
11778 "next_tables" : {
11779 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
11780 "NoAction" : "FabricIngress.forwarding.acl"
11781 },
11782 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011783 "action_id" : 6,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011784 "action_const" : false,
11785 "action_data" : [],
11786 "action_entry_const" : false
11787 }
11788 },
11789 {
11790 "name" : "FabricIngress.forwarding.mpls",
11791 "id" : 22,
11792 "source_info" : {
11793 "filename" : "include/control/forwarding.p4",
11794 "line" : 65,
11795 "column" : 10,
11796 "source_fragment" : "mpls"
11797 },
11798 "key" : [
11799 {
11800 "match_type" : "exact",
11801 "name" : "hdr.mpls.label",
11802 "target" : ["mpls", "label"],
11803 "mask" : null
11804 }
11805 ],
11806 "match_type" : "exact",
11807 "type" : "simple",
11808 "max_size" : 1024,
11809 "with_counters" : true,
11810 "support_timeout" : false,
11811 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011812 "action_ids" : [29, 7],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011813 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
11814 "base_default_next" : "tbl_act_12",
11815 "next_tables" : {
11816 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_12",
11817 "NoAction" : "tbl_act_12"
11818 },
11819 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011820 "action_id" : 7,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011821 "action_const" : false,
11822 "action_data" : [],
11823 "action_entry_const" : false
11824 }
11825 },
11826 {
11827 "name" : "tbl_act_12",
11828 "id" : 23,
11829 "key" : [],
11830 "match_type" : "exact",
11831 "type" : "simple",
11832 "max_size" : 1024,
11833 "with_counters" : false,
11834 "support_timeout" : false,
11835 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011836 "action_ids" : [62],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011837 "actions" : ["act_12"],
11838 "base_default_next" : "FabricIngress.forwarding.acl",
11839 "next_tables" : {
11840 "act_12" : "FabricIngress.forwarding.acl"
11841 },
11842 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011843 "action_id" : 62,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011844 "action_const" : true,
11845 "action_data" : [],
11846 "action_entry_const" : true
11847 }
11848 },
11849 {
11850 "name" : "FabricIngress.forwarding.unicast_v4",
11851 "id" : 24,
11852 "source_info" : {
11853 "filename" : "include/control/forwarding.p4",
11854 "line" : 87,
11855 "column" : 10,
11856 "source_fragment" : "unicast_v4"
11857 },
11858 "key" : [
11859 {
11860 "match_type" : "lpm",
11861 "name" : "hdr.ipv4.dst_addr",
11862 "target" : ["ipv4", "dst_addr"],
11863 "mask" : null
11864 }
11865 ],
11866 "match_type" : "lpm",
11867 "type" : "simple",
11868 "max_size" : 1024,
11869 "with_counters" : true,
11870 "support_timeout" : false,
11871 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011872 "action_ids" : [30, 8],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011873 "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v4", "NoAction"],
11874 "base_default_next" : "FabricIngress.forwarding.acl",
11875 "next_tables" : {
11876 "FabricIngress.forwarding.set_next_id_unicast_v4" : "FabricIngress.forwarding.acl",
11877 "NoAction" : "FabricIngress.forwarding.acl"
11878 },
11879 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011880 "action_id" : 8,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011881 "action_const" : false,
11882 "action_data" : [],
11883 "action_entry_const" : false
11884 }
11885 },
11886 {
11887 "name" : "FabricIngress.forwarding.multicast_v4",
11888 "id" : 25,
11889 "source_info" : {
11890 "filename" : "include/control/forwarding.p4",
11891 "line" : 168,
11892 "column" : 10,
11893 "source_fragment" : "multicast_v4"
11894 },
11895 "key" : [
11896 {
11897 "match_type" : "exact",
11898 "name" : "hdr.vlan_tag.vlan_id",
11899 "target" : ["vlan_tag", "vlan_id"],
11900 "mask" : null
11901 },
11902 {
11903 "match_type" : "lpm",
11904 "name" : "hdr.ipv4.dst_addr",
11905 "target" : ["ipv4", "dst_addr"],
11906 "mask" : null
11907 }
11908 ],
11909 "match_type" : "lpm",
11910 "type" : "simple",
11911 "max_size" : 1024,
11912 "with_counters" : true,
11913 "support_timeout" : false,
11914 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011915 "action_ids" : [35, 9],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011916 "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v4", "NoAction"],
11917 "base_default_next" : "FabricIngress.forwarding.acl",
11918 "next_tables" : {
11919 "FabricIngress.forwarding.set_next_id_multicast_v4" : "FabricIngress.forwarding.acl",
11920 "NoAction" : "FabricIngress.forwarding.acl"
11921 },
11922 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011923 "action_id" : 9,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011924 "action_const" : false,
11925 "action_data" : [],
11926 "action_entry_const" : false
11927 }
11928 },
11929 {
11930 "name" : "FabricIngress.forwarding.unicast_v6",
11931 "id" : 26,
11932 "source_info" : {
11933 "filename" : "include/control/forwarding.p4",
11934 "line" : 193,
11935 "column" : 10,
11936 "source_fragment" : "unicast_v6"
11937 },
11938 "key" : [
11939 {
11940 "match_type" : "lpm",
11941 "name" : "hdr.ipv6.dst_addr",
11942 "target" : ["ipv6", "dst_addr"],
11943 "mask" : null
11944 }
11945 ],
11946 "match_type" : "lpm",
11947 "type" : "simple",
11948 "max_size" : 1024,
11949 "with_counters" : true,
11950 "support_timeout" : false,
11951 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011952 "action_ids" : [36, 10],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011953 "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v6", "NoAction"],
11954 "base_default_next" : "FabricIngress.forwarding.acl",
11955 "next_tables" : {
11956 "FabricIngress.forwarding.set_next_id_unicast_v6" : "FabricIngress.forwarding.acl",
11957 "NoAction" : "FabricIngress.forwarding.acl"
11958 },
11959 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011960 "action_id" : 10,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011961 "action_const" : false,
11962 "action_data" : [],
11963 "action_entry_const" : false
11964 }
11965 },
11966 {
11967 "name" : "FabricIngress.forwarding.multicast_v6",
11968 "id" : 27,
11969 "source_info" : {
11970 "filename" : "include/control/forwarding.p4",
11971 "line" : 216,
11972 "column" : 10,
11973 "source_fragment" : "multicast_v6"
11974 },
11975 "key" : [
11976 {
11977 "match_type" : "exact",
11978 "name" : "hdr.vlan_tag.vlan_id",
11979 "target" : ["vlan_tag", "vlan_id"],
11980 "mask" : null
11981 },
11982 {
11983 "match_type" : "lpm",
11984 "name" : "hdr.ipv6.dst_addr",
11985 "target" : ["ipv6", "dst_addr"],
11986 "mask" : null
11987 }
11988 ],
11989 "match_type" : "lpm",
11990 "type" : "simple",
11991 "max_size" : 1024,
11992 "with_counters" : true,
11993 "support_timeout" : false,
11994 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011995 "action_ids" : [37, 11],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020011996 "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v6", "NoAction"],
11997 "base_default_next" : "FabricIngress.forwarding.acl",
11998 "next_tables" : {
11999 "FabricIngress.forwarding.set_next_id_multicast_v6" : "FabricIngress.forwarding.acl",
12000 "NoAction" : "FabricIngress.forwarding.acl"
12001 },
12002 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012003 "action_id" : 11,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012004 "action_const" : false,
12005 "action_data" : [],
12006 "action_entry_const" : false
12007 }
12008 },
12009 {
12010 "name" : "FabricIngress.forwarding.acl",
12011 "id" : 28,
12012 "source_info" : {
12013 "filename" : "include/control/forwarding.p4",
12014 "line" : 127,
12015 "column" : 10,
12016 "source_fragment" : "acl"
12017 },
12018 "key" : [
12019 {
12020 "match_type" : "ternary",
12021 "name" : "standard_metadata.ingress_port",
12022 "target" : ["standard_metadata", "ingress_port"],
12023 "mask" : null
12024 },
12025 {
12026 "match_type" : "ternary",
12027 "name" : "fabric_metadata.ip_proto",
12028 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
12029 "mask" : null
12030 },
12031 {
12032 "match_type" : "ternary",
12033 "name" : "fabric_metadata.l4_src_port",
12034 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
12035 "mask" : null
12036 },
12037 {
12038 "match_type" : "ternary",
12039 "name" : "fabric_metadata.l4_dst_port",
12040 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
12041 "mask" : null
12042 },
12043 {
12044 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012045 "name" : "hdr.ethernet.dst_addr",
12046 "target" : ["ethernet", "dst_addr"],
12047 "mask" : null
12048 },
12049 {
12050 "match_type" : "ternary",
12051 "name" : "hdr.ethernet.src_addr",
12052 "target" : ["ethernet", "src_addr"],
12053 "mask" : null
12054 },
12055 {
12056 "match_type" : "ternary",
12057 "name" : "hdr.vlan_tag.vlan_id",
12058 "target" : ["vlan_tag", "vlan_id"],
12059 "mask" : null
12060 },
12061 {
12062 "match_type" : "ternary",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012063 "name" : "hdr.vlan_tag.ether_type",
12064 "target" : ["vlan_tag", "ether_type"],
12065 "mask" : null
12066 },
12067 {
12068 "match_type" : "ternary",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012069 "name" : "hdr.ipv4.src_addr",
12070 "target" : ["ipv4", "src_addr"],
12071 "mask" : null
12072 },
12073 {
12074 "match_type" : "ternary",
12075 "name" : "hdr.ipv4.dst_addr",
12076 "target" : ["ipv4", "dst_addr"],
12077 "mask" : null
12078 },
12079 {
12080 "match_type" : "ternary",
12081 "name" : "hdr.icmp.icmp_type",
12082 "target" : ["icmp", "icmp_type"],
12083 "mask" : null
12084 },
12085 {
12086 "match_type" : "ternary",
12087 "name" : "hdr.icmp.icmp_code",
12088 "target" : ["icmp", "icmp_code"],
12089 "mask" : null
12090 }
12091 ],
12092 "match_type" : "ternary",
12093 "type" : "simple",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012094 "max_size" : 128,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012095 "with_counters" : true,
12096 "support_timeout" : false,
12097 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012098 "action_ids" : [31, 32, 33, 34, 16],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012099 "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "nop"],
12100 "base_default_next" : "tbl_act_13",
12101 "next_tables" : {
12102 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_13",
12103 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_13",
12104 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_13",
12105 "FabricIngress.forwarding.drop" : "tbl_act_13",
12106 "nop" : "tbl_act_13"
12107 },
12108 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012109 "action_id" : 16,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012110 "action_const" : true,
12111 "action_data" : [],
12112 "action_entry_const" : true
12113 }
12114 },
12115 {
12116 "name" : "tbl_act_13",
12117 "id" : 29,
12118 "key" : [],
12119 "match_type" : "exact",
12120 "type" : "simple",
12121 "max_size" : 1024,
12122 "with_counters" : false,
12123 "support_timeout" : false,
12124 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012125 "action_ids" : [63],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012126 "actions" : ["act_13"],
12127 "base_default_next" : "FabricIngress.next.vlan_meta",
12128 "next_tables" : {
12129 "act_13" : "FabricIngress.next.vlan_meta"
12130 },
12131 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012132 "action_id" : 63,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012133 "action_const" : true,
12134 "action_data" : [],
12135 "action_entry_const" : true
12136 }
12137 },
12138 {
12139 "name" : "FabricIngress.next.vlan_meta",
12140 "id" : 30,
12141 "source_info" : {
12142 "filename" : "include/control/next.p4",
12143 "line" : 65,
12144 "column" : 10,
12145 "source_fragment" : "vlan_meta"
12146 },
12147 "key" : [
12148 {
12149 "match_type" : "exact",
12150 "name" : "fabric_metadata.next_id",
12151 "target" : ["scalars", "fabric_metadata_t.next_id"],
12152 "mask" : null
12153 }
12154 ],
12155 "match_type" : "exact",
12156 "type" : "simple",
12157 "max_size" : 1024,
12158 "with_counters" : true,
12159 "support_timeout" : false,
12160 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012161 "action_ids" : [38, 17],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012162 "actions" : ["FabricIngress.next.set_vlan", "nop"],
12163 "base_default_next" : "FabricIngress.next.simple",
12164 "next_tables" : {
12165 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
12166 "nop" : "FabricIngress.next.simple"
12167 },
12168 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012169 "action_id" : 17,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012170 "action_const" : false,
12171 "action_data" : [],
12172 "action_entry_const" : false
12173 }
12174 },
12175 {
12176 "name" : "FabricIngress.next.simple",
12177 "id" : 31,
12178 "source_info" : {
12179 "filename" : "include/control/next.p4",
12180 "line" : 122,
12181 "column" : 10,
12182 "source_fragment" : "simple"
12183 },
12184 "key" : [
12185 {
12186 "match_type" : "exact",
12187 "name" : "fabric_metadata.next_id",
12188 "target" : ["scalars", "fabric_metadata_t.next_id"],
12189 "mask" : null
12190 }
12191 ],
12192 "match_type" : "exact",
12193 "type" : "simple",
12194 "max_size" : 1024,
12195 "with_counters" : true,
12196 "support_timeout" : false,
12197 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012198 "action_ids" : [39, 40, 41, 42, 43, 44, 12],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012199 "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"],
12200 "base_default_next" : null,
12201 "next_tables" : {
12202 "__HIT__" : "tbl_act_14",
12203 "__MISS__" : "tbl_act_15"
12204 },
12205 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012206 "action_id" : 12,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012207 "action_const" : false,
12208 "action_data" : [],
12209 "action_entry_const" : false
12210 }
12211 },
12212 {
12213 "name" : "tbl_act_14",
12214 "id" : 32,
12215 "key" : [],
12216 "match_type" : "exact",
12217 "type" : "simple",
12218 "max_size" : 1024,
12219 "with_counters" : false,
12220 "support_timeout" : false,
12221 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012222 "action_ids" : [64],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012223 "actions" : ["act_14"],
12224 "base_default_next" : "node_51",
12225 "next_tables" : {
12226 "act_14" : "node_51"
12227 },
12228 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012229 "action_id" : 64,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012230 "action_const" : true,
12231 "action_data" : [],
12232 "action_entry_const" : true
12233 }
12234 },
12235 {
12236 "name" : "tbl_act_15",
12237 "id" : 33,
12238 "key" : [],
12239 "match_type" : "exact",
12240 "type" : "simple",
12241 "max_size" : 1024,
12242 "with_counters" : false,
12243 "support_timeout" : false,
12244 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012245 "action_ids" : [65],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012246 "actions" : ["act_15"],
12247 "base_default_next" : "node_51",
12248 "next_tables" : {
12249 "act_15" : "node_51"
12250 },
12251 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012252 "action_id" : 65,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012253 "action_const" : true,
12254 "action_data" : [],
12255 "action_entry_const" : true
12256 }
12257 },
12258 {
12259 "name" : "FabricIngress.next.hashed",
12260 "id" : 34,
12261 "source_info" : {
12262 "filename" : "include/control/next.p4",
12263 "line" : 175,
12264 "column" : 10,
12265 "source_fragment" : "hashed"
12266 },
12267 "key" : [
12268 {
12269 "match_type" : "exact",
12270 "name" : "fabric_metadata.next_id",
12271 "target" : ["scalars", "fabric_metadata_t.next_id"],
12272 "mask" : null
12273 }
12274 ],
12275 "match_type" : "exact",
12276 "type" : "indirect_ws",
12277 "action_profile" : "FabricIngress.next.ecmp_selector",
12278 "max_size" : 1024,
12279 "with_counters" : true,
12280 "support_timeout" : false,
12281 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012282 "action_ids" : [45, 46, 47, 13],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012283 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
12284 "base_default_next" : null,
12285 "next_tables" : {
12286 "__HIT__" : "tbl_act_16",
12287 "__MISS__" : "tbl_act_17"
12288 }
12289 },
12290 {
12291 "name" : "tbl_act_16",
12292 "id" : 35,
12293 "key" : [],
12294 "match_type" : "exact",
12295 "type" : "simple",
12296 "max_size" : 1024,
12297 "with_counters" : false,
12298 "support_timeout" : false,
12299 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012300 "action_ids" : [66],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012301 "actions" : ["act_16"],
12302 "base_default_next" : "node_55",
12303 "next_tables" : {
12304 "act_16" : "node_55"
12305 },
12306 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012307 "action_id" : 66,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012308 "action_const" : true,
12309 "action_data" : [],
12310 "action_entry_const" : true
12311 }
12312 },
12313 {
12314 "name" : "tbl_act_17",
12315 "id" : 36,
12316 "key" : [],
12317 "match_type" : "exact",
12318 "type" : "simple",
12319 "max_size" : 1024,
12320 "with_counters" : false,
12321 "support_timeout" : false,
12322 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012323 "action_ids" : [67],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012324 "actions" : ["act_17"],
12325 "base_default_next" : "node_55",
12326 "next_tables" : {
12327 "act_17" : "node_55"
12328 },
12329 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012330 "action_id" : 67,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012331 "action_const" : true,
12332 "action_data" : [],
12333 "action_entry_const" : true
12334 }
12335 },
12336 {
12337 "name" : "FabricIngress.next.multicast",
12338 "id" : 37,
12339 "source_info" : {
12340 "filename" : "include/control/next.p4",
12341 "line" : 207,
12342 "column" : 10,
12343 "source_fragment" : "multicast"
12344 },
12345 "key" : [
12346 {
12347 "match_type" : "exact",
12348 "name" : "fabric_metadata.next_id",
12349 "target" : ["scalars", "fabric_metadata_t.next_id"],
12350 "mask" : null
12351 }
12352 ],
12353 "match_type" : "exact",
12354 "type" : "simple",
12355 "max_size" : 1024,
12356 "with_counters" : true,
12357 "support_timeout" : false,
12358 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012359 "action_ids" : [48, 14],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012360 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
12361 "base_default_next" : null,
12362 "next_tables" : {
12363 "__HIT__" : "tbl_act_18",
12364 "__MISS__" : "tbl_act_19"
12365 },
12366 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012367 "action_id" : 14,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012368 "action_const" : false,
12369 "action_data" : [],
12370 "action_entry_const" : false
12371 }
12372 },
12373 {
12374 "name" : "tbl_act_18",
12375 "id" : 38,
12376 "key" : [],
12377 "match_type" : "exact",
12378 "type" : "simple",
12379 "max_size" : 1024,
12380 "with_counters" : false,
12381 "support_timeout" : false,
12382 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012383 "action_ids" : [68],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012384 "actions" : ["act_18"],
12385 "base_default_next" : "node_59",
12386 "next_tables" : {
12387 "act_18" : "node_59"
12388 },
12389 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012390 "action_id" : 68,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012391 "action_const" : true,
12392 "action_data" : [],
12393 "action_entry_const" : true
12394 }
12395 },
12396 {
12397 "name" : "tbl_act_19",
12398 "id" : 39,
12399 "key" : [],
12400 "match_type" : "exact",
12401 "type" : "simple",
12402 "max_size" : 1024,
12403 "with_counters" : false,
12404 "support_timeout" : false,
12405 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012406 "action_ids" : [69],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012407 "actions" : ["act_19"],
12408 "base_default_next" : "node_59",
12409 "next_tables" : {
12410 "act_19" : "node_59"
12411 },
12412 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012413 "action_id" : 69,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012414 "action_const" : true,
12415 "action_data" : [],
12416 "action_entry_const" : true
12417 }
12418 },
12419 {
12420 "name" : "tbl_act_20",
12421 "id" : 40,
12422 "key" : [],
12423 "match_type" : "exact",
12424 "type" : "simple",
12425 "max_size" : 1024,
12426 "with_counters" : false,
12427 "support_timeout" : false,
12428 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012429 "action_ids" : [70],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012430 "actions" : ["act_20"],
12431 "base_default_next" : "node_61",
12432 "next_tables" : {
12433 "act_20" : "node_61"
12434 },
12435 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012436 "action_id" : 70,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012437 "action_const" : true,
12438 "action_data" : [],
12439 "action_entry_const" : true
12440 }
12441 },
12442 {
12443 "name" : "tbl_act_21",
12444 "id" : 41,
12445 "key" : [],
12446 "match_type" : "exact",
12447 "type" : "simple",
12448 "max_size" : 1024,
12449 "with_counters" : false,
12450 "support_timeout" : false,
12451 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012452 "action_ids" : [71],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012453 "actions" : ["act_21"],
12454 "base_default_next" : "node_67",
12455 "next_tables" : {
12456 "act_21" : "node_67"
12457 },
12458 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012459 "action_id" : 71,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012460 "action_const" : true,
12461 "action_data" : [],
12462 "action_entry_const" : true
12463 }
12464 },
12465 {
12466 "name" : "tbl_act_22",
12467 "id" : 42,
12468 "key" : [],
12469 "match_type" : "exact",
12470 "type" : "simple",
12471 "max_size" : 1024,
12472 "with_counters" : false,
12473 "support_timeout" : false,
12474 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012475 "action_ids" : [72],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012476 "actions" : ["act_22"],
12477 "base_default_next" : "node_67",
12478 "next_tables" : {
12479 "act_22" : "node_67"
12480 },
12481 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012482 "action_id" : 72,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012483 "action_const" : true,
12484 "action_data" : [],
12485 "action_entry_const" : true
12486 }
12487 },
12488 {
12489 "name" : "tbl_act_23",
12490 "id" : 43,
12491 "key" : [],
12492 "match_type" : "exact",
12493 "type" : "simple",
12494 "max_size" : 1024,
12495 "with_counters" : false,
12496 "support_timeout" : false,
12497 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012498 "action_ids" : [73],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012499 "actions" : ["act_23"],
12500 "base_default_next" : "node_69",
12501 "next_tables" : {
12502 "act_23" : "node_69"
12503 },
12504 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012505 "action_id" : 73,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012506 "action_const" : true,
12507 "action_data" : [],
12508 "action_entry_const" : true
12509 }
12510 },
12511 {
12512 "name" : "tbl_act_24",
12513 "id" : 44,
12514 "key" : [],
12515 "match_type" : "exact",
12516 "type" : "simple",
12517 "max_size" : 1024,
12518 "with_counters" : false,
12519 "support_timeout" : false,
12520 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012521 "action_ids" : [74],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012522 "actions" : ["act_24"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012523 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012524 "next_tables" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012525 "act_24" : "FabricIngress.process_set_source_sink.tb_set_source"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012526 },
12527 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090012528 "action_id" : 74,
12529 "action_const" : true,
12530 "action_data" : [],
12531 "action_entry_const" : true
12532 }
12533 },
12534 {
12535 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
12536 "id" : 45,
12537 "source_info" : {
12538 "filename" : "include/int_source.p4",
12539 "line" : 101,
12540 "column" : 10,
12541 "source_fragment" : "tb_set_source"
12542 },
12543 "key" : [
12544 {
12545 "match_type" : "exact",
12546 "name" : "standard_metadata.ingress_port",
12547 "target" : ["standard_metadata", "ingress_port"],
12548 "mask" : null
12549 }
12550 ],
12551 "match_type" : "exact",
12552 "type" : "simple",
12553 "max_size" : 256,
12554 "with_counters" : true,
12555 "support_timeout" : false,
12556 "direct_meters" : null,
12557 "action_ids" : [22, 4],
12558 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
12559 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
12560 "next_tables" : {
12561 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
12562 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
12563 },
12564 "default_entry" : {
12565 "action_id" : 4,
12566 "action_const" : false,
12567 "action_data" : [],
12568 "action_entry_const" : false
12569 }
12570 },
12571 {
12572 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
12573 "id" : 46,
12574 "source_info" : {
12575 "filename" : "include/int_source.p4",
12576 "line" : 111,
12577 "column" : 10,
12578 "source_fragment" : "tb_set_sink"
12579 },
12580 "key" : [
12581 {
12582 "match_type" : "exact",
12583 "name" : "standard_metadata.egress_spec",
12584 "target" : ["standard_metadata", "egress_spec"],
12585 "mask" : null
12586 }
12587 ],
12588 "match_type" : "exact",
12589 "type" : "simple",
12590 "max_size" : 256,
12591 "with_counters" : true,
12592 "support_timeout" : false,
12593 "direct_meters" : null,
12594 "action_ids" : [23, 5],
12595 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
12596 "base_default_next" : "node_73",
12597 "next_tables" : {
12598 "FabricIngress.process_set_source_sink.int_set_sink" : "node_73",
12599 "NoAction" : "node_73"
12600 },
12601 "default_entry" : {
12602 "action_id" : 5,
12603 "action_const" : false,
12604 "action_data" : [],
12605 "action_entry_const" : false
12606 }
12607 },
12608 {
12609 "name" : "tbl_act_25",
12610 "id" : 47,
12611 "key" : [],
12612 "match_type" : "exact",
12613 "type" : "simple",
12614 "max_size" : 1024,
12615 "with_counters" : false,
12616 "support_timeout" : false,
12617 "direct_meters" : null,
12618 "action_ids" : [75],
12619 "actions" : ["act_25"],
12620 "base_default_next" : null,
12621 "next_tables" : {
12622 "act_25" : null
12623 },
12624 "default_entry" : {
12625 "action_id" : 75,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012626 "action_const" : true,
12627 "action_data" : [],
12628 "action_entry_const" : true
12629 }
12630 }
12631 ],
12632 "action_profiles" : [
12633 {
12634 "name" : "FabricIngress.next.ecmp_selector",
12635 "id" : 0,
12636 "max_size" : 64,
12637 "selector" : {
12638 "algo" : "crc16",
12639 "input" : [
12640 {
12641 "type" : "field",
12642 "value" : ["ipv4", "dst_addr"]
12643 },
12644 {
12645 "type" : "field",
12646 "value" : ["ipv4", "src_addr"]
12647 },
12648 {
12649 "type" : "field",
12650 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
12651 },
12652 {
12653 "type" : "field",
12654 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
12655 },
12656 {
12657 "type" : "field",
12658 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
12659 }
12660 ]
12661 }
12662 }
12663 ],
12664 "conditionals" : [
12665 {
12666 "name" : "node_2",
12667 "id" : 0,
12668 "source_info" : {
12669 "filename" : "include/control/packetio.p4",
12670 "line" : 25,
12671 "column" : 12,
12672 "source_fragment" : "hdr.packet_out.isValid()"
12673 },
12674 "expression" : {
12675 "type" : "expression",
12676 "value" : {
12677 "op" : "d2b",
12678 "left" : null,
12679 "right" : {
12680 "type" : "field",
12681 "value" : ["packet_out", "$valid$"]
12682 }
12683 }
12684 },
12685 "true_next" : "tbl_act",
12686 "false_next" : "tbl_act_0"
12687 },
12688 {
12689 "name" : "node_5",
12690 "id" : 1,
12691 "source_info" : {
12692 "filename" : "include/spgw.p4",
12693 "line" : 142,
12694 "column" : 12,
12695 "source_fragment" : "gtpu.isValid()"
12696 },
12697 "expression" : {
12698 "type" : "expression",
12699 "value" : {
12700 "op" : "d2b",
12701 "left" : null,
12702 "right" : {
12703 "type" : "field",
12704 "value" : ["gtpu", "$valid$"]
12705 }
12706 }
12707 },
12708 "true_next" : "tbl_act_1",
12709 "false_next" : "FabricIngress.spgw_ingress.ue_filter_table"
12710 },
12711 {
12712 "name" : "node_10",
12713 "id" : 2,
12714 "expression" : {
12715 "type" : "expression",
12716 "value" : {
12717 "op" : "d2b",
12718 "left" : null,
12719 "right" : {
12720 "type" : "field",
12721 "value" : ["scalars", "spgw_ingress_tmp_2"]
12722 }
12723 }
12724 },
12725 "true_next" : "tbl_act_4",
12726 "false_next" : "node_17"
12727 },
12728 {
12729 "name" : "node_15",
12730 "id" : 3,
12731 "expression" : {
12732 "type" : "expression",
12733 "value" : {
12734 "op" : "d2b",
12735 "left" : null,
12736 "right" : {
12737 "type" : "field",
12738 "value" : ["scalars", "spgw_ingress_tmp_3"]
12739 }
12740 }
12741 },
12742 "true_next" : "tbl_act_7",
12743 "false_next" : "node_17"
12744 },
12745 {
12746 "name" : "node_17",
12747 "id" : 4,
12748 "source_info" : {
12749 "filename" : "include/spgw.p4",
12750 "line" : 162,
12751 "column" : 12,
12752 "source_fragment" : "spgw_meta.do_spgw == false"
12753 },
12754 "expression" : {
12755 "type" : "expression",
12756 "value" : {
12757 "op" : "==",
12758 "left" : {
12759 "type" : "expression",
12760 "value" : {
12761 "op" : "d2b",
12762 "left" : null,
12763 "right" : {
12764 "type" : "field",
12765 "value" : ["userMetadata.spgw", "do_spgw"]
12766 }
12767 }
12768 },
12769 "right" : {
12770 "type" : "bool",
12771 "value" : false
12772 }
12773 }
12774 },
12775 "true_next" : "tbl_act_8",
12776 "false_next" : "node_19"
12777 },
12778 {
12779 "name" : "node_19",
12780 "id" : 5,
12781 "expression" : {
12782 "type" : "expression",
12783 "value" : {
12784 "op" : "not",
12785 "left" : null,
12786 "right" : {
12787 "type" : "expression",
12788 "value" : {
12789 "op" : "d2b",
12790 "left" : null,
12791 "right" : {
12792 "type" : "field",
12793 "value" : ["scalars", "spgw_ingress_hasReturned_0"]
12794 }
12795 }
12796 }
12797 }
12798 },
12799 "true_next" : "node_20",
12800 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
12801 },
12802 {
12803 "name" : "node_20",
12804 "id" : 6,
12805 "source_info" : {
12806 "filename" : "include/spgw.p4",
12807 "line" : 167,
12808 "column" : 12,
12809 "source_fragment" : "spgw_meta.direction == DIR_UPLINK"
12810 },
12811 "expression" : {
12812 "type" : "expression",
12813 "value" : {
12814 "op" : "==",
12815 "left" : {
12816 "type" : "field",
12817 "value" : ["userMetadata.spgw", "direction"]
12818 },
12819 "right" : {
12820 "type" : "hexstr",
12821 "value" : "0x00"
12822 }
12823 }
12824 },
12825 "true_next" : "tbl_spgw_ingress_gtpu_decap",
12826 "false_next" : "node_22"
12827 },
12828 {
12829 "name" : "node_22",
12830 "id" : 7,
12831 "source_info" : {
12832 "filename" : "include/spgw.p4",
12833 "line" : 184,
12834 "column" : 12,
12835 "source_fragment" : "spgw_meta.direction == DIR_DOWNLINK"
12836 },
12837 "expression" : {
12838 "type" : "expression",
12839 "value" : {
12840 "op" : "==",
12841 "left" : {
12842 "type" : "field",
12843 "value" : ["userMetadata.spgw", "direction"]
12844 },
12845 "right" : {
12846 "type" : "hexstr",
12847 "value" : "0x01"
12848 }
12849 }
12850 },
12851 "true_next" : "FabricIngress.spgw_ingress.dl_sess_lookup",
12852 "false_next" : "tbl_act_11"
12853 },
12854 {
12855 "name" : "node_26",
12856 "id" : 8,
12857 "source_info" : {
12858 "filename" : "include/spgw.p4",
12859 "line" : 185,
12860 "column" : 16,
12861 "source_fragment" : "!dl_sess_lookup.apply().hit"
12862 },
12863 "expression" : {
12864 "type" : "expression",
12865 "value" : {
12866 "op" : "not",
12867 "left" : null,
12868 "right" : {
12869 "type" : "expression",
12870 "value" : {
12871 "op" : "d2b",
12872 "left" : null,
12873 "right" : {
12874 "type" : "field",
12875 "value" : ["scalars", "spgw_ingress_tmp_4"]
12876 }
12877 }
12878 }
12879 }
12880 },
12881 "true_next" : "tbl_drop_now",
12882 "false_next" : "FabricIngress.spgw_ingress.ue_cdr_table"
12883 },
12884 {
12885 "name" : "node_32",
12886 "id" : 9,
12887 "source_info" : {
12888 "filename" : "include/control/forwarding.p4",
12889 "line" : 231,
12890 "column" : 11,
12891 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
12892 },
12893 "expression" : {
12894 "type" : "expression",
12895 "value" : {
12896 "op" : "==",
12897 "left" : {
12898 "type" : "field",
12899 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12900 },
12901 "right" : {
12902 "type" : "hexstr",
12903 "value" : "0x00"
12904 }
12905 }
12906 },
12907 "true_next" : "FabricIngress.forwarding.bridging",
12908 "false_next" : "node_34"
12909 },
12910 {
12911 "name" : "node_34",
12912 "id" : 10,
12913 "source_info" : {
12914 "filename" : "include/control/forwarding.p4",
12915 "line" : 232,
12916 "column" : 17,
12917 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
12918 },
12919 "expression" : {
12920 "type" : "expression",
12921 "value" : {
12922 "op" : "==",
12923 "left" : {
12924 "type" : "field",
12925 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12926 },
12927 "right" : {
12928 "type" : "hexstr",
12929 "value" : "0x01"
12930 }
12931 }
12932 },
12933 "true_next" : "FabricIngress.forwarding.mpls",
12934 "false_next" : "node_37"
12935 },
12936 {
12937 "name" : "node_37",
12938 "id" : 11,
12939 "source_info" : {
12940 "filename" : "include/control/forwarding.p4",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012941 "line" : 238,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012942 "column" : 17,
12943 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
12944 },
12945 "expression" : {
12946 "type" : "expression",
12947 "value" : {
12948 "op" : "==",
12949 "left" : {
12950 "type" : "field",
12951 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12952 },
12953 "right" : {
12954 "type" : "hexstr",
12955 "value" : "0x02"
12956 }
12957 }
12958 },
12959 "true_next" : "FabricIngress.forwarding.unicast_v4",
12960 "false_next" : "node_39"
12961 },
12962 {
12963 "name" : "node_39",
12964 "id" : 12,
12965 "source_info" : {
12966 "filename" : "include/control/forwarding.p4",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012967 "line" : 240,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012968 "column" : 17,
12969 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_MULTICAST"
12970 },
12971 "expression" : {
12972 "type" : "expression",
12973 "value" : {
12974 "op" : "==",
12975 "left" : {
12976 "type" : "field",
12977 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
12978 },
12979 "right" : {
12980 "type" : "hexstr",
12981 "value" : "0x03"
12982 }
12983 }
12984 },
12985 "true_next" : "FabricIngress.forwarding.multicast_v4",
12986 "false_next" : "node_41"
12987 },
12988 {
12989 "name" : "node_41",
12990 "id" : 13,
12991 "source_info" : {
12992 "filename" : "include/control/forwarding.p4",
Yi Tseng8235a1a2018-07-24 20:57:28 +080012993 "line" : 243,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020012994 "column" : 17,
12995 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
12996 },
12997 "expression" : {
12998 "type" : "expression",
12999 "value" : {
13000 "op" : "==",
13001 "left" : {
13002 "type" : "field",
13003 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13004 },
13005 "right" : {
13006 "type" : "hexstr",
13007 "value" : "0x04"
13008 }
13009 }
13010 },
13011 "true_next" : "FabricIngress.forwarding.unicast_v6",
13012 "false_next" : "node_43"
13013 },
13014 {
13015 "name" : "node_43",
13016 "id" : 14,
13017 "source_info" : {
13018 "filename" : "include/control/forwarding.p4",
Yi Tseng8235a1a2018-07-24 20:57:28 +080013019 "line" : 245,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013020 "column" : 17,
13021 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_MULTICAST"
13022 },
13023 "expression" : {
13024 "type" : "expression",
13025 "value" : {
13026 "op" : "==",
13027 "left" : {
13028 "type" : "field",
13029 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
13030 },
13031 "right" : {
13032 "type" : "hexstr",
13033 "value" : "0x05"
13034 }
13035 }
13036 },
13037 "true_next" : "FabricIngress.forwarding.multicast_v6",
13038 "false_next" : "FabricIngress.forwarding.acl"
13039 },
13040 {
13041 "name" : "node_51",
13042 "id" : 15,
13043 "source_info" : {
13044 "filename" : "include/control/next.p4",
13045 "line" : 219,
13046 "column" : 12,
13047 "source_fragment" : "!simple.apply().hit"
13048 },
13049 "expression" : {
13050 "type" : "expression",
13051 "value" : {
13052 "op" : "not",
13053 "left" : null,
13054 "right" : {
13055 "type" : "expression",
13056 "value" : {
13057 "op" : "d2b",
13058 "left" : null,
13059 "right" : {
13060 "type" : "field",
13061 "value" : ["scalars", "next_tmp_4"]
13062 }
13063 }
13064 }
13065 }
13066 },
13067 "true_next" : "FabricIngress.next.hashed",
13068 "false_next" : "node_61"
13069 },
13070 {
13071 "name" : "node_55",
13072 "id" : 16,
13073 "source_info" : {
13074 "filename" : "include/control/next.p4",
13075 "line" : 220,
13076 "column" : 16,
13077 "source_fragment" : "!hashed.apply().hit"
13078 },
13079 "expression" : {
13080 "type" : "expression",
13081 "value" : {
13082 "op" : "not",
13083 "left" : null,
13084 "right" : {
13085 "type" : "expression",
13086 "value" : {
13087 "op" : "d2b",
13088 "left" : null,
13089 "right" : {
13090 "type" : "field",
13091 "value" : ["scalars", "next_tmp_3"]
13092 }
13093 }
13094 }
13095 }
13096 },
13097 "true_next" : "FabricIngress.next.multicast",
13098 "false_next" : "node_61"
13099 },
13100 {
13101 "name" : "node_59",
13102 "id" : 17,
13103 "source_info" : {
13104 "filename" : "include/control/next.p4",
13105 "line" : 221,
13106 "column" : 20,
13107 "source_fragment" : "!multicast.apply().hit"
13108 },
13109 "expression" : {
13110 "type" : "expression",
13111 "value" : {
13112 "op" : "not",
13113 "left" : null,
13114 "right" : {
13115 "type" : "expression",
13116 "value" : {
13117 "op" : "d2b",
13118 "left" : null,
13119 "right" : {
13120 "type" : "field",
13121 "value" : ["scalars", "next_tmp_2"]
13122 }
13123 }
13124 }
13125 }
13126 },
13127 "true_next" : "tbl_act_20",
13128 "false_next" : "node_61"
13129 },
13130 {
13131 "name" : "node_61",
13132 "id" : 18,
13133 "expression" : {
13134 "type" : "expression",
13135 "value" : {
13136 "op" : "not",
13137 "left" : null,
13138 "right" : {
13139 "type" : "expression",
13140 "value" : {
13141 "op" : "d2b",
13142 "left" : null,
13143 "right" : {
13144 "type" : "field",
13145 "value" : ["scalars", "next_hasReturned_0"]
13146 }
13147 }
13148 }
13149 }
13150 },
13151 "true_next" : "node_62",
13152 "false_next" : "node_67"
13153 },
13154 {
13155 "name" : "node_62",
13156 "id" : 19,
13157 "source_info" : {
13158 "filename" : "include/control/next.p4",
13159 "line" : 228,
13160 "column" : 12,
13161 "source_fragment" : "!hdr.mpls.isValid()"
13162 },
13163 "expression" : {
13164 "type" : "expression",
13165 "value" : {
13166 "op" : "not",
13167 "left" : null,
13168 "right" : {
13169 "type" : "expression",
13170 "value" : {
13171 "op" : "d2b",
13172 "left" : null,
13173 "right" : {
13174 "type" : "field",
13175 "value" : ["mpls", "$valid$"]
13176 }
13177 }
13178 }
13179 }
13180 },
13181 "true_next" : "node_63",
13182 "false_next" : "node_67"
13183 },
13184 {
13185 "name" : "node_63",
13186 "id" : 20,
13187 "source_info" : {
13188 "filename" : "include/control/next.p4",
13189 "line" : 229,
13190 "column" : 15,
13191 "source_fragment" : "hdr.ipv4.isValid()"
13192 },
13193 "expression" : {
13194 "type" : "expression",
13195 "value" : {
13196 "op" : "d2b",
13197 "left" : null,
13198 "right" : {
13199 "type" : "field",
13200 "value" : ["ipv4", "$valid$"]
13201 }
13202 }
13203 },
13204 "true_next" : "tbl_act_21",
13205 "false_next" : "node_65"
13206 },
13207 {
13208 "name" : "node_65",
13209 "id" : 21,
13210 "source_info" : {
13211 "filename" : "include/control/next.p4",
13212 "line" : 233,
13213 "column" : 21,
13214 "source_fragment" : "hdr.ipv6.isValid()"
13215 },
13216 "expression" : {
13217 "type" : "expression",
13218 "value" : {
13219 "op" : "d2b",
13220 "left" : null,
13221 "right" : {
13222 "type" : "field",
13223 "value" : ["ipv6", "$valid$"]
13224 }
13225 }
13226 },
13227 "true_next" : "tbl_act_22",
13228 "false_next" : "node_67"
13229 },
13230 {
13231 "name" : "node_67",
13232 "id" : 22,
13233 "source_info" : {
13234 "filename" : "include/control/port_counter.p4",
13235 "line" : 27,
13236 "column" : 12,
13237 "source_fragment" : "standard_metadata.egress_spec < 511"
13238 },
13239 "expression" : {
13240 "type" : "expression",
13241 "value" : {
13242 "op" : "<",
13243 "left" : {
13244 "type" : "field",
13245 "value" : ["standard_metadata", "egress_spec"]
13246 },
13247 "right" : {
13248 "type" : "hexstr",
13249 "value" : "0x01ff"
13250 }
13251 }
13252 },
13253 "true_next" : "tbl_act_23",
13254 "false_next" : "node_69"
13255 },
13256 {
13257 "name" : "node_69",
13258 "id" : 23,
13259 "source_info" : {
13260 "filename" : "include/control/port_counter.p4",
13261 "line" : 30,
13262 "column" : 12,
13263 "source_fragment" : "standard_metadata.ingress_port < 511"
13264 },
13265 "expression" : {
13266 "type" : "expression",
13267 "value" : {
13268 "op" : "<",
13269 "left" : {
13270 "type" : "field",
13271 "value" : ["standard_metadata", "ingress_port"]
13272 },
13273 "right" : {
13274 "type" : "hexstr",
13275 "value" : "0x01ff"
13276 }
13277 }
13278 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013279 "true_next" : "tbl_act_24",
13280 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
13281 },
13282 {
13283 "name" : "node_73",
13284 "id" : 24,
13285 "source_info" : {
13286 "filename" : "fabric.p4",
13287 "line" : 66,
13288 "column" : 11,
13289 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
13290 },
13291 "expression" : {
13292 "type" : "expression",
13293 "value" : {
13294 "op" : "==",
13295 "left" : {
13296 "type" : "field",
13297 "value" : ["userMetadata.int_meta", "sink"]
13298 },
13299 "right" : {
13300 "type" : "hexstr",
13301 "value" : "0x01"
13302 }
13303 }
13304 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013305 "false_next" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013306 "true_next" : "tbl_act_25"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013307 }
13308 ]
13309 },
13310 {
13311 "name" : "egress",
13312 "id" : 1,
13313 "source_info" : {
13314 "filename" : "fabric.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013315 "line" : 76,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013316 "column" : 8,
13317 "source_fragment" : "FabricEgress"
13318 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013319 "init_table" : "node_77",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013320 "tables" : [
13321 {
13322 "name" : "tbl_drop_now_0",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013323 "id" : 48,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013324 "key" : [],
13325 "match_type" : "exact",
13326 "type" : "simple",
13327 "max_size" : 1024,
13328 "with_counters" : false,
13329 "support_timeout" : false,
13330 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013331 "action_ids" : [82],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013332 "actions" : ["drop_now"],
13333 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
13334 "next_tables" : {
13335 "drop_now" : "FabricEgress.egress_next.egress_vlan"
13336 },
13337 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013338 "action_id" : 82,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013339 "action_const" : true,
13340 "action_data" : [],
13341 "action_entry_const" : true
13342 }
13343 },
13344 {
13345 "name" : "FabricEgress.egress_next.egress_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013346 "id" : 49,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013347 "source_info" : {
13348 "filename" : "include/control/next.p4",
13349 "line" : 258,
13350 "column" : 10,
13351 "source_fragment" : "egress_vlan"
13352 },
13353 "key" : [
13354 {
13355 "match_type" : "exact",
13356 "name" : "hdr.vlan_tag.vlan_id",
13357 "target" : ["vlan_tag", "vlan_id"],
13358 "mask" : null
13359 },
13360 {
13361 "match_type" : "exact",
13362 "name" : "standard_metadata.egress_port",
13363 "target" : ["standard_metadata", "egress_port"],
13364 "mask" : null
13365 }
13366 ],
13367 "match_type" : "exact",
13368 "type" : "simple",
13369 "max_size" : 1024,
13370 "with_counters" : true,
13371 "support_timeout" : false,
13372 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013373 "action_ids" : [127, 81],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013374 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013375 "base_default_next" : "node_80",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013376 "next_tables" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013377 "FabricEgress.egress_next.pop_vlan" : "node_80",
13378 "nop" : "node_80"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013379 },
13380 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013381 "action_id" : 81,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013382 "action_const" : false,
13383 "action_data" : [],
13384 "action_entry_const" : false
13385 }
13386 },
13387 {
13388 "name" : "tbl_pkt_io_egress_pop_vlan",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013389 "id" : 50,
13390 "key" : [],
13391 "match_type" : "exact",
13392 "type" : "simple",
13393 "max_size" : 1024,
13394 "with_counters" : false,
13395 "support_timeout" : false,
13396 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013397 "action_ids" : [126],
13398 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013399 "base_default_next" : "node_83",
13400 "next_tables" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013401 "FabricEgress.pkt_io_egress.pop_vlan" : "node_83"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013402 },
13403 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013404 "action_id" : 126,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013405 "action_const" : true,
13406 "action_data" : [],
13407 "action_entry_const" : true
13408 }
13409 },
13410 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013411 "name" : "tbl_drop_now_1",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013412 "id" : 51,
13413 "key" : [],
13414 "match_type" : "exact",
13415 "type" : "simple",
13416 "max_size" : 1024,
13417 "with_counters" : false,
13418 "support_timeout" : false,
13419 "direct_meters" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013420 "action_ids" : [83],
13421 "actions" : ["drop_now"],
13422 "base_default_next" : "tbl_act_26",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013423 "next_tables" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013424 "drop_now" : "tbl_act_26"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013425 },
13426 "default_entry" : {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013427 "action_id" : 83,
13428 "action_const" : true,
13429 "action_data" : [],
13430 "action_entry_const" : true
13431 }
13432 },
13433 {
13434 "name" : "tbl_act_26",
13435 "id" : 52,
13436 "key" : [],
13437 "match_type" : "exact",
13438 "type" : "simple",
13439 "max_size" : 1024,
13440 "with_counters" : false,
13441 "support_timeout" : false,
13442 "direct_meters" : null,
13443 "action_ids" : [128],
13444 "actions" : ["act_26"],
13445 "base_default_next" : "tbl_act_27",
13446 "next_tables" : {
13447 "act_26" : "tbl_act_27"
13448 },
13449 "default_entry" : {
13450 "action_id" : 128,
13451 "action_const" : true,
13452 "action_data" : [],
13453 "action_entry_const" : true
13454 }
13455 },
13456 {
13457 "name" : "tbl_act_27",
13458 "id" : 53,
13459 "key" : [],
13460 "match_type" : "exact",
13461 "type" : "simple",
13462 "max_size" : 1024,
13463 "with_counters" : false,
13464 "support_timeout" : false,
13465 "direct_meters" : null,
13466 "action_ids" : [129],
13467 "actions" : ["act_27"],
13468 "base_default_next" : "node_87",
13469 "next_tables" : {
13470 "act_27" : "node_87"
13471 },
13472 "default_entry" : {
13473 "action_id" : 129,
13474 "action_const" : true,
13475 "action_data" : [],
13476 "action_entry_const" : true
13477 }
13478 },
13479 {
13480 "name" : "tbl_spgw_egress_gtpu_encap",
13481 "id" : 54,
13482 "key" : [],
13483 "match_type" : "exact",
13484 "type" : "simple",
13485 "max_size" : 1024,
13486 "with_counters" : false,
13487 "support_timeout" : false,
13488 "direct_meters" : null,
13489 "action_ids" : [84],
13490 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
13491 "base_default_next" : "node_89",
13492 "next_tables" : {
13493 "FabricEgress.spgw_egress.gtpu_encap" : "node_89"
13494 },
13495 "default_entry" : {
13496 "action_id" : 84,
13497 "action_const" : true,
13498 "action_data" : [],
13499 "action_entry_const" : true
13500 }
13501 },
13502 {
13503 "name" : "FabricEgress.process_int_source.tb_int_source",
13504 "id" : 55,
13505 "source_info" : {
13506 "filename" : "include/int_source.p4",
13507 "line" : 66,
13508 "column" : 10,
13509 "source_fragment" : "tb_int_source"
13510 },
13511 "key" : [
13512 {
13513 "match_type" : "ternary",
13514 "name" : "hdr.ipv4.src_addr",
13515 "target" : ["ipv4", "src_addr"],
13516 "mask" : null
13517 },
13518 {
13519 "match_type" : "ternary",
13520 "name" : "hdr.ipv4.dst_addr",
13521 "target" : ["ipv4", "dst_addr"],
13522 "mask" : null
13523 },
13524 {
13525 "match_type" : "ternary",
13526 "name" : "fabric_metadata.l4_src_port",
13527 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
13528 "mask" : null
13529 },
13530 {
13531 "match_type" : "ternary",
13532 "name" : "fabric_metadata.l4_dst_port",
13533 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
13534 "mask" : null
13535 }
13536 ],
13537 "match_type" : "ternary",
13538 "type" : "simple",
13539 "max_size" : 1024,
13540 "with_counters" : true,
13541 "support_timeout" : false,
13542 "direct_meters" : null,
13543 "action_ids" : [85, 76],
13544 "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
13545 "base_default_next" : "node_92",
13546 "next_tables" : {
13547 "FabricEgress.process_int_source.int_source_dscp" : "node_92",
13548 "NoAction" : "node_92"
13549 },
13550 "default_entry" : {
13551 "action_id" : 76,
13552 "action_const" : false,
13553 "action_data" : [],
13554 "action_entry_const" : false
13555 }
13556 },
13557 {
13558 "name" : "FabricEgress.process_int_transit.tb_int_insert",
13559 "id" : 56,
13560 "source_info" : {
13561 "filename" : "include/int_transit.p4",
13562 "line" : 227,
13563 "column" : 10,
13564 "source_fragment" : "tb_int_insert"
13565 },
13566 "key" : [],
13567 "match_type" : "exact",
13568 "type" : "simple",
13569 "max_size" : 2,
13570 "with_counters" : true,
13571 "support_timeout" : false,
13572 "direct_meters" : null,
13573 "action_ids" : [87, 77],
13574 "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
13575 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13576 "next_tables" : {
13577 "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13578 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
13579 },
13580 "default_entry" : {
13581 "action_id" : 77,
13582 "action_const" : false,
13583 "action_data" : [],
13584 "action_entry_const" : false
13585 }
13586 },
13587 {
13588 "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
13589 "id" : 57,
13590 "source_info" : {
13591 "filename" : "include/int_transit.p4",
13592 "line" : 237,
13593 "column" : 10,
13594 "source_fragment" : "tb_int_inst_0003"
13595 },
13596 "key" : [
13597 {
13598 "match_type" : "exact",
13599 "name" : "hdr.int_header.instruction_mask_0003",
13600 "target" : ["int_header", "instruction_mask_0003"],
13601 "mask" : null
13602 }
13603 ],
13604 "match_type" : "exact",
13605 "type" : "simple",
13606 "max_size" : 16,
13607 "with_counters" : true,
13608 "support_timeout" : false,
13609 "direct_meters" : null,
13610 "action_ids" : [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 78],
13611 "actions" : ["FabricEgress.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_transit.int_set_header_0003_i15", "NoAction"],
13612 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13613 "next_tables" : {
13614 "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13615 "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13616 "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13617 "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13618 "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13619 "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13620 "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13621 "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13622 "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13623 "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13624 "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13625 "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13626 "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13627 "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13628 "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13629 "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13630 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
13631 },
13632 "default_entry" : {
13633 "action_id" : 78,
13634 "action_const" : false,
13635 "action_data" : [],
13636 "action_entry_const" : false
13637 }
13638 },
13639 {
13640 "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
13641 "id" : 58,
13642 "source_info" : {
13643 "filename" : "include/int_transit.p4",
13644 "line" : 264,
13645 "column" : 10,
13646 "source_fragment" : "tb_int_inst_0407"
13647 },
13648 "key" : [
13649 {
13650 "match_type" : "exact",
13651 "name" : "hdr.int_header.instruction_mask_0407",
13652 "target" : ["int_header", "instruction_mask_0407"],
13653 "mask" : null
13654 }
13655 ],
13656 "match_type" : "exact",
13657 "type" : "simple",
13658 "max_size" : 16,
13659 "with_counters" : true,
13660 "support_timeout" : false,
13661 "direct_meters" : null,
13662 "action_ids" : [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 79],
13663 "actions" : ["FabricEgress.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_transit.int_set_header_0407_i15", "NoAction"],
13664 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
13665 "next_tables" : {
13666 "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
13667 "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
13668 "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
13669 "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
13670 "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
13671 "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
13672 "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
13673 "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
13674 "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
13675 "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
13676 "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
13677 "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
13678 "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
13679 "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
13680 "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
13681 "FabricEgress.process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
13682 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
13683 },
13684 "default_entry" : {
13685 "action_id" : 79,
13686 "action_const" : false,
13687 "action_data" : [],
13688 "action_entry_const" : false
13689 }
13690 },
13691 {
13692 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
13693 "id" : 59,
13694 "key" : [],
13695 "match_type" : "exact",
13696 "type" : "simple",
13697 "max_size" : 1024,
13698 "with_counters" : false,
13699 "support_timeout" : false,
13700 "direct_meters" : null,
13701 "action_ids" : [86],
13702 "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
13703 "base_default_next" : "node_97",
13704 "next_tables" : {
13705 "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_97"
13706 },
13707 "default_entry" : {
13708 "action_id" : 86,
13709 "action_const" : true,
13710 "action_data" : [],
13711 "action_entry_const" : true
13712 }
13713 },
13714 {
13715 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
13716 "id" : 60,
13717 "key" : [],
13718 "match_type" : "exact",
13719 "type" : "simple",
13720 "max_size" : 1024,
13721 "with_counters" : false,
13722 "support_timeout" : false,
13723 "direct_meters" : null,
13724 "action_ids" : [120],
13725 "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
13726 "base_default_next" : "node_99",
13727 "next_tables" : {
13728 "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_99"
13729 },
13730 "default_entry" : {
13731 "action_id" : 120,
13732 "action_const" : true,
13733 "action_data" : [],
13734 "action_entry_const" : true
13735 }
13736 },
13737 {
13738 "name" : "tbl_process_int_outer_encap_int_update_udp",
13739 "id" : 61,
13740 "key" : [],
13741 "match_type" : "exact",
13742 "type" : "simple",
13743 "max_size" : 1024,
13744 "with_counters" : false,
13745 "support_timeout" : false,
13746 "direct_meters" : null,
13747 "action_ids" : [121],
13748 "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
13749 "base_default_next" : "node_101",
13750 "next_tables" : {
13751 "FabricEgress.process_int_outer_encap.int_update_udp" : "node_101"
13752 },
13753 "default_entry" : {
13754 "action_id" : 121,
13755 "action_const" : true,
13756 "action_data" : [],
13757 "action_entry_const" : true
13758 }
13759 },
13760 {
13761 "name" : "tbl_process_int_outer_encap_int_update_shim",
13762 "id" : 62,
13763 "key" : [],
13764 "match_type" : "exact",
13765 "type" : "simple",
13766 "max_size" : 1024,
13767 "with_counters" : false,
13768 "support_timeout" : false,
13769 "direct_meters" : null,
13770 "action_ids" : [122],
13771 "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
13772 "base_default_next" : "node_103",
13773 "next_tables" : {
13774 "FabricEgress.process_int_outer_encap.int_update_shim" : "node_103"
13775 },
13776 "default_entry" : {
13777 "action_id" : 122,
13778 "action_const" : true,
13779 "action_data" : [],
13780 "action_entry_const" : true
13781 }
13782 },
13783 {
13784 "name" : "FabricEgress.process_int_report.tb_generate_report",
13785 "id" : 63,
13786 "source_info" : {
13787 "filename" : "include/int_report.p4",
13788 "line" : 87,
13789 "column" : 10,
13790 "source_fragment" : "tb_generate_report"
13791 },
13792 "key" : [],
13793 "match_type" : "exact",
13794 "type" : "simple",
13795 "max_size" : 1024,
13796 "with_counters" : false,
13797 "support_timeout" : false,
13798 "direct_meters" : null,
13799 "action_ids" : [123, 80],
13800 "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
13801 "base_default_next" : "node_105",
13802 "next_tables" : {
13803 "FabricEgress.process_int_report.do_report_encapsulation" : "node_105",
13804 "NoAction" : "node_105"
13805 },
13806 "default_entry" : {
13807 "action_id" : 80,
13808 "action_const" : false,
13809 "action_data" : [],
13810 "action_entry_const" : false
13811 }
13812 },
13813 {
13814 "name" : "tbl_process_int_sink_restore_header",
13815 "id" : 64,
13816 "key" : [],
13817 "match_type" : "exact",
13818 "type" : "simple",
13819 "max_size" : 1024,
13820 "with_counters" : false,
13821 "support_timeout" : false,
13822 "direct_meters" : null,
13823 "action_ids" : [124],
13824 "actions" : ["FabricEgress.process_int_sink.restore_header"],
13825 "base_default_next" : "tbl_process_int_sink_int_sink",
13826 "next_tables" : {
13827 "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
13828 },
13829 "default_entry" : {
13830 "action_id" : 124,
13831 "action_const" : true,
13832 "action_data" : [],
13833 "action_entry_const" : true
13834 }
13835 },
13836 {
13837 "name" : "tbl_process_int_sink_int_sink",
13838 "id" : 65,
13839 "key" : [],
13840 "match_type" : "exact",
13841 "type" : "simple",
13842 "max_size" : 1024,
13843 "with_counters" : false,
13844 "support_timeout" : false,
13845 "direct_meters" : null,
13846 "action_ids" : [125],
13847 "actions" : ["FabricEgress.process_int_sink.int_sink"],
13848 "base_default_next" : null,
13849 "next_tables" : {
13850 "FabricEgress.process_int_sink.int_sink" : null
13851 },
13852 "default_entry" : {
13853 "action_id" : 125,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013854 "action_const" : true,
13855 "action_data" : [],
13856 "action_entry_const" : true
13857 }
13858 }
13859 ],
13860 "action_profiles" : [],
13861 "conditionals" : [
13862 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013863 "name" : "node_77",
13864 "id" : 25,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013865 "source_info" : {
13866 "filename" : "include/control/next.p4",
13867 "line" : 272,
13868 "column" : 12,
13869 "source_fragment" : "fabric_metadata.is_multicast == true ..."
13870 },
13871 "expression" : {
13872 "type" : "expression",
13873 "value" : {
13874 "op" : "and",
13875 "left" : {
13876 "type" : "expression",
13877 "value" : {
13878 "op" : "==",
13879 "left" : {
13880 "type" : "expression",
13881 "value" : {
13882 "op" : "d2b",
13883 "left" : null,
13884 "right" : {
13885 "type" : "field",
13886 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
13887 }
13888 }
13889 },
13890 "right" : {
13891 "type" : "bool",
13892 "value" : true
13893 }
13894 }
13895 },
13896 "right" : {
13897 "type" : "expression",
13898 "value" : {
13899 "op" : "==",
13900 "left" : {
13901 "type" : "field",
13902 "value" : ["standard_metadata", "ingress_port"]
13903 },
13904 "right" : {
13905 "type" : "field",
13906 "value" : ["standard_metadata", "egress_port"]
13907 }
13908 }
13909 }
13910 }
13911 },
13912 "true_next" : "tbl_drop_now_0",
13913 "false_next" : "FabricEgress.egress_next.egress_vlan"
13914 },
13915 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013916 "name" : "node_80",
13917 "id" : 26,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013918 "source_info" : {
13919 "filename" : "include/control/packetio.p4",
13920 "line" : 42,
13921 "column" : 12,
13922 "source_fragment" : "standard_metadata.egress_port == 255"
13923 },
13924 "expression" : {
13925 "type" : "expression",
13926 "value" : {
13927 "op" : "==",
13928 "left" : {
13929 "type" : "field",
13930 "value" : ["standard_metadata", "egress_port"]
13931 },
13932 "right" : {
13933 "type" : "hexstr",
13934 "value" : "0x00ff"
13935 }
13936 }
13937 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013938 "true_next" : "node_81",
13939 "false_next" : "tbl_act_27"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013940 },
13941 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013942 "name" : "node_81",
13943 "id" : 27,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013944 "source_info" : {
13945 "filename" : "include/control/packetio.p4",
13946 "line" : 43,
13947 "column" : 16,
13948 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
13949 },
13950 "expression" : {
13951 "type" : "expression",
13952 "value" : {
13953 "op" : "and",
13954 "left" : {
13955 "type" : "expression",
13956 "value" : {
13957 "op" : "d2b",
13958 "left" : null,
13959 "right" : {
13960 "type" : "field",
13961 "value" : ["vlan_tag", "$valid$"]
13962 }
13963 }
13964 },
13965 "right" : {
13966 "type" : "expression",
13967 "value" : {
13968 "op" : "==",
13969 "left" : {
13970 "type" : "expression",
13971 "value" : {
13972 "op" : "d2b",
13973 "left" : null,
13974 "right" : {
13975 "type" : "field",
13976 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
13977 }
13978 }
13979 },
13980 "right" : {
13981 "type" : "bool",
13982 "value" : true
13983 }
13984 }
13985 }
13986 }
13987 },
13988 "true_next" : "tbl_pkt_io_egress_pop_vlan",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013989 "false_next" : "node_83"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013990 },
13991 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090013992 "name" : "node_83",
13993 "id" : 28,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020013994 "source_info" : {
13995 "filename" : "include/control/packetio.p4",
13996 "line" : 46,
13997 "column" : 16,
13998 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
13999 },
14000 "expression" : {
14001 "type" : "expression",
14002 "value" : {
14003 "op" : "and",
14004 "left" : {
14005 "type" : "expression",
14006 "value" : {
14007 "op" : "==",
14008 "left" : {
14009 "type" : "expression",
14010 "value" : {
14011 "op" : "d2b",
14012 "left" : null,
14013 "right" : {
14014 "type" : "field",
14015 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
14016 }
14017 }
14018 },
14019 "right" : {
14020 "type" : "bool",
14021 "value" : true
14022 }
14023 }
14024 },
14025 "right" : {
14026 "type" : "expression",
14027 "value" : {
14028 "op" : "==",
14029 "left" : {
14030 "type" : "expression",
14031 "value" : {
14032 "op" : "d2b",
14033 "left" : null,
14034 "right" : {
14035 "type" : "field",
14036 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
14037 }
14038 }
14039 },
14040 "right" : {
14041 "type" : "bool",
14042 "value" : false
14043 }
14044 }
14045 }
14046 }
14047 },
14048 "true_next" : "tbl_drop_now_1",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014049 "false_next" : "tbl_act_26"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014050 },
14051 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014052 "name" : "node_87",
14053 "id" : 29,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014054 "source_info" : {
14055 "filename" : "include/spgw.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014056 "line" : 245,
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014057 "column" : 12,
14058 "source_fragment" : "spgw_meta.do_spgw == true && spgw_meta.direction == DIR_DOWNLINK"
14059 },
14060 "expression" : {
14061 "type" : "expression",
14062 "value" : {
14063 "op" : "and",
14064 "left" : {
14065 "type" : "expression",
14066 "value" : {
14067 "op" : "==",
14068 "left" : {
14069 "type" : "expression",
14070 "value" : {
14071 "op" : "d2b",
14072 "left" : null,
14073 "right" : {
14074 "type" : "field",
14075 "value" : ["userMetadata.spgw", "do_spgw"]
14076 }
14077 }
14078 },
14079 "right" : {
14080 "type" : "bool",
14081 "value" : true
14082 }
14083 }
14084 },
14085 "right" : {
14086 "type" : "expression",
14087 "value" : {
14088 "op" : "==",
14089 "left" : {
14090 "type" : "field",
14091 "value" : ["userMetadata.spgw", "direction"]
14092 },
14093 "right" : {
14094 "type" : "hexstr",
14095 "value" : "0x01"
14096 }
14097 }
14098 }
14099 }
14100 },
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014101 "true_next" : "tbl_spgw_egress_gtpu_encap",
14102 "false_next" : "node_89"
14103 },
14104 {
14105 "name" : "node_89",
14106 "id" : 30,
14107 "source_info" : {
14108 "filename" : "fabric.p4",
14109 "line" : 90,
14110 "column" : 12,
14111 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
14112 },
14113 "expression" : {
14114 "type" : "expression",
14115 "value" : {
14116 "op" : "and",
14117 "left" : {
14118 "type" : "expression",
14119 "value" : {
14120 "op" : "and",
14121 "left" : {
14122 "type" : "expression",
14123 "value" : {
14124 "op" : "!=",
14125 "left" : {
14126 "type" : "field",
14127 "value" : ["standard_metadata", "ingress_port"]
14128 },
14129 "right" : {
14130 "type" : "hexstr",
14131 "value" : "0x00ff"
14132 }
14133 }
14134 },
14135 "right" : {
14136 "type" : "expression",
14137 "value" : {
14138 "op" : "!=",
14139 "left" : {
14140 "type" : "field",
14141 "value" : ["standard_metadata", "egress_port"]
14142 },
14143 "right" : {
14144 "type" : "hexstr",
14145 "value" : "0x00ff"
14146 }
14147 }
14148 }
14149 }
14150 },
14151 "right" : {
14152 "type" : "expression",
14153 "value" : {
14154 "op" : "or",
14155 "left" : {
14156 "type" : "expression",
14157 "value" : {
14158 "op" : "d2b",
14159 "left" : null,
14160 "right" : {
14161 "type" : "field",
14162 "value" : ["udp", "$valid$"]
14163 }
14164 }
14165 },
14166 "right" : {
14167 "type" : "expression",
14168 "value" : {
14169 "op" : "d2b",
14170 "left" : null,
14171 "right" : {
14172 "type" : "field",
14173 "value" : ["tcp", "$valid$"]
14174 }
14175 }
14176 }
14177 }
14178 }
14179 }
14180 },
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014181 "false_next" : null,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090014182 "true_next" : "node_90"
14183 },
14184 {
14185 "name" : "node_90",
14186 "id" : 31,
14187 "source_info" : {
14188 "filename" : "fabric.p4",
14189 "line" : 93,
14190 "column" : 16,
14191 "source_fragment" : "fabric_metadata.int_meta.source == 1"
14192 },
14193 "expression" : {
14194 "type" : "expression",
14195 "value" : {
14196 "op" : "==",
14197 "left" : {
14198 "type" : "field",
14199 "value" : ["userMetadata.int_meta", "source"]
14200 },
14201 "right" : {
14202 "type" : "hexstr",
14203 "value" : "0x01"
14204 }
14205 }
14206 },
14207 "true_next" : "FabricEgress.process_int_source.tb_int_source",
14208 "false_next" : "node_92"
14209 },
14210 {
14211 "name" : "node_92",
14212 "id" : 32,
14213 "source_info" : {
14214 "filename" : "fabric.p4",
14215 "line" : 96,
14216 "column" : 15,
14217 "source_fragment" : "hdr.int_header.isValid()"
14218 },
14219 "expression" : {
14220 "type" : "expression",
14221 "value" : {
14222 "op" : "d2b",
14223 "left" : null,
14224 "right" : {
14225 "type" : "field",
14226 "value" : ["int_header", "$valid$"]
14227 }
14228 }
14229 },
14230 "false_next" : null,
14231 "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
14232 },
14233 {
14234 "name" : "node_97",
14235 "id" : 33,
14236 "source_info" : {
14237 "filename" : "include/int_transit.p4",
14238 "line" : 314,
14239 "column" : 12,
14240 "source_fragment" : "hdr.ipv4.isValid()"
14241 },
14242 "expression" : {
14243 "type" : "expression",
14244 "value" : {
14245 "op" : "d2b",
14246 "left" : null,
14247 "right" : {
14248 "type" : "field",
14249 "value" : ["ipv4", "$valid$"]
14250 }
14251 }
14252 },
14253 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
14254 "false_next" : "node_99"
14255 },
14256 {
14257 "name" : "node_99",
14258 "id" : 34,
14259 "source_info" : {
14260 "filename" : "include/int_transit.p4",
14261 "line" : 317,
14262 "column" : 12,
14263 "source_fragment" : "hdr.udp.isValid()"
14264 },
14265 "expression" : {
14266 "type" : "expression",
14267 "value" : {
14268 "op" : "d2b",
14269 "left" : null,
14270 "right" : {
14271 "type" : "field",
14272 "value" : ["udp", "$valid$"]
14273 }
14274 }
14275 },
14276 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
14277 "false_next" : "node_101"
14278 },
14279 {
14280 "name" : "node_101",
14281 "id" : 35,
14282 "source_info" : {
14283 "filename" : "include/int_transit.p4",
14284 "line" : 320,
14285 "column" : 12,
14286 "source_fragment" : "hdr.intl4_shim.isValid()"
14287 },
14288 "expression" : {
14289 "type" : "expression",
14290 "value" : {
14291 "op" : "d2b",
14292 "left" : null,
14293 "right" : {
14294 "type" : "field",
14295 "value" : ["intl4_shim", "$valid$"]
14296 }
14297 }
14298 },
14299 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
14300 "false_next" : "node_103"
14301 },
14302 {
14303 "name" : "node_103",
14304 "id" : 36,
14305 "source_info" : {
14306 "filename" : "fabric.p4",
14307 "line" : 100,
14308 "column" : 20,
14309 "source_fragment" : "standard_metadata.instance_type == 1"
14310 },
14311 "expression" : {
14312 "type" : "expression",
14313 "value" : {
14314 "op" : "==",
14315 "left" : {
14316 "type" : "field",
14317 "value" : ["standard_metadata", "instance_type"]
14318 },
14319 "right" : {
14320 "type" : "hexstr",
14321 "value" : "0x00000001"
14322 }
14323 }
14324 },
14325 "true_next" : "FabricEgress.process_int_report.tb_generate_report",
14326 "false_next" : "node_105"
14327 },
14328 {
14329 "name" : "node_105",
14330 "id" : 37,
14331 "source_info" : {
14332 "filename" : "fabric.p4",
14333 "line" : 104,
14334 "column" : 20,
14335 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
14336 },
14337 "expression" : {
14338 "type" : "expression",
14339 "value" : {
14340 "op" : "==",
14341 "left" : {
14342 "type" : "field",
14343 "value" : ["userMetadata.int_meta", "sink"]
14344 },
14345 "right" : {
14346 "type" : "hexstr",
14347 "value" : "0x01"
14348 }
14349 }
14350 },
14351 "false_next" : null,
14352 "true_next" : "tbl_process_int_sink_restore_header"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020014353 }
14354 ]
14355 }
14356 ],
14357 "checksums" : [
14358 {
14359 "name" : "cksum",
14360 "id" : 0,
14361 "target" : ["ipv4", "hdr_checksum"],
14362 "type" : "generic",
14363 "calculation" : "calc",
14364 "if_cond" : {
14365 "type" : "expression",
14366 "value" : {
14367 "op" : "d2b",
14368 "left" : null,
14369 "right" : {
14370 "type" : "field",
14371 "value" : ["ipv4", "$valid$"]
14372 }
14373 }
14374 }
14375 },
14376 {
14377 "name" : "cksum_0",
14378 "id" : 1,
14379 "target" : ["gtpu_ipv4", "hdr_checksum"],
14380 "type" : "generic",
14381 "calculation" : "calc_0",
14382 "if_cond" : {
14383 "type" : "expression",
14384 "value" : {
14385 "op" : "d2b",
14386 "left" : null,
14387 "right" : {
14388 "type" : "field",
14389 "value" : ["gtpu_ipv4", "$valid$"]
14390 }
14391 }
14392 }
14393 },
14394 {
14395 "name" : "cksum_1",
14396 "id" : 2,
14397 "target" : ["ipv4", "hdr_checksum"],
14398 "type" : "generic",
14399 "calculation" : "calc_1",
14400 "if_cond" : {
14401 "type" : "expression",
14402 "value" : {
14403 "op" : "d2b",
14404 "left" : null,
14405 "right" : {
14406 "type" : "field",
14407 "value" : ["ipv4", "$valid$"]
14408 }
14409 }
14410 }
14411 }
14412 ],
14413 "force_arith" : [],
14414 "extern_instances" : [],
14415 "field_aliases" : [
14416 [
14417 "queueing_metadata.enq_timestamp",
14418 ["standard_metadata", "enq_timestamp"]
14419 ],
14420 [
14421 "queueing_metadata.enq_qdepth",
14422 ["standard_metadata", "enq_qdepth"]
14423 ],
14424 [
14425 "queueing_metadata.deq_timedelta",
14426 ["standard_metadata", "deq_timedelta"]
14427 ],
14428 [
14429 "queueing_metadata.deq_qdepth",
14430 ["standard_metadata", "deq_qdepth"]
14431 ],
14432 [
14433 "intrinsic_metadata.ingress_global_timestamp",
14434 ["standard_metadata", "ingress_global_timestamp"]
14435 ],
14436 [
14437 "intrinsic_metadata.egress_global_timestamp",
14438 ["standard_metadata", "egress_global_timestamp"]
14439 ],
14440 [
14441 "intrinsic_metadata.lf_field_list",
14442 ["standard_metadata", "lf_field_list"]
14443 ],
14444 [
14445 "intrinsic_metadata.mcast_grp",
14446 ["standard_metadata", "mcast_grp"]
14447 ],
14448 [
14449 "intrinsic_metadata.resubmit_flag",
14450 ["standard_metadata", "resubmit_flag"]
14451 ],
14452 [
14453 "intrinsic_metadata.egress_rid",
14454 ["standard_metadata", "egress_rid"]
14455 ],
14456 [
14457 "intrinsic_metadata.recirculate_flag",
14458 ["standard_metadata", "recirculate_flag"]
14459 ]
14460 ],
14461 "program" : "fabric.p4",
14462 "__meta__" : {
14463 "version" : [2, 18],
14464 "compiler" : "https://github.com/p4lang/p4c"
14465 }
14466}