blob: 911f55f287b6ce4c711e1d9585c1e357e2bfd371 [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",
412 "value" : "0x8100",
413 "mask" : null,
414 "next_state" : "parse_vlan_tag"
415 },
416 {
417 "type" : "hexstr",
418 "value" : "0x8847",
419 "mask" : null,
420 "next_state" : "parse_mpls"
421 },
422 {
423 "type" : "hexstr",
424 "value" : "0x0800",
425 "mask" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700426 "next_state" : "pre_parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700427 },
428 {
429 "value" : "default",
430 "mask" : null,
431 "next_state" : null
432 }
433 ],
434 "transition_key" : [
435 {
436 "type" : "field",
437 "value" : ["ethernet", "eth_type"]
438 }
439 ]
440 },
441 {
442 "name" : "parse_vlan_tag",
443 "id" : 3,
444 "parser_ops" : [
445 {
446 "parameters" : [
447 {
448 "type" : "regular",
449 "value" : "vlan_tag"
450 }
451 ],
452 "op" : "extract"
453 }
454 ],
455 "transitions" : [
456 {
457 "type" : "hexstr",
458 "value" : "0x0800",
459 "mask" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700460 "next_state" : "pre_parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700461 },
462 {
463 "type" : "hexstr",
464 "value" : "0x8847",
465 "mask" : null,
466 "next_state" : "parse_mpls"
467 },
468 {
469 "type" : "hexstr",
470 "value" : "0x8100",
471 "mask" : null,
472 "next_state" : "parse_inner_vlan_tag"
473 },
474 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700475 "type" : "hexstr",
476 "value" : "0x88a8",
477 "mask" : null,
478 "next_state" : "parse_inner_vlan_tag"
479 },
480 {
481 "type" : "hexstr",
482 "value" : "0x9100",
483 "mask" : null,
484 "next_state" : "parse_inner_vlan_tag"
485 },
486 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700487 "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 Moro7c3a0022019-07-12 13:38:34 -07001169 "line" : 309,
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 }
4044 }
4045 ]
4046 },
4047 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004048 "name" : "FabricEgress.egress_next.pop_vlan",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004049 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004050 "runtime_data" : [],
4051 "primitives" : [
4052 {
4053 "op" : "assign",
4054 "parameters" : [
4055 {
4056 "type" : "field",
4057 "value" : ["ethernet", "eth_type"]
4058 },
4059 {
4060 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004061 "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004062 }
4063 ],
4064 "source_info" : {
4065 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004066 "line" : 312,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004067 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004068 "source_fragment" : "hdr.ethernet.eth_type = fabric_metadata.last_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004069 }
4070 },
4071 {
4072 "op" : "remove_header",
4073 "parameters" : [
4074 {
4075 "type" : "header",
4076 "value" : "vlan_tag"
4077 }
4078 ],
4079 "source_info" : {
4080 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004081 "line" : 313,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004082 "column" : 8,
4083 "source_fragment" : "hdr.vlan_tag.setInvalid()"
4084 }
4085 }
4086 ]
4087 },
4088 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004089 "name" : "act_20",
4090 "id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004091 "runtime_data" : [],
4092 "primitives" : [
4093 {
4094 "op" : "exit",
4095 "parameters" : [],
4096 "source_info" : {
4097 "filename" : "include/control/packetio.p4",
4098 "line" : 41,
4099 "column" : 12,
4100 "source_fragment" : "exit"
4101 }
4102 }
4103 ]
4104 },
4105 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004106 "name" : "act_21",
4107 "id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004108 "runtime_data" : [],
4109 "primitives" : [
4110 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004111 "op" : "add_header",
4112 "parameters" : [
4113 {
4114 "type" : "header",
4115 "value" : "packet_in"
4116 }
4117 ],
4118 "source_info" : {
4119 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004120 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004121 "column" : 12,
4122 "source_fragment" : "hdr.packet_in.setValid()"
4123 }
4124 },
4125 {
4126 "op" : "assign",
4127 "parameters" : [
4128 {
4129 "type" : "field",
4130 "value" : ["packet_in", "ingress_port"]
4131 },
4132 {
4133 "type" : "field",
4134 "value" : ["standard_metadata", "ingress_port"]
4135 }
4136 ],
4137 "source_info" : {
4138 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004139 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004140 "column" : 12,
4141 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
4142 }
4143 },
4144 {
4145 "op" : "exit",
4146 "parameters" : [],
4147 "source_info" : {
4148 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004149 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004150 "column" : 12,
4151 "source_fragment" : "exit"
4152 }
4153 }
4154 ]
4155 },
4156 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004157 "name" : "act_22",
4158 "id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004159 "runtime_data" : [],
4160 "primitives" : [
4161 {
4162 "op" : "mark_to_drop",
4163 "parameters" : [
4164 {
4165 "type" : "header",
4166 "value" : "standard_metadata"
4167 }
4168 ],
4169 "source_info" : {
4170 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004171 "line" : 334,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004172 "column" : 12,
4173 "source_fragment" : "mark_to_drop(standard_metadata)"
4174 }
4175 }
4176 ]
4177 },
4178 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004179 "name" : "act_23",
4180 "id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004181 "runtime_data" : [],
4182 "primitives" : [
4183 {
4184 "op" : "assign",
4185 "parameters" : [
4186 {
4187 "type" : "field",
4188 "value" : ["scalars", "egress_next_tmp"]
4189 },
4190 {
4191 "type" : "expression",
4192 "value" : {
4193 "type" : "expression",
4194 "value" : {
4195 "op" : "b2d",
4196 "left" : null,
4197 "right" : {
4198 "type" : "bool",
4199 "value" : true
4200 }
4201 }
4202 }
4203 }
4204 ]
4205 }
4206 ]
4207 },
4208 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004209 "name" : "act_24",
4210 "id" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004211 "runtime_data" : [],
4212 "primitives" : [
4213 {
4214 "op" : "assign",
4215 "parameters" : [
4216 {
4217 "type" : "field",
4218 "value" : ["scalars", "egress_next_tmp"]
4219 },
4220 {
4221 "type" : "expression",
4222 "value" : {
4223 "type" : "expression",
4224 "value" : {
4225 "op" : "b2d",
4226 "left" : null,
4227 "right" : {
4228 "type" : "bool",
4229 "value" : false
4230 }
4231 }
4232 }
4233 }
4234 ]
4235 }
4236 ]
4237 },
4238 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004239 "name" : "act_25",
4240 "id" : 70,
4241 "runtime_data" : [],
4242 "primitives" : [
4243 {
4244 "op" : "remove_header",
4245 "parameters" : [
4246 {
4247 "type" : "header",
4248 "value" : "inner_vlan_tag"
4249 }
4250 ],
4251 "source_info" : {
4252 "filename" : "include/control/next.p4",
4253 "line" : 350,
4254 "column" : 12,
4255 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
4256 }
4257 }
4258 ]
4259 },
4260 {
4261 "name" : "act_26",
4262 "id" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004263 "runtime_data" : [],
4264 "primitives" : [
4265 {
4266 "op" : "mark_to_drop",
4267 "parameters" : [
4268 {
4269 "type" : "header",
4270 "value" : "standard_metadata"
4271 }
4272 ],
4273 "source_info" : {
4274 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004275 "line" : 367,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004276 "column" : 35,
4277 "source_fragment" : "mark_to_drop(standard_metadata)"
4278 }
4279 }
4280 ]
4281 },
4282 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004283 "name" : "act_27",
4284 "id" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004285 "runtime_data" : [],
4286 "primitives" : [
4287 {
4288 "op" : "assign",
4289 "parameters" : [
4290 {
4291 "type" : "field",
4292 "value" : ["mpls", "ttl"]
4293 },
4294 {
4295 "type" : "expression",
4296 "value" : {
4297 "type" : "expression",
4298 "value" : {
4299 "op" : "&",
4300 "left" : {
4301 "type" : "expression",
4302 "value" : {
4303 "op" : "+",
4304 "left" : {
4305 "type" : "field",
4306 "value" : ["mpls", "ttl"]
4307 },
4308 "right" : {
4309 "type" : "hexstr",
4310 "value" : "0xff"
4311 }
4312 }
4313 },
4314 "right" : {
4315 "type" : "hexstr",
4316 "value" : "0xff"
4317 }
4318 }
4319 }
4320 }
4321 ],
4322 "source_info" : {
4323 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004324 "line" : 366,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004325 "column" : 12,
4326 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
4327 }
4328 }
4329 ]
4330 },
4331 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004332 "name" : "act_28",
4333 "id" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004334 "runtime_data" : [],
4335 "primitives" : [
4336 {
4337 "op" : "mark_to_drop",
4338 "parameters" : [
4339 {
4340 "type" : "header",
4341 "value" : "standard_metadata"
4342 }
4343 ],
4344 "source_info" : {
4345 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004346 "line" : 371,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004347 "column" : 39,
4348 "source_fragment" : "mark_to_drop(standard_metadata)"
4349 }
4350 }
4351 ]
4352 },
4353 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004354 "name" : "act_29",
4355 "id" : 74,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004356 "runtime_data" : [],
4357 "primitives" : [
4358 {
4359 "op" : "assign",
4360 "parameters" : [
4361 {
4362 "type" : "field",
4363 "value" : ["ipv4", "ttl"]
4364 },
4365 {
4366 "type" : "expression",
4367 "value" : {
4368 "type" : "expression",
4369 "value" : {
4370 "op" : "&",
4371 "left" : {
4372 "type" : "expression",
4373 "value" : {
4374 "op" : "+",
4375 "left" : {
4376 "type" : "field",
4377 "value" : ["ipv4", "ttl"]
4378 },
4379 "right" : {
4380 "type" : "hexstr",
4381 "value" : "0xff"
4382 }
4383 }
4384 },
4385 "right" : {
4386 "type" : "hexstr",
4387 "value" : "0xff"
4388 }
4389 }
4390 }
4391 }
4392 ],
4393 "source_info" : {
4394 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004395 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004396 "column" : 16,
4397 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4398 }
4399 }
4400 ]
4401 }
4402 ],
4403 "pipelines" : [
4404 {
4405 "name" : "ingress",
4406 "id" : 0,
4407 "source_info" : {
4408 "filename" : "fabric.p4",
4409 "line" : 46,
4410 "column" : 8,
4411 "source_fragment" : "FabricIngress"
4412 },
4413 "init_table" : "node_2",
4414 "tables" : [
4415 {
4416 "name" : "tbl_act",
4417 "id" : 0,
4418 "source_info" : {
4419 "filename" : "include/control/packetio.p4",
4420 "line" : 25,
4421 "column" : 42,
4422 "source_fragment" : "= hdr.packet_out.egress_port; ..."
4423 },
4424 "key" : [],
4425 "match_type" : "exact",
4426 "type" : "simple",
4427 "max_size" : 1024,
4428 "with_counters" : false,
4429 "support_timeout" : false,
4430 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004431 "action_ids" : [36],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004432 "actions" : ["act"],
4433 "base_default_next" : "node_4",
4434 "next_tables" : {
4435 "act" : "node_4"
4436 },
4437 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004438 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004439 "action_const" : true,
4440 "action_data" : [],
4441 "action_entry_const" : true
4442 }
4443 },
4444 {
4445 "name" : "tbl_act_0",
4446 "id" : 1,
4447 "source_info" : {
4448 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004449 "line" : 110,
4450 "column" : 36,
4451 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004452 },
4453 "key" : [],
4454 "match_type" : "exact",
4455 "type" : "simple",
4456 "max_size" : 1024,
4457 "with_counters" : false,
4458 "support_timeout" : false,
4459 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004460 "action_ids" : [37],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004461 "actions" : ["act_0"],
4462 "base_default_next" : "node_6",
4463 "next_tables" : {
4464 "act_0" : "node_6"
4465 },
4466 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004467 "action_id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004468 "action_const" : true,
4469 "action_data" : [],
4470 "action_entry_const" : true
4471 }
4472 },
4473 {
4474 "name" : "tbl_act_1",
4475 "id" : 2,
4476 "source_info" : {
4477 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004478 "line" : 116,
4479 "column" : 42,
4480 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
4481 },
4482 "key" : [],
4483 "match_type" : "exact",
4484 "type" : "simple",
4485 "max_size" : 1024,
4486 "with_counters" : false,
4487 "support_timeout" : false,
4488 "direct_meters" : null,
4489 "action_ids" : [38],
4490 "actions" : ["act_1"],
4491 "base_default_next" : "node_8",
4492 "next_tables" : {
4493 "act_1" : "node_8"
4494 },
4495 "default_entry" : {
4496 "action_id" : 38,
4497 "action_const" : true,
4498 "action_data" : [],
4499 "action_entry_const" : true
4500 }
4501 },
4502 {
4503 "name" : "tbl_act_2",
4504 "id" : 3,
4505 "source_info" : {
4506 "filename" : "include/control/filtering.p4",
4507 "line" : 126,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004508 "column" : 37,
4509 "source_fragment" : "="
4510 },
4511 "key" : [],
4512 "match_type" : "exact",
4513 "type" : "simple",
4514 "max_size" : 1024,
4515 "with_counters" : false,
4516 "support_timeout" : false,
4517 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004518 "action_ids" : [39],
4519 "actions" : ["act_2"],
4520 "base_default_next" : "node_10",
4521 "next_tables" : {
4522 "act_2" : "node_10"
4523 },
4524 "default_entry" : {
4525 "action_id" : 39,
4526 "action_const" : true,
4527 "action_data" : [],
4528 "action_entry_const" : true
4529 }
4530 },
4531 {
4532 "name" : "tbl_act_3",
4533 "id" : 4,
4534 "source_info" : {
4535 "filename" : "include/control/filtering.p4",
4536 "line" : 131,
4537 "column" : 42,
4538 "source_fragment" : "="
4539 },
4540 "key" : [],
4541 "match_type" : "exact",
4542 "type" : "simple",
4543 "max_size" : 1024,
4544 "with_counters" : false,
4545 "support_timeout" : false,
4546 "direct_meters" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004547 "action_ids" : [40],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004548 "actions" : ["act_3"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004549 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4550 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004551 "act_3" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004552 },
4553 "default_entry" : {
4554 "action_id" : 40,
4555 "action_const" : true,
4556 "action_data" : [],
4557 "action_entry_const" : true
4558 }
4559 },
4560 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004561 "name" : "tbl_act_4",
4562 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004563 "source_info" : {
4564 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004565 "line" : 136,
4566 "column" : 50,
4567 "source_fragment" : "="
4568 },
4569 "key" : [],
4570 "match_type" : "exact",
4571 "type" : "simple",
4572 "max_size" : 1024,
4573 "with_counters" : false,
4574 "support_timeout" : false,
4575 "direct_meters" : null,
4576 "action_ids" : [41],
4577 "actions" : ["act_4"],
4578 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4579 "next_tables" : {
4580 "act_4" : "FabricIngress.filtering.ingress_port_vlan"
4581 },
4582 "default_entry" : {
4583 "action_id" : 41,
4584 "action_const" : true,
4585 "action_data" : [],
4586 "action_entry_const" : true
4587 }
4588 },
4589 {
4590 "name" : "tbl_act_5",
4591 "id" : 6,
4592 "source_info" : {
4593 "filename" : "include/control/filtering.p4",
4594 "line" : 139,
4595 "column" : 50,
4596 "source_fragment" : "="
4597 },
4598 "key" : [],
4599 "match_type" : "exact",
4600 "type" : "simple",
4601 "max_size" : 1024,
4602 "with_counters" : false,
4603 "support_timeout" : false,
4604 "direct_meters" : null,
4605 "action_ids" : [42],
4606 "actions" : ["act_5"],
4607 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4608 "next_tables" : {
4609 "act_5" : "FabricIngress.filtering.ingress_port_vlan"
4610 },
4611 "default_entry" : {
4612 "action_id" : 42,
4613 "action_const" : true,
4614 "action_data" : [],
4615 "action_entry_const" : true
4616 }
4617 },
4618 {
4619 "name" : "tbl_act_6",
4620 "id" : 7,
4621 "source_info" : {
4622 "filename" : "include/control/filtering.p4",
4623 "line" : 141,
4624 "column" : 46,
4625 "source_fragment" : "="
4626 },
4627 "key" : [],
4628 "match_type" : "exact",
4629 "type" : "simple",
4630 "max_size" : 1024,
4631 "with_counters" : false,
4632 "support_timeout" : false,
4633 "direct_meters" : null,
4634 "action_ids" : [43],
4635 "actions" : ["act_6"],
4636 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4637 "next_tables" : {
4638 "act_6" : "FabricIngress.filtering.ingress_port_vlan"
4639 },
4640 "default_entry" : {
4641 "action_id" : 43,
4642 "action_const" : true,
4643 "action_data" : [],
4644 "action_entry_const" : true
4645 }
4646 },
4647 {
4648 "name" : "FabricIngress.filtering.ingress_port_vlan",
4649 "id" : 8,
4650 "source_info" : {
4651 "filename" : "include/control/filtering.p4",
4652 "line" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004653 "column" : 10,
4654 "source_fragment" : "ingress_port_vlan"
4655 },
4656 "key" : [
4657 {
4658 "match_type" : "exact",
4659 "name" : "ig_port",
4660 "target" : ["standard_metadata", "ingress_port"],
4661 "mask" : null
4662 },
4663 {
4664 "match_type" : "exact",
4665 "name" : "vlan_is_valid",
4666 "target" : ["vlan_tag", "$valid$"],
4667 "mask" : null
4668 },
4669 {
4670 "match_type" : "ternary",
4671 "name" : "vlan_id",
4672 "target" : ["vlan_tag", "vlan_id"],
4673 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07004674 },
4675 {
4676 "match_type" : "ternary",
4677 "name" : "inner_vlan_id",
4678 "target" : ["inner_vlan_tag", "vlan_id"],
4679 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004680 }
4681 ],
4682 "match_type" : "ternary",
4683 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004684 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004685 "with_counters" : true,
4686 "support_timeout" : false,
4687 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004688 "action_ids" : [17, 18, 19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004689 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
4690 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
4691 "next_tables" : {
4692 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
4693 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
4694 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
4695 },
4696 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004697 "action_id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004698 "action_const" : true,
4699 "action_data" : [],
4700 "action_entry_const" : true
4701 }
4702 },
4703 {
4704 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004705 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004706 "source_info" : {
4707 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004708 "line" : 90,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004709 "column" : 10,
4710 "source_fragment" : "fwd_classifier"
4711 },
4712 "key" : [
4713 {
4714 "match_type" : "exact",
4715 "name" : "ig_port",
4716 "target" : ["standard_metadata", "ingress_port"],
4717 "mask" : null
4718 },
4719 {
4720 "match_type" : "ternary",
4721 "name" : "eth_dst",
4722 "target" : ["ethernet", "dst_addr"],
4723 "mask" : null
4724 },
4725 {
4726 "match_type" : "exact",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004727 "name" : "is_ipv4",
4728 "target" : ["scalars", "fabric_metadata_t._is_ipv41"],
4729 "mask" : null
4730 },
4731 {
4732 "match_type" : "exact",
4733 "name" : "is_ipv6",
4734 "target" : ["scalars", "fabric_metadata_t._is_ipv62"],
4735 "mask" : null
4736 },
4737 {
4738 "match_type" : "exact",
4739 "name" : "is_mpls",
4740 "target" : ["scalars", "fabric_metadata_t._is_mpls3"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004741 "mask" : null
4742 }
4743 ],
4744 "match_type" : "ternary",
4745 "type" : "simple",
4746 "max_size" : 1024,
4747 "with_counters" : true,
4748 "support_timeout" : false,
4749 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004750 "action_ids" : [20],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004751 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004752 "base_default_next" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004753 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004754 "FabricIngress.filtering.set_forwarding_type" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004755 },
4756 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004757 "action_id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004758 "action_const" : true,
4759 "action_data" : ["0x0"],
4760 "action_entry_const" : true
4761 }
4762 },
4763 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004764 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004765 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004766 "source_info" : {
4767 "filename" : "include/control/forwarding.p4",
4768 "line" : 46,
4769 "column" : 10,
4770 "source_fragment" : "bridging"
4771 },
4772 "key" : [
4773 {
4774 "match_type" : "exact",
4775 "name" : "vlan_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004776 "target" : ["scalars", "fabric_metadata_t._vlan_id5"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004777 "mask" : null
4778 },
4779 {
4780 "match_type" : "ternary",
4781 "name" : "eth_dst",
4782 "target" : ["ethernet", "dst_addr"],
4783 "mask" : null
4784 }
4785 ],
4786 "match_type" : "ternary",
4787 "type" : "simple",
4788 "max_size" : 1024,
4789 "with_counters" : true,
4790 "support_timeout" : false,
4791 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004792 "action_ids" : [21, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004793 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
4794 "base_default_next" : "FabricIngress.acl.acl",
4795 "next_tables" : {
4796 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
4797 "nop" : "FabricIngress.acl.acl"
4798 },
4799 "default_entry" : {
4800 "action_id" : 3,
4801 "action_const" : true,
4802 "action_data" : [],
4803 "action_entry_const" : true
4804 }
4805 },
4806 {
4807 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004808 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004809 "source_info" : {
4810 "filename" : "include/control/forwarding.p4",
4811 "line" : 71,
4812 "column" : 10,
4813 "source_fragment" : "mpls"
4814 },
4815 "key" : [
4816 {
4817 "match_type" : "exact",
4818 "name" : "mpls_label",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004819 "target" : ["scalars", "fabric_metadata_t._mpls_label12"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004820 "mask" : null
4821 }
4822 ],
4823 "match_type" : "exact",
4824 "type" : "simple",
4825 "max_size" : 1024,
4826 "with_counters" : true,
4827 "support_timeout" : false,
4828 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004829 "action_ids" : [22, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004830 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
4831 "base_default_next" : "FabricIngress.acl.acl",
4832 "next_tables" : {
4833 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
4834 "nop" : "FabricIngress.acl.acl"
4835 },
4836 "default_entry" : {
4837 "action_id" : 4,
4838 "action_const" : true,
4839 "action_data" : [],
4840 "action_entry_const" : true
4841 }
4842 },
4843 {
4844 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004845 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004846 "source_info" : {
4847 "filename" : "include/control/forwarding.p4",
4848 "line" : 101,
4849 "column" : 10,
4850 "source_fragment" : "routing_v4"
4851 },
4852 "key" : [
4853 {
4854 "match_type" : "lpm",
4855 "name" : "ipv4_dst",
4856 "target" : ["ipv4", "dst_addr"],
4857 "mask" : null
4858 }
4859 ],
4860 "match_type" : "lpm",
4861 "type" : "simple",
4862 "max_size" : 1024,
4863 "with_counters" : true,
4864 "support_timeout" : false,
4865 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004866 "action_ids" : [23, 24, 5],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004867 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
4868 "base_default_next" : "FabricIngress.acl.acl",
4869 "next_tables" : {
4870 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
4871 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
4872 "nop" : "FabricIngress.acl.acl"
4873 },
4874 "default_entry" : {
4875 "action_id" : 5,
4876 "action_const" : true,
4877 "action_data" : [],
4878 "action_entry_const" : true
4879 }
4880 },
4881 {
4882 "name" : "FabricIngress.acl.acl",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004883 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004884 "source_info" : {
4885 "filename" : "include/control/acl.p4",
4886 "line" : 60,
4887 "column" : 10,
4888 "source_fragment" : "acl"
4889 },
4890 "key" : [
4891 {
4892 "match_type" : "ternary",
4893 "name" : "ig_port",
4894 "target" : ["standard_metadata", "ingress_port"],
4895 "mask" : null
4896 },
4897 {
4898 "match_type" : "ternary",
4899 "name" : "ip_proto",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004900 "target" : ["scalars", "fabric_metadata_t._ip_proto20"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004901 "mask" : null
4902 },
4903 {
4904 "match_type" : "ternary",
4905 "name" : "l4_sport",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004906 "target" : ["scalars", "fabric_metadata_t._l4_sport21"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004907 "mask" : null
4908 },
4909 {
4910 "match_type" : "ternary",
4911 "name" : "l4_dport",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004912 "target" : ["scalars", "fabric_metadata_t._l4_dport22"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004913 "mask" : null
4914 },
4915 {
4916 "match_type" : "ternary",
4917 "name" : "eth_src",
4918 "target" : ["ethernet", "dst_addr"],
4919 "mask" : null
4920 },
4921 {
4922 "match_type" : "ternary",
4923 "name" : "eth_dst",
4924 "target" : ["ethernet", "src_addr"],
4925 "mask" : null
4926 },
4927 {
4928 "match_type" : "ternary",
4929 "name" : "vlan_id",
4930 "target" : ["vlan_tag", "vlan_id"],
4931 "mask" : null
4932 },
4933 {
4934 "match_type" : "ternary",
4935 "name" : "eth_type",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004936 "target" : ["scalars", "fabric_metadata_t._last_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004937 "mask" : null
4938 },
4939 {
4940 "match_type" : "ternary",
4941 "name" : "ipv4_src",
4942 "target" : ["ipv4", "src_addr"],
4943 "mask" : null
4944 },
4945 {
4946 "match_type" : "ternary",
4947 "name" : "ipv4_dst",
4948 "target" : ["ipv4", "dst_addr"],
4949 "mask" : null
4950 },
4951 {
4952 "match_type" : "ternary",
4953 "name" : "icmp_type",
4954 "target" : ["icmp", "icmp_type"],
4955 "mask" : null
4956 },
4957 {
4958 "match_type" : "ternary",
4959 "name" : "icmp_code",
4960 "target" : ["icmp", "icmp_code"],
4961 "mask" : null
4962 }
4963 ],
4964 "match_type" : "ternary",
4965 "type" : "simple",
4966 "max_size" : 1024,
4967 "with_counters" : true,
4968 "support_timeout" : false,
4969 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004970 "action_ids" : [25, 26, 27, 28, 29],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004971 "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 -07004972 "base_default_next" : "node_27",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004973 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004974 "FabricIngress.acl.set_next_id_acl" : "node_27",
4975 "FabricIngress.acl.punt_to_cpu" : "node_27",
4976 "FabricIngress.acl.set_clone_session_id" : "node_27",
4977 "FabricIngress.acl.drop" : "node_27",
4978 "FabricIngress.acl.nop_acl" : "node_27"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004979 },
4980 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004981 "action_id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004982 "action_const" : true,
4983 "action_data" : [],
4984 "action_entry_const" : true
4985 }
4986 },
4987 {
4988 "name" : "FabricIngress.next.hashed",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004989 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004990 "source_info" : {
4991 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004992 "line" : 196,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004993 "column" : 10,
4994 "source_fragment" : "hashed"
4995 },
4996 "key" : [
4997 {
4998 "match_type" : "exact",
4999 "name" : "next_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005000 "target" : ["scalars", "fabric_metadata_t._next_id17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005001 "mask" : null
5002 }
5003 ],
5004 "match_type" : "exact",
5005 "type" : "indirect_ws",
5006 "action_profile" : "FabricIngress.next.hashed_selector",
5007 "max_size" : 1024,
5008 "with_counters" : true,
5009 "support_timeout" : false,
5010 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005011 "action_ids" : [32, 33, 34, 7],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005012 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
5013 "base_default_next" : "FabricIngress.next.multicast",
5014 "next_tables" : {
5015 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
5016 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
5017 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
5018 "nop" : "FabricIngress.next.multicast"
5019 }
5020 },
5021 {
5022 "name" : "FabricIngress.next.multicast",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005023 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005024 "source_info" : {
5025 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005026 "line" : 230,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005027 "column" : 10,
5028 "source_fragment" : "multicast"
5029 },
5030 "key" : [
5031 {
5032 "match_type" : "exact",
5033 "name" : "next_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005034 "target" : ["scalars", "fabric_metadata_t._next_id17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005035 "mask" : null
5036 }
5037 ],
5038 "match_type" : "exact",
5039 "type" : "simple",
5040 "max_size" : 1024,
5041 "with_counters" : true,
5042 "support_timeout" : false,
5043 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005044 "action_ids" : [35, 8],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005045 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
5046 "base_default_next" : "FabricIngress.next.next_vlan",
5047 "next_tables" : {
5048 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
5049 "nop" : "FabricIngress.next.next_vlan"
5050 },
5051 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005052 "action_id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005053 "action_const" : true,
5054 "action_data" : [],
5055 "action_entry_const" : true
5056 }
5057 },
5058 {
5059 "name" : "FabricIngress.next.next_vlan",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005060 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005061 "source_info" : {
5062 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005063 "line" : 82,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005064 "column" : 10,
5065 "source_fragment" : "next_vlan"
5066 },
5067 "key" : [
5068 {
5069 "match_type" : "exact",
5070 "name" : "next_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005071 "target" : ["scalars", "fabric_metadata_t._next_id17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005072 "mask" : null
5073 }
5074 ],
5075 "match_type" : "exact",
5076 "type" : "simple",
5077 "max_size" : 1024,
5078 "with_counters" : true,
5079 "support_timeout" : false,
5080 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005081 "action_ids" : [30, 31, 6],
5082 "actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
5083 "base_default_next" : "node_31",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005084 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005085 "FabricIngress.next.set_vlan" : "node_31",
5086 "FabricIngress.next.set_double_vlan" : "node_31",
5087 "nop" : "node_31"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005088 },
5089 "default_entry" : {
5090 "action_id" : 6,
5091 "action_const" : true,
5092 "action_data" : [],
5093 "action_entry_const" : true
5094 }
5095 },
5096 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005097 "name" : "tbl_act_7",
5098 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005099 "source_info" : {
5100 "filename" : "include/control/port_counter.p4",
5101 "line" : 31,
5102 "column" : 12,
5103 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5104 },
5105 "key" : [],
5106 "match_type" : "exact",
5107 "type" : "simple",
5108 "max_size" : 1024,
5109 "with_counters" : false,
5110 "support_timeout" : false,
5111 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005112 "action_ids" : [44],
5113 "actions" : ["act_7"],
5114 "base_default_next" : "node_33",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005115 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005116 "act_7" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005117 },
5118 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005119 "action_id" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005120 "action_const" : true,
5121 "action_data" : [],
5122 "action_entry_const" : true
5123 }
5124 },
5125 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005126 "name" : "tbl_act_8",
5127 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005128 "source_info" : {
5129 "filename" : "include/control/port_counter.p4",
5130 "line" : 34,
5131 "column" : 12,
5132 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5133 },
5134 "key" : [],
5135 "match_type" : "exact",
5136 "type" : "simple",
5137 "max_size" : 1024,
5138 "with_counters" : false,
5139 "support_timeout" : false,
5140 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005141 "action_ids" : [45],
5142 "actions" : ["act_8"],
5143 "base_default_next" : "node_35",
5144 "next_tables" : {
5145 "act_8" : "node_35"
5146 },
5147 "default_entry" : {
5148 "action_id" : 45,
5149 "action_const" : true,
5150 "action_data" : [],
5151 "action_entry_const" : true
5152 }
5153 },
5154 {
5155 "name" : "tbl_act_9",
5156 "id" : 19,
5157 "source_info" : {
5158 "filename" : "include/bng.p4",
5159 "line" : 339,
5160 "column" : 22,
5161 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
5162 },
5163 "key" : [],
5164 "match_type" : "exact",
5165 "type" : "simple",
5166 "max_size" : 1024,
5167 "with_counters" : false,
5168 "support_timeout" : false,
5169 "direct_meters" : null,
5170 "action_ids" : [46],
5171 "actions" : ["act_9"],
5172 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
5173 "next_tables" : {
5174 "act_9" : "FabricIngress.bng_ingress.t_line_map"
5175 },
5176 "default_entry" : {
5177 "action_id" : 46,
5178 "action_const" : true,
5179 "action_data" : [],
5180 "action_entry_const" : true
5181 }
5182 },
5183 {
5184 "name" : "tbl_act_10",
5185 "id" : 20,
5186 "source_info" : {
5187 "filename" : "include/bng.p4",
5188 "line" : 344,
5189 "column" : 22,
5190 "source_fragment" : "= fmeta.vlan_id; ..."
5191 },
5192 "key" : [],
5193 "match_type" : "exact",
5194 "type" : "simple",
5195 "max_size" : 1024,
5196 "with_counters" : false,
5197 "support_timeout" : false,
5198 "direct_meters" : null,
5199 "action_ids" : [47],
5200 "actions" : ["act_10"],
5201 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
5202 "next_tables" : {
5203 "act_10" : "FabricIngress.bng_ingress.t_line_map"
5204 },
5205 "default_entry" : {
5206 "action_id" : 47,
5207 "action_const" : true,
5208 "action_data" : [],
5209 "action_entry_const" : true
5210 }
5211 },
5212 {
5213 "name" : "FabricIngress.bng_ingress.t_line_map",
5214 "id" : 21,
5215 "source_info" : {
5216 "filename" : "include/bng.p4",
5217 "line" : 324,
5218 "column" : 14,
5219 "source_fragment" : "t_line_map"
5220 },
5221 "key" : [
5222 {
5223 "match_type" : "exact",
5224 "name" : "s_tag",
5225 "target" : ["scalars", "bng_ingress_s_tag"],
5226 "mask" : null
5227 },
5228 {
5229 "match_type" : "exact",
5230 "name" : "c_tag",
5231 "target" : ["scalars", "bng_ingress_c_tag"],
5232 "mask" : null
5233 }
5234 ],
5235 "match_type" : "exact",
5236 "type" : "simple",
5237 "max_size" : 8192,
5238 "with_counters" : false,
5239 "support_timeout" : false,
5240 "direct_meters" : null,
5241 "action_ids" : [2, 16],
5242 "actions" : ["nop", "FabricIngress.bng_ingress.set_line"],
5243 "base_default_next" : "node_39",
5244 "next_tables" : {
5245 "nop" : "node_39",
5246 "FabricIngress.bng_ingress.set_line" : "node_39"
5247 },
5248 "default_entry" : {
5249 "action_id" : 2,
5250 "action_const" : true,
5251 "action_data" : [],
5252 "action_entry_const" : true
5253 }
5254 },
5255 {
5256 "name" : "tbl_act_11",
5257 "id" : 22,
5258 "source_info" : {
5259 "filename" : "include/bng.p4",
5260 "line" : 353,
5261 "column" : 31,
5262 "source_fragment" : "="
5263 },
5264 "key" : [],
5265 "match_type" : "exact",
5266 "type" : "simple",
5267 "max_size" : 1024,
5268 "with_counters" : false,
5269 "support_timeout" : false,
5270 "direct_meters" : null,
5271 "action_ids" : [50],
Daniele Moroe22b5742019-06-28 15:32:37 -07005272 "actions" : ["act_13"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005273 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
5274 "next_tables" : {
5275 "act_13" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
5276 },
5277 "default_entry" : {
5278 "action_id" : 50,
5279 "action_const" : true,
5280 "action_data" : [],
5281 "action_entry_const" : true
5282 }
5283 },
5284 {
5285 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
5286 "id" : 23,
5287 "source_info" : {
5288 "filename" : "include/bng.p4",
5289 "line" : 48,
5290 "column" : 10,
5291 "source_fragment" : "t_pppoe_cp"
5292 },
5293 "key" : [
5294 {
5295 "match_type" : "exact",
5296 "name" : "pppoe_code",
5297 "target" : ["pppoe", "code"],
5298 "mask" : null
5299 },
5300 {
5301 "match_type" : "ternary",
5302 "name" : "pppoe_protocol",
5303 "target" : ["pppoe", "protocol"],
5304 "mask" : null
5305 }
5306 ],
5307 "match_type" : "ternary",
5308 "type" : "simple",
5309 "max_size" : 16,
5310 "with_counters" : false,
5311 "support_timeout" : false,
5312 "direct_meters" : null,
5313 "action_ids" : [9, 0],
5314 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005315 "base_default_next" : null,
5316 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005317 "__HIT__" : "tbl_act_12",
5318 "__MISS__" : "tbl_act_13"
5319 },
5320 "default_entry" : {
5321 "action_id" : 0,
5322 "action_const" : true,
5323 "action_data" : [],
5324 "action_entry_const" : true
5325 }
5326 },
5327 {
5328 "name" : "tbl_act_12",
5329 "id" : 24,
5330 "key" : [],
5331 "match_type" : "exact",
5332 "type" : "simple",
5333 "max_size" : 1024,
5334 "with_counters" : false,
5335 "support_timeout" : false,
5336 "direct_meters" : null,
5337 "action_ids" : [48],
5338 "actions" : ["act_11"],
5339 "base_default_next" : "node_44",
5340 "next_tables" : {
5341 "act_11" : "node_44"
5342 },
5343 "default_entry" : {
5344 "action_id" : 48,
5345 "action_const" : true,
5346 "action_data" : [],
5347 "action_entry_const" : true
5348 }
5349 },
5350 {
5351 "name" : "tbl_act_13",
5352 "id" : 25,
5353 "key" : [],
5354 "match_type" : "exact",
5355 "type" : "simple",
5356 "max_size" : 1024,
5357 "with_counters" : false,
5358 "support_timeout" : false,
5359 "direct_meters" : null,
5360 "action_ids" : [49],
5361 "actions" : ["act_12"],
5362 "base_default_next" : "node_44",
5363 "next_tables" : {
5364 "act_12" : "node_44"
5365 },
5366 "default_entry" : {
5367 "action_id" : 49,
5368 "action_const" : true,
5369 "action_data" : [],
5370 "action_entry_const" : true
5371 }
5372 },
5373 {
5374 "name" : "tbl_act_14",
5375 "id" : 26,
5376 "source_info" : {
5377 "filename" : "include/bng.p4",
5378 "line" : 124,
5379 "column" : 12,
5380 "source_fragment" : "return"
5381 },
5382 "key" : [],
5383 "match_type" : "exact",
5384 "type" : "simple",
5385 "max_size" : 1024,
5386 "with_counters" : false,
5387 "support_timeout" : false,
5388 "direct_meters" : null,
5389 "action_ids" : [51],
5390 "actions" : ["act_14"],
5391 "base_default_next" : "node_46",
5392 "next_tables" : {
5393 "act_14" : "node_46"
5394 },
5395 "default_entry" : {
5396 "action_id" : 51,
5397 "action_const" : true,
5398 "action_data" : [],
5399 "action_entry_const" : true
5400 }
5401 },
5402 {
5403 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
5404 "id" : 27,
5405 "source_info" : {
5406 "filename" : "include/bng.p4",
5407 "line" : 85,
5408 "column" : 10,
5409 "source_fragment" : "t_pppoe_term_v4"
5410 },
5411 "key" : [
5412 {
5413 "match_type" : "exact",
5414 "name" : "line_id",
5415 "target" : ["scalars", "fabric_metadata_t._bng_line_id24"],
5416 "mask" : null
5417 },
5418 {
5419 "match_type" : "exact",
5420 "name" : "ipv4_src",
5421 "target" : ["ipv4", "src_addr"],
5422 "mask" : null
5423 },
5424 {
5425 "match_type" : "exact",
5426 "name" : "pppoe_session_id",
5427 "target" : ["pppoe", "session_id"],
5428 "mask" : null
5429 }
5430 ],
5431 "match_type" : "exact",
5432 "type" : "simple",
5433 "max_size" : 32768,
5434 "with_counters" : false,
5435 "support_timeout" : false,
5436 "direct_meters" : null,
5437 "action_ids" : [11, 10],
5438 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
5439 "base_default_next" : null,
5440 "next_tables" : {
5441 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_act_15",
5442 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
5443 },
5444 "default_entry" : {
5445 "action_id" : 10,
5446 "action_const" : true,
5447 "action_data" : [],
5448 "action_entry_const" : true
5449 }
5450 },
5451 {
5452 "name" : "tbl_act_15",
5453 "id" : 28,
5454 "source_info" : {
5455 "filename" : "include/bng.p4",
5456 "line" : 129,
5457 "column" : 20,
5458 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
5459 },
5460 "key" : [],
5461 "match_type" : "exact",
5462 "type" : "simple",
5463 "max_size" : 1024,
5464 "with_counters" : false,
5465 "support_timeout" : false,
5466 "direct_meters" : null,
5467 "action_ids" : [52],
5468 "actions" : ["act_15"],
5469 "base_default_next" : null,
5470 "next_tables" : {
5471 "act_15" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005472 },
5473 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005474 "action_id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005475 "action_const" : true,
5476 "action_data" : [],
5477 "action_entry_const" : true
5478 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07005479 },
5480 {
5481 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
5482 "id" : 29,
5483 "source_info" : {
5484 "filename" : "include/bng.p4",
5485 "line" : 167,
5486 "column" : 10,
5487 "source_fragment" : "t_line_session_map"
5488 },
5489 "key" : [
5490 {
5491 "match_type" : "exact",
5492 "name" : "line_id",
5493 "target" : ["scalars", "fabric_metadata_t._bng_line_id24"],
5494 "mask" : null
5495 }
5496 ],
5497 "match_type" : "exact",
5498 "type" : "simple",
5499 "max_size" : 8192,
5500 "with_counters" : false,
5501 "support_timeout" : false,
5502 "direct_meters" : null,
5503 "action_ids" : [1, 12, 13],
5504 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
5505 "base_default_next" : null,
5506 "next_tables" : {
5507 "__HIT__" : "tbl_act_16",
5508 "__MISS__" : "tbl_act_17"
5509 },
5510 "default_entry" : {
5511 "action_id" : 1,
5512 "action_const" : true,
5513 "action_data" : [],
5514 "action_entry_const" : true
5515 }
5516 },
5517 {
5518 "name" : "tbl_act_16",
5519 "id" : 30,
5520 "key" : [],
5521 "match_type" : "exact",
5522 "type" : "simple",
5523 "max_size" : 1024,
5524 "with_counters" : false,
5525 "support_timeout" : false,
5526 "direct_meters" : null,
5527 "action_ids" : [53],
5528 "actions" : ["act_16"],
5529 "base_default_next" : "node_53",
5530 "next_tables" : {
5531 "act_16" : "node_53"
5532 },
5533 "default_entry" : {
5534 "action_id" : 53,
5535 "action_const" : true,
5536 "action_data" : [],
5537 "action_entry_const" : true
5538 }
5539 },
5540 {
5541 "name" : "tbl_act_17",
5542 "id" : 31,
5543 "key" : [],
5544 "match_type" : "exact",
5545 "type" : "simple",
5546 "max_size" : 1024,
5547 "with_counters" : false,
5548 "support_timeout" : false,
5549 "direct_meters" : null,
5550 "action_ids" : [54],
5551 "actions" : ["act_17"],
5552 "base_default_next" : "node_53",
5553 "next_tables" : {
5554 "act_17" : "node_53"
5555 },
5556 "default_entry" : {
5557 "action_id" : 54,
5558 "action_const" : true,
5559 "action_data" : [],
5560 "action_entry_const" : true
5561 }
5562 },
5563 {
5564 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
5565 "id" : 32,
5566 "source_info" : {
5567 "filename" : "include/bng.p4",
5568 "line" : 192,
5569 "column" : 10,
5570 "source_fragment" : "t_qos_v4"
5571 },
5572 "key" : [
5573 {
5574 "match_type" : "ternary",
5575 "name" : "line_id",
5576 "target" : ["scalars", "fabric_metadata_t._bng_line_id24"],
5577 "mask" : null
5578 },
5579 {
5580 "match_type" : "lpm",
5581 "name" : "ipv4_src",
5582 "target" : ["ipv4", "src_addr"],
5583 "mask" : null
5584 },
5585 {
5586 "match_type" : "ternary",
5587 "name" : "ipv4_dscp",
5588 "target" : ["ipv4", "dscp"],
5589 "mask" : null
5590 },
5591 {
5592 "match_type" : "ternary",
5593 "name" : "ipv4_ecn",
5594 "target" : ["ipv4", "ecn"],
5595 "mask" : null
5596 }
5597 ],
5598 "match_type" : "ternary",
5599 "type" : "simple",
5600 "max_size" : 256,
5601 "with_counters" : false,
5602 "support_timeout" : false,
5603 "direct_meters" : null,
5604 "action_ids" : [14, 15],
5605 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
5606 "base_default_next" : null,
5607 "next_tables" : {
5608 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_act_18",
5609 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_act_19"
5610 },
5611 "default_entry" : {
5612 "action_id" : 15,
5613 "action_const" : true,
5614 "action_data" : [],
5615 "action_entry_const" : true
5616 }
5617 },
5618 {
5619 "name" : "tbl_act_18",
5620 "id" : 33,
5621 "source_info" : {
5622 "filename" : "include/bng.p4",
5623 "line" : 236,
5624 "column" : 24,
5625 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5626 },
5627 "key" : [],
5628 "match_type" : "exact",
5629 "type" : "simple",
5630 "max_size" : 1024,
5631 "with_counters" : false,
5632 "support_timeout" : false,
5633 "direct_meters" : null,
5634 "action_ids" : [55],
5635 "actions" : ["act_18"],
5636 "base_default_next" : null,
5637 "next_tables" : {
5638 "act_18" : null
5639 },
5640 "default_entry" : {
5641 "action_id" : 55,
5642 "action_const" : true,
5643 "action_data" : [],
5644 "action_entry_const" : true
5645 }
5646 },
5647 {
5648 "name" : "tbl_act_19",
5649 "id" : 34,
5650 "source_info" : {
5651 "filename" : "include/bng.p4",
5652 "line" : 239,
5653 "column" : 24,
5654 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5655 },
5656 "key" : [],
5657 "match_type" : "exact",
5658 "type" : "simple",
5659 "max_size" : 1024,
5660 "with_counters" : false,
5661 "support_timeout" : false,
5662 "direct_meters" : null,
5663 "action_ids" : [56],
5664 "actions" : ["act_19"],
5665 "base_default_next" : null,
5666 "next_tables" : {
5667 "act_19" : null
5668 },
5669 "default_entry" : {
5670 "action_id" : 56,
5671 "action_const" : true,
5672 "action_data" : [],
5673 "action_entry_const" : true
5674 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005675 }
5676 ],
5677 "action_profiles" : [
5678 {
5679 "name" : "FabricIngress.next.hashed_selector",
5680 "id" : 0,
5681 "source_info" : {
5682 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005683 "line" : 177,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005684 "column" : 57,
5685 "source_fragment" : "hashed_selector"
5686 },
5687 "max_size" : 1024,
5688 "selector" : {
5689 "algo" : "crc16",
5690 "input" : [
5691 {
5692 "type" : "field",
5693 "value" : ["ipv4", "dst_addr"]
5694 },
5695 {
5696 "type" : "field",
5697 "value" : ["ipv4", "src_addr"]
5698 },
5699 {
5700 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005701 "value" : ["scalars", "fabric_metadata_t._ip_proto20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005702 },
5703 {
5704 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005705 "value" : ["scalars", "fabric_metadata_t._l4_sport21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005706 },
5707 {
5708 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005709 "value" : ["scalars", "fabric_metadata_t._l4_dport22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005710 }
5711 ]
5712 }
5713 }
5714 ],
5715 "conditionals" : [
5716 {
5717 "name" : "node_2",
5718 "id" : 0,
5719 "source_info" : {
5720 "filename" : "include/control/packetio.p4",
5721 "line" : 24,
5722 "column" : 12,
5723 "source_fragment" : "hdr.packet_out.isValid()"
5724 },
5725 "expression" : {
5726 "type" : "expression",
5727 "value" : {
5728 "op" : "d2b",
5729 "left" : null,
5730 "right" : {
5731 "type" : "field",
5732 "value" : ["packet_out", "$valid$"]
5733 }
5734 }
5735 },
5736 "true_next" : "tbl_act",
5737 "false_next" : "node_4"
5738 },
5739 {
5740 "name" : "node_4",
5741 "id" : 1,
5742 "source_info" : {
5743 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005744 "line" : 109,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005745 "column" : 12,
5746 "source_fragment" : "hdr.vlan_tag.isValid()"
5747 },
5748 "expression" : {
5749 "type" : "expression",
5750 "value" : {
5751 "op" : "d2b",
5752 "left" : null,
5753 "right" : {
5754 "type" : "field",
5755 "value" : ["vlan_tag", "$valid$"]
5756 }
5757 }
5758 },
5759 "true_next" : "tbl_act_0",
5760 "false_next" : "node_6"
5761 },
5762 {
5763 "name" : "node_6",
5764 "id" : 2,
5765 "source_info" : {
5766 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005767 "line" : 115,
5768 "column" : 12,
5769 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
5770 },
5771 "expression" : {
5772 "type" : "expression",
5773 "value" : {
5774 "op" : "d2b",
5775 "left" : null,
5776 "right" : {
5777 "type" : "field",
5778 "value" : ["inner_vlan_tag", "$valid$"]
5779 }
5780 }
5781 },
5782 "true_next" : "tbl_act_1",
5783 "false_next" : "node_8"
5784 },
5785 {
5786 "name" : "node_8",
5787 "id" : 3,
5788 "source_info" : {
5789 "filename" : "include/control/filtering.p4",
5790 "line" : 121,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005791 "column" : 12,
5792 "source_fragment" : "!hdr.mpls.isValid()"
5793 },
5794 "expression" : {
5795 "type" : "expression",
5796 "value" : {
5797 "op" : "not",
5798 "left" : null,
5799 "right" : {
5800 "type" : "expression",
5801 "value" : {
5802 "op" : "d2b",
5803 "left" : null,
5804 "right" : {
5805 "type" : "field",
5806 "value" : ["mpls", "$valid$"]
5807 }
5808 }
5809 }
5810 }
5811 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005812 "true_next" : "tbl_act_2",
5813 "false_next" : "node_10"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005814 },
5815 {
5816 "name" : "node_10",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005817 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005818 "source_info" : {
5819 "filename" : "include/control/filtering.p4",
5820 "line" : 130,
5821 "column" : 12,
5822 "source_fragment" : "hdr.mpls.isValid()"
5823 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005824 "expression" : {
5825 "type" : "expression",
5826 "value" : {
5827 "op" : "d2b",
5828 "left" : null,
5829 "right" : {
5830 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005831 "value" : ["mpls", "$valid$"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005832 }
5833 }
5834 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005835 "true_next" : "tbl_act_3",
5836 "false_next" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005837 },
5838 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005839 "name" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005840 "id" : 5,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005841 "source_info" : {
5842 "filename" : "include/control/filtering.p4",
5843 "line" : 133,
5844 "column" : 16,
5845 "source_fragment" : "hdr.vlan_tag.isValid()"
5846 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005847 "expression" : {
5848 "type" : "expression",
5849 "value" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005850 "op" : "d2b",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005851 "left" : null,
5852 "right" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005853 "type" : "field",
5854 "value" : ["vlan_tag", "$valid$"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005855 }
5856 }
5857 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005858 "true_next" : "node_13",
5859 "false_next" : "tbl_act_6"
5860 },
5861 {
5862 "name" : "node_13",
5863 "id" : 6,
5864 "source_info" : {
5865 "filename" : "include/control/filtering.p4",
5866 "line" : 135,
5867 "column" : 19,
5868 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
5869 },
5870 "expression" : {
5871 "type" : "expression",
5872 "value" : {
5873 "op" : "d2b",
5874 "left" : null,
5875 "right" : {
5876 "type" : "field",
5877 "value" : ["inner_vlan_tag", "$valid$"]
5878 }
5879 }
5880 },
5881 "true_next" : "tbl_act_4",
5882 "false_next" : "tbl_act_5"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005883 },
5884 {
5885 "name" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005886 "id" : 7,
5887 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005888 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005889 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005890 "column" : 12,
5891 "source_fragment" : "fabric_metadata.skip_forwarding == false"
5892 },
5893 "expression" : {
5894 "type" : "expression",
5895 "value" : {
5896 "op" : "==",
5897 "left" : {
5898 "type" : "expression",
5899 "value" : {
5900 "op" : "d2b",
5901 "left" : null,
5902 "right" : {
5903 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005904 "value" : ["scalars", "fabric_metadata_t._skip_forwarding14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005905 }
5906 }
5907 },
5908 "right" : {
5909 "type" : "bool",
5910 "value" : false
5911 }
5912 }
5913 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005914 "true_next" : "node_20",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005915 "false_next" : "FabricIngress.acl.acl"
5916 },
5917 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005918 "name" : "node_20",
5919 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005920 "source_info" : {
5921 "filename" : "include/control/forwarding.p4",
5922 "line" : 141,
5923 "column" : 12,
5924 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
5925 },
5926 "expression" : {
5927 "type" : "expression",
5928 "value" : {
5929 "op" : "==",
5930 "left" : {
5931 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005932 "value" : ["scalars", "fabric_metadata_t._fwd_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005933 },
5934 "right" : {
5935 "type" : "hexstr",
5936 "value" : "0x00"
5937 }
5938 }
5939 },
5940 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005941 "false_next" : "node_22"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005942 },
5943 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005944 "name" : "node_22",
5945 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005946 "source_info" : {
5947 "filename" : "include/control/forwarding.p4",
5948 "line" : 142,
5949 "column" : 17,
5950 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
5951 },
5952 "expression" : {
5953 "type" : "expression",
5954 "value" : {
5955 "op" : "==",
5956 "left" : {
5957 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005958 "value" : ["scalars", "fabric_metadata_t._fwd_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005959 },
5960 "right" : {
5961 "type" : "hexstr",
5962 "value" : "0x01"
5963 }
5964 }
5965 },
5966 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005967 "false_next" : "node_24"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005968 },
5969 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005970 "name" : "node_24",
5971 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005972 "source_info" : {
5973 "filename" : "include/control/forwarding.p4",
5974 "line" : 143,
5975 "column" : 17,
5976 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
5977 },
5978 "expression" : {
5979 "type" : "expression",
5980 "value" : {
5981 "op" : "==",
5982 "left" : {
5983 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005984 "value" : ["scalars", "fabric_metadata_t._fwd_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005985 },
5986 "right" : {
5987 "type" : "hexstr",
5988 "value" : "0x02"
5989 }
5990 }
5991 },
5992 "true_next" : "FabricIngress.forwarding.routing_v4",
5993 "false_next" : "FabricIngress.acl.acl"
5994 },
5995 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005996 "name" : "node_27",
5997 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005998 "source_info" : {
5999 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006000 "line" : 75,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006001 "column" : 12,
6002 "source_fragment" : "fabric_metadata.skip_next == false"
6003 },
6004 "expression" : {
6005 "type" : "expression",
6006 "value" : {
6007 "op" : "==",
6008 "left" : {
6009 "type" : "expression",
6010 "value" : {
6011 "op" : "d2b",
6012 "left" : null,
6013 "right" : {
6014 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006015 "value" : ["scalars", "fabric_metadata_t._skip_next15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006016 }
6017 }
6018 },
6019 "right" : {
6020 "type" : "bool",
6021 "value" : false
6022 }
6023 }
6024 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006025 "true_next" : "FabricIngress.next.hashed",
6026 "false_next" : "node_35"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006027 },
6028 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006029 "name" : "node_31",
6030 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006031 "source_info" : {
6032 "filename" : "include/control/port_counter.p4",
6033 "line" : 30,
6034 "column" : 12,
6035 "source_fragment" : "standard_metadata.egress_spec < 511"
6036 },
6037 "expression" : {
6038 "type" : "expression",
6039 "value" : {
6040 "op" : "<",
6041 "left" : {
6042 "type" : "field",
6043 "value" : ["standard_metadata", "egress_spec"]
6044 },
6045 "right" : {
6046 "type" : "hexstr",
6047 "value" : "0x01ff"
6048 }
6049 }
6050 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006051 "true_next" : "tbl_act_7",
6052 "false_next" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006053 },
6054 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006055 "name" : "node_33",
6056 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006057 "source_info" : {
6058 "filename" : "include/control/port_counter.p4",
6059 "line" : 33,
6060 "column" : 12,
6061 "source_fragment" : "standard_metadata.ingress_port < 511"
6062 },
6063 "expression" : {
6064 "type" : "expression",
6065 "value" : {
6066 "op" : "<",
6067 "left" : {
6068 "type" : "field",
6069 "value" : ["standard_metadata", "ingress_port"]
6070 },
6071 "right" : {
6072 "type" : "hexstr",
6073 "value" : "0x01ff"
6074 }
6075 }
6076 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006077 "true_next" : "tbl_act_8",
6078 "false_next" : "node_35"
6079 },
6080 {
6081 "name" : "node_35",
6082 "id" : 14,
6083 "source_info" : {
6084 "filename" : "include/bng.p4",
6085 "line" : 338,
6086 "column" : 15,
6087 "source_fragment" : "hdr.pppoe.isValid()"
6088 },
6089 "expression" : {
6090 "type" : "expression",
6091 "value" : {
6092 "op" : "d2b",
6093 "left" : null,
6094 "right" : {
6095 "type" : "field",
6096 "value" : ["pppoe", "$valid$"]
6097 }
6098 }
6099 },
6100 "true_next" : "tbl_act_9",
6101 "false_next" : "tbl_act_10"
6102 },
6103 {
6104 "name" : "node_39",
6105 "id" : 15,
6106 "source_info" : {
6107 "filename" : "include/bng.p4",
6108 "line" : 352,
6109 "column" : 16,
6110 "source_fragment" : "hdr.pppoe.isValid()"
6111 },
6112 "expression" : {
6113 "type" : "expression",
6114 "value" : {
6115 "op" : "d2b",
6116 "left" : null,
6117 "right" : {
6118 "type" : "field",
6119 "value" : ["pppoe", "$valid$"]
6120 }
6121 }
6122 },
6123 "true_next" : "tbl_act_11",
6124 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
6125 },
6126 {
6127 "name" : "node_44",
6128 "id" : 16,
6129 "expression" : {
6130 "type" : "expression",
6131 "value" : {
6132 "op" : "d2b",
6133 "left" : null,
6134 "right" : {
6135 "type" : "field",
6136 "value" : ["scalars", "bng_ingress_upstream_tmp"]
6137 }
6138 }
6139 },
6140 "true_next" : "tbl_act_14",
6141 "false_next" : "node_46"
6142 },
6143 {
6144 "name" : "node_46",
6145 "id" : 17,
6146 "expression" : {
6147 "type" : "expression",
6148 "value" : {
6149 "op" : "not",
6150 "left" : null,
6151 "right" : {
6152 "type" : "expression",
6153 "value" : {
6154 "op" : "d2b",
6155 "left" : null,
6156 "right" : {
6157 "type" : "field",
6158 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
6159 }
6160 }
6161 }
6162 }
6163 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006164 "false_next" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006165 "true_next" : "node_47"
6166 },
6167 {
6168 "name" : "node_47",
6169 "id" : 18,
6170 "source_info" : {
6171 "filename" : "include/bng.p4",
6172 "line" : 126,
6173 "column" : 12,
6174 "source_fragment" : "hdr.ipv4.isValid()"
6175 },
6176 "expression" : {
6177 "type" : "expression",
6178 "value" : {
6179 "op" : "d2b",
6180 "left" : null,
6181 "right" : {
6182 "type" : "field",
6183 "value" : ["ipv4", "$valid$"]
6184 }
6185 }
6186 },
6187 "false_next" : null,
6188 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
6189 },
6190 {
6191 "name" : "node_53",
6192 "id" : 19,
6193 "expression" : {
6194 "type" : "expression",
6195 "value" : {
6196 "op" : "d2b",
6197 "left" : null,
6198 "right" : {
6199 "type" : "field",
6200 "value" : ["scalars", "bng_ingress_downstream_tmp"]
6201 }
6202 }
6203 },
6204 "false_next" : null,
6205 "true_next" : "node_54"
6206 },
6207 {
6208 "name" : "node_54",
6209 "id" : 20,
6210 "source_info" : {
6211 "filename" : "include/bng.p4",
6212 "line" : 233,
6213 "column" : 16,
6214 "source_fragment" : "hdr.ipv4.isValid()"
6215 },
6216 "expression" : {
6217 "type" : "expression",
6218 "value" : {
6219 "op" : "d2b",
6220 "left" : null,
6221 "right" : {
6222 "type" : "field",
6223 "value" : ["ipv4", "$valid$"]
6224 }
6225 }
6226 },
6227 "false_next" : null,
6228 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006229 }
6230 ]
6231 },
6232 {
6233 "name" : "egress",
6234 "id" : 1,
6235 "source_info" : {
6236 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006237 "line" : 93,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006238 "column" : 8,
6239 "source_fragment" : "FabricEgress"
6240 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006241 "init_table" : "node_60",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006242 "tables" : [
6243 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006244 "name" : "tbl_act_20",
6245 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006246 "source_info" : {
6247 "filename" : "include/control/packetio.p4",
6248 "line" : 41,
6249 "column" : 12,
6250 "source_fragment" : "exit"
6251 },
6252 "key" : [],
6253 "match_type" : "exact",
6254 "type" : "simple",
6255 "max_size" : 1024,
6256 "with_counters" : false,
6257 "support_timeout" : false,
6258 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006259 "action_ids" : [65],
6260 "actions" : ["act_20"],
6261 "base_default_next" : "node_62",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006262 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006263 "act_20" : "node_62"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006264 },
6265 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006266 "action_id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006267 "action_const" : true,
6268 "action_data" : [],
6269 "action_entry_const" : true
6270 }
6271 },
6272 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006273 "name" : "tbl_act_21",
6274 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006275 "source_info" : {
6276 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006277 "line" : 44,
6278 "column" : 12,
6279 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006280 },
6281 "key" : [],
6282 "match_type" : "exact",
6283 "type" : "simple",
6284 "max_size" : 1024,
6285 "with_counters" : false,
6286 "support_timeout" : false,
6287 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006288 "action_ids" : [66],
6289 "actions" : ["act_21"],
6290 "base_default_next" : "node_64",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006291 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006292 "act_21" : "node_64"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006293 },
6294 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006295 "action_id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006296 "action_const" : true,
6297 "action_data" : [],
6298 "action_entry_const" : true
6299 }
6300 },
6301 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006302 "name" : "tbl_act_22",
6303 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006304 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006305 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006306 "line" : 334,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006307 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006308 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006309 },
6310 "key" : [],
6311 "match_type" : "exact",
6312 "type" : "simple",
6313 "max_size" : 1024,
6314 "with_counters" : false,
6315 "support_timeout" : false,
6316 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006317 "action_ids" : [67],
6318 "actions" : ["act_22"],
6319 "base_default_next" : "node_66",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006320 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006321 "act_22" : "node_66"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006322 },
6323 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006324 "action_id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006325 "action_const" : true,
6326 "action_data" : [],
6327 "action_entry_const" : true
6328 }
6329 },
6330 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006331 "name" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006332 "id" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006333 "source_info" : {
6334 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006335 "line" : 338,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006336 "column" : 36,
6337 "source_fragment" : "pop_mpls_if_present()"
6338 },
6339 "key" : [],
6340 "match_type" : "exact",
6341 "type" : "simple",
6342 "max_size" : 1024,
6343 "with_counters" : false,
6344 "support_timeout" : false,
6345 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006346 "action_ids" : [59],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006347 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006348 "base_default_next" : "node_70",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006349 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006350 "FabricEgress.egress_next.pop_mpls_if_present" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006351 },
6352 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006353 "action_id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006354 "action_const" : true,
6355 "action_data" : [],
6356 "action_entry_const" : true
6357 }
6358 },
6359 {
6360 "name" : "tbl_egress_next_set_mpls",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006361 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006362 "source_info" : {
6363 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006364 "line" : 340,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006365 "column" : 12,
6366 "source_fragment" : "set_mpls()"
6367 },
6368 "key" : [],
6369 "match_type" : "exact",
6370 "type" : "simple",
6371 "max_size" : 1024,
6372 "with_counters" : false,
6373 "support_timeout" : false,
6374 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006375 "action_ids" : [60],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006376 "actions" : ["FabricEgress.egress_next.set_mpls"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006377 "base_default_next" : "node_70",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006378 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006379 "FabricEgress.egress_next.set_mpls" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006380 },
6381 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006382 "action_id" : 60,
6383 "action_const" : true,
6384 "action_data" : [],
6385 "action_entry_const" : true
6386 }
6387 },
6388 {
6389 "name" : "tbl_egress_next_push_vlan",
6390 "id" : 40,
6391 "source_info" : {
6392 "filename" : "include/control/next.p4",
6393 "line" : 346,
6394 "column" : 12,
6395 "source_fragment" : "push_vlan()"
6396 },
6397 "key" : [],
6398 "match_type" : "exact",
6399 "type" : "simple",
6400 "max_size" : 1024,
6401 "with_counters" : false,
6402 "support_timeout" : false,
6403 "direct_meters" : null,
6404 "action_ids" : [61],
6405 "actions" : ["FabricEgress.egress_next.push_vlan"],
6406 "base_default_next" : "tbl_egress_next_push_inner_vlan",
6407 "next_tables" : {
6408 "FabricEgress.egress_next.push_vlan" : "tbl_egress_next_push_inner_vlan"
6409 },
6410 "default_entry" : {
6411 "action_id" : 61,
6412 "action_const" : true,
6413 "action_data" : [],
6414 "action_entry_const" : true
6415 }
6416 },
6417 {
6418 "name" : "tbl_egress_next_push_inner_vlan",
6419 "id" : 41,
6420 "source_info" : {
6421 "filename" : "include/control/next.p4",
6422 "line" : 347,
6423 "column" : 12,
6424 "source_fragment" : "push_inner_vlan()"
6425 },
6426 "key" : [],
6427 "match_type" : "exact",
6428 "type" : "simple",
6429 "max_size" : 1024,
6430 "with_counters" : false,
6431 "support_timeout" : false,
6432 "direct_meters" : null,
6433 "action_ids" : [63],
6434 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
6435 "base_default_next" : "node_80",
6436 "next_tables" : {
6437 "FabricEgress.egress_next.push_inner_vlan" : "node_80"
6438 },
6439 "default_entry" : {
6440 "action_id" : 63,
6441 "action_const" : true,
6442 "action_data" : [],
6443 "action_entry_const" : true
6444 }
6445 },
6446 {
6447 "name" : "tbl_act_23",
6448 "id" : 42,
6449 "source_info" : {
6450 "filename" : "include/control/next.p4",
6451 "line" : 350,
6452 "column" : 12,
6453 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
6454 },
6455 "key" : [],
6456 "match_type" : "exact",
6457 "type" : "simple",
6458 "max_size" : 1024,
6459 "with_counters" : false,
6460 "support_timeout" : false,
6461 "direct_meters" : null,
6462 "action_ids" : [70],
6463 "actions" : ["act_25"],
6464 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
6465 "next_tables" : {
6466 "act_25" : "FabricEgress.egress_next.egress_vlan"
6467 },
6468 "default_entry" : {
6469 "action_id" : 70,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006470 "action_const" : true,
6471 "action_data" : [],
6472 "action_entry_const" : true
6473 }
6474 },
6475 {
6476 "name" : "FabricEgress.egress_next.egress_vlan",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006477 "id" : 43,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006478 "source_info" : {
6479 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006480 "line" : 317,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006481 "column" : 10,
6482 "source_fragment" : "egress_vlan"
6483 },
6484 "key" : [
6485 {
6486 "match_type" : "exact",
6487 "name" : "vlan_id",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006488 "target" : ["scalars", "fabric_metadata_t._vlan_id5"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006489 "mask" : null
6490 },
6491 {
6492 "match_type" : "exact",
6493 "name" : "eg_port",
6494 "target" : ["standard_metadata", "egress_port"],
6495 "mask" : null
6496 }
6497 ],
6498 "match_type" : "exact",
6499 "type" : "simple",
6500 "max_size" : 1024,
6501 "with_counters" : true,
6502 "support_timeout" : false,
6503 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006504 "action_ids" : [64, 57],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006505 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
6506 "base_default_next" : null,
6507 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006508 "__HIT__" : "tbl_act_24",
6509 "__MISS__" : "tbl_act_25"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006510 },
6511 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006512 "action_id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006513 "action_const" : true,
6514 "action_data" : [],
6515 "action_entry_const" : true
6516 }
6517 },
6518 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006519 "name" : "tbl_act_24",
6520 "id" : 44,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006521 "key" : [],
6522 "match_type" : "exact",
6523 "type" : "simple",
6524 "max_size" : 1024,
6525 "with_counters" : false,
6526 "support_timeout" : false,
6527 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006528 "action_ids" : [68],
6529 "actions" : ["act_23"],
6530 "base_default_next" : "node_77",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006531 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006532 "act_23" : "node_77"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006533 },
6534 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006535 "action_id" : 68,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006536 "action_const" : true,
6537 "action_data" : [],
6538 "action_entry_const" : true
6539 }
6540 },
6541 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006542 "name" : "tbl_act_25",
6543 "id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006544 "key" : [],
6545 "match_type" : "exact",
6546 "type" : "simple",
6547 "max_size" : 1024,
6548 "with_counters" : false,
6549 "support_timeout" : false,
6550 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006551 "action_ids" : [69],
6552 "actions" : ["act_24"],
6553 "base_default_next" : "node_77",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006554 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006555 "act_24" : "node_77"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006556 },
6557 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006558 "action_id" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006559 "action_const" : true,
6560 "action_data" : [],
6561 "action_entry_const" : true
6562 }
6563 },
6564 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006565 "name" : "tbl_egress_next_push_vlan_0",
6566 "id" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006567 "source_info" : {
6568 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006569 "line" : 357,
6570 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006571 "source_fragment" : "push_vlan()"
6572 },
6573 "key" : [],
6574 "match_type" : "exact",
6575 "type" : "simple",
6576 "max_size" : 1024,
6577 "with_counters" : false,
6578 "support_timeout" : false,
6579 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006580 "action_ids" : [62],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006581 "actions" : ["FabricEgress.egress_next.push_vlan"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006582 "base_default_next" : "node_80",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006583 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006584 "FabricEgress.egress_next.push_vlan" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006585 },
6586 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006587 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006588 "action_const" : true,
6589 "action_data" : [],
6590 "action_entry_const" : true
6591 }
6592 },
6593 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006594 "name" : "tbl_act_26",
6595 "id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006596 "source_info" : {
6597 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006598 "line" : 366,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006599 "column" : 25,
6600 "source_fragment" : "="
6601 },
6602 "key" : [],
6603 "match_type" : "exact",
6604 "type" : "simple",
6605 "max_size" : 1024,
6606 "with_counters" : false,
6607 "support_timeout" : false,
6608 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006609 "action_ids" : [72],
6610 "actions" : ["act_27"],
6611 "base_default_next" : "node_82",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006612 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006613 "act_27" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006614 },
6615 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006616 "action_id" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006617 "action_const" : true,
6618 "action_data" : [],
6619 "action_entry_const" : true
6620 }
6621 },
6622 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006623 "name" : "tbl_act_27",
6624 "id" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006625 "source_info" : {
6626 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006627 "line" : 367,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006628 "column" : 35,
6629 "source_fragment" : "mark_to_drop(standard_metadata)"
6630 },
6631 "key" : [],
6632 "match_type" : "exact",
6633 "type" : "simple",
6634 "max_size" : 1024,
6635 "with_counters" : false,
6636 "support_timeout" : false,
6637 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006638 "action_ids" : [71],
6639 "actions" : ["act_26"],
6640 "base_default_next" : "node_88",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006641 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006642 "act_26" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006643 },
6644 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006645 "action_id" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006646 "action_const" : true,
6647 "action_data" : [],
6648 "action_entry_const" : true
6649 }
6650 },
6651 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006652 "name" : "tbl_act_28",
6653 "id" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006654 "source_info" : {
6655 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006656 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006657 "column" : 29,
6658 "source_fragment" : "="
6659 },
6660 "key" : [],
6661 "match_type" : "exact",
6662 "type" : "simple",
6663 "max_size" : 1024,
6664 "with_counters" : false,
6665 "support_timeout" : false,
6666 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006667 "action_ids" : [74],
6668 "actions" : ["act_29"],
6669 "base_default_next" : "node_86",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006670 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006671 "act_29" : "node_86"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006672 },
6673 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006674 "action_id" : 74,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006675 "action_const" : true,
6676 "action_data" : [],
6677 "action_entry_const" : true
6678 }
6679 },
6680 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006681 "name" : "tbl_act_29",
6682 "id" : 50,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006683 "source_info" : {
6684 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006685 "line" : 371,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006686 "column" : 39,
6687 "source_fragment" : "mark_to_drop(standard_metadata)"
6688 },
6689 "key" : [],
6690 "match_type" : "exact",
6691 "type" : "simple",
6692 "max_size" : 1024,
6693 "with_counters" : false,
6694 "support_timeout" : false,
6695 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006696 "action_ids" : [73],
6697 "actions" : ["act_28"],
6698 "base_default_next" : "node_88",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006699 "next_tables" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006700 "act_28" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006701 },
6702 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006703 "action_id" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006704 "action_const" : true,
6705 "action_data" : [],
6706 "action_entry_const" : true
6707 }
6708 },
6709 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006710 "name" : "tbl_bng_egress_downstream_encap_v4",
6711 "id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006712 "source_info" : {
6713 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006714 "line" : 295,
6715 "column" : 12,
6716 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006717 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006718 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006719 "match_type" : "exact",
6720 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006721 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006722 "with_counters" : false,
6723 "support_timeout" : false,
6724 "direct_meters" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006725 "action_ids" : [58],
6726 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006727 "base_default_next" : null,
6728 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006729 "FabricEgress.bng_egress.downstream.encap_v4" : null
6730 },
6731 "default_entry" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006732 "action_id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006733 "action_const" : true,
6734 "action_data" : [],
6735 "action_entry_const" : true
6736 }
6737 }
6738 ],
6739 "action_profiles" : [],
6740 "conditionals" : [
6741 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006742 "name" : "node_60",
6743 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006744 "source_info" : {
6745 "filename" : "include/control/packetio.p4",
6746 "line" : 39,
6747 "column" : 12,
6748 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
6749 },
6750 "expression" : {
6751 "type" : "expression",
6752 "value" : {
6753 "op" : "==",
6754 "left" : {
6755 "type" : "expression",
6756 "value" : {
6757 "op" : "d2b",
6758 "left" : null,
6759 "right" : {
6760 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006761 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006762 }
6763 }
6764 },
6765 "right" : {
6766 "type" : "bool",
6767 "value" : true
6768 }
6769 }
6770 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006771 "true_next" : "tbl_act_20",
6772 "false_next" : "node_62"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006773 },
6774 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006775 "name" : "node_62",
6776 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006777 "source_info" : {
6778 "filename" : "include/control/packetio.p4",
6779 "line" : 43,
6780 "column" : 12,
6781 "source_fragment" : "standard_metadata.egress_port == 255"
6782 },
6783 "expression" : {
6784 "type" : "expression",
6785 "value" : {
6786 "op" : "==",
6787 "left" : {
6788 "type" : "field",
6789 "value" : ["standard_metadata", "egress_port"]
6790 },
6791 "right" : {
6792 "type" : "hexstr",
6793 "value" : "0x00ff"
6794 }
6795 }
6796 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006797 "true_next" : "tbl_act_21",
6798 "false_next" : "node_64"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006799 },
6800 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006801 "name" : "node_64",
6802 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006803 "source_info" : {
6804 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006805 "line" : 332,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006806 "column" : 12,
6807 "source_fragment" : "fabric_metadata.is_multicast == true ..."
6808 },
6809 "expression" : {
6810 "type" : "expression",
6811 "value" : {
6812 "op" : "and",
6813 "left" : {
6814 "type" : "expression",
6815 "value" : {
6816 "op" : "==",
6817 "left" : {
6818 "type" : "expression",
6819 "value" : {
6820 "op" : "d2b",
6821 "left" : null,
6822 "right" : {
6823 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006824 "value" : ["scalars", "fabric_metadata_t._is_multicast18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006825 }
6826 }
6827 },
6828 "right" : {
6829 "type" : "bool",
6830 "value" : true
6831 }
6832 }
6833 },
6834 "right" : {
6835 "type" : "expression",
6836 "value" : {
6837 "op" : "==",
6838 "left" : {
6839 "type" : "field",
6840 "value" : ["standard_metadata", "ingress_port"]
6841 },
6842 "right" : {
6843 "type" : "field",
6844 "value" : ["standard_metadata", "egress_port"]
6845 }
6846 }
6847 }
6848 }
6849 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006850 "true_next" : "tbl_act_22",
6851 "false_next" : "node_66"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006852 },
6853 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006854 "name" : "node_66",
6855 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006856 "source_info" : {
6857 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006858 "line" : 337,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006859 "column" : 12,
6860 "source_fragment" : "fabric_metadata.mpls_label == 0"
6861 },
6862 "expression" : {
6863 "type" : "expression",
6864 "value" : {
6865 "op" : "==",
6866 "left" : {
6867 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006868 "value" : ["scalars", "fabric_metadata_t._mpls_label12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006869 },
6870 "right" : {
6871 "type" : "hexstr",
6872 "value" : "0x000000"
6873 }
6874 }
6875 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006876 "true_next" : "node_67",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006877 "false_next" : "tbl_egress_next_set_mpls"
6878 },
6879 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006880 "name" : "node_67",
6881 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006882 "source_info" : {
6883 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006884 "line" : 338,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006885 "column" : 16,
6886 "source_fragment" : "hdr.mpls.isValid()"
6887 },
6888 "expression" : {
6889 "type" : "expression",
6890 "value" : {
6891 "op" : "d2b",
6892 "left" : null,
6893 "right" : {
6894 "type" : "field",
6895 "value" : ["mpls", "$valid$"]
6896 }
6897 }
6898 },
6899 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006900 "false_next" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006901 },
6902 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006903 "name" : "node_70",
6904 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006905 "source_info" : {
6906 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006907 "line" : 344,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006908 "column" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006909 "source_fragment" : "fabric_metadata.push_double_vlan == true"
6910 },
6911 "expression" : {
6912 "type" : "expression",
6913 "value" : {
6914 "op" : "==",
6915 "left" : {
6916 "type" : "expression",
6917 "value" : {
6918 "op" : "d2b",
6919 "left" : null,
6920 "right" : {
6921 "type" : "field",
6922 "value" : ["scalars", "fabric_metadata_t._push_double_vlan8"]
6923 }
6924 }
6925 },
6926 "right" : {
6927 "type" : "bool",
6928 "value" : true
6929 }
6930 }
6931 },
6932 "true_next" : "tbl_egress_next_push_vlan",
6933 "false_next" : "tbl_act_23"
6934 },
6935 {
6936 "name" : "node_77",
6937 "id" : 27,
6938 "source_info" : {
6939 "filename" : "include/control/next.p4",
6940 "line" : 354,
6941 "column" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006942 "source_fragment" : "!egress_vlan.apply().hit"
6943 },
6944 "expression" : {
6945 "type" : "expression",
6946 "value" : {
6947 "op" : "not",
6948 "left" : null,
6949 "right" : {
6950 "type" : "expression",
6951 "value" : {
6952 "op" : "d2b",
6953 "left" : null,
6954 "right" : {
6955 "type" : "field",
6956 "value" : ["scalars", "egress_next_tmp"]
6957 }
6958 }
6959 }
6960 }
6961 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006962 "true_next" : "node_78",
6963 "false_next" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006964 },
6965 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006966 "name" : "node_78",
6967 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006968 "source_info" : {
6969 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006970 "line" : 356,
6971 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006972 "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
6973 },
6974 "expression" : {
6975 "type" : "expression",
6976 "value" : {
6977 "op" : "!=",
6978 "left" : {
6979 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006980 "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006981 },
6982 "right" : {
6983 "type" : "hexstr",
6984 "value" : "0x0ffe"
6985 }
6986 }
6987 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006988 "true_next" : "tbl_egress_next_push_vlan_0",
6989 "false_next" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006990 },
6991 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006992 "name" : "node_80",
6993 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006994 "source_info" : {
6995 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006996 "line" : 365,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006997 "column" : 12,
6998 "source_fragment" : "hdr.mpls.isValid()"
6999 },
7000 "expression" : {
7001 "type" : "expression",
7002 "value" : {
7003 "op" : "d2b",
7004 "left" : null,
7005 "right" : {
7006 "type" : "field",
7007 "value" : ["mpls", "$valid$"]
7008 }
7009 }
7010 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007011 "true_next" : "tbl_act_26",
7012 "false_next" : "node_84"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007013 },
7014 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007015 "name" : "node_82",
7016 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007017 "source_info" : {
7018 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007019 "line" : 367,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007020 "column" : 16,
7021 "source_fragment" : "hdr.mpls.ttl == 0"
7022 },
7023 "expression" : {
7024 "type" : "expression",
7025 "value" : {
7026 "op" : "==",
7027 "left" : {
7028 "type" : "field",
7029 "value" : ["mpls", "ttl"]
7030 },
7031 "right" : {
7032 "type" : "hexstr",
7033 "value" : "0x00"
7034 }
7035 }
7036 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007037 "true_next" : "tbl_act_27",
7038 "false_next" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007039 },
7040 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007041 "name" : "node_84",
7042 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007043 "source_info" : {
7044 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007045 "line" : 369,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007046 "column" : 15,
7047 "source_fragment" : "hdr.ipv4.isValid()"
7048 },
7049 "expression" : {
7050 "type" : "expression",
7051 "value" : {
7052 "op" : "d2b",
7053 "left" : null,
7054 "right" : {
7055 "type" : "field",
7056 "value" : ["ipv4", "$valid$"]
7057 }
7058 }
7059 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007060 "true_next" : "tbl_act_28",
7061 "false_next" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007062 },
7063 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007064 "name" : "node_86",
7065 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007066 "source_info" : {
7067 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007068 "line" : 371,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007069 "column" : 20,
7070 "source_fragment" : "hdr.ipv4.ttl == 0"
7071 },
7072 "expression" : {
7073 "type" : "expression",
7074 "value" : {
7075 "op" : "==",
7076 "left" : {
7077 "type" : "field",
7078 "value" : ["ipv4", "ttl"]
7079 },
7080 "right" : {
7081 "type" : "hexstr",
7082 "value" : "0x00"
7083 }
7084 }
7085 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007086 "true_next" : "tbl_act_29",
7087 "false_next" : "node_88"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007088 },
7089 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007090 "name" : "node_88",
7091 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007092 "source_info" : {
7093 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007094 "line" : 369,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007095 "column" : 12,
7096 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
7097 },
7098 "expression" : {
7099 "type" : "expression",
7100 "value" : {
7101 "op" : "==",
7102 "left" : {
7103 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007104 "value" : ["scalars", "fabric_metadata_t._bng_type23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007105 },
7106 "right" : {
7107 "type" : "hexstr",
7108 "value" : "0x02"
7109 }
7110 }
7111 },
7112 "false_next" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007113 "true_next" : "node_89"
7114 },
7115 {
7116 "name" : "node_89",
7117 "id" : 34,
7118 "source_info" : {
7119 "filename" : "include/bng.p4",
7120 "line" : 294,
7121 "column" : 12,
7122 "source_fragment" : "hdr.ipv4.isValid()"
7123 },
7124 "expression" : {
7125 "type" : "expression",
7126 "value" : {
7127 "op" : "d2b",
7128 "left" : null,
7129 "right" : {
7130 "type" : "field",
7131 "value" : ["ipv4", "$valid$"]
7132 }
7133 }
7134 },
7135 "false_next" : null,
7136 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007137 }
7138 ]
7139 }
7140 ],
7141 "checksums" : [
7142 {
7143 "name" : "cksum",
7144 "id" : 0,
7145 "source_info" : {
7146 "filename" : "include/checksum.p4",
7147 "line" : 28,
7148 "column" : 8,
7149 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
7150 },
7151 "target" : ["ipv4", "hdr_checksum"],
7152 "type" : "generic",
7153 "calculation" : "calc",
7154 "verify" : false,
7155 "update" : true,
7156 "if_cond" : {
7157 "type" : "expression",
7158 "value" : {
7159 "op" : "d2b",
7160 "left" : null,
7161 "right" : {
7162 "type" : "field",
7163 "value" : ["ipv4", "$valid$"]
7164 }
7165 }
7166 }
7167 },
7168 {
7169 "name" : "cksum_0",
7170 "id" : 1,
7171 "source_info" : {
7172 "filename" : "include/checksum.p4",
7173 "line" : 57,
7174 "column" : 8,
7175 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
7176 },
7177 "target" : ["ipv4", "hdr_checksum"],
7178 "type" : "generic",
7179 "calculation" : "calc_0",
7180 "verify" : true,
7181 "update" : false,
7182 "if_cond" : {
7183 "type" : "expression",
7184 "value" : {
7185 "op" : "d2b",
7186 "left" : null,
7187 "right" : {
7188 "type" : "field",
7189 "value" : ["ipv4", "$valid$"]
7190 }
7191 }
7192 }
7193 }
7194 ],
7195 "force_arith" : [],
7196 "extern_instances" : [],
7197 "field_aliases" : [
7198 [
7199 "queueing_metadata.enq_timestamp",
7200 ["standard_metadata", "enq_timestamp"]
7201 ],
7202 [
7203 "queueing_metadata.enq_qdepth",
7204 ["standard_metadata", "enq_qdepth"]
7205 ],
7206 [
7207 "queueing_metadata.deq_timedelta",
7208 ["standard_metadata", "deq_timedelta"]
7209 ],
7210 [
7211 "queueing_metadata.deq_qdepth",
7212 ["standard_metadata", "deq_qdepth"]
7213 ],
7214 [
7215 "intrinsic_metadata.ingress_global_timestamp",
7216 ["standard_metadata", "ingress_global_timestamp"]
7217 ],
7218 [
7219 "intrinsic_metadata.egress_global_timestamp",
7220 ["standard_metadata", "egress_global_timestamp"]
7221 ],
7222 [
7223 "intrinsic_metadata.lf_field_list",
7224 ["standard_metadata", "lf_field_list"]
7225 ],
7226 [
7227 "intrinsic_metadata.mcast_grp",
7228 ["standard_metadata", "mcast_grp"]
7229 ],
7230 [
7231 "intrinsic_metadata.resubmit_flag",
7232 ["standard_metadata", "resubmit_flag"]
7233 ],
7234 [
7235 "intrinsic_metadata.egress_rid",
7236 ["standard_metadata", "egress_rid"]
7237 ],
7238 [
7239 "intrinsic_metadata.recirculate_flag",
7240 ["standard_metadata", "recirculate_flag"]
7241 ],
7242 [
7243 "intrinsic_metadata.priority",
7244 ["standard_metadata", "priority"]
7245 ]
7246 ],
7247 "program" : "fabric.p4",
7248 "__meta__" : {
7249 "version" : [2, 18],
7250 "compiler" : "https://github.com/p4lang/p4c"
7251 }
7252}