blob: 933529d0c6ab62876bdc8c8263b91516a7810059 [file] [log] [blame]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
7 ["tmp_0", 4, false],
8 ["tmp", 32, false],
9 ["tmp_1", 32, false],
Daniele Moro7c3a0022019-07-12 13:38:34 -070010 ["bng_ingress_s_tag", 12, false],
11 ["bng_ingress_c_tag", 12, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070012 ["bng_ingress_upstream_tmp", 1, false],
13 ["bng_ingress_downstream_tmp", 1, false],
14 ["bng_ingress_upstream_hasReturned", 1, false],
15 ["egress_next_tmp", 1, false],
Daniele Moro7c3a0022019-07-12 13:38:34 -070016 ["fabric_metadata_t._last_eth_type0", 16, false],
17 ["fabric_metadata_t._is_ipv41", 1, false],
18 ["fabric_metadata_t._is_ipv62", 1, false],
19 ["fabric_metadata_t._is_mpls3", 1, false],
20 ["fabric_metadata_t._ip_eth_type4", 16, false],
21 ["fabric_metadata_t._vlan_id5", 12, false],
22 ["fabric_metadata_t._vlan_pri6", 3, false],
23 ["fabric_metadata_t._vlan_cfi7", 1, false],
24 ["fabric_metadata_t._push_double_vlan8", 1, false],
25 ["fabric_metadata_t._inner_vlan_id9", 12, false],
26 ["fabric_metadata_t._inner_vlan_pri10", 3, false],
27 ["fabric_metadata_t._inner_vlan_cfi11", 1, false],
28 ["fabric_metadata_t._mpls_label12", 20, false],
29 ["fabric_metadata_t._mpls_ttl13", 8, false],
30 ["fabric_metadata_t._skip_forwarding14", 1, false],
31 ["fabric_metadata_t._skip_next15", 1, false],
32 ["fabric_metadata_t._fwd_type16", 3, false],
33 ["fabric_metadata_t._next_id17", 32, false],
34 ["fabric_metadata_t._is_multicast18", 1, false],
35 ["fabric_metadata_t._is_controller_packet_out19", 1, false],
36 ["fabric_metadata_t._ip_proto20", 8, false],
37 ["fabric_metadata_t._l4_sport21", 16, false],
38 ["fabric_metadata_t._l4_dport22", 16, false],
39 ["fabric_metadata_t._bng_type23", 2, false],
40 ["fabric_metadata_t._bng_line_id24", 32, false],
41 ["fabric_metadata_t._bng_pppoe_session_id25", 16, false],
42 ["fabric_metadata_t._bng_ds_meter_result26", 32, false],
43 ["_padding_0", 7, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070044 ]
45 },
46 {
47 "name" : "standard_metadata",
48 "id" : 1,
49 "fields" : [
50 ["ingress_port", 9, false],
51 ["egress_spec", 9, false],
52 ["egress_port", 9, false],
53 ["clone_spec", 32, false],
54 ["instance_type", 32, false],
55 ["drop", 1, false],
56 ["recirculate_port", 16, false],
57 ["packet_length", 32, false],
58 ["enq_timestamp", 32, false],
59 ["enq_qdepth", 19, false],
60 ["deq_timedelta", 32, false],
61 ["deq_qdepth", 19, false],
62 ["ingress_global_timestamp", 48, false],
63 ["egress_global_timestamp", 48, false],
64 ["lf_field_list", 32, false],
65 ["mcast_grp", 16, false],
66 ["resubmit_flag", 32, false],
67 ["egress_rid", 16, false],
68 ["recirculate_flag", 32, false],
69 ["checksum_error", 1, false],
70 ["parser_error", 32, false],
71 ["priority", 3, false],
72 ["_padding", 2, false]
73 ]
74 },
75 {
76 "name" : "ethernet_t",
77 "id" : 2,
78 "fields" : [
79 ["dst_addr", 48, false],
80 ["src_addr", 48, false],
81 ["eth_type", 16, false]
82 ]
83 },
84 {
85 "name" : "vlan_tag_t",
86 "id" : 3,
87 "fields" : [
88 ["pri", 3, false],
89 ["cfi", 1, false],
90 ["vlan_id", 12, false],
91 ["eth_type", 16, false]
92 ]
93 },
94 {
95 "name" : "pppoe_t",
96 "id" : 4,
97 "fields" : [
98 ["version", 4, false],
99 ["type_id", 4, false],
100 ["code", 8, false],
101 ["session_id", 16, false],
102 ["length", 16, false],
103 ["protocol", 16, false]
104 ]
105 },
106 {
107 "name" : "mpls_t",
108 "id" : 5,
109 "fields" : [
110 ["label", 20, false],
111 ["tc", 3, false],
112 ["bos", 1, false],
113 ["ttl", 8, false]
114 ]
115 },
116 {
117 "name" : "ipv4_t",
118 "id" : 6,
119 "fields" : [
120 ["version", 4, false],
121 ["ihl", 4, false],
122 ["dscp", 6, false],
123 ["ecn", 2, false],
124 ["total_len", 16, false],
125 ["identification", 16, false],
126 ["flags", 3, false],
127 ["frag_offset", 13, false],
128 ["ttl", 8, false],
129 ["protocol", 8, false],
130 ["hdr_checksum", 16, false],
131 ["src_addr", 32, false],
132 ["dst_addr", 32, false]
133 ]
134 },
135 {
136 "name" : "tcp_t",
137 "id" : 7,
138 "fields" : [
139 ["sport", 16, false],
140 ["dport", 16, false],
141 ["seq_no", 32, false],
142 ["ack_no", 32, false],
143 ["data_offset", 4, false],
144 ["res", 3, false],
145 ["ecn", 3, false],
146 ["ctrl", 6, false],
147 ["window", 16, false],
148 ["checksum", 16, false],
149 ["urgent_ptr", 16, false]
150 ]
151 },
152 {
153 "name" : "udp_t",
154 "id" : 8,
155 "fields" : [
156 ["sport", 16, false],
157 ["dport", 16, false],
158 ["len", 16, false],
159 ["checksum", 16, false]
160 ]
161 },
162 {
163 "name" : "icmp_t",
164 "id" : 9,
165 "fields" : [
166 ["icmp_type", 8, false],
167 ["icmp_code", 8, false],
168 ["checksum", 16, false],
169 ["identifier", 16, false],
170 ["sequence_number", 16, false],
171 ["timestamp", 64, false]
172 ]
173 },
174 {
175 "name" : "packet_out_header_t",
176 "id" : 10,
177 "fields" : [
178 ["egress_port", 9, false],
179 ["_pad", 7, false]
180 ]
181 },
182 {
183 "name" : "packet_in_header_t",
184 "id" : 11,
185 "fields" : [
186 ["ingress_port", 9, false],
187 ["_pad", 7, false]
188 ]
189 }
190 ],
191 "headers" : [
192 {
193 "name" : "scalars",
194 "id" : 0,
195 "header_type" : "scalars_0",
196 "metadata" : true,
197 "pi_omit" : true
198 },
199 {
200 "name" : "standard_metadata",
201 "id" : 1,
202 "header_type" : "standard_metadata",
203 "metadata" : true,
204 "pi_omit" : true
205 },
206 {
207 "name" : "ethernet",
208 "id" : 2,
209 "header_type" : "ethernet_t",
210 "metadata" : false,
211 "pi_omit" : true
212 },
213 {
214 "name" : "vlan_tag",
215 "id" : 3,
216 "header_type" : "vlan_tag_t",
217 "metadata" : false,
218 "pi_omit" : true
219 },
220 {
221 "name" : "inner_vlan_tag",
222 "id" : 4,
223 "header_type" : "vlan_tag_t",
224 "metadata" : false,
225 "pi_omit" : true
226 },
227 {
228 "name" : "pppoe",
229 "id" : 5,
230 "header_type" : "pppoe_t",
231 "metadata" : false,
232 "pi_omit" : true
233 },
234 {
235 "name" : "mpls",
236 "id" : 6,
237 "header_type" : "mpls_t",
238 "metadata" : false,
239 "pi_omit" : true
240 },
241 {
242 "name" : "ipv4",
243 "id" : 7,
244 "header_type" : "ipv4_t",
245 "metadata" : false,
246 "pi_omit" : true
247 },
248 {
249 "name" : "tcp",
250 "id" : 8,
251 "header_type" : "tcp_t",
252 "metadata" : false,
253 "pi_omit" : true
254 },
255 {
256 "name" : "udp",
257 "id" : 9,
258 "header_type" : "udp_t",
259 "metadata" : false,
260 "pi_omit" : true
261 },
262 {
263 "name" : "icmp",
264 "id" : 10,
265 "header_type" : "icmp_t",
266 "metadata" : false,
267 "pi_omit" : true
268 },
269 {
270 "name" : "packet_out",
271 "id" : 11,
272 "header_type" : "packet_out_header_t",
273 "metadata" : false,
274 "pi_omit" : true
275 },
276 {
277 "name" : "packet_in",
278 "id" : 12,
279 "header_type" : "packet_in_header_t",
280 "metadata" : false,
281 "pi_omit" : true
282 }
283 ],
284 "header_stacks" : [],
285 "header_union_types" : [],
286 "header_unions" : [],
287 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700288 "field_lists" : [
289 {
290 "id" : 1,
291 "name" : "fl",
292 "source_info" : {
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700293 "filename" : "include/control/acl.p4",
294 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700295 "column" : 40,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700296 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700297 },
298 "elements" : [
299 {
300 "type" : "field",
301 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700302 }
303 ]
304 }
305 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700306 "errors" : [
307 ["NoError", 1],
308 ["PacketTooShort", 2],
309 ["NoMatch", 3],
310 ["StackOutOfBounds", 4],
311 ["HeaderTooShort", 5],
312 ["ParserTimeout", 6],
313 ["ParserInvalidArgument", 7]
314 ],
315 "enums" : [],
316 "parsers" : [
317 {
318 "name" : "parser",
319 "id" : 0,
320 "init_state" : "start",
321 "parse_states" : [
322 {
323 "name" : "start",
324 "id" : 0,
325 "parser_ops" : [],
326 "transitions" : [
327 {
328 "type" : "hexstr",
329 "value" : "0x00ff",
330 "mask" : null,
331 "next_state" : "parse_packet_out"
332 },
333 {
334 "value" : "default",
335 "mask" : null,
336 "next_state" : "parse_ethernet"
337 }
338 ],
339 "transition_key" : [
340 {
341 "type" : "field",
342 "value" : ["standard_metadata", "ingress_port"]
343 }
344 ]
345 },
346 {
347 "name" : "parse_packet_out",
348 "id" : 1,
349 "parser_ops" : [
350 {
351 "parameters" : [
352 {
353 "type" : "regular",
354 "value" : "packet_out"
355 }
356 ],
357 "op" : "extract"
358 }
359 ],
360 "transitions" : [
361 {
362 "value" : "default",
363 "mask" : null,
364 "next_state" : "parse_ethernet"
365 }
366 ],
367 "transition_key" : []
368 },
369 {
370 "name" : "parse_ethernet",
371 "id" : 2,
372 "parser_ops" : [
373 {
374 "parameters" : [
375 {
376 "type" : "regular",
377 "value" : "ethernet"
378 }
379 ],
380 "op" : "extract"
381 },
382 {
383 "parameters" : [
384 {
385 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700386 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700387 },
388 {
389 "type" : "field",
390 "value" : ["ethernet", "eth_type"]
391 }
392 ],
393 "op" : "set"
394 },
395 {
396 "parameters" : [
397 {
398 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700399 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700400 },
401 {
402 "type" : "hexstr",
403 "value" : "0x0ffe"
404 }
405 ],
406 "op" : "set"
407 }
408 ],
409 "transitions" : [
410 {
411 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700412 "value" : "0x88a8",
413 "mask" : null,
414 "next_state" : "parse_vlan_tag"
415 },
416 {
417 "type" : "hexstr",
418 "value" : "0x9100",
419 "mask" : null,
420 "next_state" : "parse_vlan_tag"
421 },
422 {
423 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700424 "value" : "0x8100",
425 "mask" : null,
426 "next_state" : "parse_vlan_tag"
427 },
428 {
429 "type" : "hexstr",
430 "value" : "0x8847",
431 "mask" : null,
432 "next_state" : "parse_mpls"
433 },
434 {
435 "type" : "hexstr",
436 "value" : "0x0800",
437 "mask" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700438 "next_state" : "pre_parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700439 },
440 {
441 "value" : "default",
442 "mask" : null,
443 "next_state" : null
444 }
445 ],
446 "transition_key" : [
447 {
448 "type" : "field",
449 "value" : ["ethernet", "eth_type"]
450 }
451 ]
452 },
453 {
454 "name" : "parse_vlan_tag",
455 "id" : 3,
456 "parser_ops" : [
457 {
458 "parameters" : [
459 {
460 "type" : "regular",
461 "value" : "vlan_tag"
462 }
463 ],
464 "op" : "extract"
465 }
466 ],
467 "transitions" : [
468 {
469 "type" : "hexstr",
470 "value" : "0x0800",
471 "mask" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700472 "next_state" : "pre_parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700473 },
474 {
475 "type" : "hexstr",
476 "value" : "0x8847",
477 "mask" : null,
478 "next_state" : "parse_mpls"
479 },
480 {
481 "type" : "hexstr",
482 "value" : "0x8100",
483 "mask" : null,
484 "next_state" : "parse_inner_vlan_tag"
485 },
486 {
487 "value" : "default",
488 "mask" : null,
489 "next_state" : null
490 }
491 ],
492 "transition_key" : [
493 {
494 "type" : "field",
495 "value" : ["vlan_tag", "eth_type"]
496 }
497 ]
498 },
499 {
500 "name" : "parse_inner_vlan_tag",
501 "id" : 4,
502 "parser_ops" : [
503 {
504 "parameters" : [
505 {
506 "type" : "regular",
507 "value" : "inner_vlan_tag"
508 }
509 ],
510 "op" : "extract"
511 }
512 ],
513 "transitions" : [
514 {
515 "type" : "hexstr",
516 "value" : "0x0800",
517 "mask" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700518 "next_state" : "pre_parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700519 },
520 {
521 "type" : "hexstr",
522 "value" : "0x8847",
523 "mask" : null,
524 "next_state" : "parse_mpls"
525 },
526 {
527 "type" : "hexstr",
528 "value" : "0x8863",
529 "mask" : null,
530 "next_state" : "parse_pppoe"
531 },
532 {
533 "type" : "hexstr",
534 "value" : "0x8864",
535 "mask" : null,
536 "next_state" : "parse_pppoe"
537 },
538 {
539 "value" : "default",
540 "mask" : null,
541 "next_state" : null
542 }
543 ],
544 "transition_key" : [
545 {
546 "type" : "field",
547 "value" : ["inner_vlan_tag", "eth_type"]
548 }
549 ]
550 },
551 {
552 "name" : "parse_pppoe",
553 "id" : 5,
554 "parser_ops" : [
555 {
556 "parameters" : [
557 {
558 "type" : "regular",
559 "value" : "pppoe"
560 }
561 ],
562 "op" : "extract"
563 }
564 ],
565 "transitions" : [
566 {
567 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700568 "value" : "0x0281",
569 "mask" : null,
570 "next_state" : "parse_mpls"
571 },
572 {
573 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700574 "value" : "0x0021",
575 "mask" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700576 "next_state" : "pre_parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700577 },
578 {
579 "value" : "default",
580 "mask" : null,
581 "next_state" : null
582 }
583 ],
584 "transition_key" : [
585 {
586 "type" : "field",
587 "value" : ["pppoe", "protocol"]
588 }
589 ]
590 },
591 {
592 "name" : "parse_mpls",
593 "id" : 6,
594 "parser_ops" : [
595 {
596 "parameters" : [
597 {
598 "type" : "regular",
599 "value" : "mpls"
600 }
601 ],
602 "op" : "extract"
603 },
604 {
605 "parameters" : [
606 {
607 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700608 "value" : ["scalars", "fabric_metadata_t._is_mpls3"]
609 },
610 {
611 "type" : "expression",
612 "value" : {
613 "type" : "expression",
614 "value" : {
615 "op" : "b2d",
616 "left" : null,
617 "right" : {
618 "type" : "bool",
619 "value" : true
620 }
621 }
622 }
623 }
624 ],
625 "op" : "set"
626 },
627 {
628 "parameters" : [
629 {
630 "type" : "field",
631 "value" : ["scalars", "fabric_metadata_t._mpls_label12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700632 },
633 {
634 "type" : "field",
635 "value" : ["mpls", "label"]
636 }
637 ],
638 "op" : "set"
639 },
640 {
641 "parameters" : [
642 {
643 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700644 "value" : ["scalars", "fabric_metadata_t._mpls_ttl13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700645 },
646 {
647 "type" : "field",
648 "value" : ["mpls", "ttl"]
649 }
650 ],
651 "op" : "set"
652 },
653 {
654 "parameters" : [
655 {
656 "type" : "field",
657 "value" : ["scalars", "tmp_0"]
658 },
659 {
660 "type" : "lookahead",
661 "value" : [0, 4]
662 }
663 ],
664 "op" : "set"
665 }
666 ],
667 "transitions" : [
668 {
669 "type" : "hexstr",
670 "value" : "0x04",
671 "mask" : null,
672 "next_state" : "parse_ipv4"
673 },
674 {
675 "value" : "default",
676 "mask" : null,
677 "next_state" : "parse_ethernet"
678 }
679 ],
680 "transition_key" : [
681 {
682 "type" : "field",
683 "value" : ["scalars", "tmp_0"]
684 }
685 ]
686 },
687 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700688 "name" : "pre_parse_ipv4",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700689 "id" : 7,
690 "parser_ops" : [
691 {
692 "parameters" : [
693 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700694 "type" : "field",
695 "value" : ["scalars", "fabric_metadata_t._is_ipv41"]
696 },
697 {
698 "type" : "expression",
699 "value" : {
700 "type" : "expression",
701 "value" : {
702 "op" : "b2d",
703 "left" : null,
704 "right" : {
705 "type" : "bool",
706 "value" : true
707 }
708 }
709 }
710 }
711 ],
712 "op" : "set"
713 }
714 ],
715 "transitions" : [
716 {
717 "value" : "default",
718 "mask" : null,
719 "next_state" : "parse_ipv4"
720 }
721 ],
722 "transition_key" : []
723 },
724 {
725 "name" : "parse_ipv4",
726 "id" : 8,
727 "parser_ops" : [
728 {
729 "parameters" : [
730 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700731 "type" : "regular",
732 "value" : "ipv4"
733 }
734 ],
735 "op" : "extract"
736 },
737 {
738 "parameters" : [
739 {
740 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700741 "value" : ["scalars", "fabric_metadata_t._ip_proto20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700742 },
743 {
744 "type" : "field",
745 "value" : ["ipv4", "protocol"]
746 }
747 ],
748 "op" : "set"
749 },
750 {
751 "parameters" : [
752 {
753 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700754 "value" : ["scalars", "fabric_metadata_t._ip_eth_type4"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700755 },
756 {
757 "type" : "hexstr",
758 "value" : "0x0800"
759 }
760 ],
761 "op" : "set"
762 }
763 ],
764 "transitions" : [
765 {
766 "type" : "hexstr",
767 "value" : "0x06",
768 "mask" : null,
769 "next_state" : "parse_tcp"
770 },
771 {
772 "type" : "hexstr",
773 "value" : "0x11",
774 "mask" : null,
775 "next_state" : "parse_udp"
776 },
777 {
778 "type" : "hexstr",
779 "value" : "0x01",
780 "mask" : null,
781 "next_state" : "parse_icmp"
782 },
783 {
784 "value" : "default",
785 "mask" : null,
786 "next_state" : null
787 }
788 ],
789 "transition_key" : [
790 {
791 "type" : "field",
792 "value" : ["ipv4", "protocol"]
793 }
794 ]
795 },
796 {
797 "name" : "parse_tcp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700798 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700799 "parser_ops" : [
800 {
801 "parameters" : [
802 {
803 "type" : "regular",
804 "value" : "tcp"
805 }
806 ],
807 "op" : "extract"
808 },
809 {
810 "parameters" : [
811 {
812 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700813 "value" : ["scalars", "fabric_metadata_t._l4_sport21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700814 },
815 {
816 "type" : "field",
817 "value" : ["tcp", "sport"]
818 }
819 ],
820 "op" : "set"
821 },
822 {
823 "parameters" : [
824 {
825 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700826 "value" : ["scalars", "fabric_metadata_t._l4_dport22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700827 },
828 {
829 "type" : "field",
830 "value" : ["tcp", "dport"]
831 }
832 ],
833 "op" : "set"
834 }
835 ],
836 "transitions" : [
837 {
838 "value" : "default",
839 "mask" : null,
840 "next_state" : null
841 }
842 ],
843 "transition_key" : []
844 },
845 {
846 "name" : "parse_udp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700847 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700848 "parser_ops" : [
849 {
850 "parameters" : [
851 {
852 "type" : "regular",
853 "value" : "udp"
854 }
855 ],
856 "op" : "extract"
857 },
858 {
859 "parameters" : [
860 {
861 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700862 "value" : ["scalars", "fabric_metadata_t._l4_sport21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700863 },
864 {
865 "type" : "field",
866 "value" : ["udp", "sport"]
867 }
868 ],
869 "op" : "set"
870 },
871 {
872 "parameters" : [
873 {
874 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700875 "value" : ["scalars", "fabric_metadata_t._l4_dport22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700876 },
877 {
878 "type" : "field",
879 "value" : ["udp", "dport"]
880 }
881 ],
882 "op" : "set"
883 }
884 ],
885 "transitions" : [
886 {
887 "value" : "default",
888 "mask" : null,
889 "next_state" : null
890 }
891 ],
892 "transition_key" : [
893 {
894 "type" : "field",
895 "value" : ["udp", "dport"]
896 }
897 ]
898 },
899 {
900 "name" : "parse_icmp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700901 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700902 "parser_ops" : [
903 {
904 "parameters" : [
905 {
906 "type" : "regular",
907 "value" : "icmp"
908 }
909 ],
910 "op" : "extract"
911 }
912 ],
913 "transitions" : [
914 {
915 "value" : "default",
916 "mask" : null,
917 "next_state" : null
918 }
919 ],
920 "transition_key" : []
921 }
922 ]
923 }
924 ],
925 "parse_vsets" : [],
926 "deparsers" : [
927 {
928 "name" : "deparser",
929 "id" : 0,
930 "source_info" : {
931 "filename" : "include/parser.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700932 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700933 "column" : 8,
934 "source_fragment" : "FabricDeparser"
935 },
936 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"]
937 }
938 ],
939 "meter_arrays" : [
940 {
941 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
942 "id" : 0,
943 "source_info" : {
944 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700945 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700946 "column" : 33,
947 "source_fragment" : "m_besteff"
948 },
949 "is_direct" : false,
950 "size" : 8192,
951 "rate_count" : 2,
952 "type" : "bytes"
953 },
954 {
955 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
956 "id" : 1,
957 "source_info" : {
958 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700959 "line" : 153,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700960 "column" : 33,
961 "source_fragment" : "m_prio"
962 },
963 "is_direct" : false,
964 "size" : 8192,
965 "rate_count" : 2,
966 "type" : "bytes"
967 }
968 ],
969 "counter_arrays" : [
970 {
971 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
972 "id" : 0,
973 "source_info" : {
974 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700975 "line" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700976 "column" : 39,
977 "source_fragment" : "c_terminated"
978 },
979 "size" : 8192,
980 "is_direct" : false
981 },
982 {
983 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
984 "id" : 1,
985 "source_info" : {
986 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700987 "line" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700988 "column" : 39,
989 "source_fragment" : "c_dropped"
990 },
991 "size" : 8192,
992 "is_direct" : false
993 },
994 {
995 "name" : "FabricIngress.bng_ingress.upstream.c_control",
996 "id" : 2,
997 "source_info" : {
998 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700999 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001000 "column" : 39,
1001 "source_fragment" : "c_control"
1002 },
1003 "size" : 8192,
1004 "is_direct" : false
1005 },
1006 {
1007 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
1008 "id" : 3,
1009 "source_info" : {
1010 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001011 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001012 "column" : 49,
1013 "source_fragment" : "c_line_rx"
1014 },
1015 "size" : 8192,
1016 "is_direct" : false
1017 },
1018 {
1019 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1020 "id" : 4,
1021 "is_direct" : true,
1022 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1023 "source_info" : {
1024 "filename" : "include/control/filtering.p4",
1025 "line" : 31,
1026 "column" : 50,
1027 "source_fragment" : "ingress_port_vlan_counter"
1028 }
1029 },
1030 {
1031 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1032 "id" : 5,
1033 "is_direct" : true,
1034 "binding" : "FabricIngress.filtering.fwd_classifier",
1035 "source_info" : {
1036 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001037 "line" : 83,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001038 "column" : 50,
1039 "source_fragment" : "fwd_classifier_counter"
1040 }
1041 },
1042 {
1043 "name" : "FabricIngress.forwarding.bridging_counter",
1044 "id" : 6,
1045 "is_direct" : true,
1046 "binding" : "FabricIngress.forwarding.bridging",
1047 "source_info" : {
1048 "filename" : "include/control/forwarding.p4",
1049 "line" : 36,
1050 "column" : 50,
1051 "source_fragment" : "bridging_counter"
1052 }
1053 },
1054 {
1055 "name" : "FabricIngress.forwarding.mpls_counter",
1056 "id" : 7,
1057 "is_direct" : true,
1058 "binding" : "FabricIngress.forwarding.mpls",
1059 "source_info" : {
1060 "filename" : "include/control/forwarding.p4",
1061 "line" : 63,
1062 "column" : 50,
1063 "source_fragment" : "mpls_counter"
1064 }
1065 },
1066 {
1067 "name" : "FabricIngress.forwarding.routing_v4_counter",
1068 "id" : 8,
1069 "is_direct" : true,
1070 "binding" : "FabricIngress.forwarding.routing_v4",
1071 "source_info" : {
1072 "filename" : "include/control/forwarding.p4",
1073 "line" : 87,
1074 "column" : 50,
1075 "source_fragment" : "routing_v4_counter"
1076 }
1077 },
1078 {
1079 "name" : "FabricIngress.acl.acl_counter",
1080 "id" : 9,
1081 "is_direct" : true,
1082 "binding" : "FabricIngress.acl.acl",
1083 "source_info" : {
1084 "filename" : "include/control/acl.p4",
1085 "line" : 30,
1086 "column" : 50,
1087 "source_fragment" : "acl_counter"
1088 }
1089 },
1090 {
1091 "name" : "FabricIngress.next.next_vlan_counter",
1092 "id" : 10,
1093 "is_direct" : true,
1094 "binding" : "FabricIngress.next.next_vlan",
1095 "source_info" : {
1096 "filename" : "include/control/next.p4",
1097 "line" : 67,
1098 "column" : 50,
1099 "source_fragment" : "next_vlan_counter"
1100 }
1101 },
1102 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001103 "name" : "FabricIngress.next.hashed_counter",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001104 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001105 "is_direct" : true,
1106 "binding" : "FabricIngress.next.hashed",
1107 "source_info" : {
1108 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001109 "line" : 178,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001110 "column" : 50,
1111 "source_fragment" : "hashed_counter"
1112 }
1113 },
1114 {
1115 "name" : "FabricIngress.next.multicast_counter",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001116 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001117 "is_direct" : true,
1118 "binding" : "FabricIngress.next.multicast",
1119 "source_info" : {
1120 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001121 "line" : 222,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001122 "column" : 50,
1123 "source_fragment" : "multicast_counter"
1124 }
1125 },
1126 {
1127 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001128 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001129 "source_info" : {
1130 "filename" : "include/control/port_counter.p4",
1131 "line" : 26,
1132 "column" : 48,
1133 "source_fragment" : "egress_port_counter"
1134 },
1135 "size" : 511,
1136 "is_direct" : false
1137 },
1138 {
1139 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001140 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001141 "source_info" : {
1142 "filename" : "include/control/port_counter.p4",
1143 "line" : 27,
1144 "column" : 48,
1145 "source_fragment" : "ingress_port_counter"
1146 },
1147 "size" : 511,
1148 "is_direct" : false
1149 },
1150 {
1151 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001152 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001153 "source_info" : {
1154 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001155 "line" : 265,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001156 "column" : 49,
1157 "source_fragment" : "c_line_tx"
1158 },
1159 "size" : 8192,
1160 "is_direct" : false
1161 },
1162 {
1163 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001164 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001165 "is_direct" : true,
1166 "binding" : "FabricEgress.egress_next.egress_vlan",
1167 "source_info" : {
1168 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07001169 "line" : 310,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001170 "column" : 50,
1171 "source_fragment" : "egress_vlan_counter"
1172 }
1173 }
1174 ],
1175 "register_arrays" : [],
1176 "calculations" : [
1177 {
1178 "name" : "calc",
1179 "id" : 0,
1180 "source_info" : {
1181 "filename" : "include/checksum.p4",
1182 "line" : 28,
1183 "column" : 8,
1184 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1185 },
1186 "algo" : "csum16",
1187 "input" : [
1188 {
1189 "type" : "field",
1190 "value" : ["ipv4", "version"]
1191 },
1192 {
1193 "type" : "field",
1194 "value" : ["ipv4", "ihl"]
1195 },
1196 {
1197 "type" : "field",
1198 "value" : ["ipv4", "dscp"]
1199 },
1200 {
1201 "type" : "field",
1202 "value" : ["ipv4", "ecn"]
1203 },
1204 {
1205 "type" : "field",
1206 "value" : ["ipv4", "total_len"]
1207 },
1208 {
1209 "type" : "field",
1210 "value" : ["ipv4", "identification"]
1211 },
1212 {
1213 "type" : "field",
1214 "value" : ["ipv4", "flags"]
1215 },
1216 {
1217 "type" : "field",
1218 "value" : ["ipv4", "frag_offset"]
1219 },
1220 {
1221 "type" : "field",
1222 "value" : ["ipv4", "ttl"]
1223 },
1224 {
1225 "type" : "field",
1226 "value" : ["ipv4", "protocol"]
1227 },
1228 {
1229 "type" : "field",
1230 "value" : ["ipv4", "src_addr"]
1231 },
1232 {
1233 "type" : "field",
1234 "value" : ["ipv4", "dst_addr"]
1235 }
1236 ]
1237 },
1238 {
1239 "name" : "calc_0",
1240 "id" : 1,
1241 "source_info" : {
1242 "filename" : "include/checksum.p4",
1243 "line" : 57,
1244 "column" : 8,
1245 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1246 },
1247 "algo" : "csum16",
1248 "input" : [
1249 {
1250 "type" : "field",
1251 "value" : ["ipv4", "version"]
1252 },
1253 {
1254 "type" : "field",
1255 "value" : ["ipv4", "ihl"]
1256 },
1257 {
1258 "type" : "field",
1259 "value" : ["ipv4", "dscp"]
1260 },
1261 {
1262 "type" : "field",
1263 "value" : ["ipv4", "ecn"]
1264 },
1265 {
1266 "type" : "field",
1267 "value" : ["ipv4", "total_len"]
1268 },
1269 {
1270 "type" : "field",
1271 "value" : ["ipv4", "identification"]
1272 },
1273 {
1274 "type" : "field",
1275 "value" : ["ipv4", "flags"]
1276 },
1277 {
1278 "type" : "field",
1279 "value" : ["ipv4", "frag_offset"]
1280 },
1281 {
1282 "type" : "field",
1283 "value" : ["ipv4", "ttl"]
1284 },
1285 {
1286 "type" : "field",
1287 "value" : ["ipv4", "protocol"]
1288 },
1289 {
1290 "type" : "field",
1291 "value" : ["ipv4", "src_addr"]
1292 },
1293 {
1294 "type" : "field",
1295 "value" : ["ipv4", "dst_addr"]
1296 }
1297 ]
1298 }
1299 ],
1300 "learn_lists" : [],
1301 "actions" : [
1302 {
1303 "name" : "nop",
1304 "id" : 0,
1305 "runtime_data" : [],
1306 "primitives" : []
1307 },
1308 {
1309 "name" : "nop",
1310 "id" : 1,
1311 "runtime_data" : [],
1312 "primitives" : []
1313 },
1314 {
1315 "name" : "nop",
1316 "id" : 2,
1317 "runtime_data" : [],
1318 "primitives" : []
1319 },
1320 {
1321 "name" : "nop",
1322 "id" : 3,
1323 "runtime_data" : [],
1324 "primitives" : []
1325 },
1326 {
1327 "name" : "nop",
1328 "id" : 4,
1329 "runtime_data" : [],
1330 "primitives" : []
1331 },
1332 {
1333 "name" : "nop",
1334 "id" : 5,
1335 "runtime_data" : [],
1336 "primitives" : []
1337 },
1338 {
1339 "name" : "nop",
1340 "id" : 6,
1341 "runtime_data" : [],
1342 "primitives" : []
1343 },
1344 {
1345 "name" : "nop",
1346 "id" : 7,
1347 "runtime_data" : [],
1348 "primitives" : []
1349 },
1350 {
1351 "name" : "nop",
1352 "id" : 8,
1353 "runtime_data" : [],
1354 "primitives" : []
1355 },
1356 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001357 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001358 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001359 "runtime_data" : [],
1360 "primitives" : [
1361 {
1362 "op" : "assign",
1363 "parameters" : [
1364 {
1365 "type" : "field",
1366 "value" : ["standard_metadata", "egress_spec"]
1367 },
1368 {
1369 "type" : "hexstr",
1370 "value" : "0x00ff"
1371 }
1372 ],
1373 "source_info" : {
1374 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001375 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001376 "column" : 8,
1377 "source_fragment" : "smeta.egress_spec = 255"
1378 }
1379 },
1380 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001381 "op" : "count",
1382 "parameters" : [
1383 {
1384 "type" : "counter_array",
1385 "value" : "FabricIngress.bng_ingress.upstream.c_control"
1386 },
1387 {
1388 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001389 "value" : ["scalars", "fabric_metadata_t._bng_line_id24"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001390 }
1391 ],
1392 "source_info" : {
1393 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001394 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001395 "column" : 8,
1396 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
1397 }
1398 }
1399 ]
1400 },
1401 {
1402 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001403 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001404 "runtime_data" : [],
1405 "primitives" : [
1406 {
1407 "op" : "assign",
1408 "parameters" : [
1409 {
1410 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001411 "value" : ["scalars", "fabric_metadata_t._bng_type23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001412 },
1413 {
1414 "type" : "hexstr",
1415 "value" : "0x00"
1416 }
1417 ],
1418 "source_info" : {
1419 "filename" : "include/control/../header.p4",
1420 "line" : 155,
1421 "column" : 36,
1422 "source_fragment" : "2w0x0; ..."
1423 }
1424 },
1425 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001426 "op" : "mark_to_drop",
1427 "parameters" : [
1428 {
1429 "type" : "header",
1430 "value" : "standard_metadata"
1431 }
1432 ],
1433 "source_info" : {
1434 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001435 "line" : 75,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001436 "column" : 8,
1437 "source_fragment" : "mark_to_drop(smeta)"
1438 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001439 }
1440 ]
1441 },
1442 {
1443 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001444 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001445 "runtime_data" : [],
1446 "primitives" : [
1447 {
1448 "op" : "assign",
1449 "parameters" : [
1450 {
1451 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001452 "value" : ["inner_vlan_tag", "eth_type"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001453 },
1454 {
1455 "type" : "hexstr",
1456 "value" : "0x0800"
1457 }
1458 ],
1459 "source_info" : {
1460 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07001461 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001462 "column" : 31,
1463 "source_fragment" : "0x0800; ..."
1464 }
1465 },
1466 {
1467 "op" : "assign",
1468 "parameters" : [
1469 {
1470 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001471 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001472 },
1473 {
1474 "type" : "hexstr",
1475 "value" : "0x0800"
1476 }
1477 ],
1478 "source_info" : {
1479 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07001480 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001481 "column" : 31,
1482 "source_fragment" : "0x0800; ..."
1483 }
1484 },
1485 {
1486 "op" : "remove_header",
1487 "parameters" : [
1488 {
1489 "type" : "header",
1490 "value" : "pppoe"
1491 }
1492 ],
1493 "source_info" : {
1494 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001495 "line" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001496 "column" : 8,
1497 "source_fragment" : "hdr.pppoe.setInvalid()"
1498 }
1499 },
1500 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001501 "op" : "count",
1502 "parameters" : [
1503 {
1504 "type" : "counter_array",
1505 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
1506 },
1507 {
1508 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001509 "value" : ["scalars", "fabric_metadata_t._bng_line_id24"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001510 }
1511 ],
1512 "source_info" : {
1513 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001514 "line" : 70,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001515 "column" : 8,
1516 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
1517 }
1518 }
1519 ]
1520 },
1521 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001522 "name" : "FabricIngress.bng_ingress.downstream.set_session",
1523 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001524 "runtime_data" : [
1525 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001526 "name" : "pppoe_session_id",
1527 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001528 }
1529 ],
1530 "primitives" : [
1531 {
1532 "op" : "assign",
1533 "parameters" : [
1534 {
1535 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001536 "value" : ["scalars", "fabric_metadata_t._bng_type23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001537 },
1538 {
1539 "type" : "hexstr",
1540 "value" : "0x02"
1541 }
1542 ],
1543 "source_info" : {
1544 "filename" : "include/control/../header.p4",
1545 "line" : 157,
1546 "column" : 39,
1547 "source_fragment" : "2w0x2;; ..."
1548 }
1549 },
1550 {
1551 "op" : "assign",
1552 "parameters" : [
1553 {
1554 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001555 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id25"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001556 },
1557 {
1558 "type" : "runtime_data",
1559 "value" : 0
1560 }
1561 ],
1562 "source_info" : {
1563 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001564 "line" : 157,
1565 "column" : 35,
1566 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001567 }
1568 },
1569 {
1570 "op" : "count",
1571 "parameters" : [
1572 {
1573 "type" : "counter_array",
1574 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1575 },
1576 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001577 "type" : "field",
1578 "value" : ["scalars", "fabric_metadata_t._bng_line_id24"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001579 }
1580 ],
1581 "source_info" : {
1582 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001583 "line" : 158,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001584 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001585 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001586 }
1587 }
1588 ]
1589 },
1590 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001591 "name" : "FabricIngress.bng_ingress.downstream.drop",
1592 "id" : 13,
1593 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001594 "primitives" : [
1595 {
1596 "op" : "assign",
1597 "parameters" : [
1598 {
1599 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001600 "value" : ["scalars", "fabric_metadata_t._bng_type23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001601 },
1602 {
1603 "type" : "hexstr",
1604 "value" : "0x02"
1605 }
1606 ],
1607 "source_info" : {
1608 "filename" : "include/control/../header.p4",
1609 "line" : 157,
1610 "column" : 39,
1611 "source_fragment" : "2w0x2;; ..."
1612 }
1613 },
1614 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001615 "op" : "count",
1616 "parameters" : [
1617 {
1618 "type" : "counter_array",
1619 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1620 },
1621 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001622 "type" : "field",
1623 "value" : ["scalars", "fabric_metadata_t._bng_line_id24"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001624 }
1625 ],
1626 "source_info" : {
1627 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001628 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001629 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001630 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001631 }
1632 },
1633 {
1634 "op" : "mark_to_drop",
1635 "parameters" : [
1636 {
1637 "type" : "header",
1638 "value" : "standard_metadata"
1639 }
1640 ],
1641 "source_info" : {
1642 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001643 "line" : 164,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001644 "column" : 8,
1645 "source_fragment" : "mark_to_drop(smeta)"
1646 }
1647 }
1648 ]
1649 },
1650 {
1651 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001652 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001653 "runtime_data" : [],
Daniele Moro7c3a0022019-07-12 13:38:34 -07001654 "primitives" : []
1655 },
1656 {
1657 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
1658 "id" : 15,
1659 "runtime_data" : [],
1660 "primitives" : []
1661 },
1662 {
1663 "name" : "FabricIngress.bng_ingress.set_line",
1664 "id" : 16,
1665 "runtime_data" : [
1666 {
1667 "name" : "line_id",
1668 "bitwidth" : 32
1669 }
1670 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001671 "primitives" : [
1672 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001673 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001674 "parameters" : [
1675 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001676 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001677 "value" : ["scalars", "fabric_metadata_t._bng_line_id24"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001678 },
1679 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001680 "type" : "runtime_data",
1681 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001682 }
1683 ],
1684 "source_info" : {
1685 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001686 "line" : 321,
1687 "column" : 30,
1688 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001689 }
1690 }
1691 ]
1692 },
1693 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001694 "name" : "FabricIngress.filtering.deny",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001695 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001696 "runtime_data" : [],
1697 "primitives" : [
1698 {
1699 "op" : "assign",
1700 "parameters" : [
1701 {
1702 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001703 "value" : ["scalars", "fabric_metadata_t._skip_forwarding14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001704 },
1705 {
1706 "type" : "expression",
1707 "value" : {
1708 "type" : "expression",
1709 "value" : {
1710 "op" : "b2d",
1711 "left" : null,
1712 "right" : {
1713 "type" : "bool",
1714 "value" : true
1715 }
1716 }
1717 }
1718 }
1719 ],
1720 "source_info" : {
1721 "filename" : "include/control/filtering.p4",
1722 "line" : 36,
1723 "column" : 40,
1724 "source_fragment" : "= true; ..."
1725 }
1726 },
1727 {
1728 "op" : "assign",
1729 "parameters" : [
1730 {
1731 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001732 "value" : ["scalars", "fabric_metadata_t._skip_next15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001733 },
1734 {
1735 "type" : "expression",
1736 "value" : {
1737 "type" : "expression",
1738 "value" : {
1739 "op" : "b2d",
1740 "left" : null,
1741 "right" : {
1742 "type" : "bool",
1743 "value" : true
1744 }
1745 }
1746 }
1747 }
1748 ],
1749 "source_info" : {
1750 "filename" : "include/control/filtering.p4",
1751 "line" : 37,
1752 "column" : 34,
1753 "source_fragment" : "= true; ..."
1754 }
1755 }
1756 ]
1757 },
1758 {
1759 "name" : "FabricIngress.filtering.permit",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001760 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001761 "runtime_data" : [],
1762 "primitives" : []
1763 },
1764 {
1765 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001766 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001767 "runtime_data" : [
1768 {
1769 "name" : "vlan_id",
1770 "bitwidth" : 12
1771 }
1772 ],
1773 "primitives" : [
1774 {
1775 "op" : "assign",
1776 "parameters" : [
1777 {
1778 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001779 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001780 },
1781 {
1782 "type" : "runtime_data",
1783 "value" : 0
1784 }
1785 ],
1786 "source_info" : {
1787 "filename" : "include/control/filtering.p4",
1788 "line" : 47,
1789 "column" : 32,
1790 "source_fragment" : "= vlan_id; ..."
1791 }
1792 }
1793 ]
1794 },
1795 {
1796 "name" : "FabricIngress.filtering.set_forwarding_type",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001797 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001798 "runtime_data" : [
1799 {
1800 "name" : "fwd_type",
1801 "bitwidth" : 3
1802 }
1803 ],
1804 "primitives" : [
1805 {
1806 "op" : "assign",
1807 "parameters" : [
1808 {
1809 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001810 "value" : ["scalars", "fabric_metadata_t._fwd_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001811 },
1812 {
1813 "type" : "runtime_data",
1814 "value" : 0
1815 }
1816 ],
1817 "source_info" : {
1818 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001819 "line" : 86,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001820 "column" : 33,
1821 "source_fragment" : "= fwd_type; ..."
1822 }
1823 }
1824 ]
1825 },
1826 {
1827 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001828 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001829 "runtime_data" : [
1830 {
1831 "name" : "next_id",
1832 "bitwidth" : 32
1833 }
1834 ],
1835 "primitives" : [
1836 {
1837 "op" : "assign",
1838 "parameters" : [
1839 {
1840 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001841 "value" : ["scalars", "fabric_metadata_t._next_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001842 },
1843 {
1844 "type" : "runtime_data",
1845 "value" : 0
1846 }
1847 ],
1848 "source_info" : {
1849 "filename" : "include/control/forwarding.p4",
1850 "line" : 30,
1851 "column" : 32,
1852 "source_fragment" : "= next_id; ..."
1853 }
1854 }
1855 ]
1856 },
1857 {
1858 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001859 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001860 "runtime_data" : [
1861 {
1862 "name" : "next_id",
1863 "bitwidth" : 32
1864 }
1865 ],
1866 "primitives" : [
1867 {
1868 "op" : "assign",
1869 "parameters" : [
1870 {
1871 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001872 "value" : ["scalars", "fabric_metadata_t._mpls_label12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001873 },
1874 {
1875 "type" : "hexstr",
1876 "value" : "0x000000"
1877 }
1878 ],
1879 "source_info" : {
1880 "filename" : "include/control/forwarding.p4",
1881 "line" : 66,
1882 "column" : 35,
1883 "source_fragment" : "= 0; ..."
1884 }
1885 },
1886 {
1887 "op" : "assign",
1888 "parameters" : [
1889 {
1890 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001891 "value" : ["scalars", "fabric_metadata_t._next_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001892 },
1893 {
1894 "type" : "runtime_data",
1895 "value" : 0
1896 }
1897 ],
1898 "source_info" : {
1899 "filename" : "include/control/forwarding.p4",
1900 "line" : 30,
1901 "column" : 32,
1902 "source_fragment" : "= next_id; ..."
1903 }
1904 }
1905 ]
1906 },
1907 {
1908 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001909 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001910 "runtime_data" : [
1911 {
1912 "name" : "next_id",
1913 "bitwidth" : 32
1914 }
1915 ],
1916 "primitives" : [
1917 {
1918 "op" : "assign",
1919 "parameters" : [
1920 {
1921 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001922 "value" : ["scalars", "fabric_metadata_t._next_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001923 },
1924 {
1925 "type" : "runtime_data",
1926 "value" : 0
1927 }
1928 ],
1929 "source_info" : {
1930 "filename" : "include/control/forwarding.p4",
1931 "line" : 30,
1932 "column" : 32,
1933 "source_fragment" : "= next_id; ..."
1934 }
1935 }
1936 ]
1937 },
1938 {
1939 "name" : "FabricIngress.forwarding.nop_routing_v4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001940 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001941 "runtime_data" : [],
1942 "primitives" : []
1943 },
1944 {
1945 "name" : "FabricIngress.acl.set_next_id_acl",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001946 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001947 "runtime_data" : [
1948 {
1949 "name" : "next_id",
1950 "bitwidth" : 32
1951 }
1952 ],
1953 "primitives" : [
1954 {
1955 "op" : "assign",
1956 "parameters" : [
1957 {
1958 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001959 "value" : ["scalars", "fabric_metadata_t._next_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001960 },
1961 {
1962 "type" : "runtime_data",
1963 "value" : 0
1964 }
1965 ],
1966 "source_info" : {
1967 "filename" : "include/control/acl.p4",
1968 "line" : 33,
1969 "column" : 32,
1970 "source_fragment" : "= next_id; ..."
1971 }
1972 }
1973 ]
1974 },
1975 {
1976 "name" : "FabricIngress.acl.punt_to_cpu",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001977 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001978 "runtime_data" : [],
1979 "primitives" : [
1980 {
1981 "op" : "assign",
1982 "parameters" : [
1983 {
1984 "type" : "field",
1985 "value" : ["standard_metadata", "egress_spec"]
1986 },
1987 {
1988 "type" : "hexstr",
1989 "value" : "0x00ff"
1990 }
1991 ],
1992 "source_info" : {
1993 "filename" : "include/control/acl.p4",
1994 "line" : 39,
1995 "column" : 8,
1996 "source_fragment" : "standard_metadata.egress_spec = 255"
1997 }
1998 },
1999 {
2000 "op" : "assign",
2001 "parameters" : [
2002 {
2003 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002004 "value" : ["scalars", "fabric_metadata_t._skip_next15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002005 },
2006 {
2007 "type" : "expression",
2008 "value" : {
2009 "type" : "expression",
2010 "value" : {
2011 "op" : "b2d",
2012 "left" : null,
2013 "right" : {
2014 "type" : "bool",
2015 "value" : true
2016 }
2017 }
2018 }
2019 }
2020 ],
2021 "source_info" : {
2022 "filename" : "include/control/acl.p4",
2023 "line" : 40,
2024 "column" : 34,
2025 "source_fragment" : "= true; ..."
2026 }
2027 }
2028 ]
2029 },
2030 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002031 "name" : "FabricIngress.acl.set_clone_session_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002032 "id" : 27,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002033 "runtime_data" : [
2034 {
2035 "name" : "clone_id",
2036 "bitwidth" : 32
2037 }
2038 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002039 "primitives" : [
2040 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002041 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002042 "parameters" : [
2043 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002044 "type" : "runtime_data",
2045 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002046 },
2047 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002048 "type" : "hexstr",
2049 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002050 }
2051 ],
2052 "source_info" : {
2053 "filename" : "include/control/acl.p4",
2054 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002055 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07002056 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002057 }
2058 }
2059 ]
2060 },
2061 {
2062 "name" : "FabricIngress.acl.drop",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002063 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002064 "runtime_data" : [],
2065 "primitives" : [
2066 {
2067 "op" : "mark_to_drop",
2068 "parameters" : [
2069 {
2070 "type" : "header",
2071 "value" : "standard_metadata"
2072 }
2073 ],
2074 "source_info" : {
2075 "filename" : "include/control/acl.p4",
2076 "line" : 51,
2077 "column" : 8,
2078 "source_fragment" : "mark_to_drop(standard_metadata)"
2079 }
2080 },
2081 {
2082 "op" : "assign",
2083 "parameters" : [
2084 {
2085 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002086 "value" : ["scalars", "fabric_metadata_t._skip_next15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002087 },
2088 {
2089 "type" : "expression",
2090 "value" : {
2091 "type" : "expression",
2092 "value" : {
2093 "op" : "b2d",
2094 "left" : null,
2095 "right" : {
2096 "type" : "bool",
2097 "value" : true
2098 }
2099 }
2100 }
2101 }
2102 ],
2103 "source_info" : {
2104 "filename" : "include/control/acl.p4",
2105 "line" : 52,
2106 "column" : 34,
2107 "source_fragment" : "= true; ..."
2108 }
2109 }
2110 ]
2111 },
2112 {
2113 "name" : "FabricIngress.acl.nop_acl",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002114 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002115 "runtime_data" : [],
2116 "primitives" : []
2117 },
2118 {
2119 "name" : "FabricIngress.next.set_vlan",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002120 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002121 "runtime_data" : [
2122 {
2123 "name" : "vlan_id",
2124 "bitwidth" : 12
2125 }
2126 ],
2127 "primitives" : [
2128 {
2129 "op" : "assign",
2130 "parameters" : [
2131 {
2132 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002133 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002134 },
2135 {
2136 "type" : "runtime_data",
2137 "value" : 0
2138 }
2139 ],
2140 "source_info" : {
2141 "filename" : "include/control/next.p4",
2142 "line" : 70,
2143 "column" : 32,
2144 "source_fragment" : "= vlan_id; ..."
2145 }
2146 }
2147 ]
2148 },
2149 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002150 "name" : "FabricIngress.next.set_double_vlan",
2151 "id" : 31,
2152 "runtime_data" : [
2153 {
2154 "name" : "outer_vlan_id",
2155 "bitwidth" : 12
2156 },
2157 {
2158 "name" : "inner_vlan_id",
2159 "bitwidth" : 12
2160 }
2161 ],
2162 "primitives" : [
2163 {
2164 "op" : "assign",
2165 "parameters" : [
2166 {
2167 "type" : "field",
2168 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
2169 },
2170 {
2171 "type" : "runtime_data",
2172 "value" : 0
2173 }
2174 ],
2175 "source_info" : {
2176 "filename" : "include/control/next.p4",
2177 "line" : 70,
2178 "column" : 32,
2179 "source_fragment" : "= vlan_id; ..."
2180 }
2181 },
2182 {
2183 "op" : "assign",
2184 "parameters" : [
2185 {
2186 "type" : "field",
2187 "value" : ["scalars", "fabric_metadata_t._push_double_vlan8"]
2188 },
2189 {
2190 "type" : "expression",
2191 "value" : {
2192 "type" : "expression",
2193 "value" : {
2194 "op" : "b2d",
2195 "left" : null,
2196 "right" : {
2197 "type" : "bool",
2198 "value" : true
2199 }
2200 }
2201 }
2202 }
2203 ],
2204 "source_info" : {
2205 "filename" : "include/control/next.p4",
2206 "line" : 77,
2207 "column" : 41,
2208 "source_fragment" : "= true; ..."
2209 }
2210 },
2211 {
2212 "op" : "assign",
2213 "parameters" : [
2214 {
2215 "type" : "field",
2216 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id9"]
2217 },
2218 {
2219 "type" : "runtime_data",
2220 "value" : 1
2221 }
2222 ],
2223 "source_info" : {
2224 "filename" : "include/control/next.p4",
2225 "line" : 78,
2226 "column" : 38,
2227 "source_fragment" : "= inner_vlan_id; ..."
2228 }
2229 }
2230 ]
2231 },
2232 {
2233 "name" : "FabricIngress.next.output_hashed",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002234 "id" : 32,
2235 "runtime_data" : [
2236 {
2237 "name" : "port_num",
2238 "bitwidth" : 9
2239 }
2240 ],
2241 "primitives" : [
2242 {
2243 "op" : "assign",
2244 "parameters" : [
2245 {
2246 "type" : "field",
2247 "value" : ["standard_metadata", "egress_spec"]
2248 },
2249 {
2250 "type" : "runtime_data",
2251 "value" : 0
2252 }
2253 ],
2254 "source_info" : {
2255 "filename" : "include/control/next.p4",
2256 "line" : 31,
2257 "column" : 5,
2258 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2259 }
2260 }
2261 ]
2262 },
2263 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002264 "name" : "FabricIngress.next.routing_hashed",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002265 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002266 "runtime_data" : [
2267 {
2268 "name" : "port_num",
2269 "bitwidth" : 9
2270 },
2271 {
2272 "name" : "smac",
2273 "bitwidth" : 48
2274 },
2275 {
2276 "name" : "dmac",
2277 "bitwidth" : 48
2278 }
2279 ],
2280 "primitives" : [
2281 {
2282 "op" : "assign",
2283 "parameters" : [
2284 {
2285 "type" : "field",
2286 "value" : ["ethernet", "src_addr"]
2287 },
2288 {
2289 "type" : "runtime_data",
2290 "value" : 1
2291 }
2292 ],
2293 "source_info" : {
2294 "filename" : "include/control/next.p4",
2295 "line" : 36,
2296 "column" : 8,
2297 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2298 }
2299 },
2300 {
2301 "op" : "assign",
2302 "parameters" : [
2303 {
2304 "type" : "field",
2305 "value" : ["ethernet", "dst_addr"]
2306 },
2307 {
2308 "type" : "runtime_data",
2309 "value" : 2
2310 }
2311 ],
2312 "source_info" : {
2313 "filename" : "include/control/next.p4",
2314 "line" : 41,
2315 "column" : 8,
2316 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2317 }
2318 },
2319 {
2320 "op" : "assign",
2321 "parameters" : [
2322 {
2323 "type" : "field",
2324 "value" : ["standard_metadata", "egress_spec"]
2325 },
2326 {
2327 "type" : "runtime_data",
2328 "value" : 0
2329 }
2330 ],
2331 "source_info" : {
2332 "filename" : "include/control/next.p4",
2333 "line" : 31,
2334 "column" : 5,
2335 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2336 }
2337 }
2338 ]
2339 },
2340 {
2341 "name" : "FabricIngress.next.mpls_routing_hashed",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002342 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002343 "runtime_data" : [
2344 {
2345 "name" : "port_num",
2346 "bitwidth" : 9
2347 },
2348 {
2349 "name" : "smac",
2350 "bitwidth" : 48
2351 },
2352 {
2353 "name" : "dmac",
2354 "bitwidth" : 48
2355 },
2356 {
2357 "name" : "label",
2358 "bitwidth" : 20
2359 }
2360 ],
2361 "primitives" : [
2362 {
2363 "op" : "assign",
2364 "parameters" : [
2365 {
2366 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002367 "value" : ["scalars", "fabric_metadata_t._mpls_label12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002368 },
2369 {
2370 "type" : "runtime_data",
2371 "value" : 3
2372 }
2373 ],
2374 "source_info" : {
2375 "filename" : "include/control/next.p4",
2376 "line" : 46,
2377 "column" : 35,
2378 "source_fragment" : "= label; ..."
2379 }
2380 },
2381 {
2382 "op" : "assign",
2383 "parameters" : [
2384 {
2385 "type" : "field",
2386 "value" : ["ethernet", "src_addr"]
2387 },
2388 {
2389 "type" : "runtime_data",
2390 "value" : 1
2391 }
2392 ],
2393 "source_info" : {
2394 "filename" : "include/control/next.p4",
2395 "line" : 36,
2396 "column" : 8,
2397 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2398 }
2399 },
2400 {
2401 "op" : "assign",
2402 "parameters" : [
2403 {
2404 "type" : "field",
2405 "value" : ["ethernet", "dst_addr"]
2406 },
2407 {
2408 "type" : "runtime_data",
2409 "value" : 2
2410 }
2411 ],
2412 "source_info" : {
2413 "filename" : "include/control/next.p4",
2414 "line" : 41,
2415 "column" : 8,
2416 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2417 }
2418 },
2419 {
2420 "op" : "assign",
2421 "parameters" : [
2422 {
2423 "type" : "field",
2424 "value" : ["standard_metadata", "egress_spec"]
2425 },
2426 {
2427 "type" : "runtime_data",
2428 "value" : 0
2429 }
2430 ],
2431 "source_info" : {
2432 "filename" : "include/control/next.p4",
2433 "line" : 31,
2434 "column" : 5,
2435 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2436 }
2437 }
2438 ]
2439 },
2440 {
2441 "name" : "FabricIngress.next.set_mcast_group_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002442 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002443 "runtime_data" : [
2444 {
2445 "name" : "group_id",
2446 "bitwidth" : 16
2447 }
2448 ],
2449 "primitives" : [
2450 {
2451 "op" : "assign",
2452 "parameters" : [
2453 {
2454 "type" : "field",
2455 "value" : ["standard_metadata", "mcast_grp"]
2456 },
2457 {
2458 "type" : "runtime_data",
2459 "value" : 0
2460 }
2461 ],
2462 "source_info" : {
2463 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002464 "line" : 225,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002465 "column" : 8,
2466 "source_fragment" : "standard_metadata.mcast_grp = group_id"
2467 }
2468 },
2469 {
2470 "op" : "assign",
2471 "parameters" : [
2472 {
2473 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002474 "value" : ["scalars", "fabric_metadata_t._is_multicast18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002475 },
2476 {
2477 "type" : "expression",
2478 "value" : {
2479 "type" : "expression",
2480 "value" : {
2481 "op" : "b2d",
2482 "left" : null,
2483 "right" : {
2484 "type" : "bool",
2485 "value" : true
2486 }
2487 }
2488 }
2489 }
2490 ],
2491 "source_info" : {
2492 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002493 "line" : 226,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002494 "column" : 37,
2495 "source_fragment" : "= true; ..."
2496 }
2497 }
2498 ]
2499 },
2500 {
2501 "name" : "act",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002502 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002503 "runtime_data" : [],
2504 "primitives" : [
2505 {
2506 "op" : "assign",
2507 "parameters" : [
2508 {
2509 "type" : "field",
2510 "value" : ["standard_metadata", "egress_spec"]
2511 },
2512 {
2513 "type" : "field",
2514 "value" : ["packet_out", "egress_port"]
2515 }
2516 ],
2517 "source_info" : {
2518 "filename" : "include/control/packetio.p4",
2519 "line" : 25,
2520 "column" : 12,
2521 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
2522 }
2523 },
2524 {
2525 "op" : "remove_header",
2526 "parameters" : [
2527 {
2528 "type" : "header",
2529 "value" : "packet_out"
2530 }
2531 ],
2532 "source_info" : {
2533 "filename" : "include/control/packetio.p4",
2534 "line" : 26,
2535 "column" : 12,
2536 "source_fragment" : "hdr.packet_out.setInvalid()"
2537 }
2538 },
2539 {
2540 "op" : "assign",
2541 "parameters" : [
2542 {
2543 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002544 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002545 },
2546 {
2547 "type" : "expression",
2548 "value" : {
2549 "type" : "expression",
2550 "value" : {
2551 "op" : "b2d",
2552 "left" : null,
2553 "right" : {
2554 "type" : "bool",
2555 "value" : true
2556 }
2557 }
2558 }
2559 }
2560 ],
2561 "source_info" : {
2562 "filename" : "include/control/packetio.p4",
2563 "line" : 27,
2564 "column" : 53,
2565 "source_fragment" : "= true; ..."
2566 }
2567 },
2568 {
2569 "op" : "exit",
2570 "parameters" : [],
2571 "source_info" : {
2572 "filename" : "include/control/packetio.p4",
2573 "line" : 29,
2574 "column" : 12,
2575 "source_fragment" : "exit"
2576 }
2577 }
2578 ]
2579 },
2580 {
2581 "name" : "act_0",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002582 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002583 "runtime_data" : [],
2584 "primitives" : [
2585 {
2586 "op" : "assign",
2587 "parameters" : [
2588 {
2589 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002590 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002591 },
2592 {
2593 "type" : "field",
2594 "value" : ["vlan_tag", "vlan_id"]
2595 }
2596 ],
2597 "source_info" : {
2598 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002599 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002600 "column" : 36,
2601 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
2602 }
2603 },
2604 {
2605 "op" : "assign",
2606 "parameters" : [
2607 {
2608 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002609 "value" : ["scalars", "fabric_metadata_t._vlan_pri6"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002610 },
2611 {
2612 "type" : "field",
2613 "value" : ["vlan_tag", "pri"]
2614 }
2615 ],
2616 "source_info" : {
2617 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002618 "line" : 111,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002619 "column" : 37,
2620 "source_fragment" : "= hdr.vlan_tag.pri; ..."
2621 }
2622 },
2623 {
2624 "op" : "assign",
2625 "parameters" : [
2626 {
2627 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002628 "value" : ["scalars", "fabric_metadata_t._vlan_cfi7"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002629 },
2630 {
2631 "type" : "field",
2632 "value" : ["vlan_tag", "cfi"]
2633 }
2634 ],
2635 "source_info" : {
2636 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002637 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002638 "column" : 37,
2639 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
2640 }
2641 }
2642 ]
2643 },
2644 {
2645 "name" : "act_1",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002646 "id" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002647 "runtime_data" : [],
2648 "primitives" : [
2649 {
2650 "op" : "assign",
2651 "parameters" : [
2652 {
2653 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002654 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id9"]
2655 },
2656 {
2657 "type" : "field",
2658 "value" : ["inner_vlan_tag", "vlan_id"]
2659 }
2660 ],
2661 "source_info" : {
2662 "filename" : "include/control/filtering.p4",
2663 "line" : 116,
2664 "column" : 42,
2665 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
2666 }
2667 },
2668 {
2669 "op" : "assign",
2670 "parameters" : [
2671 {
2672 "type" : "field",
2673 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri10"]
2674 },
2675 {
2676 "type" : "field",
2677 "value" : ["inner_vlan_tag", "pri"]
2678 }
2679 ],
2680 "source_info" : {
2681 "filename" : "include/control/filtering.p4",
2682 "line" : 117,
2683 "column" : 43,
2684 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
2685 }
2686 },
2687 {
2688 "op" : "assign",
2689 "parameters" : [
2690 {
2691 "type" : "field",
2692 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi11"]
2693 },
2694 {
2695 "type" : "field",
2696 "value" : ["inner_vlan_tag", "cfi"]
2697 }
2698 ],
2699 "source_info" : {
2700 "filename" : "include/control/filtering.p4",
2701 "line" : 118,
2702 "column" : 43,
2703 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
2704 }
2705 }
2706 ]
2707 },
2708 {
2709 "name" : "act_2",
2710 "id" : 39,
2711 "runtime_data" : [],
2712 "primitives" : [
2713 {
2714 "op" : "assign",
2715 "parameters" : [
2716 {
2717 "type" : "field",
2718 "value" : ["scalars", "fabric_metadata_t._mpls_ttl13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002719 },
2720 {
2721 "type" : "hexstr",
2722 "value" : "0x41"
2723 }
2724 ],
2725 "source_info" : {
2726 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002727 "line" : 126,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002728 "column" : 37,
2729 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
2730 }
2731 }
2732 ]
2733 },
2734 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002735 "name" : "act_3",
2736 "id" : 40,
2737 "runtime_data" : [],
2738 "primitives" : [
2739 {
2740 "op" : "assign",
2741 "parameters" : [
2742 {
2743 "type" : "field",
2744 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
2745 },
2746 {
2747 "type" : "hexstr",
2748 "value" : "0x8847"
2749 }
2750 ],
2751 "source_info" : {
2752 "filename" : "include/control/../define.p4",
2753 "line" : 108,
2754 "column" : 31,
2755 "source_fragment" : "0x8847; ..."
2756 }
2757 }
2758 ]
2759 },
2760 {
2761 "name" : "act_4",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002762 "id" : 41,
2763 "runtime_data" : [],
2764 "primitives" : [
2765 {
2766 "op" : "assign",
2767 "parameters" : [
2768 {
2769 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002770 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002771 },
2772 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002773 "type" : "field",
2774 "value" : ["inner_vlan_tag", "eth_type"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002775 }
2776 ],
2777 "source_info" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002778 "filename" : "include/control/filtering.p4",
2779 "line" : 136,
2780 "column" : 50,
2781 "source_fragment" : "= hdr.inner_vlan_tag.eth_type; ..."
Daniele Moroe22b5742019-06-28 15:32:37 -07002782 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002783 }
2784 ]
2785 },
2786 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002787 "name" : "act_5",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002788 "id" : 42,
2789 "runtime_data" : [],
2790 "primitives" : [
2791 {
2792 "op" : "assign",
2793 "parameters" : [
2794 {
2795 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002796 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002797 },
2798 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002799 "type" : "field",
2800 "value" : ["vlan_tag", "eth_type"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002801 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07002802 ],
2803 "source_info" : {
2804 "filename" : "include/control/filtering.p4",
2805 "line" : 139,
2806 "column" : 50,
2807 "source_fragment" : "= hdr.vlan_tag.eth_type; ..."
2808 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002809 }
2810 ]
2811 },
2812 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002813 "name" : "act_6",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002814 "id" : 43,
2815 "runtime_data" : [],
2816 "primitives" : [
2817 {
2818 "op" : "assign",
2819 "parameters" : [
2820 {
2821 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002822 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Daniele Moroe22b5742019-06-28 15:32:37 -07002823 },
2824 {
2825 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002826 "value" : ["ethernet", "eth_type"]
Daniele Moroe22b5742019-06-28 15:32:37 -07002827 }
2828 ],
2829 "source_info" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002830 "filename" : "include/control/filtering.p4",
2831 "line" : 141,
2832 "column" : 46,
2833 "source_fragment" : "= hdr.ethernet.eth_type; ..."
Daniele Moroe22b5742019-06-28 15:32:37 -07002834 }
2835 }
2836 ]
2837 },
2838 {
2839 "name" : "act_7",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002840 "id" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002841 "runtime_data" : [],
2842 "primitives" : [
2843 {
2844 "op" : "assign",
2845 "parameters" : [
2846 {
2847 "type" : "field",
2848 "value" : ["scalars", "tmp"]
2849 },
2850 {
2851 "type" : "expression",
2852 "value" : {
2853 "type" : "expression",
2854 "value" : {
2855 "op" : "&",
2856 "left" : {
2857 "type" : "field",
2858 "value" : ["standard_metadata", "egress_spec"]
2859 },
2860 "right" : {
2861 "type" : "hexstr",
2862 "value" : "0xffffffff"
2863 }
2864 }
2865 }
2866 }
2867 ],
2868 "source_info" : {
2869 "filename" : "include/control/port_counter.p4",
2870 "line" : 31,
2871 "column" : 38,
2872 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
2873 }
2874 },
2875 {
2876 "op" : "count",
2877 "parameters" : [
2878 {
2879 "type" : "counter_array",
2880 "value" : "FabricIngress.port_counters_control.egress_port_counter"
2881 },
2882 {
2883 "type" : "field",
2884 "value" : ["scalars", "tmp"]
2885 }
2886 ],
2887 "source_info" : {
2888 "filename" : "include/control/port_counter.p4",
2889 "line" : 31,
2890 "column" : 12,
2891 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
2892 }
2893 }
2894 ]
2895 },
2896 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002897 "name" : "act_8",
2898 "id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002899 "runtime_data" : [],
2900 "primitives" : [
2901 {
2902 "op" : "assign",
2903 "parameters" : [
2904 {
2905 "type" : "field",
2906 "value" : ["scalars", "tmp_1"]
2907 },
2908 {
2909 "type" : "expression",
2910 "value" : {
2911 "type" : "expression",
2912 "value" : {
2913 "op" : "&",
2914 "left" : {
2915 "type" : "field",
2916 "value" : ["standard_metadata", "ingress_port"]
2917 },
2918 "right" : {
2919 "type" : "hexstr",
2920 "value" : "0xffffffff"
2921 }
2922 }
2923 }
2924 }
2925 ],
2926 "source_info" : {
2927 "filename" : "include/control/port_counter.p4",
2928 "line" : 34,
2929 "column" : 39,
2930 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
2931 }
2932 },
2933 {
2934 "op" : "count",
2935 "parameters" : [
2936 {
2937 "type" : "counter_array",
2938 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
2939 },
2940 {
2941 "type" : "field",
2942 "value" : ["scalars", "tmp_1"]
2943 }
2944 ],
2945 "source_info" : {
2946 "filename" : "include/control/port_counter.p4",
2947 "line" : 34,
2948 "column" : 12,
2949 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
2950 }
2951 }
2952 ]
2953 },
2954 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002955 "name" : "act_9",
2956 "id" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002957 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002958 "primitives" : [
2959 {
2960 "op" : "assign",
2961 "parameters" : [
2962 {
2963 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002964 "value" : ["scalars", "bng_ingress_s_tag"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002965 },
2966 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002967 "type" : "field",
2968 "value" : ["vlan_tag", "vlan_id"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002969 }
2970 ],
2971 "source_info" : {
2972 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002973 "line" : 339,
2974 "column" : 16,
2975 "source_fragment" : "s_tag = hdr.vlan_tag.vlan_id"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002976 }
2977 },
2978 {
2979 "op" : "assign",
2980 "parameters" : [
2981 {
2982 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002983 "value" : ["scalars", "bng_ingress_c_tag"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002984 },
2985 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002986 "type" : "field",
2987 "value" : ["inner_vlan_tag", "vlan_id"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002988 }
2989 ],
2990 "source_info" : {
2991 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002992 "line" : 340,
2993 "column" : 16,
2994 "source_fragment" : "c_tag = hdr.inner_vlan_tag.vlan_id"
2995 }
2996 }
2997 ]
2998 },
2999 {
3000 "name" : "act_10",
3001 "id" : 47,
3002 "runtime_data" : [],
3003 "primitives" : [
3004 {
3005 "op" : "assign",
3006 "parameters" : [
3007 {
3008 "type" : "field",
3009 "value" : ["scalars", "bng_ingress_s_tag"]
3010 },
3011 {
3012 "type" : "field",
3013 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
3014 }
3015 ],
3016 "source_info" : {
3017 "filename" : "include/bng.p4",
3018 "line" : 344,
3019 "column" : 16,
3020 "source_fragment" : "s_tag = fmeta.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003021 }
3022 },
3023 {
3024 "op" : "assign",
3025 "parameters" : [
3026 {
3027 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003028 "value" : ["scalars", "bng_ingress_c_tag"]
3029 },
3030 {
3031 "type" : "field",
3032 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id9"]
3033 }
3034 ],
3035 "source_info" : {
3036 "filename" : "include/bng.p4",
3037 "line" : 345,
3038 "column" : 16,
3039 "source_fragment" : "c_tag = fmeta.inner_vlan_id; ..."
3040 }
3041 }
3042 ]
3043 },
3044 {
3045 "name" : "act_11",
3046 "id" : 48,
3047 "runtime_data" : [],
3048 "primitives" : [
3049 {
3050 "op" : "assign",
3051 "parameters" : [
3052 {
3053 "type" : "field",
3054 "value" : ["scalars", "bng_ingress_upstream_tmp"]
3055 },
3056 {
3057 "type" : "expression",
3058 "value" : {
3059 "type" : "expression",
3060 "value" : {
3061 "op" : "b2d",
3062 "left" : null,
3063 "right" : {
3064 "type" : "bool",
3065 "value" : true
3066 }
3067 }
3068 }
3069 }
3070 ]
3071 }
3072 ]
3073 },
3074 {
3075 "name" : "act_12",
3076 "id" : 49,
3077 "runtime_data" : [],
3078 "primitives" : [
3079 {
3080 "op" : "assign",
3081 "parameters" : [
3082 {
3083 "type" : "field",
3084 "value" : ["scalars", "bng_ingress_upstream_tmp"]
3085 },
3086 {
3087 "type" : "expression",
3088 "value" : {
3089 "type" : "expression",
3090 "value" : {
3091 "op" : "b2d",
3092 "left" : null,
3093 "right" : {
3094 "type" : "bool",
3095 "value" : false
3096 }
3097 }
3098 }
3099 }
3100 ]
3101 }
3102 ]
3103 },
3104 {
3105 "name" : "act_13",
3106 "id" : 50,
3107 "runtime_data" : [],
3108 "primitives" : [
3109 {
3110 "op" : "assign",
3111 "parameters" : [
3112 {
3113 "type" : "field",
3114 "value" : ["scalars", "fabric_metadata_t._bng_type23"]
3115 },
3116 {
3117 "type" : "hexstr",
3118 "value" : "0x01"
3119 }
3120 ],
3121 "source_info" : {
3122 "filename" : "include/control/../header.p4",
3123 "line" : 156,
3124 "column" : 37,
3125 "source_fragment" : "2w0x1; ..."
3126 }
3127 },
3128 {
3129 "op" : "assign",
3130 "parameters" : [
3131 {
3132 "type" : "field",
3133 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
3134 },
3135 {
3136 "type" : "expression",
3137 "value" : {
3138 "type" : "expression",
3139 "value" : {
3140 "op" : "b2d",
3141 "left" : null,
3142 "right" : {
3143 "type" : "bool",
3144 "value" : false
3145 }
3146 }
3147 }
3148 }
3149 ]
3150 }
3151 ]
3152 },
3153 {
3154 "name" : "act_14",
3155 "id" : 51,
3156 "runtime_data" : [],
3157 "primitives" : [
3158 {
3159 "op" : "assign",
3160 "parameters" : [
3161 {
3162 "type" : "field",
3163 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
3164 },
3165 {
3166 "type" : "expression",
3167 "value" : {
3168 "type" : "expression",
3169 "value" : {
3170 "op" : "b2d",
3171 "left" : null,
3172 "right" : {
3173 "type" : "bool",
3174 "value" : true
3175 }
3176 }
3177 }
3178 }
3179 ],
3180 "source_info" : {
3181 "filename" : "include/bng.p4",
3182 "line" : 124,
3183 "column" : 12,
3184 "source_fragment" : "return"
3185 }
3186 }
3187 ]
3188 },
3189 {
3190 "name" : "act_15",
3191 "id" : 52,
3192 "runtime_data" : [],
3193 "primitives" : [
3194 {
3195 "op" : "count",
3196 "parameters" : [
3197 {
3198 "type" : "counter_array",
3199 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
3200 },
3201 {
3202 "type" : "field",
3203 "value" : ["scalars", "fabric_metadata_t._bng_line_id24"]
3204 }
3205 ],
3206 "source_info" : {
3207 "filename" : "include/bng.p4",
3208 "line" : 129,
3209 "column" : 20,
3210 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
3211 }
3212 }
3213 ]
3214 },
3215 {
3216 "name" : "act_16",
3217 "id" : 53,
3218 "runtime_data" : [],
3219 "primitives" : [
3220 {
3221 "op" : "assign",
3222 "parameters" : [
3223 {
3224 "type" : "field",
3225 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3226 },
3227 {
3228 "type" : "expression",
3229 "value" : {
3230 "type" : "expression",
3231 "value" : {
3232 "op" : "b2d",
3233 "left" : null,
3234 "right" : {
3235 "type" : "bool",
3236 "value" : true
3237 }
3238 }
3239 }
3240 }
3241 ]
3242 }
3243 ]
3244 },
3245 {
3246 "name" : "act_17",
3247 "id" : 54,
3248 "runtime_data" : [],
3249 "primitives" : [
3250 {
3251 "op" : "assign",
3252 "parameters" : [
3253 {
3254 "type" : "field",
3255 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3256 },
3257 {
3258 "type" : "expression",
3259 "value" : {
3260 "type" : "expression",
3261 "value" : {
3262 "op" : "b2d",
3263 "left" : null,
3264 "right" : {
3265 "type" : "bool",
3266 "value" : false
3267 }
3268 }
3269 }
3270 }
3271 ]
3272 }
3273 ]
3274 },
3275 {
3276 "name" : "act_18",
3277 "id" : 55,
3278 "runtime_data" : [],
3279 "primitives" : [
3280 {
3281 "op" : "execute_meter",
3282 "parameters" : [
3283 {
3284 "type" : "meter_array",
3285 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
3286 },
3287 {
3288 "type" : "field",
3289 "value" : ["scalars", "fabric_metadata_t._bng_line_id24"]
3290 },
3291 {
3292 "type" : "field",
3293 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result26"]
3294 }
3295 ],
3296 "source_info" : {
3297 "filename" : "include/bng.p4",
3298 "line" : 236,
3299 "column" : 24,
3300 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3301 }
3302 }
3303 ]
3304 },
3305 {
3306 "name" : "act_19",
3307 "id" : 56,
3308 "runtime_data" : [],
3309 "primitives" : [
3310 {
3311 "op" : "execute_meter",
3312 "parameters" : [
3313 {
3314 "type" : "meter_array",
3315 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
3316 },
3317 {
3318 "type" : "field",
3319 "value" : ["scalars", "fabric_metadata_t._bng_line_id24"]
3320 },
3321 {
3322 "type" : "field",
3323 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result26"]
3324 }
3325 ],
3326 "source_info" : {
3327 "filename" : "include/bng.p4",
3328 "line" : 239,
3329 "column" : 24,
3330 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3331 }
3332 }
3333 ]
3334 },
3335 {
3336 "name" : "nop",
3337 "id" : 57,
3338 "runtime_data" : [],
3339 "primitives" : []
3340 },
3341 {
3342 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
3343 "id" : 58,
3344 "runtime_data" : [],
3345 "primitives" : [
3346 {
3347 "op" : "assign",
3348 "parameters" : [
3349 {
3350 "type" : "field",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003351 "value" : ["inner_vlan_tag", "eth_type"]
3352 },
3353 {
3354 "type" : "hexstr",
3355 "value" : "0x8864"
3356 }
3357 ],
3358 "source_info" : {
3359 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003360 "line" : 114,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003361 "column" : 33,
3362 "source_fragment" : "0x8864; ..."
3363 }
3364 },
3365 {
3366 "op" : "add_header",
3367 "parameters" : [
3368 {
3369 "type" : "header",
3370 "value" : "pppoe"
3371 }
3372 ],
3373 "source_info" : {
3374 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003375 "line" : 271,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003376 "column" : 8,
3377 "source_fragment" : "hdr.pppoe.setValid()"
3378 }
3379 },
3380 {
3381 "op" : "assign",
3382 "parameters" : [
3383 {
3384 "type" : "field",
3385 "value" : ["pppoe", "version"]
3386 },
3387 {
3388 "type" : "hexstr",
3389 "value" : "0x01"
3390 }
3391 ],
3392 "source_info" : {
3393 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003394 "line" : 272,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003395 "column" : 8,
3396 "source_fragment" : "hdr.pppoe.version = 4w1"
3397 }
3398 },
3399 {
3400 "op" : "assign",
3401 "parameters" : [
3402 {
3403 "type" : "field",
3404 "value" : ["pppoe", "type_id"]
3405 },
3406 {
3407 "type" : "hexstr",
3408 "value" : "0x01"
3409 }
3410 ],
3411 "source_info" : {
3412 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003413 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003414 "column" : 8,
3415 "source_fragment" : "hdr.pppoe.type_id = 4w1"
3416 }
3417 },
3418 {
3419 "op" : "assign",
3420 "parameters" : [
3421 {
3422 "type" : "field",
3423 "value" : ["pppoe", "code"]
3424 },
3425 {
3426 "type" : "hexstr",
3427 "value" : "0x00"
3428 }
3429 ],
3430 "source_info" : {
3431 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003432 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003433 "column" : 8,
3434 "source_fragment" : "hdr.pppoe.code = 8w0"
3435 }
3436 },
3437 {
3438 "op" : "assign",
3439 "parameters" : [
3440 {
3441 "type" : "field",
3442 "value" : ["pppoe", "session_id"]
3443 },
3444 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003445 "type" : "field",
3446 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id25"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003447 }
3448 ],
3449 "source_info" : {
3450 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003451 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003452 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003453 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003454 }
3455 },
3456 {
3457 "op" : "count",
3458 "parameters" : [
3459 {
3460 "type" : "counter_array",
3461 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
3462 },
3463 {
3464 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003465 "value" : ["scalars", "fabric_metadata_t._bng_line_id24"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003466 }
3467 ],
3468 "source_info" : {
3469 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003470 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003471 "column" : 8,
3472 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
3473 }
3474 },
3475 {
3476 "op" : "assign",
3477 "parameters" : [
3478 {
3479 "type" : "field",
3480 "value" : ["pppoe", "length"]
3481 },
3482 {
3483 "type" : "expression",
3484 "value" : {
3485 "type" : "expression",
3486 "value" : {
3487 "op" : "&",
3488 "left" : {
3489 "type" : "expression",
3490 "value" : {
3491 "op" : "+",
3492 "left" : {
3493 "type" : "field",
3494 "value" : ["ipv4", "total_len"]
3495 },
3496 "right" : {
3497 "type" : "hexstr",
3498 "value" : "0x0002"
3499 }
3500 }
3501 },
3502 "right" : {
3503 "type" : "hexstr",
3504 "value" : "0xffff"
3505 }
3506 }
3507 }
3508 }
3509 ],
3510 "source_info" : {
3511 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003512 "line" : 281,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003513 "column" : 8,
3514 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
3515 }
3516 },
3517 {
3518 "op" : "assign",
3519 "parameters" : [
3520 {
3521 "type" : "field",
3522 "value" : ["pppoe", "protocol"]
3523 },
3524 {
3525 "type" : "hexstr",
3526 "value" : "0x0021"
3527 }
3528 ],
3529 "source_info" : {
3530 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003531 "line" : 116,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003532 "column" : 35,
3533 "source_fragment" : "0x0021; ..."
3534 }
3535 }
3536 ]
3537 },
3538 {
3539 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003540 "id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003541 "runtime_data" : [],
3542 "primitives" : [
3543 {
3544 "op" : "remove_header",
3545 "parameters" : [
3546 {
3547 "type" : "header",
3548 "value" : "mpls"
3549 }
3550 ],
3551 "source_info" : {
3552 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003553 "line" : 264,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003554 "column" : 8,
3555 "source_fragment" : "hdr.mpls.setInvalid()"
3556 }
3557 },
3558 {
3559 "op" : "assign",
3560 "parameters" : [
3561 {
3562 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003563 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003564 },
3565 {
3566 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003567 "value" : ["scalars", "fabric_metadata_t._ip_eth_type4"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003568 }
3569 ],
3570 "source_info" : {
3571 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003572 "line" : 266,
3573 "column" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003574 "source_fragment" : "= fabric_metadata.ip_eth_type; ..."
3575 }
3576 }
3577 ]
3578 },
3579 {
3580 "name" : "FabricEgress.egress_next.set_mpls",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003581 "id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003582 "runtime_data" : [],
3583 "primitives" : [
3584 {
3585 "op" : "add_header",
3586 "parameters" : [
3587 {
3588 "type" : "header",
3589 "value" : "mpls"
3590 }
3591 ],
3592 "source_info" : {
3593 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003594 "line" : 271,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003595 "column" : 8,
3596 "source_fragment" : "hdr.mpls.setValid()"
3597 }
3598 },
3599 {
3600 "op" : "assign",
3601 "parameters" : [
3602 {
3603 "type" : "field",
3604 "value" : ["mpls", "label"]
3605 },
3606 {
3607 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003608 "value" : ["scalars", "fabric_metadata_t._mpls_label12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003609 }
3610 ],
3611 "source_info" : {
3612 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003613 "line" : 272,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003614 "column" : 8,
3615 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
3616 }
3617 },
3618 {
3619 "op" : "assign",
3620 "parameters" : [
3621 {
3622 "type" : "field",
3623 "value" : ["mpls", "tc"]
3624 },
3625 {
3626 "type" : "hexstr",
3627 "value" : "0x00"
3628 }
3629 ],
3630 "source_info" : {
3631 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003632 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003633 "column" : 8,
3634 "source_fragment" : "hdr.mpls.tc = 3w0"
3635 }
3636 },
3637 {
3638 "op" : "assign",
3639 "parameters" : [
3640 {
3641 "type" : "field",
3642 "value" : ["mpls", "bos"]
3643 },
3644 {
3645 "type" : "hexstr",
3646 "value" : "0x01"
3647 }
3648 ],
3649 "source_info" : {
3650 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003651 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003652 "column" : 8,
3653 "source_fragment" : "hdr.mpls.bos = 1w1"
3654 }
3655 },
3656 {
3657 "op" : "assign",
3658 "parameters" : [
3659 {
3660 "type" : "field",
3661 "value" : ["mpls", "ttl"]
3662 },
3663 {
3664 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003665 "value" : ["scalars", "fabric_metadata_t._mpls_ttl13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003666 }
3667 ],
3668 "source_info" : {
3669 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003670 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003671 "column" : 8,
3672 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
3673 }
3674 },
3675 {
3676 "op" : "assign",
3677 "parameters" : [
3678 {
3679 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003680 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003681 },
3682 {
3683 "type" : "hexstr",
3684 "value" : "0x8847"
3685 }
3686 ],
3687 "source_info" : {
3688 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003689 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003690 "column" : 31,
3691 "source_fragment" : "0x8847; ..."
3692 }
3693 }
3694 ]
3695 },
3696 {
3697 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003698 "id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003699 "runtime_data" : [],
3700 "primitives" : [
3701 {
3702 "op" : "add_header",
3703 "parameters" : [
3704 {
3705 "type" : "header",
3706 "value" : "vlan_tag"
3707 }
3708 ],
3709 "source_info" : {
3710 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003711 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003712 "column" : 8,
3713 "source_fragment" : "hdr.vlan_tag.setValid()"
3714 }
3715 },
3716 {
3717 "op" : "assign",
3718 "parameters" : [
3719 {
3720 "type" : "field",
3721 "value" : ["vlan_tag", "cfi"]
3722 },
3723 {
3724 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003725 "value" : ["scalars", "fabric_metadata_t._vlan_cfi7"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003726 }
3727 ],
3728 "source_info" : {
3729 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003730 "line" : 284,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003731 "column" : 8,
3732 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3733 }
3734 },
3735 {
3736 "op" : "assign",
3737 "parameters" : [
3738 {
3739 "type" : "field",
3740 "value" : ["vlan_tag", "pri"]
3741 },
3742 {
3743 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003744 "value" : ["scalars", "fabric_metadata_t._vlan_pri6"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003745 }
3746 ],
3747 "source_info" : {
3748 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003749 "line" : 285,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003750 "column" : 8,
3751 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3752 }
3753 },
3754 {
3755 "op" : "assign",
3756 "parameters" : [
3757 {
3758 "type" : "field",
3759 "value" : ["vlan_tag", "eth_type"]
3760 },
3761 {
3762 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003763 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003764 }
3765 ],
3766 "source_info" : {
3767 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003768 "line" : 286,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003769 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003770 "source_fragment" : "hdr.vlan_tag.eth_type = fabric_metadata.last_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003771 }
3772 },
3773 {
3774 "op" : "assign",
3775 "parameters" : [
3776 {
3777 "type" : "field",
3778 "value" : ["vlan_tag", "vlan_id"]
3779 },
3780 {
3781 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003782 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003783 }
3784 ],
3785 "source_info" : {
3786 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003787 "line" : 287,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003788 "column" : 8,
3789 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3790 }
3791 },
3792 {
3793 "op" : "assign",
3794 "parameters" : [
3795 {
3796 "type" : "field",
3797 "value" : ["ethernet", "eth_type"]
3798 },
3799 {
3800 "type" : "hexstr",
3801 "value" : "0x8100"
3802 }
3803 ],
3804 "source_info" : {
3805 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003806 "line" : 107,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003807 "column" : 31,
3808 "source_fragment" : "0x8100; ..."
3809 }
3810 }
3811 ]
3812 },
3813 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003814 "name" : "FabricEgress.egress_next.push_vlan",
3815 "id" : 62,
3816 "runtime_data" : [],
3817 "primitives" : [
3818 {
3819 "op" : "add_header",
3820 "parameters" : [
3821 {
3822 "type" : "header",
3823 "value" : "vlan_tag"
3824 }
3825 ],
3826 "source_info" : {
3827 "filename" : "include/control/next.p4",
3828 "line" : 283,
3829 "column" : 8,
3830 "source_fragment" : "hdr.vlan_tag.setValid()"
3831 }
3832 },
3833 {
3834 "op" : "assign",
3835 "parameters" : [
3836 {
3837 "type" : "field",
3838 "value" : ["vlan_tag", "cfi"]
3839 },
3840 {
3841 "type" : "field",
3842 "value" : ["scalars", "fabric_metadata_t._vlan_cfi7"]
3843 }
3844 ],
3845 "source_info" : {
3846 "filename" : "include/control/next.p4",
3847 "line" : 284,
3848 "column" : 8,
3849 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3850 }
3851 },
3852 {
3853 "op" : "assign",
3854 "parameters" : [
3855 {
3856 "type" : "field",
3857 "value" : ["vlan_tag", "pri"]
3858 },
3859 {
3860 "type" : "field",
3861 "value" : ["scalars", "fabric_metadata_t._vlan_pri6"]
3862 }
3863 ],
3864 "source_info" : {
3865 "filename" : "include/control/next.p4",
3866 "line" : 285,
3867 "column" : 8,
3868 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3869 }
3870 },
3871 {
3872 "op" : "assign",
3873 "parameters" : [
3874 {
3875 "type" : "field",
3876 "value" : ["vlan_tag", "eth_type"]
3877 },
3878 {
3879 "type" : "field",
3880 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
3881 }
3882 ],
3883 "source_info" : {
3884 "filename" : "include/control/next.p4",
3885 "line" : 286,
3886 "column" : 8,
3887 "source_fragment" : "hdr.vlan_tag.eth_type = fabric_metadata.last_eth_type; ..."
3888 }
3889 },
3890 {
3891 "op" : "assign",
3892 "parameters" : [
3893 {
3894 "type" : "field",
3895 "value" : ["vlan_tag", "vlan_id"]
3896 },
3897 {
3898 "type" : "field",
3899 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
3900 }
3901 ],
3902 "source_info" : {
3903 "filename" : "include/control/next.p4",
3904 "line" : 287,
3905 "column" : 8,
3906 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3907 }
3908 },
3909 {
3910 "op" : "assign",
3911 "parameters" : [
3912 {
3913 "type" : "field",
3914 "value" : ["ethernet", "eth_type"]
3915 },
3916 {
3917 "type" : "hexstr",
3918 "value" : "0x8100"
3919 }
3920 ],
3921 "source_info" : {
3922 "filename" : "include/control/../define.p4",
3923 "line" : 107,
3924 "column" : 31,
3925 "source_fragment" : "0x8100; ..."
3926 }
3927 }
3928 ]
3929 },
3930 {
3931 "name" : "FabricEgress.egress_next.push_inner_vlan",
3932 "id" : 63,
3933 "runtime_data" : [],
3934 "primitives" : [
3935 {
3936 "op" : "add_header",
3937 "parameters" : [
3938 {
3939 "type" : "header",
3940 "value" : "inner_vlan_tag"
3941 }
3942 ],
3943 "source_info" : {
3944 "filename" : "include/control/next.p4",
3945 "line" : 296,
3946 "column" : 8,
3947 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
3948 }
3949 },
3950 {
3951 "op" : "assign",
3952 "parameters" : [
3953 {
3954 "type" : "field",
3955 "value" : ["inner_vlan_tag", "cfi"]
3956 },
3957 {
3958 "type" : "field",
3959 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi11"]
3960 }
3961 ],
3962 "source_info" : {
3963 "filename" : "include/control/next.p4",
3964 "line" : 297,
3965 "column" : 8,
3966 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
3967 }
3968 },
3969 {
3970 "op" : "assign",
3971 "parameters" : [
3972 {
3973 "type" : "field",
3974 "value" : ["inner_vlan_tag", "pri"]
3975 },
3976 {
3977 "type" : "field",
3978 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri10"]
3979 }
3980 ],
3981 "source_info" : {
3982 "filename" : "include/control/next.p4",
3983 "line" : 298,
3984 "column" : 8,
3985 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
3986 }
3987 },
3988 {
3989 "op" : "assign",
3990 "parameters" : [
3991 {
3992 "type" : "field",
3993 "value" : ["inner_vlan_tag", "vlan_id"]
3994 },
3995 {
3996 "type" : "field",
3997 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id9"]
3998 }
3999 ],
4000 "source_info" : {
4001 "filename" : "include/control/next.p4",
4002 "line" : 299,
4003 "column" : 8,
4004 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
4005 }
4006 },
4007 {
4008 "op" : "assign",
4009 "parameters" : [
4010 {
4011 "type" : "field",
4012 "value" : ["inner_vlan_tag", "eth_type"]
4013 },
4014 {
4015 "type" : "field",
4016 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
4017 }
4018 ],
4019 "source_info" : {
4020 "filename" : "include/control/next.p4",
4021 "line" : 300,
4022 "column" : 8,
4023 "source_fragment" : "hdr.inner_vlan_tag.eth_type = fabric_metadata.last_eth_type; ..."
4024 }
4025 },
4026 {
4027 "op" : "assign",
4028 "parameters" : [
4029 {
4030 "type" : "field",
4031 "value" : ["vlan_tag", "eth_type"]
4032 },
4033 {
4034 "type" : "hexstr",
4035 "value" : "0x8100"
4036 }
4037 ],
4038 "source_info" : {
4039 "filename" : "include/control/../define.p4",
4040 "line" : 107,
4041 "column" : 31,
4042 "source_fragment" : "0x8100; ..."
4043 }
Daniele Moro77654f92019-07-30 10:29:54 -07004044 },
4045 {
4046 "op" : "assign",
4047 "parameters" : [
4048 {
4049 "type" : "field",
4050 "value" : ["ethernet", "eth_type"]
4051 },
4052 {
4053 "type" : "hexstr",
4054 "value" : "0x88a8"
4055 }
4056 ],
4057 "source_info" : {
4058 "filename" : "include/control/../define.p4",
4059 "line" : 105,
4060 "column" : 31,
4061 "source_fragment" : "0x88A8; ..."
4062 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07004063 }
4064 ]
4065 },
4066 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004067 "name" : "FabricEgress.egress_next.pop_vlan",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004068 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004069 "runtime_data" : [],
4070 "primitives" : [
4071 {
4072 "op" : "assign",
4073 "parameters" : [
4074 {
4075 "type" : "field",
4076 "value" : ["ethernet", "eth_type"]
4077 },
4078 {
4079 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004080 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004081 }
4082 ],
4083 "source_info" : {
4084 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07004085 "line" : 313,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004086 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004087 "source_fragment" : "hdr.ethernet.eth_type = fabric_metadata.last_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004088 }
4089 },
4090 {
4091 "op" : "remove_header",
4092 "parameters" : [
4093 {
4094 "type" : "header",
4095 "value" : "vlan_tag"
4096 }
4097 ],
4098 "source_info" : {
4099 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07004100 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004101 "column" : 8,
4102 "source_fragment" : "hdr.vlan_tag.setInvalid()"
4103 }
4104 }
4105 ]
4106 },
4107 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004108 "name" : "act_20",
4109 "id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004110 "runtime_data" : [],
4111 "primitives" : [
4112 {
4113 "op" : "exit",
4114 "parameters" : [],
4115 "source_info" : {
4116 "filename" : "include/control/packetio.p4",
4117 "line" : 41,
4118 "column" : 12,
4119 "source_fragment" : "exit"
4120 }
4121 }
4122 ]
4123 },
4124 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004125 "name" : "act_21",
4126 "id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004127 "runtime_data" : [],
4128 "primitives" : [
4129 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004130 "op" : "add_header",
4131 "parameters" : [
4132 {
4133 "type" : "header",
4134 "value" : "packet_in"
4135 }
4136 ],
4137 "source_info" : {
4138 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004139 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004140 "column" : 12,
4141 "source_fragment" : "hdr.packet_in.setValid()"
4142 }
4143 },
4144 {
4145 "op" : "assign",
4146 "parameters" : [
4147 {
4148 "type" : "field",
4149 "value" : ["packet_in", "ingress_port"]
4150 },
4151 {
4152 "type" : "field",
4153 "value" : ["standard_metadata", "ingress_port"]
4154 }
4155 ],
4156 "source_info" : {
4157 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004158 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004159 "column" : 12,
4160 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
4161 }
4162 },
4163 {
4164 "op" : "exit",
4165 "parameters" : [],
4166 "source_info" : {
4167 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004168 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004169 "column" : 12,
4170 "source_fragment" : "exit"
4171 }
4172 }
4173 ]
4174 },
4175 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004176 "name" : "act_22",
4177 "id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004178 "runtime_data" : [],
4179 "primitives" : [
4180 {
4181 "op" : "mark_to_drop",
4182 "parameters" : [
4183 {
4184 "type" : "header",
4185 "value" : "standard_metadata"
4186 }
4187 ],
4188 "source_info" : {
4189 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07004190 "line" : 335,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004191 "column" : 12,
4192 "source_fragment" : "mark_to_drop(standard_metadata)"
4193 }
4194 }
4195 ]
4196 },
4197 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004198 "name" : "act_23",
4199 "id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004200 "runtime_data" : [],
4201 "primitives" : [
4202 {
4203 "op" : "assign",
4204 "parameters" : [
4205 {
4206 "type" : "field",
4207 "value" : ["scalars", "egress_next_tmp"]
4208 },
4209 {
4210 "type" : "expression",
4211 "value" : {
4212 "type" : "expression",
4213 "value" : {
4214 "op" : "b2d",
4215 "left" : null,
4216 "right" : {
4217 "type" : "bool",
4218 "value" : true
4219 }
4220 }
4221 }
4222 }
4223 ]
4224 }
4225 ]
4226 },
4227 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004228 "name" : "act_24",
4229 "id" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004230 "runtime_data" : [],
4231 "primitives" : [
4232 {
4233 "op" : "assign",
4234 "parameters" : [
4235 {
4236 "type" : "field",
4237 "value" : ["scalars", "egress_next_tmp"]
4238 },
4239 {
4240 "type" : "expression",
4241 "value" : {
4242 "type" : "expression",
4243 "value" : {
4244 "op" : "b2d",
4245 "left" : null,
4246 "right" : {
4247 "type" : "bool",
4248 "value" : false
4249 }
4250 }
4251 }
4252 }
4253 ]
4254 }
4255 ]
4256 },
4257 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004258 "name" : "act_25",
4259 "id" : 70,
4260 "runtime_data" : [],
4261 "primitives" : [
4262 {
4263 "op" : "remove_header",
4264 "parameters" : [
4265 {
4266 "type" : "header",
4267 "value" : "inner_vlan_tag"
4268 }
4269 ],
4270 "source_info" : {
4271 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07004272 "line" : 351,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004273 "column" : 12,
4274 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
4275 }
4276 }
4277 ]
4278 },
4279 {
4280 "name" : "act_26",
4281 "id" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004282 "runtime_data" : [],
4283 "primitives" : [
4284 {
4285 "op" : "mark_to_drop",
4286 "parameters" : [
4287 {
4288 "type" : "header",
4289 "value" : "standard_metadata"
4290 }
4291 ],
4292 "source_info" : {
4293 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07004294 "line" : 368,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004295 "column" : 35,
4296 "source_fragment" : "mark_to_drop(standard_metadata)"
4297 }
4298 }
4299 ]
4300 },
4301 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004302 "name" : "act_27",
4303 "id" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004304 "runtime_data" : [],
4305 "primitives" : [
4306 {
4307 "op" : "assign",
4308 "parameters" : [
4309 {
4310 "type" : "field",
4311 "value" : ["mpls", "ttl"]
4312 },
4313 {
4314 "type" : "expression",
4315 "value" : {
4316 "type" : "expression",
4317 "value" : {
4318 "op" : "&",
4319 "left" : {
4320 "type" : "expression",
4321 "value" : {
4322 "op" : "+",
4323 "left" : {
4324 "type" : "field",
4325 "value" : ["mpls", "ttl"]
4326 },
4327 "right" : {
4328 "type" : "hexstr",
4329 "value" : "0xff"
4330 }
4331 }
4332 },
4333 "right" : {
4334 "type" : "hexstr",
4335 "value" : "0xff"
4336 }
4337 }
4338 }
4339 }
4340 ],
4341 "source_info" : {
4342 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07004343 "line" : 367,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004344 "column" : 12,
4345 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
4346 }
4347 }
4348 ]
4349 },
4350 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004351 "name" : "act_28",
4352 "id" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004353 "runtime_data" : [],
4354 "primitives" : [
4355 {
4356 "op" : "mark_to_drop",
4357 "parameters" : [
4358 {
4359 "type" : "header",
4360 "value" : "standard_metadata"
4361 }
4362 ],
4363 "source_info" : {
4364 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07004365 "line" : 372,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004366 "column" : 39,
4367 "source_fragment" : "mark_to_drop(standard_metadata)"
4368 }
4369 }
4370 ]
4371 },
4372 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004373 "name" : "act_29",
4374 "id" : 74,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004375 "runtime_data" : [],
4376 "primitives" : [
4377 {
4378 "op" : "assign",
4379 "parameters" : [
4380 {
4381 "type" : "field",
4382 "value" : ["ipv4", "ttl"]
4383 },
4384 {
4385 "type" : "expression",
4386 "value" : {
4387 "type" : "expression",
4388 "value" : {
4389 "op" : "&",
4390 "left" : {
4391 "type" : "expression",
4392 "value" : {
4393 "op" : "+",
4394 "left" : {
4395 "type" : "field",
4396 "value" : ["ipv4", "ttl"]
4397 },
4398 "right" : {
4399 "type" : "hexstr",
4400 "value" : "0xff"
4401 }
4402 }
4403 },
4404 "right" : {
4405 "type" : "hexstr",
4406 "value" : "0xff"
4407 }
4408 }
4409 }
4410 }
4411 ],
4412 "source_info" : {
4413 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07004414 "line" : 371,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004415 "column" : 16,
4416 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4417 }
4418 }
4419 ]
4420 }
4421 ],
4422 "pipelines" : [
4423 {
4424 "name" : "ingress",
4425 "id" : 0,
4426 "source_info" : {
4427 "filename" : "fabric.p4",
4428 "line" : 46,
4429 "column" : 8,
4430 "source_fragment" : "FabricIngress"
4431 },
4432 "init_table" : "node_2",
4433 "tables" : [
4434 {
4435 "name" : "tbl_act",
4436 "id" : 0,
4437 "source_info" : {
4438 "filename" : "include/control/packetio.p4",
4439 "line" : 25,
4440 "column" : 42,
4441 "source_fragment" : "= hdr.packet_out.egress_port; ..."
4442 },
4443 "key" : [],
4444 "match_type" : "exact",
4445 "type" : "simple",
4446 "max_size" : 1024,
4447 "with_counters" : false,
4448 "support_timeout" : false,
4449 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004450 "action_ids" : [36],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004451 "actions" : ["act"],
4452 "base_default_next" : "node_4",
4453 "next_tables" : {
4454 "act" : "node_4"
4455 },
4456 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004457 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004458 "action_const" : true,
4459 "action_data" : [],
4460 "action_entry_const" : true
4461 }
4462 },
4463 {
4464 "name" : "tbl_act_0",
4465 "id" : 1,
4466 "source_info" : {
4467 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004468 "line" : 110,
4469 "column" : 36,
4470 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004471 },
4472 "key" : [],
4473 "match_type" : "exact",
4474 "type" : "simple",
4475 "max_size" : 1024,
4476 "with_counters" : false,
4477 "support_timeout" : false,
4478 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004479 "action_ids" : [37],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004480 "actions" : ["act_0"],
4481 "base_default_next" : "node_6",
4482 "next_tables" : {
4483 "act_0" : "node_6"
4484 },
4485 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004486 "action_id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004487 "action_const" : true,
4488 "action_data" : [],
4489 "action_entry_const" : true
4490 }
4491 },
4492 {
4493 "name" : "tbl_act_1",
4494 "id" : 2,
4495 "source_info" : {
4496 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004497 "line" : 116,
4498 "column" : 42,
4499 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
4500 },
4501 "key" : [],
4502 "match_type" : "exact",
4503 "type" : "simple",
4504 "max_size" : 1024,
4505 "with_counters" : false,
4506 "support_timeout" : false,
4507 "direct_meters" : null,
4508 "action_ids" : [38],
4509 "actions" : ["act_1"],
4510 "base_default_next" : "node_8",
4511 "next_tables" : {
4512 "act_1" : "node_8"
4513 },
4514 "default_entry" : {
4515 "action_id" : 38,
4516 "action_const" : true,
4517 "action_data" : [],
4518 "action_entry_const" : true
4519 }
4520 },
4521 {
4522 "name" : "tbl_act_2",
4523 "id" : 3,
4524 "source_info" : {
4525 "filename" : "include/control/filtering.p4",
4526 "line" : 126,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004527 "column" : 37,
4528 "source_fragment" : "="
4529 },
4530 "key" : [],
4531 "match_type" : "exact",
4532 "type" : "simple",
4533 "max_size" : 1024,
4534 "with_counters" : false,
4535 "support_timeout" : false,
4536 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004537 "action_ids" : [39],
4538 "actions" : ["act_2"],
4539 "base_default_next" : "node_10",
4540 "next_tables" : {
4541 "act_2" : "node_10"
4542 },
4543 "default_entry" : {
4544 "action_id" : 39,
4545 "action_const" : true,
4546 "action_data" : [],
4547 "action_entry_const" : true
4548 }
4549 },
4550 {
4551 "name" : "tbl_act_3",
4552 "id" : 4,
4553 "source_info" : {
4554 "filename" : "include/control/filtering.p4",
4555 "line" : 131,
4556 "column" : 42,
4557 "source_fragment" : "="
4558 },
4559 "key" : [],
4560 "match_type" : "exact",
4561 "type" : "simple",
4562 "max_size" : 1024,
4563 "with_counters" : false,
4564 "support_timeout" : false,
4565 "direct_meters" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004566 "action_ids" : [40],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004567 "actions" : ["act_3"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004568 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4569 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004570 "act_3" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004571 },
4572 "default_entry" : {
4573 "action_id" : 40,
4574 "action_const" : true,
4575 "action_data" : [],
4576 "action_entry_const" : true
4577 }
4578 },
4579 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004580 "name" : "tbl_act_4",
4581 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004582 "source_info" : {
4583 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004584 "line" : 136,
4585 "column" : 50,
4586 "source_fragment" : "="
4587 },
4588 "key" : [],
4589 "match_type" : "exact",
4590 "type" : "simple",
4591 "max_size" : 1024,
4592 "with_counters" : false,
4593 "support_timeout" : false,
4594 "direct_meters" : null,
4595 "action_ids" : [41],
4596 "actions" : ["act_4"],
4597 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4598 "next_tables" : {
4599 "act_4" : "FabricIngress.filtering.ingress_port_vlan"
4600 },
4601 "default_entry" : {
4602 "action_id" : 41,
4603 "action_const" : true,
4604 "action_data" : [],
4605 "action_entry_const" : true
4606 }
4607 },
4608 {
4609 "name" : "tbl_act_5",
4610 "id" : 6,
4611 "source_info" : {
4612 "filename" : "include/control/filtering.p4",
4613 "line" : 139,
4614 "column" : 50,
4615 "source_fragment" : "="
4616 },
4617 "key" : [],
4618 "match_type" : "exact",
4619 "type" : "simple",
4620 "max_size" : 1024,
4621 "with_counters" : false,
4622 "support_timeout" : false,
4623 "direct_meters" : null,
4624 "action_ids" : [42],
4625 "actions" : ["act_5"],
4626 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4627 "next_tables" : {
4628 "act_5" : "FabricIngress.filtering.ingress_port_vlan"
4629 },
4630 "default_entry" : {
4631 "action_id" : 42,
4632 "action_const" : true,
4633 "action_data" : [],
4634 "action_entry_const" : true
4635 }
4636 },
4637 {
4638 "name" : "tbl_act_6",
4639 "id" : 7,
4640 "source_info" : {
4641 "filename" : "include/control/filtering.p4",
4642 "line" : 141,
4643 "column" : 46,
4644 "source_fragment" : "="
4645 },
4646 "key" : [],
4647 "match_type" : "exact",
4648 "type" : "simple",
4649 "max_size" : 1024,
4650 "with_counters" : false,
4651 "support_timeout" : false,
4652 "direct_meters" : null,
4653 "action_ids" : [43],
4654 "actions" : ["act_6"],
4655 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4656 "next_tables" : {
4657 "act_6" : "FabricIngress.filtering.ingress_port_vlan"
4658 },
4659 "default_entry" : {
4660 "action_id" : 43,
4661 "action_const" : true,
4662 "action_data" : [],
4663 "action_entry_const" : true
4664 }
4665 },
4666 {
4667 "name" : "FabricIngress.filtering.ingress_port_vlan",
4668 "id" : 8,
4669 "source_info" : {
4670 "filename" : "include/control/filtering.p4",
4671 "line" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004672 "column" : 10,
4673 "source_fragment" : "ingress_port_vlan"
4674 },
4675 "key" : [
4676 {
4677 "match_type" : "exact",
4678 "name" : "ig_port",
4679 "target" : ["standard_metadata", "ingress_port"],
4680 "mask" : null
4681 },
4682 {
4683 "match_type" : "exact",
4684 "name" : "vlan_is_valid",
4685 "target" : ["vlan_tag", "$valid$"],
4686 "mask" : null
4687 },
4688 {
4689 "match_type" : "ternary",
4690 "name" : "vlan_id",
4691 "target" : ["vlan_tag", "vlan_id"],
4692 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07004693 },
4694 {
4695 "match_type" : "ternary",
4696 "name" : "inner_vlan_id",
4697 "target" : ["inner_vlan_tag", "vlan_id"],
4698 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004699 }
4700 ],
4701 "match_type" : "ternary",
4702 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004703 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004704 "with_counters" : true,
4705 "support_timeout" : false,
4706 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004707 "action_ids" : [17, 18, 19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004708 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
4709 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
4710 "next_tables" : {
4711 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
4712 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
4713 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
4714 },
4715 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004716 "action_id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004717 "action_const" : true,
4718 "action_data" : [],
4719 "action_entry_const" : true
4720 }
4721 },
4722 {
4723 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004724 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004725 "source_info" : {
4726 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004727 "line" : 90,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004728 "column" : 10,
4729 "source_fragment" : "fwd_classifier"
4730 },
4731 "key" : [
4732 {
4733 "match_type" : "exact",
4734 "name" : "ig_port",
4735 "target" : ["standard_metadata", "ingress_port"],
4736 "mask" : null
4737 },
4738 {
4739 "match_type" : "ternary",
4740 "name" : "eth_dst",
4741 "target" : ["ethernet", "dst_addr"],
4742 "mask" : null
4743 },
4744 {
4745 "match_type" : "exact",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004746 "name" : "is_ipv4",
4747 "target" : ["scalars", "fabric_metadata_t._is_ipv41"],
4748 "mask" : null
4749 },
4750 {
4751 "match_type" : "exact",
4752 "name" : "is_ipv6",
4753 "target" : ["scalars", "fabric_metadata_t._is_ipv62"],
4754 "mask" : null
4755 },
4756 {
4757 "match_type" : "exact",
4758 "name" : "is_mpls",
4759 "target" : ["scalars", "fabric_metadata_t._is_mpls3"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004760 "mask" : null
4761 }
4762 ],
4763 "match_type" : "ternary",
4764 "type" : "simple",
4765 "max_size" : 1024,
4766 "with_counters" : true,
4767 "support_timeout" : false,
4768 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004769 "action_ids" : [20],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004770 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004771 "base_default_next" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004772 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004773 "FabricIngress.filtering.set_forwarding_type" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004774 },
4775 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004776 "action_id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004777 "action_const" : true,
4778 "action_data" : ["0x0"],
4779 "action_entry_const" : true
4780 }
4781 },
4782 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004783 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004784 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004785 "source_info" : {
4786 "filename" : "include/control/forwarding.p4",
4787 "line" : 46,
4788 "column" : 10,
4789 "source_fragment" : "bridging"
4790 },
4791 "key" : [
4792 {
4793 "match_type" : "exact",
4794 "name" : "vlan_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004795 "target" : ["scalars", "fabric_metadata_t._vlan_id5"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004796 "mask" : null
4797 },
4798 {
4799 "match_type" : "ternary",
4800 "name" : "eth_dst",
4801 "target" : ["ethernet", "dst_addr"],
4802 "mask" : null
4803 }
4804 ],
4805 "match_type" : "ternary",
4806 "type" : "simple",
4807 "max_size" : 1024,
4808 "with_counters" : true,
4809 "support_timeout" : false,
4810 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004811 "action_ids" : [21, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004812 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
4813 "base_default_next" : "FabricIngress.acl.acl",
4814 "next_tables" : {
4815 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
4816 "nop" : "FabricIngress.acl.acl"
4817 },
4818 "default_entry" : {
4819 "action_id" : 3,
4820 "action_const" : true,
4821 "action_data" : [],
4822 "action_entry_const" : true
4823 }
4824 },
4825 {
4826 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004827 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004828 "source_info" : {
4829 "filename" : "include/control/forwarding.p4",
4830 "line" : 71,
4831 "column" : 10,
4832 "source_fragment" : "mpls"
4833 },
4834 "key" : [
4835 {
4836 "match_type" : "exact",
4837 "name" : "mpls_label",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004838 "target" : ["scalars", "fabric_metadata_t._mpls_label12"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004839 "mask" : null
4840 }
4841 ],
4842 "match_type" : "exact",
4843 "type" : "simple",
4844 "max_size" : 1024,
4845 "with_counters" : true,
4846 "support_timeout" : false,
4847 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004848 "action_ids" : [22, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004849 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
4850 "base_default_next" : "FabricIngress.acl.acl",
4851 "next_tables" : {
4852 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
4853 "nop" : "FabricIngress.acl.acl"
4854 },
4855 "default_entry" : {
4856 "action_id" : 4,
4857 "action_const" : true,
4858 "action_data" : [],
4859 "action_entry_const" : true
4860 }
4861 },
4862 {
4863 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004864 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004865 "source_info" : {
4866 "filename" : "include/control/forwarding.p4",
4867 "line" : 101,
4868 "column" : 10,
4869 "source_fragment" : "routing_v4"
4870 },
4871 "key" : [
4872 {
4873 "match_type" : "lpm",
4874 "name" : "ipv4_dst",
4875 "target" : ["ipv4", "dst_addr"],
4876 "mask" : null
4877 }
4878 ],
4879 "match_type" : "lpm",
4880 "type" : "simple",
4881 "max_size" : 1024,
4882 "with_counters" : true,
4883 "support_timeout" : false,
4884 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004885 "action_ids" : [23, 24, 5],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004886 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
4887 "base_default_next" : "FabricIngress.acl.acl",
4888 "next_tables" : {
4889 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
4890 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
4891 "nop" : "FabricIngress.acl.acl"
4892 },
4893 "default_entry" : {
4894 "action_id" : 5,
4895 "action_const" : true,
4896 "action_data" : [],
4897 "action_entry_const" : true
4898 }
4899 },
4900 {
4901 "name" : "FabricIngress.acl.acl",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004902 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004903 "source_info" : {
4904 "filename" : "include/control/acl.p4",
4905 "line" : 60,
4906 "column" : 10,
4907 "source_fragment" : "acl"
4908 },
4909 "key" : [
4910 {
4911 "match_type" : "ternary",
4912 "name" : "ig_port",
4913 "target" : ["standard_metadata", "ingress_port"],
4914 "mask" : null
4915 },
4916 {
4917 "match_type" : "ternary",
4918 "name" : "ip_proto",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004919 "target" : ["scalars", "fabric_metadata_t._ip_proto20"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004920 "mask" : null
4921 },
4922 {
4923 "match_type" : "ternary",
4924 "name" : "l4_sport",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004925 "target" : ["scalars", "fabric_metadata_t._l4_sport21"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004926 "mask" : null
4927 },
4928 {
4929 "match_type" : "ternary",
4930 "name" : "l4_dport",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004931 "target" : ["scalars", "fabric_metadata_t._l4_dport22"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004932 "mask" : null
4933 },
4934 {
4935 "match_type" : "ternary",
4936 "name" : "eth_src",
4937 "target" : ["ethernet", "dst_addr"],
4938 "mask" : null
4939 },
4940 {
4941 "match_type" : "ternary",
4942 "name" : "eth_dst",
4943 "target" : ["ethernet", "src_addr"],
4944 "mask" : null
4945 },
4946 {
4947 "match_type" : "ternary",
4948 "name" : "vlan_id",
4949 "target" : ["vlan_tag", "vlan_id"],
4950 "mask" : null
4951 },
4952 {
4953 "match_type" : "ternary",
4954 "name" : "eth_type",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004955 "target" : ["scalars", "fabric_metadata_t._last_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004956 "mask" : null
4957 },
4958 {
4959 "match_type" : "ternary",
4960 "name" : "ipv4_src",
4961 "target" : ["ipv4", "src_addr"],
4962 "mask" : null
4963 },
4964 {
4965 "match_type" : "ternary",
4966 "name" : "ipv4_dst",
4967 "target" : ["ipv4", "dst_addr"],
4968 "mask" : null
4969 },
4970 {
4971 "match_type" : "ternary",
4972 "name" : "icmp_type",
4973 "target" : ["icmp", "icmp_type"],
4974 "mask" : null
4975 },
4976 {
4977 "match_type" : "ternary",
4978 "name" : "icmp_code",
4979 "target" : ["icmp", "icmp_code"],
4980 "mask" : null
4981 }
4982 ],
4983 "match_type" : "ternary",
4984 "type" : "simple",
4985 "max_size" : 1024,
4986 "with_counters" : true,
4987 "support_timeout" : false,
4988 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004989 "action_ids" : [25, 26, 27, 28, 29],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004990 "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004991 "base_default_next" : "node_27",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004992 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004993 "FabricIngress.acl.set_next_id_acl" : "node_27",
4994 "FabricIngress.acl.punt_to_cpu" : "node_27",
4995 "FabricIngress.acl.set_clone_session_id" : "node_27",
4996 "FabricIngress.acl.drop" : "node_27",
4997 "FabricIngress.acl.nop_acl" : "node_27"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004998 },
4999 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005000 "action_id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005001 "action_const" : true,
5002 "action_data" : [],
5003 "action_entry_const" : true
5004 }
5005 },
5006 {
5007 "name" : "FabricIngress.next.hashed",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005008 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005009 "source_info" : {
5010 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005011 "line" : 196,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005012 "column" : 10,
5013 "source_fragment" : "hashed"
5014 },
5015 "key" : [
5016 {
5017 "match_type" : "exact",
5018 "name" : "next_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005019 "target" : ["scalars", "fabric_metadata_t._next_id17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005020 "mask" : null
5021 }
5022 ],
5023 "match_type" : "exact",
5024 "type" : "indirect_ws",
5025 "action_profile" : "FabricIngress.next.hashed_selector",
5026 "max_size" : 1024,
5027 "with_counters" : true,
5028 "support_timeout" : false,
5029 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005030 "action_ids" : [32, 33, 34, 7],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005031 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
5032 "base_default_next" : "FabricIngress.next.multicast",
5033 "next_tables" : {
5034 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
5035 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
5036 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
5037 "nop" : "FabricIngress.next.multicast"
5038 }
5039 },
5040 {
5041 "name" : "FabricIngress.next.multicast",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005042 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005043 "source_info" : {
5044 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005045 "line" : 230,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005046 "column" : 10,
5047 "source_fragment" : "multicast"
5048 },
5049 "key" : [
5050 {
5051 "match_type" : "exact",
5052 "name" : "next_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005053 "target" : ["scalars", "fabric_metadata_t._next_id17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005054 "mask" : null
5055 }
5056 ],
5057 "match_type" : "exact",
5058 "type" : "simple",
5059 "max_size" : 1024,
5060 "with_counters" : true,
5061 "support_timeout" : false,
5062 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005063 "action_ids" : [35, 8],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005064 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
5065 "base_default_next" : "FabricIngress.next.next_vlan",
5066 "next_tables" : {
5067 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
5068 "nop" : "FabricIngress.next.next_vlan"
5069 },
5070 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005071 "action_id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005072 "action_const" : true,
5073 "action_data" : [],
5074 "action_entry_const" : true
5075 }
5076 },
5077 {
5078 "name" : "FabricIngress.next.next_vlan",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005079 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005080 "source_info" : {
5081 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005082 "line" : 82,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005083 "column" : 10,
5084 "source_fragment" : "next_vlan"
5085 },
5086 "key" : [
5087 {
5088 "match_type" : "exact",
5089 "name" : "next_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005090 "target" : ["scalars", "fabric_metadata_t._next_id17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005091 "mask" : null
5092 }
5093 ],
5094 "match_type" : "exact",
5095 "type" : "simple",
5096 "max_size" : 1024,
5097 "with_counters" : true,
5098 "support_timeout" : false,
5099 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005100 "action_ids" : [30, 31, 6],
5101 "actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
5102 "base_default_next" : "node_31",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005103 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005104 "FabricIngress.next.set_vlan" : "node_31",
5105 "FabricIngress.next.set_double_vlan" : "node_31",
5106 "nop" : "node_31"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005107 },
5108 "default_entry" : {
5109 "action_id" : 6,
5110 "action_const" : true,
5111 "action_data" : [],
5112 "action_entry_const" : true
5113 }
5114 },
5115 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005116 "name" : "tbl_act_7",
5117 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005118 "source_info" : {
5119 "filename" : "include/control/port_counter.p4",
5120 "line" : 31,
5121 "column" : 12,
5122 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5123 },
5124 "key" : [],
5125 "match_type" : "exact",
5126 "type" : "simple",
5127 "max_size" : 1024,
5128 "with_counters" : false,
5129 "support_timeout" : false,
5130 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005131 "action_ids" : [44],
5132 "actions" : ["act_7"],
5133 "base_default_next" : "node_33",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005134 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005135 "act_7" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005136 },
5137 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005138 "action_id" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005139 "action_const" : true,
5140 "action_data" : [],
5141 "action_entry_const" : true
5142 }
5143 },
5144 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005145 "name" : "tbl_act_8",
5146 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005147 "source_info" : {
5148 "filename" : "include/control/port_counter.p4",
5149 "line" : 34,
5150 "column" : 12,
5151 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5152 },
5153 "key" : [],
5154 "match_type" : "exact",
5155 "type" : "simple",
5156 "max_size" : 1024,
5157 "with_counters" : false,
5158 "support_timeout" : false,
5159 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005160 "action_ids" : [45],
5161 "actions" : ["act_8"],
5162 "base_default_next" : "node_35",
5163 "next_tables" : {
5164 "act_8" : "node_35"
5165 },
5166 "default_entry" : {
5167 "action_id" : 45,
5168 "action_const" : true,
5169 "action_data" : [],
5170 "action_entry_const" : true
5171 }
5172 },
5173 {
5174 "name" : "tbl_act_9",
5175 "id" : 19,
5176 "source_info" : {
5177 "filename" : "include/bng.p4",
5178 "line" : 339,
5179 "column" : 22,
5180 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
5181 },
5182 "key" : [],
5183 "match_type" : "exact",
5184 "type" : "simple",
5185 "max_size" : 1024,
5186 "with_counters" : false,
5187 "support_timeout" : false,
5188 "direct_meters" : null,
5189 "action_ids" : [46],
5190 "actions" : ["act_9"],
5191 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
5192 "next_tables" : {
5193 "act_9" : "FabricIngress.bng_ingress.t_line_map"
5194 },
5195 "default_entry" : {
5196 "action_id" : 46,
5197 "action_const" : true,
5198 "action_data" : [],
5199 "action_entry_const" : true
5200 }
5201 },
5202 {
5203 "name" : "tbl_act_10",
5204 "id" : 20,
5205 "source_info" : {
5206 "filename" : "include/bng.p4",
5207 "line" : 344,
5208 "column" : 22,
5209 "source_fragment" : "= fmeta.vlan_id; ..."
5210 },
5211 "key" : [],
5212 "match_type" : "exact",
5213 "type" : "simple",
5214 "max_size" : 1024,
5215 "with_counters" : false,
5216 "support_timeout" : false,
5217 "direct_meters" : null,
5218 "action_ids" : [47],
5219 "actions" : ["act_10"],
5220 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
5221 "next_tables" : {
5222 "act_10" : "FabricIngress.bng_ingress.t_line_map"
5223 },
5224 "default_entry" : {
5225 "action_id" : 47,
5226 "action_const" : true,
5227 "action_data" : [],
5228 "action_entry_const" : true
5229 }
5230 },
5231 {
5232 "name" : "FabricIngress.bng_ingress.t_line_map",
5233 "id" : 21,
5234 "source_info" : {
5235 "filename" : "include/bng.p4",
5236 "line" : 324,
5237 "column" : 14,
5238 "source_fragment" : "t_line_map"
5239 },
5240 "key" : [
5241 {
5242 "match_type" : "exact",
5243 "name" : "s_tag",
5244 "target" : ["scalars", "bng_ingress_s_tag"],
5245 "mask" : null
5246 },
5247 {
5248 "match_type" : "exact",
5249 "name" : "c_tag",
5250 "target" : ["scalars", "bng_ingress_c_tag"],
5251 "mask" : null
5252 }
5253 ],
5254 "match_type" : "exact",
5255 "type" : "simple",
5256 "max_size" : 8192,
5257 "with_counters" : false,
5258 "support_timeout" : false,
5259 "direct_meters" : null,
5260 "action_ids" : [2, 16],
5261 "actions" : ["nop", "FabricIngress.bng_ingress.set_line"],
5262 "base_default_next" : "node_39",
5263 "next_tables" : {
5264 "nop" : "node_39",
5265 "FabricIngress.bng_ingress.set_line" : "node_39"
5266 },
5267 "default_entry" : {
5268 "action_id" : 2,
5269 "action_const" : true,
5270 "action_data" : [],
5271 "action_entry_const" : true
5272 }
5273 },
5274 {
5275 "name" : "tbl_act_11",
5276 "id" : 22,
5277 "source_info" : {
5278 "filename" : "include/bng.p4",
5279 "line" : 353,
5280 "column" : 31,
5281 "source_fragment" : "="
5282 },
5283 "key" : [],
5284 "match_type" : "exact",
5285 "type" : "simple",
5286 "max_size" : 1024,
5287 "with_counters" : false,
5288 "support_timeout" : false,
5289 "direct_meters" : null,
5290 "action_ids" : [50],
Daniele Moroe22b5742019-06-28 15:32:37 -07005291 "actions" : ["act_13"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005292 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
5293 "next_tables" : {
5294 "act_13" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
5295 },
5296 "default_entry" : {
5297 "action_id" : 50,
5298 "action_const" : true,
5299 "action_data" : [],
5300 "action_entry_const" : true
5301 }
5302 },
5303 {
5304 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
5305 "id" : 23,
5306 "source_info" : {
5307 "filename" : "include/bng.p4",
5308 "line" : 48,
5309 "column" : 10,
5310 "source_fragment" : "t_pppoe_cp"
5311 },
5312 "key" : [
5313 {
5314 "match_type" : "exact",
5315 "name" : "pppoe_code",
5316 "target" : ["pppoe", "code"],
5317 "mask" : null
5318 },
5319 {
5320 "match_type" : "ternary",
5321 "name" : "pppoe_protocol",
5322 "target" : ["pppoe", "protocol"],
5323 "mask" : null
5324 }
5325 ],
5326 "match_type" : "ternary",
5327 "type" : "simple",
5328 "max_size" : 16,
5329 "with_counters" : false,
5330 "support_timeout" : false,
5331 "direct_meters" : null,
5332 "action_ids" : [9, 0],
5333 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005334 "base_default_next" : null,
5335 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005336 "__HIT__" : "tbl_act_12",
5337 "__MISS__" : "tbl_act_13"
5338 },
5339 "default_entry" : {
5340 "action_id" : 0,
5341 "action_const" : true,
5342 "action_data" : [],
5343 "action_entry_const" : true
5344 }
5345 },
5346 {
5347 "name" : "tbl_act_12",
5348 "id" : 24,
5349 "key" : [],
5350 "match_type" : "exact",
5351 "type" : "simple",
5352 "max_size" : 1024,
5353 "with_counters" : false,
5354 "support_timeout" : false,
5355 "direct_meters" : null,
5356 "action_ids" : [48],
5357 "actions" : ["act_11"],
5358 "base_default_next" : "node_44",
5359 "next_tables" : {
5360 "act_11" : "node_44"
5361 },
5362 "default_entry" : {
5363 "action_id" : 48,
5364 "action_const" : true,
5365 "action_data" : [],
5366 "action_entry_const" : true
5367 }
5368 },
5369 {
5370 "name" : "tbl_act_13",
5371 "id" : 25,
5372 "key" : [],
5373 "match_type" : "exact",
5374 "type" : "simple",
5375 "max_size" : 1024,
5376 "with_counters" : false,
5377 "support_timeout" : false,
5378 "direct_meters" : null,
5379 "action_ids" : [49],
5380 "actions" : ["act_12"],
5381 "base_default_next" : "node_44",
5382 "next_tables" : {
5383 "act_12" : "node_44"
5384 },
5385 "default_entry" : {
5386 "action_id" : 49,
5387 "action_const" : true,
5388 "action_data" : [],
5389 "action_entry_const" : true
5390 }
5391 },
5392 {
5393 "name" : "tbl_act_14",
5394 "id" : 26,
5395 "source_info" : {
5396 "filename" : "include/bng.p4",
5397 "line" : 124,
5398 "column" : 12,
5399 "source_fragment" : "return"
5400 },
5401 "key" : [],
5402 "match_type" : "exact",
5403 "type" : "simple",
5404 "max_size" : 1024,
5405 "with_counters" : false,
5406 "support_timeout" : false,
5407 "direct_meters" : null,
5408 "action_ids" : [51],
5409 "actions" : ["act_14"],
5410 "base_default_next" : "node_46",
5411 "next_tables" : {
5412 "act_14" : "node_46"
5413 },
5414 "default_entry" : {
5415 "action_id" : 51,
5416 "action_const" : true,
5417 "action_data" : [],
5418 "action_entry_const" : true
5419 }
5420 },
5421 {
5422 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
5423 "id" : 27,
5424 "source_info" : {
5425 "filename" : "include/bng.p4",
5426 "line" : 85,
5427 "column" : 10,
5428 "source_fragment" : "t_pppoe_term_v4"
5429 },
5430 "key" : [
5431 {
5432 "match_type" : "exact",
5433 "name" : "line_id",
5434 "target" : ["scalars", "fabric_metadata_t._bng_line_id24"],
5435 "mask" : null
5436 },
5437 {
5438 "match_type" : "exact",
5439 "name" : "ipv4_src",
5440 "target" : ["ipv4", "src_addr"],
5441 "mask" : null
5442 },
5443 {
5444 "match_type" : "exact",
5445 "name" : "pppoe_session_id",
5446 "target" : ["pppoe", "session_id"],
5447 "mask" : null
5448 }
5449 ],
5450 "match_type" : "exact",
5451 "type" : "simple",
5452 "max_size" : 32768,
5453 "with_counters" : false,
5454 "support_timeout" : false,
5455 "direct_meters" : null,
5456 "action_ids" : [11, 10],
5457 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
5458 "base_default_next" : null,
5459 "next_tables" : {
5460 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_act_15",
5461 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
5462 },
5463 "default_entry" : {
5464 "action_id" : 10,
5465 "action_const" : true,
5466 "action_data" : [],
5467 "action_entry_const" : true
5468 }
5469 },
5470 {
5471 "name" : "tbl_act_15",
5472 "id" : 28,
5473 "source_info" : {
5474 "filename" : "include/bng.p4",
5475 "line" : 129,
5476 "column" : 20,
5477 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
5478 },
5479 "key" : [],
5480 "match_type" : "exact",
5481 "type" : "simple",
5482 "max_size" : 1024,
5483 "with_counters" : false,
5484 "support_timeout" : false,
5485 "direct_meters" : null,
5486 "action_ids" : [52],
5487 "actions" : ["act_15"],
5488 "base_default_next" : null,
5489 "next_tables" : {
5490 "act_15" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005491 },
5492 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005493 "action_id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005494 "action_const" : true,
5495 "action_data" : [],
5496 "action_entry_const" : true
5497 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07005498 },
5499 {
5500 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
5501 "id" : 29,
5502 "source_info" : {
5503 "filename" : "include/bng.p4",
5504 "line" : 167,
5505 "column" : 10,
5506 "source_fragment" : "t_line_session_map"
5507 },
5508 "key" : [
5509 {
5510 "match_type" : "exact",
5511 "name" : "line_id",
5512 "target" : ["scalars", "fabric_metadata_t._bng_line_id24"],
5513 "mask" : null
5514 }
5515 ],
5516 "match_type" : "exact",
5517 "type" : "simple",
5518 "max_size" : 8192,
5519 "with_counters" : false,
5520 "support_timeout" : false,
5521 "direct_meters" : null,
5522 "action_ids" : [1, 12, 13],
5523 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
5524 "base_default_next" : null,
5525 "next_tables" : {
5526 "__HIT__" : "tbl_act_16",
5527 "__MISS__" : "tbl_act_17"
5528 },
5529 "default_entry" : {
5530 "action_id" : 1,
5531 "action_const" : true,
5532 "action_data" : [],
5533 "action_entry_const" : true
5534 }
5535 },
5536 {
5537 "name" : "tbl_act_16",
5538 "id" : 30,
5539 "key" : [],
5540 "match_type" : "exact",
5541 "type" : "simple",
5542 "max_size" : 1024,
5543 "with_counters" : false,
5544 "support_timeout" : false,
5545 "direct_meters" : null,
5546 "action_ids" : [53],
5547 "actions" : ["act_16"],
5548 "base_default_next" : "node_53",
5549 "next_tables" : {
5550 "act_16" : "node_53"
5551 },
5552 "default_entry" : {
5553 "action_id" : 53,
5554 "action_const" : true,
5555 "action_data" : [],
5556 "action_entry_const" : true
5557 }
5558 },
5559 {
5560 "name" : "tbl_act_17",
5561 "id" : 31,
5562 "key" : [],
5563 "match_type" : "exact",
5564 "type" : "simple",
5565 "max_size" : 1024,
5566 "with_counters" : false,
5567 "support_timeout" : false,
5568 "direct_meters" : null,
5569 "action_ids" : [54],
5570 "actions" : ["act_17"],
5571 "base_default_next" : "node_53",
5572 "next_tables" : {
5573 "act_17" : "node_53"
5574 },
5575 "default_entry" : {
5576 "action_id" : 54,
5577 "action_const" : true,
5578 "action_data" : [],
5579 "action_entry_const" : true
5580 }
5581 },
5582 {
5583 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
5584 "id" : 32,
5585 "source_info" : {
5586 "filename" : "include/bng.p4",
5587 "line" : 192,
5588 "column" : 10,
5589 "source_fragment" : "t_qos_v4"
5590 },
5591 "key" : [
5592 {
5593 "match_type" : "ternary",
5594 "name" : "line_id",
5595 "target" : ["scalars", "fabric_metadata_t._bng_line_id24"],
5596 "mask" : null
5597 },
5598 {
5599 "match_type" : "lpm",
5600 "name" : "ipv4_src",
5601 "target" : ["ipv4", "src_addr"],
5602 "mask" : null
5603 },
5604 {
5605 "match_type" : "ternary",
5606 "name" : "ipv4_dscp",
5607 "target" : ["ipv4", "dscp"],
5608 "mask" : null
5609 },
5610 {
5611 "match_type" : "ternary",
5612 "name" : "ipv4_ecn",
5613 "target" : ["ipv4", "ecn"],
5614 "mask" : null
5615 }
5616 ],
5617 "match_type" : "ternary",
5618 "type" : "simple",
5619 "max_size" : 256,
5620 "with_counters" : false,
5621 "support_timeout" : false,
5622 "direct_meters" : null,
5623 "action_ids" : [14, 15],
5624 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
5625 "base_default_next" : null,
5626 "next_tables" : {
5627 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_act_18",
5628 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_act_19"
5629 },
5630 "default_entry" : {
5631 "action_id" : 15,
5632 "action_const" : true,
5633 "action_data" : [],
5634 "action_entry_const" : true
5635 }
5636 },
5637 {
5638 "name" : "tbl_act_18",
5639 "id" : 33,
5640 "source_info" : {
5641 "filename" : "include/bng.p4",
5642 "line" : 236,
5643 "column" : 24,
5644 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5645 },
5646 "key" : [],
5647 "match_type" : "exact",
5648 "type" : "simple",
5649 "max_size" : 1024,
5650 "with_counters" : false,
5651 "support_timeout" : false,
5652 "direct_meters" : null,
5653 "action_ids" : [55],
5654 "actions" : ["act_18"],
5655 "base_default_next" : null,
5656 "next_tables" : {
5657 "act_18" : null
5658 },
5659 "default_entry" : {
5660 "action_id" : 55,
5661 "action_const" : true,
5662 "action_data" : [],
5663 "action_entry_const" : true
5664 }
5665 },
5666 {
5667 "name" : "tbl_act_19",
5668 "id" : 34,
5669 "source_info" : {
5670 "filename" : "include/bng.p4",
5671 "line" : 239,
5672 "column" : 24,
5673 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5674 },
5675 "key" : [],
5676 "match_type" : "exact",
5677 "type" : "simple",
5678 "max_size" : 1024,
5679 "with_counters" : false,
5680 "support_timeout" : false,
5681 "direct_meters" : null,
5682 "action_ids" : [56],
5683 "actions" : ["act_19"],
5684 "base_default_next" : null,
5685 "next_tables" : {
5686 "act_19" : null
5687 },
5688 "default_entry" : {
5689 "action_id" : 56,
5690 "action_const" : true,
5691 "action_data" : [],
5692 "action_entry_const" : true
5693 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005694 }
5695 ],
5696 "action_profiles" : [
5697 {
5698 "name" : "FabricIngress.next.hashed_selector",
5699 "id" : 0,
5700 "source_info" : {
5701 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005702 "line" : 177,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005703 "column" : 57,
5704 "source_fragment" : "hashed_selector"
5705 },
5706 "max_size" : 1024,
5707 "selector" : {
5708 "algo" : "crc16",
5709 "input" : [
5710 {
5711 "type" : "field",
5712 "value" : ["ipv4", "dst_addr"]
5713 },
5714 {
5715 "type" : "field",
5716 "value" : ["ipv4", "src_addr"]
5717 },
5718 {
5719 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005720 "value" : ["scalars", "fabric_metadata_t._ip_proto20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005721 },
5722 {
5723 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005724 "value" : ["scalars", "fabric_metadata_t._l4_sport21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005725 },
5726 {
5727 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005728 "value" : ["scalars", "fabric_metadata_t._l4_dport22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005729 }
5730 ]
5731 }
5732 }
5733 ],
5734 "conditionals" : [
5735 {
5736 "name" : "node_2",
5737 "id" : 0,
5738 "source_info" : {
5739 "filename" : "include/control/packetio.p4",
5740 "line" : 24,
5741 "column" : 12,
5742 "source_fragment" : "hdr.packet_out.isValid()"
5743 },
5744 "expression" : {
5745 "type" : "expression",
5746 "value" : {
5747 "op" : "d2b",
5748 "left" : null,
5749 "right" : {
5750 "type" : "field",
5751 "value" : ["packet_out", "$valid$"]
5752 }
5753 }
5754 },
5755 "true_next" : "tbl_act",
5756 "false_next" : "node_4"
5757 },
5758 {
5759 "name" : "node_4",
5760 "id" : 1,
5761 "source_info" : {
5762 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005763 "line" : 109,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005764 "column" : 12,
5765 "source_fragment" : "hdr.vlan_tag.isValid()"
5766 },
5767 "expression" : {
5768 "type" : "expression",
5769 "value" : {
5770 "op" : "d2b",
5771 "left" : null,
5772 "right" : {
5773 "type" : "field",
5774 "value" : ["vlan_tag", "$valid$"]
5775 }
5776 }
5777 },
5778 "true_next" : "tbl_act_0",
5779 "false_next" : "node_6"
5780 },
5781 {
5782 "name" : "node_6",
5783 "id" : 2,
5784 "source_info" : {
5785 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005786 "line" : 115,
5787 "column" : 12,
5788 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
5789 },
5790 "expression" : {
5791 "type" : "expression",
5792 "value" : {
5793 "op" : "d2b",
5794 "left" : null,
5795 "right" : {
5796 "type" : "field",
5797 "value" : ["inner_vlan_tag", "$valid$"]
5798 }
5799 }
5800 },
5801 "true_next" : "tbl_act_1",
5802 "false_next" : "node_8"
5803 },
5804 {
5805 "name" : "node_8",
5806 "id" : 3,
5807 "source_info" : {
5808 "filename" : "include/control/filtering.p4",
5809 "line" : 121,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005810 "column" : 12,
5811 "source_fragment" : "!hdr.mpls.isValid()"
5812 },
5813 "expression" : {
5814 "type" : "expression",
5815 "value" : {
5816 "op" : "not",
5817 "left" : null,
5818 "right" : {
5819 "type" : "expression",
5820 "value" : {
5821 "op" : "d2b",
5822 "left" : null,
5823 "right" : {
5824 "type" : "field",
5825 "value" : ["mpls", "$valid$"]
5826 }
5827 }
5828 }
5829 }
5830 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005831 "true_next" : "tbl_act_2",
5832 "false_next" : "node_10"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005833 },
5834 {
5835 "name" : "node_10",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005836 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005837 "source_info" : {
5838 "filename" : "include/control/filtering.p4",
5839 "line" : 130,
5840 "column" : 12,
5841 "source_fragment" : "hdr.mpls.isValid()"
5842 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005843 "expression" : {
5844 "type" : "expression",
5845 "value" : {
5846 "op" : "d2b",
5847 "left" : null,
5848 "right" : {
5849 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005850 "value" : ["mpls", "$valid$"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005851 }
5852 }
5853 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005854 "true_next" : "tbl_act_3",
5855 "false_next" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005856 },
5857 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005858 "name" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005859 "id" : 5,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005860 "source_info" : {
5861 "filename" : "include/control/filtering.p4",
5862 "line" : 133,
5863 "column" : 16,
5864 "source_fragment" : "hdr.vlan_tag.isValid()"
5865 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005866 "expression" : {
5867 "type" : "expression",
5868 "value" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005869 "op" : "d2b",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005870 "left" : null,
5871 "right" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005872 "type" : "field",
5873 "value" : ["vlan_tag", "$valid$"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005874 }
5875 }
5876 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005877 "true_next" : "node_13",
5878 "false_next" : "tbl_act_6"
5879 },
5880 {
5881 "name" : "node_13",
5882 "id" : 6,
5883 "source_info" : {
5884 "filename" : "include/control/filtering.p4",
5885 "line" : 135,
5886 "column" : 19,
5887 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
5888 },
5889 "expression" : {
5890 "type" : "expression",
5891 "value" : {
5892 "op" : "d2b",
5893 "left" : null,
5894 "right" : {
5895 "type" : "field",
5896 "value" : ["inner_vlan_tag", "$valid$"]
5897 }
5898 }
5899 },
5900 "true_next" : "tbl_act_4",
5901 "false_next" : "tbl_act_5"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005902 },
5903 {
5904 "name" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005905 "id" : 7,
5906 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005907 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005908 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005909 "column" : 12,
5910 "source_fragment" : "fabric_metadata.skip_forwarding == false"
5911 },
5912 "expression" : {
5913 "type" : "expression",
5914 "value" : {
5915 "op" : "==",
5916 "left" : {
5917 "type" : "expression",
5918 "value" : {
5919 "op" : "d2b",
5920 "left" : null,
5921 "right" : {
5922 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005923 "value" : ["scalars", "fabric_metadata_t._skip_forwarding14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005924 }
5925 }
5926 },
5927 "right" : {
5928 "type" : "bool",
5929 "value" : false
5930 }
5931 }
5932 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005933 "true_next" : "node_20",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005934 "false_next" : "FabricIngress.acl.acl"
5935 },
5936 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005937 "name" : "node_20",
5938 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005939 "source_info" : {
5940 "filename" : "include/control/forwarding.p4",
5941 "line" : 141,
5942 "column" : 12,
5943 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
5944 },
5945 "expression" : {
5946 "type" : "expression",
5947 "value" : {
5948 "op" : "==",
5949 "left" : {
5950 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005951 "value" : ["scalars", "fabric_metadata_t._fwd_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005952 },
5953 "right" : {
5954 "type" : "hexstr",
5955 "value" : "0x00"
5956 }
5957 }
5958 },
5959 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005960 "false_next" : "node_22"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005961 },
5962 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005963 "name" : "node_22",
5964 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005965 "source_info" : {
5966 "filename" : "include/control/forwarding.p4",
5967 "line" : 142,
5968 "column" : 17,
5969 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
5970 },
5971 "expression" : {
5972 "type" : "expression",
5973 "value" : {
5974 "op" : "==",
5975 "left" : {
5976 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005977 "value" : ["scalars", "fabric_metadata_t._fwd_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005978 },
5979 "right" : {
5980 "type" : "hexstr",
5981 "value" : "0x01"
5982 }
5983 }
5984 },
5985 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005986 "false_next" : "node_24"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005987 },
5988 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005989 "name" : "node_24",
5990 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005991 "source_info" : {
5992 "filename" : "include/control/forwarding.p4",
5993 "line" : 143,
5994 "column" : 17,
5995 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
5996 },
5997 "expression" : {
5998 "type" : "expression",
5999 "value" : {
6000 "op" : "==",
6001 "left" : {
6002 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006003 "value" : ["scalars", "fabric_metadata_t._fwd_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006004 },
6005 "right" : {
6006 "type" : "hexstr",
6007 "value" : "0x02"
6008 }
6009 }
6010 },
6011 "true_next" : "FabricIngress.forwarding.routing_v4",
6012 "false_next" : "FabricIngress.acl.acl"
6013 },
6014 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006015 "name" : "node_27",
6016 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006017 "source_info" : {
6018 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006019 "line" : 75,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006020 "column" : 12,
6021 "source_fragment" : "fabric_metadata.skip_next == false"
6022 },
6023 "expression" : {
6024 "type" : "expression",
6025 "value" : {
6026 "op" : "==",
6027 "left" : {
6028 "type" : "expression",
6029 "value" : {
6030 "op" : "d2b",
6031 "left" : null,
6032 "right" : {
6033 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006034 "value" : ["scalars", "fabric_metadata_t._skip_next15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006035 }
6036 }
6037 },
6038 "right" : {
6039 "type" : "bool",
6040 "value" : false
6041 }
6042 }
6043 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006044 "true_next" : "FabricIngress.next.hashed",
6045 "false_next" : "node_35"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006046 },
6047 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006048 "name" : "node_31",
6049 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006050 "source_info" : {
6051 "filename" : "include/control/port_counter.p4",
6052 "line" : 30,
6053 "column" : 12,
6054 "source_fragment" : "standard_metadata.egress_spec < 511"
6055 },
6056 "expression" : {
6057 "type" : "expression",
6058 "value" : {
6059 "op" : "<",
6060 "left" : {
6061 "type" : "field",
6062 "value" : ["standard_metadata", "egress_spec"]
6063 },
6064 "right" : {
6065 "type" : "hexstr",
6066 "value" : "0x01ff"
6067 }
6068 }
6069 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006070 "true_next" : "tbl_act_7",
6071 "false_next" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006072 },
6073 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006074 "name" : "node_33",
6075 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006076 "source_info" : {
6077 "filename" : "include/control/port_counter.p4",
6078 "line" : 33,
6079 "column" : 12,
6080 "source_fragment" : "standard_metadata.ingress_port < 511"
6081 },
6082 "expression" : {
6083 "type" : "expression",
6084 "value" : {
6085 "op" : "<",
6086 "left" : {
6087 "type" : "field",
6088 "value" : ["standard_metadata", "ingress_port"]
6089 },
6090 "right" : {
6091 "type" : "hexstr",
6092 "value" : "0x01ff"
6093 }
6094 }
6095 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006096 "true_next" : "tbl_act_8",
6097 "false_next" : "node_35"
6098 },
6099 {
6100 "name" : "node_35",
6101 "id" : 14,
6102 "source_info" : {
6103 "filename" : "include/bng.p4",
6104 "line" : 338,
6105 "column" : 15,
6106 "source_fragment" : "hdr.pppoe.isValid()"
6107 },
6108 "expression" : {
6109 "type" : "expression",
6110 "value" : {
6111 "op" : "d2b",
6112 "left" : null,
6113 "right" : {
6114 "type" : "field",
6115 "value" : ["pppoe", "$valid$"]
6116 }
6117 }
6118 },
6119 "true_next" : "tbl_act_9",
6120 "false_next" : "tbl_act_10"
6121 },
6122 {
6123 "name" : "node_39",
6124 "id" : 15,
6125 "source_info" : {
6126 "filename" : "include/bng.p4",
6127 "line" : 352,
6128 "column" : 16,
6129 "source_fragment" : "hdr.pppoe.isValid()"
6130 },
6131 "expression" : {
6132 "type" : "expression",
6133 "value" : {
6134 "op" : "d2b",
6135 "left" : null,
6136 "right" : {
6137 "type" : "field",
6138 "value" : ["pppoe", "$valid$"]
6139 }
6140 }
6141 },
6142 "true_next" : "tbl_act_11",
6143 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
6144 },
6145 {
6146 "name" : "node_44",
6147 "id" : 16,
6148 "expression" : {
6149 "type" : "expression",
6150 "value" : {
6151 "op" : "d2b",
6152 "left" : null,
6153 "right" : {
6154 "type" : "field",
6155 "value" : ["scalars", "bng_ingress_upstream_tmp"]
6156 }
6157 }
6158 },
6159 "true_next" : "tbl_act_14",
6160 "false_next" : "node_46"
6161 },
6162 {
6163 "name" : "node_46",
6164 "id" : 17,
6165 "expression" : {
6166 "type" : "expression",
6167 "value" : {
6168 "op" : "not",
6169 "left" : null,
6170 "right" : {
6171 "type" : "expression",
6172 "value" : {
6173 "op" : "d2b",
6174 "left" : null,
6175 "right" : {
6176 "type" : "field",
6177 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
6178 }
6179 }
6180 }
6181 }
6182 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006183 "false_next" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006184 "true_next" : "node_47"
6185 },
6186 {
6187 "name" : "node_47",
6188 "id" : 18,
6189 "source_info" : {
6190 "filename" : "include/bng.p4",
6191 "line" : 126,
6192 "column" : 12,
6193 "source_fragment" : "hdr.ipv4.isValid()"
6194 },
6195 "expression" : {
6196 "type" : "expression",
6197 "value" : {
6198 "op" : "d2b",
6199 "left" : null,
6200 "right" : {
6201 "type" : "field",
6202 "value" : ["ipv4", "$valid$"]
6203 }
6204 }
6205 },
6206 "false_next" : null,
6207 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
6208 },
6209 {
6210 "name" : "node_53",
6211 "id" : 19,
6212 "expression" : {
6213 "type" : "expression",
6214 "value" : {
6215 "op" : "d2b",
6216 "left" : null,
6217 "right" : {
6218 "type" : "field",
6219 "value" : ["scalars", "bng_ingress_downstream_tmp"]
6220 }
6221 }
6222 },
6223 "false_next" : null,
6224 "true_next" : "node_54"
6225 },
6226 {
6227 "name" : "node_54",
6228 "id" : 20,
6229 "source_info" : {
6230 "filename" : "include/bng.p4",
6231 "line" : 233,
6232 "column" : 16,
6233 "source_fragment" : "hdr.ipv4.isValid()"
6234 },
6235 "expression" : {
6236 "type" : "expression",
6237 "value" : {
6238 "op" : "d2b",
6239 "left" : null,
6240 "right" : {
6241 "type" : "field",
6242 "value" : ["ipv4", "$valid$"]
6243 }
6244 }
6245 },
6246 "false_next" : null,
6247 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006248 }
6249 ]
6250 },
6251 {
6252 "name" : "egress",
6253 "id" : 1,
6254 "source_info" : {
6255 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006256 "line" : 93,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006257 "column" : 8,
6258 "source_fragment" : "FabricEgress"
6259 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006260 "init_table" : "node_60",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006261 "tables" : [
6262 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006263 "name" : "tbl_act_20",
6264 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006265 "source_info" : {
6266 "filename" : "include/control/packetio.p4",
6267 "line" : 41,
6268 "column" : 12,
6269 "source_fragment" : "exit"
6270 },
6271 "key" : [],
6272 "match_type" : "exact",
6273 "type" : "simple",
6274 "max_size" : 1024,
6275 "with_counters" : false,
6276 "support_timeout" : false,
6277 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006278 "action_ids" : [65],
6279 "actions" : ["act_20"],
6280 "base_default_next" : "node_62",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006281 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006282 "act_20" : "node_62"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006283 },
6284 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006285 "action_id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006286 "action_const" : true,
6287 "action_data" : [],
6288 "action_entry_const" : true
6289 }
6290 },
6291 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006292 "name" : "tbl_act_21",
6293 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006294 "source_info" : {
6295 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006296 "line" : 44,
6297 "column" : 12,
6298 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006299 },
6300 "key" : [],
6301 "match_type" : "exact",
6302 "type" : "simple",
6303 "max_size" : 1024,
6304 "with_counters" : false,
6305 "support_timeout" : false,
6306 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006307 "action_ids" : [66],
6308 "actions" : ["act_21"],
6309 "base_default_next" : "node_64",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006310 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006311 "act_21" : "node_64"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006312 },
6313 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006314 "action_id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006315 "action_const" : true,
6316 "action_data" : [],
6317 "action_entry_const" : true
6318 }
6319 },
6320 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006321 "name" : "tbl_act_22",
6322 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006323 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006324 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006325 "line" : 335,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006326 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006327 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006328 },
6329 "key" : [],
6330 "match_type" : "exact",
6331 "type" : "simple",
6332 "max_size" : 1024,
6333 "with_counters" : false,
6334 "support_timeout" : false,
6335 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006336 "action_ids" : [67],
6337 "actions" : ["act_22"],
6338 "base_default_next" : "node_66",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006339 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006340 "act_22" : "node_66"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006341 },
6342 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006343 "action_id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006344 "action_const" : true,
6345 "action_data" : [],
6346 "action_entry_const" : true
6347 }
6348 },
6349 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006350 "name" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006351 "id" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006352 "source_info" : {
6353 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006354 "line" : 339,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006355 "column" : 36,
6356 "source_fragment" : "pop_mpls_if_present()"
6357 },
6358 "key" : [],
6359 "match_type" : "exact",
6360 "type" : "simple",
6361 "max_size" : 1024,
6362 "with_counters" : false,
6363 "support_timeout" : false,
6364 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006365 "action_ids" : [59],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006366 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006367 "base_default_next" : "node_70",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006368 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006369 "FabricEgress.egress_next.pop_mpls_if_present" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006370 },
6371 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006372 "action_id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006373 "action_const" : true,
6374 "action_data" : [],
6375 "action_entry_const" : true
6376 }
6377 },
6378 {
6379 "name" : "tbl_egress_next_set_mpls",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006380 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006381 "source_info" : {
6382 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006383 "line" : 341,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006384 "column" : 12,
6385 "source_fragment" : "set_mpls()"
6386 },
6387 "key" : [],
6388 "match_type" : "exact",
6389 "type" : "simple",
6390 "max_size" : 1024,
6391 "with_counters" : false,
6392 "support_timeout" : false,
6393 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006394 "action_ids" : [60],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006395 "actions" : ["FabricEgress.egress_next.set_mpls"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006396 "base_default_next" : "node_70",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006397 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006398 "FabricEgress.egress_next.set_mpls" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006399 },
6400 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006401 "action_id" : 60,
6402 "action_const" : true,
6403 "action_data" : [],
6404 "action_entry_const" : true
6405 }
6406 },
6407 {
6408 "name" : "tbl_egress_next_push_vlan",
6409 "id" : 40,
6410 "source_info" : {
6411 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006412 "line" : 347,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006413 "column" : 12,
6414 "source_fragment" : "push_vlan()"
6415 },
6416 "key" : [],
6417 "match_type" : "exact",
6418 "type" : "simple",
6419 "max_size" : 1024,
6420 "with_counters" : false,
6421 "support_timeout" : false,
6422 "direct_meters" : null,
6423 "action_ids" : [61],
6424 "actions" : ["FabricEgress.egress_next.push_vlan"],
6425 "base_default_next" : "tbl_egress_next_push_inner_vlan",
6426 "next_tables" : {
6427 "FabricEgress.egress_next.push_vlan" : "tbl_egress_next_push_inner_vlan"
6428 },
6429 "default_entry" : {
6430 "action_id" : 61,
6431 "action_const" : true,
6432 "action_data" : [],
6433 "action_entry_const" : true
6434 }
6435 },
6436 {
6437 "name" : "tbl_egress_next_push_inner_vlan",
6438 "id" : 41,
6439 "source_info" : {
6440 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006441 "line" : 348,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006442 "column" : 12,
6443 "source_fragment" : "push_inner_vlan()"
6444 },
6445 "key" : [],
6446 "match_type" : "exact",
6447 "type" : "simple",
6448 "max_size" : 1024,
6449 "with_counters" : false,
6450 "support_timeout" : false,
6451 "direct_meters" : null,
6452 "action_ids" : [63],
6453 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
6454 "base_default_next" : "node_80",
6455 "next_tables" : {
6456 "FabricEgress.egress_next.push_inner_vlan" : "node_80"
6457 },
6458 "default_entry" : {
6459 "action_id" : 63,
6460 "action_const" : true,
6461 "action_data" : [],
6462 "action_entry_const" : true
6463 }
6464 },
6465 {
6466 "name" : "tbl_act_23",
6467 "id" : 42,
6468 "source_info" : {
6469 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006470 "line" : 351,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006471 "column" : 12,
6472 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
6473 },
6474 "key" : [],
6475 "match_type" : "exact",
6476 "type" : "simple",
6477 "max_size" : 1024,
6478 "with_counters" : false,
6479 "support_timeout" : false,
6480 "direct_meters" : null,
6481 "action_ids" : [70],
6482 "actions" : ["act_25"],
6483 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
6484 "next_tables" : {
6485 "act_25" : "FabricEgress.egress_next.egress_vlan"
6486 },
6487 "default_entry" : {
6488 "action_id" : 70,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006489 "action_const" : true,
6490 "action_data" : [],
6491 "action_entry_const" : true
6492 }
6493 },
6494 {
6495 "name" : "FabricEgress.egress_next.egress_vlan",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006496 "id" : 43,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006497 "source_info" : {
6498 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006499 "line" : 318,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006500 "column" : 10,
6501 "source_fragment" : "egress_vlan"
6502 },
6503 "key" : [
6504 {
6505 "match_type" : "exact",
6506 "name" : "vlan_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006507 "target" : ["scalars", "fabric_metadata_t._vlan_id5"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006508 "mask" : null
6509 },
6510 {
6511 "match_type" : "exact",
6512 "name" : "eg_port",
6513 "target" : ["standard_metadata", "egress_port"],
6514 "mask" : null
6515 }
6516 ],
6517 "match_type" : "exact",
6518 "type" : "simple",
6519 "max_size" : 1024,
6520 "with_counters" : true,
6521 "support_timeout" : false,
6522 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006523 "action_ids" : [64, 57],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006524 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
6525 "base_default_next" : null,
6526 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006527 "__HIT__" : "tbl_act_24",
6528 "__MISS__" : "tbl_act_25"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006529 },
6530 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006531 "action_id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006532 "action_const" : true,
6533 "action_data" : [],
6534 "action_entry_const" : true
6535 }
6536 },
6537 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006538 "name" : "tbl_act_24",
6539 "id" : 44,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006540 "key" : [],
6541 "match_type" : "exact",
6542 "type" : "simple",
6543 "max_size" : 1024,
6544 "with_counters" : false,
6545 "support_timeout" : false,
6546 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006547 "action_ids" : [68],
6548 "actions" : ["act_23"],
6549 "base_default_next" : "node_77",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006550 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006551 "act_23" : "node_77"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006552 },
6553 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006554 "action_id" : 68,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006555 "action_const" : true,
6556 "action_data" : [],
6557 "action_entry_const" : true
6558 }
6559 },
6560 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006561 "name" : "tbl_act_25",
6562 "id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006563 "key" : [],
6564 "match_type" : "exact",
6565 "type" : "simple",
6566 "max_size" : 1024,
6567 "with_counters" : false,
6568 "support_timeout" : false,
6569 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006570 "action_ids" : [69],
6571 "actions" : ["act_24"],
6572 "base_default_next" : "node_77",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006573 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006574 "act_24" : "node_77"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006575 },
6576 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006577 "action_id" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006578 "action_const" : true,
6579 "action_data" : [],
6580 "action_entry_const" : true
6581 }
6582 },
6583 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006584 "name" : "tbl_egress_next_push_vlan_0",
6585 "id" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006586 "source_info" : {
6587 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006588 "line" : 358,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006589 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006590 "source_fragment" : "push_vlan()"
6591 },
6592 "key" : [],
6593 "match_type" : "exact",
6594 "type" : "simple",
6595 "max_size" : 1024,
6596 "with_counters" : false,
6597 "support_timeout" : false,
6598 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006599 "action_ids" : [62],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006600 "actions" : ["FabricEgress.egress_next.push_vlan"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006601 "base_default_next" : "node_80",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006602 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006603 "FabricEgress.egress_next.push_vlan" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006604 },
6605 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006606 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006607 "action_const" : true,
6608 "action_data" : [],
6609 "action_entry_const" : true
6610 }
6611 },
6612 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006613 "name" : "tbl_act_26",
6614 "id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006615 "source_info" : {
6616 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006617 "line" : 367,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006618 "column" : 25,
6619 "source_fragment" : "="
6620 },
6621 "key" : [],
6622 "match_type" : "exact",
6623 "type" : "simple",
6624 "max_size" : 1024,
6625 "with_counters" : false,
6626 "support_timeout" : false,
6627 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006628 "action_ids" : [72],
6629 "actions" : ["act_27"],
6630 "base_default_next" : "node_82",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006631 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006632 "act_27" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006633 },
6634 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006635 "action_id" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006636 "action_const" : true,
6637 "action_data" : [],
6638 "action_entry_const" : true
6639 }
6640 },
6641 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006642 "name" : "tbl_act_27",
6643 "id" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006644 "source_info" : {
6645 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006646 "line" : 368,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006647 "column" : 35,
6648 "source_fragment" : "mark_to_drop(standard_metadata)"
6649 },
6650 "key" : [],
6651 "match_type" : "exact",
6652 "type" : "simple",
6653 "max_size" : 1024,
6654 "with_counters" : false,
6655 "support_timeout" : false,
6656 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006657 "action_ids" : [71],
6658 "actions" : ["act_26"],
6659 "base_default_next" : "node_88",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006660 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006661 "act_26" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006662 },
6663 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006664 "action_id" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006665 "action_const" : true,
6666 "action_data" : [],
6667 "action_entry_const" : true
6668 }
6669 },
6670 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006671 "name" : "tbl_act_28",
6672 "id" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006673 "source_info" : {
6674 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006675 "line" : 371,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006676 "column" : 29,
6677 "source_fragment" : "="
6678 },
6679 "key" : [],
6680 "match_type" : "exact",
6681 "type" : "simple",
6682 "max_size" : 1024,
6683 "with_counters" : false,
6684 "support_timeout" : false,
6685 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006686 "action_ids" : [74],
6687 "actions" : ["act_29"],
6688 "base_default_next" : "node_86",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006689 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006690 "act_29" : "node_86"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006691 },
6692 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006693 "action_id" : 74,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006694 "action_const" : true,
6695 "action_data" : [],
6696 "action_entry_const" : true
6697 }
6698 },
6699 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006700 "name" : "tbl_act_29",
6701 "id" : 50,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006702 "source_info" : {
6703 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006704 "line" : 372,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006705 "column" : 39,
6706 "source_fragment" : "mark_to_drop(standard_metadata)"
6707 },
6708 "key" : [],
6709 "match_type" : "exact",
6710 "type" : "simple",
6711 "max_size" : 1024,
6712 "with_counters" : false,
6713 "support_timeout" : false,
6714 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006715 "action_ids" : [73],
6716 "actions" : ["act_28"],
6717 "base_default_next" : "node_88",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006718 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006719 "act_28" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006720 },
6721 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006722 "action_id" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006723 "action_const" : true,
6724 "action_data" : [],
6725 "action_entry_const" : true
6726 }
6727 },
6728 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006729 "name" : "tbl_bng_egress_downstream_encap_v4",
6730 "id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006731 "source_info" : {
6732 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006733 "line" : 295,
6734 "column" : 12,
6735 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006736 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006737 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006738 "match_type" : "exact",
6739 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006740 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006741 "with_counters" : false,
6742 "support_timeout" : false,
6743 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006744 "action_ids" : [58],
6745 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006746 "base_default_next" : null,
6747 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006748 "FabricEgress.bng_egress.downstream.encap_v4" : null
6749 },
6750 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006751 "action_id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006752 "action_const" : true,
6753 "action_data" : [],
6754 "action_entry_const" : true
6755 }
6756 }
6757 ],
6758 "action_profiles" : [],
6759 "conditionals" : [
6760 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006761 "name" : "node_60",
6762 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006763 "source_info" : {
6764 "filename" : "include/control/packetio.p4",
6765 "line" : 39,
6766 "column" : 12,
6767 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
6768 },
6769 "expression" : {
6770 "type" : "expression",
6771 "value" : {
6772 "op" : "==",
6773 "left" : {
6774 "type" : "expression",
6775 "value" : {
6776 "op" : "d2b",
6777 "left" : null,
6778 "right" : {
6779 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006780 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006781 }
6782 }
6783 },
6784 "right" : {
6785 "type" : "bool",
6786 "value" : true
6787 }
6788 }
6789 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006790 "true_next" : "tbl_act_20",
6791 "false_next" : "node_62"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006792 },
6793 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006794 "name" : "node_62",
6795 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006796 "source_info" : {
6797 "filename" : "include/control/packetio.p4",
6798 "line" : 43,
6799 "column" : 12,
6800 "source_fragment" : "standard_metadata.egress_port == 255"
6801 },
6802 "expression" : {
6803 "type" : "expression",
6804 "value" : {
6805 "op" : "==",
6806 "left" : {
6807 "type" : "field",
6808 "value" : ["standard_metadata", "egress_port"]
6809 },
6810 "right" : {
6811 "type" : "hexstr",
6812 "value" : "0x00ff"
6813 }
6814 }
6815 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006816 "true_next" : "tbl_act_21",
6817 "false_next" : "node_64"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006818 },
6819 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006820 "name" : "node_64",
6821 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006822 "source_info" : {
6823 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006824 "line" : 333,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006825 "column" : 12,
6826 "source_fragment" : "fabric_metadata.is_multicast == true ..."
6827 },
6828 "expression" : {
6829 "type" : "expression",
6830 "value" : {
6831 "op" : "and",
6832 "left" : {
6833 "type" : "expression",
6834 "value" : {
6835 "op" : "==",
6836 "left" : {
6837 "type" : "expression",
6838 "value" : {
6839 "op" : "d2b",
6840 "left" : null,
6841 "right" : {
6842 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006843 "value" : ["scalars", "fabric_metadata_t._is_multicast18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006844 }
6845 }
6846 },
6847 "right" : {
6848 "type" : "bool",
6849 "value" : true
6850 }
6851 }
6852 },
6853 "right" : {
6854 "type" : "expression",
6855 "value" : {
6856 "op" : "==",
6857 "left" : {
6858 "type" : "field",
6859 "value" : ["standard_metadata", "ingress_port"]
6860 },
6861 "right" : {
6862 "type" : "field",
6863 "value" : ["standard_metadata", "egress_port"]
6864 }
6865 }
6866 }
6867 }
6868 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006869 "true_next" : "tbl_act_22",
6870 "false_next" : "node_66"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006871 },
6872 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006873 "name" : "node_66",
6874 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006875 "source_info" : {
6876 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006877 "line" : 338,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006878 "column" : 12,
6879 "source_fragment" : "fabric_metadata.mpls_label == 0"
6880 },
6881 "expression" : {
6882 "type" : "expression",
6883 "value" : {
6884 "op" : "==",
6885 "left" : {
6886 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006887 "value" : ["scalars", "fabric_metadata_t._mpls_label12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006888 },
6889 "right" : {
6890 "type" : "hexstr",
6891 "value" : "0x000000"
6892 }
6893 }
6894 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006895 "true_next" : "node_67",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006896 "false_next" : "tbl_egress_next_set_mpls"
6897 },
6898 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006899 "name" : "node_67",
6900 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006901 "source_info" : {
6902 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006903 "line" : 339,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006904 "column" : 16,
6905 "source_fragment" : "hdr.mpls.isValid()"
6906 },
6907 "expression" : {
6908 "type" : "expression",
6909 "value" : {
6910 "op" : "d2b",
6911 "left" : null,
6912 "right" : {
6913 "type" : "field",
6914 "value" : ["mpls", "$valid$"]
6915 }
6916 }
6917 },
6918 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006919 "false_next" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006920 },
6921 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006922 "name" : "node_70",
6923 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006924 "source_info" : {
6925 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006926 "line" : 345,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006927 "column" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006928 "source_fragment" : "fabric_metadata.push_double_vlan == true"
6929 },
6930 "expression" : {
6931 "type" : "expression",
6932 "value" : {
6933 "op" : "==",
6934 "left" : {
6935 "type" : "expression",
6936 "value" : {
6937 "op" : "d2b",
6938 "left" : null,
6939 "right" : {
6940 "type" : "field",
6941 "value" : ["scalars", "fabric_metadata_t._push_double_vlan8"]
6942 }
6943 }
6944 },
6945 "right" : {
6946 "type" : "bool",
6947 "value" : true
6948 }
6949 }
6950 },
6951 "true_next" : "tbl_egress_next_push_vlan",
6952 "false_next" : "tbl_act_23"
6953 },
6954 {
6955 "name" : "node_77",
6956 "id" : 27,
6957 "source_info" : {
6958 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006959 "line" : 355,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006960 "column" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006961 "source_fragment" : "!egress_vlan.apply().hit"
6962 },
6963 "expression" : {
6964 "type" : "expression",
6965 "value" : {
6966 "op" : "not",
6967 "left" : null,
6968 "right" : {
6969 "type" : "expression",
6970 "value" : {
6971 "op" : "d2b",
6972 "left" : null,
6973 "right" : {
6974 "type" : "field",
6975 "value" : ["scalars", "egress_next_tmp"]
6976 }
6977 }
6978 }
6979 }
6980 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006981 "true_next" : "node_78",
6982 "false_next" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006983 },
6984 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006985 "name" : "node_78",
6986 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006987 "source_info" : {
6988 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07006989 "line" : 357,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006990 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006991 "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
6992 },
6993 "expression" : {
6994 "type" : "expression",
6995 "value" : {
6996 "op" : "!=",
6997 "left" : {
6998 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006999 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007000 },
7001 "right" : {
7002 "type" : "hexstr",
7003 "value" : "0x0ffe"
7004 }
7005 }
7006 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007007 "true_next" : "tbl_egress_next_push_vlan_0",
7008 "false_next" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007009 },
7010 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007011 "name" : "node_80",
7012 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007013 "source_info" : {
7014 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07007015 "line" : 366,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007016 "column" : 12,
7017 "source_fragment" : "hdr.mpls.isValid()"
7018 },
7019 "expression" : {
7020 "type" : "expression",
7021 "value" : {
7022 "op" : "d2b",
7023 "left" : null,
7024 "right" : {
7025 "type" : "field",
7026 "value" : ["mpls", "$valid$"]
7027 }
7028 }
7029 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007030 "true_next" : "tbl_act_26",
7031 "false_next" : "node_84"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007032 },
7033 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007034 "name" : "node_82",
7035 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007036 "source_info" : {
7037 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07007038 "line" : 368,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007039 "column" : 16,
7040 "source_fragment" : "hdr.mpls.ttl == 0"
7041 },
7042 "expression" : {
7043 "type" : "expression",
7044 "value" : {
7045 "op" : "==",
7046 "left" : {
7047 "type" : "field",
7048 "value" : ["mpls", "ttl"]
7049 },
7050 "right" : {
7051 "type" : "hexstr",
7052 "value" : "0x00"
7053 }
7054 }
7055 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007056 "true_next" : "tbl_act_27",
7057 "false_next" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007058 },
7059 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007060 "name" : "node_84",
7061 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007062 "source_info" : {
7063 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07007064 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007065 "column" : 15,
7066 "source_fragment" : "hdr.ipv4.isValid()"
7067 },
7068 "expression" : {
7069 "type" : "expression",
7070 "value" : {
7071 "op" : "d2b",
7072 "left" : null,
7073 "right" : {
7074 "type" : "field",
7075 "value" : ["ipv4", "$valid$"]
7076 }
7077 }
7078 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007079 "true_next" : "tbl_act_28",
7080 "false_next" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007081 },
7082 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007083 "name" : "node_86",
7084 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007085 "source_info" : {
7086 "filename" : "include/control/next.p4",
Daniele Moro77654f92019-07-30 10:29:54 -07007087 "line" : 372,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007088 "column" : 20,
7089 "source_fragment" : "hdr.ipv4.ttl == 0"
7090 },
7091 "expression" : {
7092 "type" : "expression",
7093 "value" : {
7094 "op" : "==",
7095 "left" : {
7096 "type" : "field",
7097 "value" : ["ipv4", "ttl"]
7098 },
7099 "right" : {
7100 "type" : "hexstr",
7101 "value" : "0x00"
7102 }
7103 }
7104 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007105 "true_next" : "tbl_act_29",
7106 "false_next" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007107 },
7108 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007109 "name" : "node_88",
7110 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007111 "source_info" : {
7112 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007113 "line" : 369,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007114 "column" : 12,
7115 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
7116 },
7117 "expression" : {
7118 "type" : "expression",
7119 "value" : {
7120 "op" : "==",
7121 "left" : {
7122 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007123 "value" : ["scalars", "fabric_metadata_t._bng_type23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007124 },
7125 "right" : {
7126 "type" : "hexstr",
7127 "value" : "0x02"
7128 }
7129 }
7130 },
7131 "false_next" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007132 "true_next" : "node_89"
7133 },
7134 {
7135 "name" : "node_89",
7136 "id" : 34,
7137 "source_info" : {
7138 "filename" : "include/bng.p4",
7139 "line" : 294,
7140 "column" : 12,
7141 "source_fragment" : "hdr.ipv4.isValid()"
7142 },
7143 "expression" : {
7144 "type" : "expression",
7145 "value" : {
7146 "op" : "d2b",
7147 "left" : null,
7148 "right" : {
7149 "type" : "field",
7150 "value" : ["ipv4", "$valid$"]
7151 }
7152 }
7153 },
7154 "false_next" : null,
7155 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007156 }
7157 ]
7158 }
7159 ],
7160 "checksums" : [
7161 {
7162 "name" : "cksum",
7163 "id" : 0,
7164 "source_info" : {
7165 "filename" : "include/checksum.p4",
7166 "line" : 28,
7167 "column" : 8,
7168 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
7169 },
7170 "target" : ["ipv4", "hdr_checksum"],
7171 "type" : "generic",
7172 "calculation" : "calc",
7173 "verify" : false,
7174 "update" : true,
7175 "if_cond" : {
7176 "type" : "expression",
7177 "value" : {
7178 "op" : "d2b",
7179 "left" : null,
7180 "right" : {
7181 "type" : "field",
7182 "value" : ["ipv4", "$valid$"]
7183 }
7184 }
7185 }
7186 },
7187 {
7188 "name" : "cksum_0",
7189 "id" : 1,
7190 "source_info" : {
7191 "filename" : "include/checksum.p4",
7192 "line" : 57,
7193 "column" : 8,
7194 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
7195 },
7196 "target" : ["ipv4", "hdr_checksum"],
7197 "type" : "generic",
7198 "calculation" : "calc_0",
7199 "verify" : true,
7200 "update" : false,
7201 "if_cond" : {
7202 "type" : "expression",
7203 "value" : {
7204 "op" : "d2b",
7205 "left" : null,
7206 "right" : {
7207 "type" : "field",
7208 "value" : ["ipv4", "$valid$"]
7209 }
7210 }
7211 }
7212 }
7213 ],
7214 "force_arith" : [],
7215 "extern_instances" : [],
7216 "field_aliases" : [
7217 [
7218 "queueing_metadata.enq_timestamp",
7219 ["standard_metadata", "enq_timestamp"]
7220 ],
7221 [
7222 "queueing_metadata.enq_qdepth",
7223 ["standard_metadata", "enq_qdepth"]
7224 ],
7225 [
7226 "queueing_metadata.deq_timedelta",
7227 ["standard_metadata", "deq_timedelta"]
7228 ],
7229 [
7230 "queueing_metadata.deq_qdepth",
7231 ["standard_metadata", "deq_qdepth"]
7232 ],
7233 [
7234 "intrinsic_metadata.ingress_global_timestamp",
7235 ["standard_metadata", "ingress_global_timestamp"]
7236 ],
7237 [
7238 "intrinsic_metadata.egress_global_timestamp",
7239 ["standard_metadata", "egress_global_timestamp"]
7240 ],
7241 [
7242 "intrinsic_metadata.lf_field_list",
7243 ["standard_metadata", "lf_field_list"]
7244 ],
7245 [
7246 "intrinsic_metadata.mcast_grp",
7247 ["standard_metadata", "mcast_grp"]
7248 ],
7249 [
7250 "intrinsic_metadata.resubmit_flag",
7251 ["standard_metadata", "resubmit_flag"]
7252 ],
7253 [
7254 "intrinsic_metadata.egress_rid",
7255 ["standard_metadata", "egress_rid"]
7256 ],
7257 [
7258 "intrinsic_metadata.recirculate_flag",
7259 ["standard_metadata", "recirculate_flag"]
7260 ],
7261 [
7262 "intrinsic_metadata.priority",
7263 ["standard_metadata", "priority"]
7264 ]
7265 ],
7266 "program" : "fabric.p4",
7267 "__meta__" : {
7268 "version" : [2, 18],
7269 "compiler" : "https://github.com/p4lang/p4c"
7270 }
7271}