blob: 19b8530ee1baef49868fb9e7ab70bfbba33ceab5 [file] [log] [blame]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007 ["tmp_0", 1, false],
8 ["tmp_1", 16, false],
9 ["tmp_3", 16, false],
10 ["tmp_5", 4, false],
11 ["tmp_6", 16, false],
pierventre48e78822020-12-15 17:34:54 +010012 ["tmp_2", 32, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020013 ["tmp_4", 32, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070014 ["bng_ingress_upstream_hasReturned", 1, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020015 ["userMetadata._ip_eth_type0", 16, false],
16 ["userMetadata._vlan_id1", 12, false],
17 ["userMetadata._vlan_pri2", 3, false],
18 ["userMetadata._vlan_cfi3", 1, false],
19 ["userMetadata._push_double_vlan4", 1, false],
20 ["userMetadata._inner_vlan_id5", 12, false],
21 ["userMetadata._inner_vlan_pri6", 3, false],
22 ["userMetadata._inner_vlan_cfi7", 1, false],
23 ["userMetadata._mpls_label8", 20, false],
24 ["userMetadata._mpls_ttl9", 8, false],
25 ["userMetadata._skip_forwarding10", 1, false],
26 ["userMetadata._skip_next11", 1, false],
27 ["userMetadata._fwd_type12", 3, false],
28 ["userMetadata._next_id13", 32, false],
29 ["userMetadata._is_multicast14", 1, false],
30 ["userMetadata._is_controller_packet_out15", 1, false],
31 ["userMetadata._ip_proto16", 8, false],
32 ["userMetadata._l4_sport17", 16, false],
33 ["userMetadata._l4_dport18", 16, false],
34 ["userMetadata._ipv4_src_addr19", 32, false],
35 ["userMetadata._ipv4_dst_addr20", 32, false],
36 ["userMetadata._bng_type21", 2, false],
37 ["userMetadata._bng_line_id22", 32, false],
38 ["userMetadata._bng_pppoe_session_id23", 16, false],
39 ["userMetadata._bng_ds_meter_result24", 32, false],
40 ["userMetadata._bng_s_tag25", 12, false],
41 ["userMetadata._bng_c_tag26", 12, false],
42 ["_padding_0", 4, false]
43 ]
44 },
45 {
46 "name" : "packet_out_header_t",
47 "id" : 1,
48 "fields" : [
49 ["egress_port", 9, false],
50 ["do_forwarding", 1, false],
51 ["_pad", 6, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070052 ]
53 },
54 {
55 "name" : "standard_metadata",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020056 "id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070057 "fields" : [
58 ["ingress_port", 9, false],
59 ["egress_spec", 9, false],
60 ["egress_port", 9, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070061 ["instance_type", 32, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070062 ["packet_length", 32, false],
63 ["enq_timestamp", 32, false],
64 ["enq_qdepth", 19, false],
65 ["deq_timedelta", 32, false],
66 ["deq_qdepth", 19, false],
67 ["ingress_global_timestamp", 48, false],
68 ["egress_global_timestamp", 48, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070069 ["mcast_grp", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070070 ["egress_rid", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070071 ["checksum_error", 1, false],
72 ["parser_error", 32, false],
73 ["priority", 3, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020074 ["_padding", 3, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070075 ]
76 },
77 {
78 "name" : "ethernet_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020079 "id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070080 "fields" : [
81 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070082 ["src_addr", 48, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070083 ]
84 },
85 {
86 "name" : "vlan_tag_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020087 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070088 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -070089 ["eth_type", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070090 ["pri", 3, false],
91 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070092 ["vlan_id", 12, false]
93 ]
94 },
95 {
96 "name" : "eth_type_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020097 "id" : 5,
Daniele Moro5a2de712019-09-24 14:34:07 -070098 "fields" : [
99 ["value", 16, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700100 ]
101 },
102 {
103 "name" : "pppoe_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200104 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700105 "fields" : [
106 ["version", 4, false],
107 ["type_id", 4, false],
108 ["code", 8, false],
109 ["session_id", 16, false],
110 ["length", 16, false],
111 ["protocol", 16, false]
112 ]
113 },
114 {
115 "name" : "mpls_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200116 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700117 "fields" : [
118 ["label", 20, false],
119 ["tc", 3, false],
120 ["bos", 1, false],
121 ["ttl", 8, false]
122 ]
123 },
124 {
125 "name" : "ipv4_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200126 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700127 "fields" : [
128 ["version", 4, false],
129 ["ihl", 4, false],
130 ["dscp", 6, false],
131 ["ecn", 2, false],
132 ["total_len", 16, false],
133 ["identification", 16, false],
134 ["flags", 3, false],
135 ["frag_offset", 13, false],
136 ["ttl", 8, false],
137 ["protocol", 8, false],
138 ["hdr_checksum", 16, false],
139 ["src_addr", 32, false],
140 ["dst_addr", 32, false]
141 ]
142 },
143 {
144 "name" : "tcp_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200145 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700146 "fields" : [
147 ["sport", 16, false],
148 ["dport", 16, false],
149 ["seq_no", 32, false],
150 ["ack_no", 32, false],
151 ["data_offset", 4, false],
152 ["res", 3, false],
153 ["ecn", 3, false],
154 ["ctrl", 6, false],
155 ["window", 16, false],
156 ["checksum", 16, false],
157 ["urgent_ptr", 16, false]
158 ]
159 },
160 {
161 "name" : "udp_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200162 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700163 "fields" : [
164 ["sport", 16, false],
165 ["dport", 16, false],
166 ["len", 16, false],
167 ["checksum", 16, false]
168 ]
169 },
170 {
171 "name" : "icmp_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200172 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700173 "fields" : [
174 ["icmp_type", 8, false],
175 ["icmp_code", 8, false],
176 ["checksum", 16, false],
177 ["identifier", 16, false],
178 ["sequence_number", 16, false],
179 ["timestamp", 64, false]
180 ]
181 },
182 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700183 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700184 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700185 "fields" : [
186 ["ingress_port", 9, false],
187 ["_pad", 7, false]
188 ]
189 }
190 ],
191 "headers" : [
192 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200193 "name" : "tmp",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700194 "id" : 0,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200195 "header_type" : "packet_out_header_t",
196 "metadata" : false,
197 "pi_omit" : true
198 },
199 {
200 "name" : "scalars",
201 "id" : 1,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700202 "header_type" : "scalars_0",
203 "metadata" : true,
204 "pi_omit" : true
205 },
206 {
207 "name" : "standard_metadata",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200208 "id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700209 "header_type" : "standard_metadata",
210 "metadata" : true,
211 "pi_omit" : true
212 },
213 {
214 "name" : "ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200215 "id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700216 "header_type" : "ethernet_t",
217 "metadata" : false,
218 "pi_omit" : true
219 },
220 {
221 "name" : "vlan_tag",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700222 "id" : 4,
223 "header_type" : "vlan_tag_t",
224 "metadata" : false,
225 "pi_omit" : true
226 },
227 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200228 "name" : "inner_vlan_tag",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700229 "id" : 5,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200230 "header_type" : "vlan_tag_t",
231 "metadata" : false,
232 "pi_omit" : true
233 },
234 {
235 "name" : "eth_type",
236 "id" : 6,
Daniele Moro5a2de712019-09-24 14:34:07 -0700237 "header_type" : "eth_type_t",
238 "metadata" : false,
239 "pi_omit" : true
240 },
241 {
242 "name" : "pppoe",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200243 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700244 "header_type" : "pppoe_t",
245 "metadata" : false,
246 "pi_omit" : true
247 },
248 {
249 "name" : "mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200250 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700251 "header_type" : "mpls_t",
252 "metadata" : false,
253 "pi_omit" : true
254 },
255 {
256 "name" : "ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200257 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700258 "header_type" : "ipv4_t",
259 "metadata" : false,
260 "pi_omit" : true
261 },
262 {
263 "name" : "tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200264 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700265 "header_type" : "tcp_t",
266 "metadata" : false,
267 "pi_omit" : true
268 },
269 {
270 "name" : "udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200271 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700272 "header_type" : "udp_t",
273 "metadata" : false,
274 "pi_omit" : true
275 },
276 {
277 "name" : "icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200278 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700279 "header_type" : "icmp_t",
280 "metadata" : false,
281 "pi_omit" : true
282 },
283 {
284 "name" : "packet_out",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200285 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700286 "header_type" : "packet_out_header_t",
287 "metadata" : false,
288 "pi_omit" : true
289 },
290 {
291 "name" : "packet_in",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200292 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700293 "header_type" : "packet_in_header_t",
294 "metadata" : false,
295 "pi_omit" : true
296 }
297 ],
298 "header_stacks" : [],
299 "header_union_types" : [],
300 "header_unions" : [],
301 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700302 "field_lists" : [
303 {
304 "id" : 1,
305 "name" : "fl",
306 "source_info" : {
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700307 "filename" : "include/control/acl.p4",
308 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700309 "column" : 40,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700310 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700311 },
312 "elements" : [
313 {
314 "type" : "field",
315 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700316 }
317 ]
318 }
319 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700320 "errors" : [
321 ["NoError", 1],
322 ["PacketTooShort", 2],
323 ["NoMatch", 3],
324 ["StackOutOfBounds", 4],
325 ["HeaderTooShort", 5],
326 ["ParserTimeout", 6],
327 ["ParserInvalidArgument", 7]
328 ],
329 "enums" : [],
330 "parsers" : [
331 {
332 "name" : "parser",
333 "id" : 0,
334 "init_state" : "start",
335 "parse_states" : [
336 {
337 "name" : "start",
338 "id" : 0,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400339 "parser_ops" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700340 "transitions" : [
341 {
342 "type" : "hexstr",
343 "value" : "0x00ff",
344 "mask" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200345 "next_state" : "check_packet_out"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700346 },
347 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200348 "type" : "default",
349 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700350 "mask" : null,
351 "next_state" : "parse_ethernet"
352 }
353 ],
354 "transition_key" : [
355 {
356 "type" : "field",
357 "value" : ["standard_metadata", "ingress_port"]
358 }
359 ]
360 },
361 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200362 "name" : "check_packet_out",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700363 "id" : 1,
364 "parser_ops" : [
365 {
366 "parameters" : [
367 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200368 "type" : "field",
369 "value" : ["scalars", "tmp_6"]
370 },
371 {
372 "type" : "lookahead",
373 "value" : [0, 16]
374 }
375 ],
376 "op" : "set"
377 },
378 {
379 "parameters" : [
380 {
381 "parameters" : [
382 {
383 "type" : "header",
384 "value" : "tmp"
385 }
386 ],
387 "op" : "add_header"
388 }
389 ],
390 "op" : "primitive"
391 },
392 {
393 "parameters" : [
394 {
395 "type" : "field",
396 "value" : ["tmp", "egress_port"]
397 },
398 {
399 "type" : "expression",
400 "value" : {
401 "type" : "expression",
402 "value" : {
403 "op" : "&",
404 "left" : {
405 "type" : "expression",
406 "value" : {
407 "op" : "&",
408 "left" : {
409 "type" : "expression",
410 "value" : {
411 "op" : ">>",
412 "left" : {
413 "type" : "field",
414 "value" : ["scalars", "tmp_6"]
415 },
416 "right" : {
417 "type" : "hexstr",
418 "value" : "0x7"
419 }
420 }
421 },
422 "right" : {
423 "type" : "hexstr",
424 "value" : "0xffff"
425 }
426 }
427 },
428 "right" : {
429 "type" : "hexstr",
430 "value" : "0x01ff"
431 }
432 }
433 }
434 }
435 ],
436 "op" : "set"
437 },
438 {
439 "parameters" : [
440 {
441 "type" : "field",
442 "value" : ["tmp", "do_forwarding"]
443 },
444 {
445 "type" : "expression",
446 "value" : {
447 "type" : "expression",
448 "value" : {
449 "op" : "&",
450 "left" : {
451 "type" : "expression",
452 "value" : {
453 "op" : "&",
454 "left" : {
455 "type" : "expression",
456 "value" : {
457 "op" : ">>",
458 "left" : {
459 "type" : "field",
460 "value" : ["scalars", "tmp_6"]
461 },
462 "right" : {
463 "type" : "hexstr",
464 "value" : "0x6"
465 }
466 }
467 },
468 "right" : {
469 "type" : "hexstr",
470 "value" : "0xffff"
471 }
472 }
473 },
474 "right" : {
475 "type" : "hexstr",
476 "value" : "0x01"
477 }
478 }
479 }
480 }
481 ],
482 "op" : "set"
483 },
484 {
485 "parameters" : [
486 {
487 "type" : "field",
488 "value" : ["tmp", "_pad"]
489 },
490 {
491 "type" : "expression",
492 "value" : {
493 "type" : "expression",
494 "value" : {
495 "op" : "&",
496 "left" : {
497 "type" : "field",
498 "value" : ["scalars", "tmp_6"]
499 },
500 "right" : {
501 "type" : "hexstr",
502 "value" : "0x3f"
503 }
504 }
505 }
506 }
507 ],
508 "op" : "set"
509 },
510 {
511 "parameters" : [
512 {
513 "type" : "field",
514 "value" : ["scalars", "tmp_0"]
515 },
516 {
517 "type" : "expression",
518 "value" : {
519 "type" : "expression",
520 "value" : {
521 "op" : "&",
522 "left" : {
523 "type" : "expression",
524 "value" : {
525 "op" : "&",
526 "left" : {
527 "type" : "expression",
528 "value" : {
529 "op" : ">>",
530 "left" : {
531 "type" : "field",
532 "value" : ["scalars", "tmp_6"]
533 },
534 "right" : {
535 "type" : "hexstr",
536 "value" : "0x6"
537 }
538 }
539 },
540 "right" : {
541 "type" : "hexstr",
542 "value" : "0xffff"
543 }
544 }
545 },
546 "right" : {
547 "type" : "hexstr",
548 "value" : "0x01"
549 }
550 }
551 }
552 }
553 ],
554 "op" : "set"
555 }
556 ],
557 "transitions" : [
558 {
559 "type" : "hexstr",
560 "value" : "0x00",
561 "mask" : null,
562 "next_state" : "parse_packet_out_and_accept"
563 },
564 {
565 "type" : "default",
566 "value" : null,
567 "mask" : null,
568 "next_state" : "strip_packet_out"
569 }
570 ],
571 "transition_key" : [
572 {
573 "type" : "field",
574 "value" : ["scalars", "tmp_0"]
575 }
576 ]
577 },
578 {
579 "name" : "parse_packet_out_and_accept",
580 "id" : 2,
581 "parser_ops" : [
582 {
583 "parameters" : [
584 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700585 "type" : "regular",
586 "value" : "packet_out"
587 }
588 ],
589 "op" : "extract"
590 }
591 ],
592 "transitions" : [
593 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200594 "type" : "default",
595 "value" : null,
596 "mask" : null,
597 "next_state" : null
598 }
599 ],
600 "transition_key" : []
601 },
602 {
603 "name" : "strip_packet_out",
604 "id" : 3,
605 "parser_ops" : [
606 {
607 "parameters" : [
608 {
609 "type" : "hexstr",
610 "value" : "0x00000010"
611 }
612 ],
613 "op" : "advance"
614 }
615 ],
616 "transitions" : [
617 {
618 "type" : "default",
619 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700620 "mask" : null,
621 "next_state" : "parse_ethernet"
622 }
623 ],
624 "transition_key" : []
625 },
626 {
627 "name" : "parse_ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200628 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700629 "parser_ops" : [
630 {
631 "parameters" : [
632 {
633 "type" : "regular",
634 "value" : "ethernet"
635 }
636 ],
637 "op" : "extract"
638 },
639 {
640 "parameters" : [
641 {
642 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200643 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700644 },
645 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700646 "type" : "hexstr",
647 "value" : "0x0ffe"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700648 }
649 ],
650 "op" : "set"
651 },
652 {
653 "parameters" : [
654 {
655 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200656 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700657 },
658 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700659 "type" : "lookahead",
660 "value" : [0, 16]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700661 }
662 ],
663 "op" : "set"
664 }
665 ],
666 "transitions" : [
667 {
668 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700669 "value" : "0x88a8",
670 "mask" : null,
671 "next_state" : "parse_vlan_tag"
672 },
673 {
674 "type" : "hexstr",
675 "value" : "0x9100",
676 "mask" : null,
677 "next_state" : "parse_vlan_tag"
678 },
679 {
680 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700681 "value" : "0x8100",
682 "mask" : null,
683 "next_state" : "parse_vlan_tag"
684 },
685 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200686 "type" : "default",
687 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700688 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700689 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700690 }
691 ],
692 "transition_key" : [
693 {
694 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200695 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700696 }
697 ]
698 },
699 {
700 "name" : "parse_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200701 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700702 "parser_ops" : [
703 {
704 "parameters" : [
705 {
706 "type" : "regular",
707 "value" : "vlan_tag"
708 }
709 ],
710 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700711 },
712 {
713 "parameters" : [
714 {
715 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200716 "value" : ["scalars", "userMetadata._bng_s_tag25"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700717 },
718 {
719 "type" : "field",
720 "value" : ["vlan_tag", "vlan_id"]
721 }
722 ],
723 "op" : "set"
724 },
725 {
726 "parameters" : [
727 {
728 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200729 "value" : ["scalars", "tmp_3"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700730 },
731 {
732 "type" : "lookahead",
733 "value" : [0, 16]
734 }
735 ],
736 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700737 }
738 ],
739 "transitions" : [
740 {
741 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700742 "value" : "0x8100",
743 "mask" : null,
744 "next_state" : "parse_inner_vlan_tag"
745 },
746 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200747 "type" : "default",
748 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700749 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700750 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700751 }
752 ],
753 "transition_key" : [
754 {
755 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200756 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700757 }
758 ]
759 },
760 {
761 "name" : "parse_inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200762 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700763 "parser_ops" : [
764 {
765 "parameters" : [
766 {
767 "type" : "regular",
768 "value" : "inner_vlan_tag"
769 }
770 ],
771 "op" : "extract"
Daniele Morob3d199b2019-11-01 14:01:46 -0700772 },
773 {
774 "parameters" : [
775 {
776 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200777 "value" : ["scalars", "userMetadata._bng_c_tag26"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700778 },
779 {
780 "type" : "field",
781 "value" : ["inner_vlan_tag", "vlan_id"]
782 }
783 ],
784 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700785 }
786 ],
787 "transitions" : [
788 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200789 "type" : "default",
790 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700791 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700792 "next_state" : "parse_eth_type"
793 }
794 ],
795 "transition_key" : []
796 },
797 {
798 "name" : "parse_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200799 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700800 "parser_ops" : [
801 {
802 "parameters" : [
803 {
804 "type" : "regular",
805 "value" : "eth_type"
806 }
807 ],
808 "op" : "extract"
809 }
810 ],
811 "transitions" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700812 {
813 "type" : "hexstr",
814 "value" : "0x8847",
815 "mask" : null,
816 "next_state" : "parse_mpls"
817 },
818 {
819 "type" : "hexstr",
Daniele Moro5a2de712019-09-24 14:34:07 -0700820 "value" : "0x0800",
821 "mask" : null,
822 "next_state" : "parse_ipv4"
823 },
824 {
825 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700826 "value" : "0x8863",
827 "mask" : null,
828 "next_state" : "parse_pppoe"
829 },
830 {
831 "type" : "hexstr",
832 "value" : "0x8864",
833 "mask" : null,
834 "next_state" : "parse_pppoe"
835 },
836 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200837 "type" : "default",
838 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700839 "mask" : null,
840 "next_state" : null
841 }
842 ],
843 "transition_key" : [
844 {
845 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700846 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700847 }
848 ]
849 },
850 {
851 "name" : "parse_pppoe",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200852 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700853 "parser_ops" : [
854 {
855 "parameters" : [
856 {
857 "type" : "regular",
858 "value" : "pppoe"
859 }
860 ],
861 "op" : "extract"
862 }
863 ],
864 "transitions" : [
865 {
866 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700867 "value" : "0x0281",
868 "mask" : null,
869 "next_state" : "parse_mpls"
870 },
871 {
872 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700873 "value" : "0x0021",
874 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700875 "next_state" : "parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700876 },
877 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200878 "type" : "default",
879 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700880 "mask" : null,
881 "next_state" : null
882 }
883 ],
884 "transition_key" : [
885 {
886 "type" : "field",
887 "value" : ["pppoe", "protocol"]
888 }
889 ]
890 },
891 {
892 "name" : "parse_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200893 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700894 "parser_ops" : [
895 {
896 "parameters" : [
897 {
898 "type" : "regular",
899 "value" : "mpls"
900 }
901 ],
902 "op" : "extract"
903 },
904 {
905 "parameters" : [
906 {
907 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200908 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700909 },
910 {
911 "type" : "field",
912 "value" : ["mpls", "label"]
913 }
914 ],
915 "op" : "set"
916 },
917 {
918 "parameters" : [
919 {
920 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200921 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700922 },
923 {
924 "type" : "field",
925 "value" : ["mpls", "ttl"]
926 }
927 ],
928 "op" : "set"
929 },
930 {
931 "parameters" : [
932 {
933 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200934 "value" : ["scalars", "tmp_5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700935 },
936 {
937 "type" : "lookahead",
938 "value" : [0, 4]
939 }
940 ],
941 "op" : "set"
942 }
943 ],
944 "transitions" : [
945 {
946 "type" : "hexstr",
947 "value" : "0x04",
948 "mask" : null,
949 "next_state" : "parse_ipv4"
950 },
951 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200952 "type" : "default",
953 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700954 "mask" : null,
955 "next_state" : "parse_ethernet"
956 }
957 ],
958 "transition_key" : [
959 {
960 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200961 "value" : ["scalars", "tmp_5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700962 }
963 ]
964 },
965 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700966 "name" : "parse_ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200967 "id" : 10,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700968 "parser_ops" : [
969 {
970 "parameters" : [
971 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700972 "type" : "regular",
973 "value" : "ipv4"
974 }
975 ],
976 "op" : "extract"
977 },
978 {
979 "parameters" : [
980 {
981 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200982 "value" : ["scalars", "userMetadata._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700983 },
984 {
985 "type" : "field",
986 "value" : ["ipv4", "protocol"]
987 }
988 ],
989 "op" : "set"
990 },
991 {
992 "parameters" : [
993 {
994 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200995 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700996 },
997 {
998 "type" : "hexstr",
999 "value" : "0x0800"
1000 }
1001 ],
1002 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001003 },
1004 {
1005 "parameters" : [
1006 {
1007 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001008 "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001009 },
1010 {
1011 "type" : "field",
1012 "value" : ["ipv4", "src_addr"]
1013 }
1014 ],
1015 "op" : "set"
1016 },
1017 {
1018 "parameters" : [
1019 {
1020 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001021 "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001022 },
1023 {
1024 "type" : "field",
1025 "value" : ["ipv4", "dst_addr"]
1026 }
1027 ],
1028 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001029 }
1030 ],
1031 "transitions" : [
1032 {
1033 "type" : "hexstr",
1034 "value" : "0x06",
1035 "mask" : null,
1036 "next_state" : "parse_tcp"
1037 },
1038 {
1039 "type" : "hexstr",
1040 "value" : "0x11",
1041 "mask" : null,
1042 "next_state" : "parse_udp"
1043 },
1044 {
1045 "type" : "hexstr",
1046 "value" : "0x01",
1047 "mask" : null,
1048 "next_state" : "parse_icmp"
1049 },
1050 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001051 "type" : "default",
1052 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001053 "mask" : null,
1054 "next_state" : null
1055 }
1056 ],
1057 "transition_key" : [
1058 {
1059 "type" : "field",
1060 "value" : ["ipv4", "protocol"]
1061 }
1062 ]
1063 },
1064 {
1065 "name" : "parse_tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001066 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001067 "parser_ops" : [
1068 {
1069 "parameters" : [
1070 {
1071 "type" : "regular",
1072 "value" : "tcp"
1073 }
1074 ],
1075 "op" : "extract"
1076 },
1077 {
1078 "parameters" : [
1079 {
1080 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001081 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001082 },
1083 {
1084 "type" : "field",
1085 "value" : ["tcp", "sport"]
1086 }
1087 ],
1088 "op" : "set"
1089 },
1090 {
1091 "parameters" : [
1092 {
1093 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001094 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001095 },
1096 {
1097 "type" : "field",
1098 "value" : ["tcp", "dport"]
1099 }
1100 ],
1101 "op" : "set"
1102 }
1103 ],
1104 "transitions" : [
1105 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001106 "type" : "default",
1107 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001108 "mask" : null,
1109 "next_state" : null
1110 }
1111 ],
1112 "transition_key" : []
1113 },
1114 {
1115 "name" : "parse_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001116 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001117 "parser_ops" : [
1118 {
1119 "parameters" : [
1120 {
1121 "type" : "regular",
1122 "value" : "udp"
1123 }
1124 ],
1125 "op" : "extract"
1126 },
1127 {
1128 "parameters" : [
1129 {
1130 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001131 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001132 },
1133 {
1134 "type" : "field",
1135 "value" : ["udp", "sport"]
1136 }
1137 ],
1138 "op" : "set"
1139 },
1140 {
1141 "parameters" : [
1142 {
1143 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001144 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001145 },
1146 {
1147 "type" : "field",
1148 "value" : ["udp", "dport"]
1149 }
1150 ],
1151 "op" : "set"
1152 }
1153 ],
1154 "transitions" : [
1155 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001156 "type" : "default",
1157 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001158 "mask" : null,
1159 "next_state" : null
1160 }
1161 ],
1162 "transition_key" : [
1163 {
1164 "type" : "field",
1165 "value" : ["udp", "dport"]
1166 }
1167 ]
1168 },
1169 {
1170 "name" : "parse_icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001171 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001172 "parser_ops" : [
1173 {
1174 "parameters" : [
1175 {
1176 "type" : "regular",
1177 "value" : "icmp"
1178 }
1179 ],
1180 "op" : "extract"
1181 }
1182 ],
1183 "transitions" : [
1184 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001185 "type" : "default",
1186 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001187 "mask" : null,
1188 "next_state" : null
1189 }
1190 ],
1191 "transition_key" : []
1192 }
1193 ]
1194 }
1195 ],
1196 "parse_vsets" : [],
1197 "deparsers" : [
1198 {
1199 "name" : "deparser",
1200 "id" : 0,
1201 "source_info" : {
1202 "filename" : "include/parser.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001203 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001204 "column" : 8,
1205 "source_fragment" : "FabricDeparser"
1206 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001207 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"],
1208 "primitives" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001209 }
1210 ],
1211 "meter_arrays" : [
1212 {
1213 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
1214 "id" : 0,
1215 "source_info" : {
1216 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001217 "line" : 154,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001218 "column" : 33,
1219 "source_fragment" : "m_besteff"
1220 },
1221 "is_direct" : false,
1222 "size" : 8192,
1223 "rate_count" : 2,
1224 "type" : "bytes"
1225 },
1226 {
1227 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
1228 "id" : 1,
1229 "source_info" : {
1230 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001231 "line" : 155,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001232 "column" : 33,
1233 "source_fragment" : "m_prio"
1234 },
1235 "is_direct" : false,
1236 "size" : 8192,
1237 "rate_count" : 2,
1238 "type" : "bytes"
1239 }
1240 ],
1241 "counter_arrays" : [
1242 {
1243 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
1244 "id" : 0,
1245 "source_info" : {
1246 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001247 "line" : 36,
Daniele Moroce424ca2019-10-03 16:44:33 -07001248 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001249 "source_fragment" : "c_terminated"
1250 },
1251 "size" : 8192,
1252 "is_direct" : false
1253 },
1254 {
1255 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
1256 "id" : 1,
1257 "source_info" : {
1258 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001259 "line" : 37,
Daniele Moroce424ca2019-10-03 16:44:33 -07001260 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001261 "source_fragment" : "c_dropped"
1262 },
1263 "size" : 8192,
1264 "is_direct" : false
1265 },
1266 {
1267 "name" : "FabricIngress.bng_ingress.upstream.c_control",
1268 "id" : 2,
1269 "source_info" : {
1270 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001271 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001272 "column" : 39,
1273 "source_fragment" : "c_control"
1274 },
1275 "size" : 8192,
1276 "is_direct" : false
1277 },
1278 {
1279 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
1280 "id" : 3,
1281 "source_info" : {
1282 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001283 "line" : 152,
Daniele Moroce424ca2019-10-03 16:44:33 -07001284 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001285 "source_fragment" : "c_line_rx"
1286 },
1287 "size" : 8192,
1288 "is_direct" : false
1289 },
1290 {
1291 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1292 "id" : 4,
1293 "is_direct" : true,
1294 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1295 "source_info" : {
1296 "filename" : "include/control/filtering.p4",
1297 "line" : 31,
1298 "column" : 50,
1299 "source_fragment" : "ingress_port_vlan_counter"
1300 }
1301 },
1302 {
1303 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1304 "id" : 5,
1305 "is_direct" : true,
1306 "binding" : "FabricIngress.filtering.fwd_classifier",
1307 "source_info" : {
1308 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001309 "line" : 85,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001310 "column" : 50,
1311 "source_fragment" : "fwd_classifier_counter"
1312 }
1313 },
1314 {
1315 "name" : "FabricIngress.forwarding.bridging_counter",
1316 "id" : 6,
1317 "is_direct" : true,
1318 "binding" : "FabricIngress.forwarding.bridging",
1319 "source_info" : {
1320 "filename" : "include/control/forwarding.p4",
1321 "line" : 36,
1322 "column" : 50,
1323 "source_fragment" : "bridging_counter"
1324 }
1325 },
1326 {
1327 "name" : "FabricIngress.forwarding.mpls_counter",
1328 "id" : 7,
1329 "is_direct" : true,
1330 "binding" : "FabricIngress.forwarding.mpls",
1331 "source_info" : {
1332 "filename" : "include/control/forwarding.p4",
1333 "line" : 63,
1334 "column" : 50,
1335 "source_fragment" : "mpls_counter"
1336 }
1337 },
1338 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001339 "name" : "FabricIngress.acl.acl_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001340 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001341 "is_direct" : true,
1342 "binding" : "FabricIngress.acl.acl",
1343 "source_info" : {
1344 "filename" : "include/control/acl.p4",
1345 "line" : 30,
1346 "column" : 50,
1347 "source_fragment" : "acl_counter"
1348 }
1349 },
1350 {
1351 "name" : "FabricIngress.next.next_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001352 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001353 "is_direct" : true,
1354 "binding" : "FabricIngress.next.next_vlan",
1355 "source_info" : {
1356 "filename" : "include/control/next.p4",
1357 "line" : 67,
1358 "column" : 50,
1359 "source_fragment" : "next_vlan_counter"
1360 }
1361 },
1362 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001363 "name" : "FabricIngress.next.hashed_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001364 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001365 "is_direct" : true,
1366 "binding" : "FabricIngress.next.hashed",
1367 "source_info" : {
1368 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001369 "line" : 184,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001370 "column" : 50,
1371 "source_fragment" : "hashed_counter"
1372 }
1373 },
1374 {
1375 "name" : "FabricIngress.next.multicast_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001376 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001377 "is_direct" : true,
1378 "binding" : "FabricIngress.next.multicast",
1379 "source_info" : {
1380 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001381 "line" : 228,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001382 "column" : 50,
1383 "source_fragment" : "multicast_counter"
1384 }
1385 },
1386 {
1387 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001388 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001389 "source_info" : {
1390 "filename" : "include/control/port_counter.p4",
1391 "line" : 26,
1392 "column" : 48,
1393 "source_fragment" : "egress_port_counter"
1394 },
1395 "size" : 511,
1396 "is_direct" : false
1397 },
1398 {
1399 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001400 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001401 "source_info" : {
1402 "filename" : "include/control/port_counter.p4",
1403 "line" : 27,
1404 "column" : 48,
1405 "source_fragment" : "ingress_port_counter"
1406 },
1407 "size" : 511,
1408 "is_direct" : false
1409 },
1410 {
1411 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Daniele Moro5a2de712019-09-24 14:34:07 -07001412 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001413 "source_info" : {
1414 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001415 "line" : 267,
Daniele Moroce424ca2019-10-03 16:44:33 -07001416 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001417 "source_fragment" : "c_line_tx"
1418 },
1419 "size" : 8192,
1420 "is_direct" : false
1421 },
1422 {
1423 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001424 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001425 "is_direct" : true,
1426 "binding" : "FabricEgress.egress_next.egress_vlan",
1427 "source_info" : {
1428 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01001429 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001430 "column" : 50,
1431 "source_fragment" : "egress_vlan_counter"
1432 }
1433 }
1434 ],
1435 "register_arrays" : [],
1436 "calculations" : [
1437 {
1438 "name" : "calc",
1439 "id" : 0,
1440 "source_info" : {
1441 "filename" : "include/checksum.p4",
1442 "line" : 28,
1443 "column" : 8,
1444 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1445 },
1446 "algo" : "csum16",
1447 "input" : [
1448 {
1449 "type" : "field",
1450 "value" : ["ipv4", "version"]
1451 },
1452 {
1453 "type" : "field",
1454 "value" : ["ipv4", "ihl"]
1455 },
1456 {
1457 "type" : "field",
1458 "value" : ["ipv4", "dscp"]
1459 },
1460 {
1461 "type" : "field",
1462 "value" : ["ipv4", "ecn"]
1463 },
1464 {
1465 "type" : "field",
1466 "value" : ["ipv4", "total_len"]
1467 },
1468 {
1469 "type" : "field",
1470 "value" : ["ipv4", "identification"]
1471 },
1472 {
1473 "type" : "field",
1474 "value" : ["ipv4", "flags"]
1475 },
1476 {
1477 "type" : "field",
1478 "value" : ["ipv4", "frag_offset"]
1479 },
1480 {
1481 "type" : "field",
1482 "value" : ["ipv4", "ttl"]
1483 },
1484 {
1485 "type" : "field",
1486 "value" : ["ipv4", "protocol"]
1487 },
1488 {
1489 "type" : "field",
1490 "value" : ["ipv4", "src_addr"]
1491 },
1492 {
1493 "type" : "field",
1494 "value" : ["ipv4", "dst_addr"]
1495 }
1496 ]
1497 },
1498 {
1499 "name" : "calc_0",
1500 "id" : 1,
1501 "source_info" : {
1502 "filename" : "include/checksum.p4",
1503 "line" : 57,
1504 "column" : 8,
1505 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1506 },
1507 "algo" : "csum16",
1508 "input" : [
1509 {
1510 "type" : "field",
1511 "value" : ["ipv4", "version"]
1512 },
1513 {
1514 "type" : "field",
1515 "value" : ["ipv4", "ihl"]
1516 },
1517 {
1518 "type" : "field",
1519 "value" : ["ipv4", "dscp"]
1520 },
1521 {
1522 "type" : "field",
1523 "value" : ["ipv4", "ecn"]
1524 },
1525 {
1526 "type" : "field",
1527 "value" : ["ipv4", "total_len"]
1528 },
1529 {
1530 "type" : "field",
1531 "value" : ["ipv4", "identification"]
1532 },
1533 {
1534 "type" : "field",
1535 "value" : ["ipv4", "flags"]
1536 },
1537 {
1538 "type" : "field",
1539 "value" : ["ipv4", "frag_offset"]
1540 },
1541 {
1542 "type" : "field",
1543 "value" : ["ipv4", "ttl"]
1544 },
1545 {
1546 "type" : "field",
1547 "value" : ["ipv4", "protocol"]
1548 },
1549 {
1550 "type" : "field",
1551 "value" : ["ipv4", "src_addr"]
1552 },
1553 {
1554 "type" : "field",
1555 "value" : ["ipv4", "dst_addr"]
1556 }
1557 ]
1558 }
1559 ],
1560 "learn_lists" : [],
1561 "actions" : [
1562 {
1563 "name" : "nop",
1564 "id" : 0,
1565 "runtime_data" : [],
1566 "primitives" : []
1567 },
1568 {
1569 "name" : "nop",
1570 "id" : 1,
1571 "runtime_data" : [],
1572 "primitives" : []
1573 },
1574 {
1575 "name" : "nop",
1576 "id" : 2,
1577 "runtime_data" : [],
1578 "primitives" : []
1579 },
1580 {
1581 "name" : "nop",
1582 "id" : 3,
1583 "runtime_data" : [],
1584 "primitives" : []
1585 },
1586 {
1587 "name" : "nop",
1588 "id" : 4,
1589 "runtime_data" : [],
1590 "primitives" : []
1591 },
1592 {
1593 "name" : "nop",
1594 "id" : 5,
1595 "runtime_data" : [],
1596 "primitives" : []
1597 },
1598 {
1599 "name" : "nop",
1600 "id" : 6,
1601 "runtime_data" : [],
1602 "primitives" : []
1603 },
1604 {
1605 "name" : "nop",
1606 "id" : 7,
1607 "runtime_data" : [],
1608 "primitives" : []
1609 },
1610 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001611 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07001612 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001613 "runtime_data" : [],
1614 "primitives" : [
1615 {
1616 "op" : "assign",
1617 "parameters" : [
1618 {
1619 "type" : "field",
1620 "value" : ["standard_metadata", "egress_spec"]
1621 },
1622 {
1623 "type" : "hexstr",
1624 "value" : "0x00ff"
1625 }
1626 ],
1627 "source_info" : {
1628 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001629 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001630 "column" : 8,
1631 "source_fragment" : "smeta.egress_spec = 255"
1632 }
1633 },
1634 {
Daniele Moro0cecfe12019-12-13 17:24:33 -08001635 "op" : "assign",
1636 "parameters" : [
1637 {
1638 "type" : "field",
1639 "value" : ["standard_metadata", "mcast_grp"]
1640 },
1641 {
1642 "type" : "hexstr",
1643 "value" : "0x0000"
1644 }
1645 ],
1646 "source_info" : {
1647 "filename" : "include/bng.p4",
1648 "line" : 47,
1649 "column" : 8,
1650 "source_fragment" : "smeta.mcast_grp = 0"
1651 }
1652 },
1653 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001654 "op" : "count",
1655 "parameters" : [
1656 {
1657 "type" : "counter_array",
1658 "value" : "FabricIngress.bng_ingress.upstream.c_control"
1659 },
1660 {
1661 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001662 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001663 }
1664 ],
1665 "source_info" : {
1666 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001667 "line" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001668 "column" : 8,
1669 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
1670 }
1671 }
1672 ]
1673 },
1674 {
1675 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Daniele Moro5a2de712019-09-24 14:34:07 -07001676 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001677 "runtime_data" : [],
1678 "primitives" : [
1679 {
1680 "op" : "assign",
1681 "parameters" : [
1682 {
1683 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001684 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001685 },
1686 {
1687 "type" : "hexstr",
1688 "value" : "0x00"
1689 }
1690 ],
1691 "source_info" : {
1692 "filename" : "include/control/../header.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001693 "line" : 162,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001694 "column" : 36,
1695 "source_fragment" : "2w0x0; ..."
1696 }
1697 },
1698 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001699 "op" : "mark_to_drop",
1700 "parameters" : [
1701 {
1702 "type" : "header",
1703 "value" : "standard_metadata"
1704 }
1705 ],
1706 "source_info" : {
1707 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001708 "line" : 77,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001709 "column" : 8,
1710 "source_fragment" : "mark_to_drop(smeta)"
1711 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001712 }
1713 ]
1714 },
1715 {
1716 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001717 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001718 "runtime_data" : [],
1719 "primitives" : [
1720 {
1721 "op" : "assign",
1722 "parameters" : [
1723 {
1724 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001725 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001726 },
1727 {
1728 "type" : "hexstr",
1729 "value" : "0x0800"
1730 }
1731 ],
1732 "source_info" : {
1733 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001734 "line" : 120,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001735 "column" : 31,
1736 "source_fragment" : "0x0800; ..."
1737 }
1738 },
1739 {
1740 "op" : "remove_header",
1741 "parameters" : [
1742 {
1743 "type" : "header",
1744 "value" : "pppoe"
1745 }
1746 ],
1747 "source_info" : {
1748 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001749 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001750 "column" : 8,
1751 "source_fragment" : "hdr.pppoe.setInvalid()"
1752 }
1753 },
1754 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001755 "op" : "count",
1756 "parameters" : [
1757 {
1758 "type" : "counter_array",
1759 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
1760 },
1761 {
1762 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001763 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001764 }
1765 ],
1766 "source_info" : {
1767 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001768 "line" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001769 "column" : 8,
1770 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
1771 }
1772 }
1773 ]
1774 },
1775 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001776 "name" : "FabricIngress.bng_ingress.downstream.set_session",
Daniele Moro5a2de712019-09-24 14:34:07 -07001777 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001778 "runtime_data" : [
1779 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001780 "name" : "pppoe_session_id",
1781 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001782 }
1783 ],
1784 "primitives" : [
1785 {
1786 "op" : "assign",
1787 "parameters" : [
1788 {
1789 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001790 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001791 },
1792 {
1793 "type" : "hexstr",
1794 "value" : "0x02"
1795 }
1796 ],
1797 "source_info" : {
1798 "filename" : "include/control/../header.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001799 "line" : 164,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001800 "column" : 39,
1801 "source_fragment" : "2w0x2;; ..."
1802 }
1803 },
1804 {
1805 "op" : "assign",
1806 "parameters" : [
1807 {
1808 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001809 "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001810 },
1811 {
1812 "type" : "runtime_data",
1813 "value" : 0
1814 }
1815 ],
1816 "source_info" : {
1817 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001818 "line" : 159,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001819 "column" : 35,
1820 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001821 }
1822 },
1823 {
1824 "op" : "count",
1825 "parameters" : [
1826 {
1827 "type" : "counter_array",
1828 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1829 },
1830 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001831 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001832 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001833 }
1834 ],
1835 "source_info" : {
1836 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001837 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001838 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001839 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001840 }
1841 }
1842 ]
1843 },
1844 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001845 "name" : "FabricIngress.bng_ingress.downstream.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07001846 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001847 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001848 "primitives" : [
1849 {
1850 "op" : "assign",
1851 "parameters" : [
1852 {
1853 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001854 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001855 },
1856 {
1857 "type" : "hexstr",
1858 "value" : "0x02"
1859 }
1860 ],
1861 "source_info" : {
1862 "filename" : "include/control/../header.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001863 "line" : 164,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001864 "column" : 39,
1865 "source_fragment" : "2w0x2;; ..."
1866 }
1867 },
1868 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001869 "op" : "count",
1870 "parameters" : [
1871 {
1872 "type" : "counter_array",
1873 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1874 },
1875 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001876 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001877 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001878 }
1879 ],
1880 "source_info" : {
1881 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001882 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001883 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001884 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001885 }
1886 },
1887 {
1888 "op" : "mark_to_drop",
1889 "parameters" : [
1890 {
1891 "type" : "header",
1892 "value" : "standard_metadata"
1893 }
1894 ],
1895 "source_info" : {
1896 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001897 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001898 "column" : 8,
1899 "source_fragment" : "mark_to_drop(smeta)"
1900 }
1901 }
1902 ]
1903 },
1904 {
1905 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro5a2de712019-09-24 14:34:07 -07001906 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001907 "runtime_data" : [],
Daniele Moro7c3a0022019-07-12 13:38:34 -07001908 "primitives" : []
1909 },
1910 {
1911 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
Daniele Moro5a2de712019-09-24 14:34:07 -07001912 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001913 "runtime_data" : [],
1914 "primitives" : []
1915 },
1916 {
1917 "name" : "FabricIngress.bng_ingress.set_line",
Daniele Moro5a2de712019-09-24 14:34:07 -07001918 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001919 "runtime_data" : [
1920 {
1921 "name" : "line_id",
1922 "bitwidth" : 32
1923 }
1924 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001925 "primitives" : [
1926 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001927 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001928 "parameters" : [
1929 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001930 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001931 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001932 },
1933 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001934 "type" : "runtime_data",
1935 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001936 }
1937 ],
1938 "source_info" : {
1939 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001940 "line" : 320,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001941 "column" : 30,
1942 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001943 }
1944 }
1945 ]
1946 },
1947 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001948 "name" : "FabricIngress.filtering.deny",
Daniele Moro5a2de712019-09-24 14:34:07 -07001949 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001950 "runtime_data" : [],
1951 "primitives" : [
1952 {
1953 "op" : "assign",
1954 "parameters" : [
1955 {
1956 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001957 "value" : ["scalars", "userMetadata._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001958 },
1959 {
1960 "type" : "expression",
1961 "value" : {
1962 "type" : "expression",
1963 "value" : {
1964 "op" : "b2d",
1965 "left" : null,
1966 "right" : {
1967 "type" : "bool",
1968 "value" : true
1969 }
1970 }
1971 }
1972 }
1973 ],
1974 "source_info" : {
1975 "filename" : "include/control/filtering.p4",
1976 "line" : 36,
1977 "column" : 40,
1978 "source_fragment" : "= true; ..."
1979 }
1980 },
1981 {
1982 "op" : "assign",
1983 "parameters" : [
1984 {
1985 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001986 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001987 },
1988 {
1989 "type" : "expression",
1990 "value" : {
1991 "type" : "expression",
1992 "value" : {
1993 "op" : "b2d",
1994 "left" : null,
1995 "right" : {
1996 "type" : "bool",
1997 "value" : true
1998 }
1999 }
2000 }
2001 }
2002 ],
2003 "source_info" : {
2004 "filename" : "include/control/filtering.p4",
2005 "line" : 37,
2006 "column" : 34,
2007 "source_fragment" : "= true; ..."
2008 }
2009 }
2010 ]
2011 },
2012 {
2013 "name" : "FabricIngress.filtering.permit",
Daniele Moro5a2de712019-09-24 14:34:07 -07002014 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002015 "runtime_data" : [],
2016 "primitives" : []
2017 },
2018 {
2019 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002020 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002021 "runtime_data" : [
2022 {
2023 "name" : "vlan_id",
2024 "bitwidth" : 12
2025 }
2026 ],
2027 "primitives" : [
2028 {
2029 "op" : "assign",
2030 "parameters" : [
2031 {
2032 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002033 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002034 },
2035 {
2036 "type" : "runtime_data",
2037 "value" : 0
2038 }
2039 ],
2040 "source_info" : {
2041 "filename" : "include/control/filtering.p4",
2042 "line" : 47,
2043 "column" : 32,
2044 "source_fragment" : "= vlan_id; ..."
2045 }
2046 }
2047 ]
2048 },
2049 {
2050 "name" : "FabricIngress.filtering.set_forwarding_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07002051 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002052 "runtime_data" : [
2053 {
2054 "name" : "fwd_type",
2055 "bitwidth" : 3
2056 }
2057 ],
2058 "primitives" : [
2059 {
2060 "op" : "assign",
2061 "parameters" : [
2062 {
2063 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002064 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002065 },
2066 {
2067 "type" : "runtime_data",
2068 "value" : 0
2069 }
2070 ],
2071 "source_info" : {
2072 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002073 "line" : 88,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002074 "column" : 33,
2075 "source_fragment" : "= fwd_type; ..."
2076 }
2077 }
2078 ]
2079 },
2080 {
2081 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07002082 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002083 "runtime_data" : [
2084 {
2085 "name" : "next_id",
2086 "bitwidth" : 32
2087 }
2088 ],
2089 "primitives" : [
2090 {
2091 "op" : "assign",
2092 "parameters" : [
2093 {
2094 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002095 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002096 },
2097 {
2098 "type" : "runtime_data",
2099 "value" : 0
2100 }
2101 ],
2102 "source_info" : {
2103 "filename" : "include/control/forwarding.p4",
2104 "line" : 30,
2105 "column" : 32,
2106 "source_fragment" : "= next_id; ..."
2107 }
2108 }
2109 ]
2110 },
2111 {
2112 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Daniele Moro5a2de712019-09-24 14:34:07 -07002113 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002114 "runtime_data" : [
2115 {
2116 "name" : "next_id",
2117 "bitwidth" : 32
2118 }
2119 ],
2120 "primitives" : [
2121 {
2122 "op" : "assign",
2123 "parameters" : [
2124 {
2125 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002126 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002127 },
2128 {
2129 "type" : "hexstr",
2130 "value" : "0x000000"
2131 }
2132 ],
2133 "source_info" : {
2134 "filename" : "include/control/forwarding.p4",
2135 "line" : 66,
2136 "column" : 35,
2137 "source_fragment" : "= 0; ..."
2138 }
2139 },
2140 {
2141 "op" : "assign",
2142 "parameters" : [
2143 {
2144 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002145 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002146 },
2147 {
2148 "type" : "runtime_data",
2149 "value" : 0
2150 }
2151 ],
2152 "source_info" : {
2153 "filename" : "include/control/forwarding.p4",
2154 "line" : 30,
2155 "column" : 32,
2156 "source_fragment" : "= next_id; ..."
2157 }
2158 }
2159 ]
2160 },
2161 {
2162 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002163 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002164 "runtime_data" : [
2165 {
2166 "name" : "next_id",
2167 "bitwidth" : 32
2168 }
2169 ],
2170 "primitives" : [
2171 {
2172 "op" : "assign",
2173 "parameters" : [
2174 {
2175 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002176 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002177 },
2178 {
2179 "type" : "runtime_data",
2180 "value" : 0
2181 }
2182 ],
2183 "source_info" : {
2184 "filename" : "include/control/forwarding.p4",
2185 "line" : 30,
2186 "column" : 32,
2187 "source_fragment" : "= next_id; ..."
2188 }
2189 }
2190 ]
2191 },
2192 {
2193 "name" : "FabricIngress.forwarding.nop_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002194 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002195 "runtime_data" : [],
2196 "primitives" : []
2197 },
2198 {
2199 "name" : "FabricIngress.acl.set_next_id_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07002200 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002201 "runtime_data" : [
2202 {
2203 "name" : "next_id",
2204 "bitwidth" : 32
2205 }
2206 ],
2207 "primitives" : [
2208 {
2209 "op" : "assign",
2210 "parameters" : [
2211 {
2212 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002213 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002214 },
2215 {
2216 "type" : "runtime_data",
2217 "value" : 0
2218 }
2219 ],
2220 "source_info" : {
2221 "filename" : "include/control/acl.p4",
2222 "line" : 33,
2223 "column" : 32,
2224 "source_fragment" : "= next_id; ..."
2225 }
2226 }
2227 ]
2228 },
2229 {
2230 "name" : "FabricIngress.acl.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07002231 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002232 "runtime_data" : [],
2233 "primitives" : [
2234 {
2235 "op" : "assign",
2236 "parameters" : [
2237 {
2238 "type" : "field",
2239 "value" : ["standard_metadata", "egress_spec"]
2240 },
2241 {
2242 "type" : "hexstr",
2243 "value" : "0x00ff"
2244 }
2245 ],
2246 "source_info" : {
2247 "filename" : "include/control/acl.p4",
2248 "line" : 39,
2249 "column" : 8,
2250 "source_fragment" : "standard_metadata.egress_spec = 255"
2251 }
2252 },
2253 {
2254 "op" : "assign",
2255 "parameters" : [
2256 {
2257 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002258 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002259 },
2260 {
2261 "type" : "expression",
2262 "value" : {
2263 "type" : "expression",
2264 "value" : {
2265 "op" : "b2d",
2266 "left" : null,
2267 "right" : {
2268 "type" : "bool",
2269 "value" : true
2270 }
2271 }
2272 }
2273 }
2274 ],
2275 "source_info" : {
2276 "filename" : "include/control/acl.p4",
2277 "line" : 40,
2278 "column" : 34,
2279 "source_fragment" : "= true; ..."
2280 }
2281 }
2282 ]
2283 },
2284 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002285 "name" : "FabricIngress.acl.set_clone_session_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002286 "id" : 26,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002287 "runtime_data" : [
2288 {
2289 "name" : "clone_id",
2290 "bitwidth" : 32
2291 }
2292 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002293 "primitives" : [
2294 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002295 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002296 "parameters" : [
2297 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002298 "type" : "runtime_data",
2299 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002300 },
2301 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002302 "type" : "hexstr",
2303 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002304 }
2305 ],
2306 "source_info" : {
2307 "filename" : "include/control/acl.p4",
2308 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002309 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07002310 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002311 }
2312 }
2313 ]
2314 },
2315 {
2316 "name" : "FabricIngress.acl.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07002317 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002318 "runtime_data" : [],
2319 "primitives" : [
2320 {
2321 "op" : "mark_to_drop",
2322 "parameters" : [
2323 {
2324 "type" : "header",
2325 "value" : "standard_metadata"
2326 }
2327 ],
2328 "source_info" : {
2329 "filename" : "include/control/acl.p4",
2330 "line" : 51,
2331 "column" : 8,
2332 "source_fragment" : "mark_to_drop(standard_metadata)"
2333 }
2334 },
2335 {
2336 "op" : "assign",
2337 "parameters" : [
2338 {
2339 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002340 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002341 },
2342 {
2343 "type" : "expression",
2344 "value" : {
2345 "type" : "expression",
2346 "value" : {
2347 "op" : "b2d",
2348 "left" : null,
2349 "right" : {
2350 "type" : "bool",
2351 "value" : true
2352 }
2353 }
2354 }
2355 }
2356 ],
2357 "source_info" : {
2358 "filename" : "include/control/acl.p4",
2359 "line" : 52,
2360 "column" : 34,
2361 "source_fragment" : "= true; ..."
2362 }
2363 }
2364 ]
2365 },
2366 {
2367 "name" : "FabricIngress.acl.nop_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07002368 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002369 "runtime_data" : [],
2370 "primitives" : []
2371 },
2372 {
2373 "name" : "FabricIngress.next.set_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002374 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002375 "runtime_data" : [
2376 {
2377 "name" : "vlan_id",
2378 "bitwidth" : 12
2379 }
2380 ],
2381 "primitives" : [
2382 {
2383 "op" : "assign",
2384 "parameters" : [
2385 {
2386 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002387 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002388 },
2389 {
2390 "type" : "runtime_data",
2391 "value" : 0
2392 }
2393 ],
2394 "source_info" : {
2395 "filename" : "include/control/next.p4",
2396 "line" : 70,
2397 "column" : 32,
2398 "source_fragment" : "= vlan_id; ..."
2399 }
2400 }
2401 ]
2402 },
2403 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002404 "name" : "FabricIngress.next.set_double_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002405 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002406 "runtime_data" : [
2407 {
2408 "name" : "outer_vlan_id",
2409 "bitwidth" : 12
2410 },
2411 {
2412 "name" : "inner_vlan_id",
2413 "bitwidth" : 12
2414 }
2415 ],
2416 "primitives" : [
2417 {
2418 "op" : "assign",
2419 "parameters" : [
2420 {
2421 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002422 "value" : ["scalars", "userMetadata._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002423 },
2424 {
2425 "type" : "runtime_data",
2426 "value" : 0
2427 }
2428 ],
2429 "source_info" : {
2430 "filename" : "include/control/next.p4",
2431 "line" : 70,
2432 "column" : 32,
2433 "source_fragment" : "= vlan_id; ..."
2434 }
2435 },
2436 {
2437 "op" : "assign",
2438 "parameters" : [
2439 {
2440 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002441 "value" : ["scalars", "userMetadata._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002442 },
2443 {
2444 "type" : "expression",
2445 "value" : {
2446 "type" : "expression",
2447 "value" : {
2448 "op" : "b2d",
2449 "left" : null,
2450 "right" : {
2451 "type" : "bool",
2452 "value" : true
2453 }
2454 }
2455 }
2456 }
2457 ],
2458 "source_info" : {
2459 "filename" : "include/control/next.p4",
2460 "line" : 77,
2461 "column" : 41,
2462 "source_fragment" : "= true; ..."
2463 }
2464 },
2465 {
2466 "op" : "assign",
2467 "parameters" : [
2468 {
2469 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002470 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002471 },
2472 {
2473 "type" : "runtime_data",
2474 "value" : 1
2475 }
2476 ],
2477 "source_info" : {
2478 "filename" : "include/control/next.p4",
2479 "line" : 78,
2480 "column" : 38,
2481 "source_fragment" : "= inner_vlan_id; ..."
2482 }
Daniele Morob3d199b2019-11-01 14:01:46 -07002483 },
2484 {
2485 "op" : "assign",
2486 "parameters" : [
2487 {
2488 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002489 "value" : ["scalars", "userMetadata._bng_s_tag25"]
Daniele Morob3d199b2019-11-01 14:01:46 -07002490 },
2491 {
2492 "type" : "runtime_data",
2493 "value" : 0
2494 }
2495 ],
2496 "source_info" : {
2497 "filename" : "include/control/next.p4",
2498 "line" : 80,
2499 "column" : 34,
2500 "source_fragment" : "= outer_vlan_id; ..."
2501 }
2502 },
2503 {
2504 "op" : "assign",
2505 "parameters" : [
2506 {
2507 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002508 "value" : ["scalars", "userMetadata._bng_c_tag26"]
Daniele Morob3d199b2019-11-01 14:01:46 -07002509 },
2510 {
2511 "type" : "runtime_data",
2512 "value" : 1
2513 }
2514 ],
2515 "source_info" : {
2516 "filename" : "include/control/next.p4",
2517 "line" : 81,
2518 "column" : 34,
2519 "source_fragment" : "= inner_vlan_id; ..."
2520 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07002521 }
2522 ]
2523 },
2524 {
2525 "name" : "FabricIngress.next.output_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002526 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002527 "runtime_data" : [
2528 {
2529 "name" : "port_num",
2530 "bitwidth" : 9
2531 }
2532 ],
2533 "primitives" : [
2534 {
2535 "op" : "assign",
2536 "parameters" : [
2537 {
2538 "type" : "field",
2539 "value" : ["standard_metadata", "egress_spec"]
2540 },
2541 {
2542 "type" : "runtime_data",
2543 "value" : 0
2544 }
2545 ],
2546 "source_info" : {
2547 "filename" : "include/control/next.p4",
2548 "line" : 31,
2549 "column" : 5,
2550 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2551 }
2552 }
2553 ]
2554 },
2555 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002556 "name" : "FabricIngress.next.routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002557 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002558 "runtime_data" : [
2559 {
2560 "name" : "port_num",
2561 "bitwidth" : 9
2562 },
2563 {
2564 "name" : "smac",
2565 "bitwidth" : 48
2566 },
2567 {
2568 "name" : "dmac",
2569 "bitwidth" : 48
2570 }
2571 ],
2572 "primitives" : [
2573 {
2574 "op" : "assign",
2575 "parameters" : [
2576 {
2577 "type" : "field",
2578 "value" : ["ethernet", "src_addr"]
2579 },
2580 {
2581 "type" : "runtime_data",
2582 "value" : 1
2583 }
2584 ],
2585 "source_info" : {
2586 "filename" : "include/control/next.p4",
2587 "line" : 36,
2588 "column" : 8,
2589 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2590 }
2591 },
2592 {
2593 "op" : "assign",
2594 "parameters" : [
2595 {
2596 "type" : "field",
2597 "value" : ["ethernet", "dst_addr"]
2598 },
2599 {
2600 "type" : "runtime_data",
2601 "value" : 2
2602 }
2603 ],
2604 "source_info" : {
2605 "filename" : "include/control/next.p4",
2606 "line" : 41,
2607 "column" : 8,
2608 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2609 }
2610 },
2611 {
2612 "op" : "assign",
2613 "parameters" : [
2614 {
2615 "type" : "field",
2616 "value" : ["standard_metadata", "egress_spec"]
2617 },
2618 {
2619 "type" : "runtime_data",
2620 "value" : 0
2621 }
2622 ],
2623 "source_info" : {
2624 "filename" : "include/control/next.p4",
2625 "line" : 31,
2626 "column" : 5,
2627 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2628 }
2629 }
2630 ]
2631 },
2632 {
2633 "name" : "FabricIngress.next.mpls_routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002634 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002635 "runtime_data" : [
2636 {
2637 "name" : "port_num",
2638 "bitwidth" : 9
2639 },
2640 {
2641 "name" : "smac",
2642 "bitwidth" : 48
2643 },
2644 {
2645 "name" : "dmac",
2646 "bitwidth" : 48
2647 },
2648 {
2649 "name" : "label",
2650 "bitwidth" : 20
2651 }
2652 ],
2653 "primitives" : [
2654 {
2655 "op" : "assign",
2656 "parameters" : [
2657 {
2658 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002659 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002660 },
2661 {
2662 "type" : "runtime_data",
2663 "value" : 3
2664 }
2665 ],
2666 "source_info" : {
2667 "filename" : "include/control/next.p4",
2668 "line" : 46,
2669 "column" : 35,
2670 "source_fragment" : "= label; ..."
2671 }
2672 },
2673 {
2674 "op" : "assign",
2675 "parameters" : [
2676 {
2677 "type" : "field",
2678 "value" : ["ethernet", "src_addr"]
2679 },
2680 {
2681 "type" : "runtime_data",
2682 "value" : 1
2683 }
2684 ],
2685 "source_info" : {
2686 "filename" : "include/control/next.p4",
2687 "line" : 36,
2688 "column" : 8,
2689 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2690 }
2691 },
2692 {
2693 "op" : "assign",
2694 "parameters" : [
2695 {
2696 "type" : "field",
2697 "value" : ["ethernet", "dst_addr"]
2698 },
2699 {
2700 "type" : "runtime_data",
2701 "value" : 2
2702 }
2703 ],
2704 "source_info" : {
2705 "filename" : "include/control/next.p4",
2706 "line" : 41,
2707 "column" : 8,
2708 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2709 }
2710 },
2711 {
2712 "op" : "assign",
2713 "parameters" : [
2714 {
2715 "type" : "field",
2716 "value" : ["standard_metadata", "egress_spec"]
2717 },
2718 {
2719 "type" : "runtime_data",
2720 "value" : 0
2721 }
2722 ],
2723 "source_info" : {
2724 "filename" : "include/control/next.p4",
2725 "line" : 31,
2726 "column" : 5,
2727 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2728 }
2729 }
2730 ]
2731 },
2732 {
2733 "name" : "FabricIngress.next.set_mcast_group_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002734 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002735 "runtime_data" : [
2736 {
2737 "name" : "group_id",
2738 "bitwidth" : 16
2739 }
2740 ],
2741 "primitives" : [
2742 {
2743 "op" : "assign",
2744 "parameters" : [
2745 {
2746 "type" : "field",
2747 "value" : ["standard_metadata", "mcast_grp"]
2748 },
2749 {
2750 "type" : "runtime_data",
2751 "value" : 0
2752 }
2753 ],
2754 "source_info" : {
2755 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002756 "line" : 231,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002757 "column" : 8,
2758 "source_fragment" : "standard_metadata.mcast_grp = group_id"
2759 }
2760 },
2761 {
2762 "op" : "assign",
2763 "parameters" : [
2764 {
2765 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002766 "value" : ["scalars", "userMetadata._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002767 },
2768 {
2769 "type" : "expression",
2770 "value" : {
2771 "type" : "expression",
2772 "value" : {
2773 "op" : "b2d",
2774 "left" : null,
2775 "right" : {
2776 "type" : "bool",
2777 "value" : true
2778 }
2779 }
2780 }
2781 }
2782 ],
2783 "source_info" : {
2784 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002785 "line" : 232,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002786 "column" : 37,
2787 "source_fragment" : "= true; ..."
2788 }
2789 }
2790 ]
2791 },
2792 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002793 "name" : "packetio25",
Daniele Moro5a2de712019-09-24 14:34:07 -07002794 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002795 "runtime_data" : [],
2796 "primitives" : [
2797 {
2798 "op" : "assign",
2799 "parameters" : [
2800 {
2801 "type" : "field",
2802 "value" : ["standard_metadata", "egress_spec"]
2803 },
2804 {
2805 "type" : "field",
2806 "value" : ["packet_out", "egress_port"]
2807 }
2808 ],
2809 "source_info" : {
2810 "filename" : "include/control/packetio.p4",
2811 "line" : 25,
2812 "column" : 12,
2813 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
2814 }
2815 },
2816 {
2817 "op" : "remove_header",
2818 "parameters" : [
2819 {
2820 "type" : "header",
2821 "value" : "packet_out"
2822 }
2823 ],
2824 "source_info" : {
2825 "filename" : "include/control/packetio.p4",
2826 "line" : 26,
2827 "column" : 12,
2828 "source_fragment" : "hdr.packet_out.setInvalid()"
2829 }
2830 },
2831 {
2832 "op" : "assign",
2833 "parameters" : [
2834 {
2835 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002836 "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002837 },
2838 {
2839 "type" : "expression",
2840 "value" : {
2841 "type" : "expression",
2842 "value" : {
2843 "op" : "b2d",
2844 "left" : null,
2845 "right" : {
2846 "type" : "bool",
2847 "value" : true
2848 }
2849 }
2850 }
2851 }
2852 ],
2853 "source_info" : {
2854 "filename" : "include/control/packetio.p4",
2855 "line" : 27,
2856 "column" : 53,
2857 "source_fragment" : "= true; ..."
2858 }
2859 },
2860 {
2861 "op" : "exit",
2862 "parameters" : [],
2863 "source_info" : {
2864 "filename" : "include/control/packetio.p4",
2865 "line" : 29,
2866 "column" : 12,
2867 "source_fragment" : "exit"
2868 }
2869 }
2870 ]
2871 },
2872 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002873 "name" : "filtering111",
Daniele Moro5a2de712019-09-24 14:34:07 -07002874 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002875 "runtime_data" : [],
2876 "primitives" : [
2877 {
2878 "op" : "assign",
2879 "parameters" : [
2880 {
2881 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002882 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002883 },
2884 {
2885 "type" : "field",
2886 "value" : ["vlan_tag", "vlan_id"]
2887 }
2888 ],
2889 "source_info" : {
2890 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002891 "line" : 111,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002892 "column" : 36,
2893 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
2894 }
2895 },
2896 {
2897 "op" : "assign",
2898 "parameters" : [
2899 {
2900 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002901 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002902 },
2903 {
2904 "type" : "field",
2905 "value" : ["vlan_tag", "pri"]
2906 }
2907 ],
2908 "source_info" : {
2909 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002910 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002911 "column" : 37,
2912 "source_fragment" : "= hdr.vlan_tag.pri; ..."
2913 }
2914 },
2915 {
2916 "op" : "assign",
2917 "parameters" : [
2918 {
2919 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002920 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002921 },
2922 {
2923 "type" : "field",
2924 "value" : ["vlan_tag", "cfi"]
2925 }
2926 ],
2927 "source_info" : {
2928 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002929 "line" : 113,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002930 "column" : 37,
2931 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
2932 }
2933 }
2934 ]
2935 },
2936 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002937 "name" : "filtering117",
Daniele Moro5a2de712019-09-24 14:34:07 -07002938 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002939 "runtime_data" : [],
2940 "primitives" : [
2941 {
2942 "op" : "assign",
2943 "parameters" : [
2944 {
2945 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002946 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002947 },
2948 {
2949 "type" : "field",
2950 "value" : ["inner_vlan_tag", "vlan_id"]
2951 }
2952 ],
2953 "source_info" : {
2954 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002955 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002956 "column" : 42,
2957 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
2958 }
2959 },
2960 {
2961 "op" : "assign",
2962 "parameters" : [
2963 {
2964 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002965 "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002966 },
2967 {
2968 "type" : "field",
2969 "value" : ["inner_vlan_tag", "pri"]
2970 }
2971 ],
2972 "source_info" : {
2973 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002974 "line" : 118,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002975 "column" : 43,
2976 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
2977 }
2978 },
2979 {
2980 "op" : "assign",
2981 "parameters" : [
2982 {
2983 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002984 "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002985 },
2986 {
2987 "type" : "field",
2988 "value" : ["inner_vlan_tag", "cfi"]
2989 }
2990 ],
2991 "source_info" : {
2992 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002993 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002994 "column" : 43,
2995 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
2996 }
2997 }
2998 ]
2999 },
3000 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003001 "name" : "filtering127",
Daniele Moro5a2de712019-09-24 14:34:07 -07003002 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003003 "runtime_data" : [],
3004 "primitives" : [
3005 {
3006 "op" : "assign",
3007 "parameters" : [
3008 {
3009 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003010 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003011 },
3012 {
3013 "type" : "hexstr",
3014 "value" : "0x41"
3015 }
3016 ],
3017 "source_info" : {
3018 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003019 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003020 "column" : 37,
3021 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
3022 }
3023 }
3024 ]
3025 },
3026 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003027 "name" : "port_counter31",
Daniele Moro5a2de712019-09-24 14:34:07 -07003028 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003029 "runtime_data" : [],
3030 "primitives" : [
3031 {
3032 "op" : "assign",
3033 "parameters" : [
3034 {
3035 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +01003036 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003037 },
3038 {
3039 "type" : "expression",
3040 "value" : {
3041 "type" : "expression",
3042 "value" : {
3043 "op" : "&",
3044 "left" : {
3045 "type" : "field",
3046 "value" : ["standard_metadata", "egress_spec"]
3047 },
3048 "right" : {
3049 "type" : "hexstr",
3050 "value" : "0xffffffff"
3051 }
3052 }
3053 }
3054 }
3055 ],
3056 "source_info" : {
3057 "filename" : "include/control/port_counter.p4",
3058 "line" : 31,
3059 "column" : 38,
3060 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
3061 }
3062 },
3063 {
3064 "op" : "count",
3065 "parameters" : [
3066 {
3067 "type" : "counter_array",
3068 "value" : "FabricIngress.port_counters_control.egress_port_counter"
3069 },
3070 {
3071 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +01003072 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003073 }
3074 ],
3075 "source_info" : {
3076 "filename" : "include/control/port_counter.p4",
3077 "line" : 31,
3078 "column" : 12,
3079 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
3080 }
3081 }
3082 ]
3083 },
3084 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003085 "name" : "port_counter34",
Daniele Moro5a2de712019-09-24 14:34:07 -07003086 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003087 "runtime_data" : [],
3088 "primitives" : [
3089 {
3090 "op" : "assign",
3091 "parameters" : [
3092 {
3093 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003094 "value" : ["scalars", "tmp_4"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003095 },
3096 {
3097 "type" : "expression",
3098 "value" : {
3099 "type" : "expression",
3100 "value" : {
3101 "op" : "&",
3102 "left" : {
3103 "type" : "field",
3104 "value" : ["standard_metadata", "ingress_port"]
3105 },
3106 "right" : {
3107 "type" : "hexstr",
3108 "value" : "0xffffffff"
3109 }
3110 }
3111 }
3112 }
3113 ],
3114 "source_info" : {
3115 "filename" : "include/control/port_counter.p4",
3116 "line" : 34,
3117 "column" : 39,
3118 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
3119 }
3120 },
3121 {
3122 "op" : "count",
3123 "parameters" : [
3124 {
3125 "type" : "counter_array",
3126 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
3127 },
3128 {
3129 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003130 "value" : ["scalars", "tmp_4"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003131 }
3132 ],
3133 "source_info" : {
3134 "filename" : "include/control/port_counter.p4",
3135 "line" : 34,
3136 "column" : 12,
3137 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
3138 }
3139 }
3140 ]
3141 },
3142 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003143 "name" : "bng126",
Daniele Moro5a2de712019-09-24 14:34:07 -07003144 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003145 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003146 "primitives" : [
3147 {
3148 "op" : "assign",
3149 "parameters" : [
3150 {
3151 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003152 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
3153 },
3154 {
3155 "type" : "expression",
3156 "value" : {
3157 "type" : "expression",
3158 "value" : {
3159 "op" : "b2d",
3160 "left" : null,
3161 "right" : {
3162 "type" : "bool",
3163 "value" : true
3164 }
3165 }
3166 }
3167 }
3168 ],
3169 "source_info" : {
3170 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003171 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003172 "column" : 12,
3173 "source_fragment" : "return"
3174 }
3175 }
3176 ]
3177 },
3178 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003179 "name" : "bng342",
3180 "id" : 42,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003181 "runtime_data" : [],
3182 "primitives" : [
3183 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003184 "op" : "assign",
Daniele Moro7c3a0022019-07-12 13:38:34 -07003185 "parameters" : [
3186 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003187 "type" : "field",
3188 "value" : ["scalars", "userMetadata._bng_type21"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003189 },
3190 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003191 "type" : "hexstr",
3192 "value" : "0x01"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003193 }
3194 ],
3195 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003196 "filename" : "include/control/../header.p4",
3197 "line" : 163,
3198 "column" : 37,
3199 "source_fragment" : "2w0x1; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003200 }
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003201 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07003202 {
3203 "op" : "assign",
3204 "parameters" : [
3205 {
3206 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003207 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003208 },
3209 {
3210 "type" : "expression",
3211 "value" : {
3212 "type" : "expression",
3213 "value" : {
3214 "op" : "b2d",
3215 "left" : null,
3216 "right" : {
3217 "type" : "bool",
3218 "value" : false
3219 }
3220 }
3221 }
3222 }
3223 ]
3224 }
3225 ]
3226 },
3227 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003228 "name" : "bng131",
3229 "id" : 43,
3230 "runtime_data" : [],
3231 "primitives" : [
3232 {
3233 "op" : "count",
3234 "parameters" : [
3235 {
3236 "type" : "counter_array",
3237 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
3238 },
3239 {
3240 "type" : "field",
3241 "value" : ["scalars", "userMetadata._bng_line_id22"]
3242 }
3243 ],
3244 "source_info" : {
3245 "filename" : "include/bng.p4",
3246 "line" : 131,
3247 "column" : 20,
3248 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
3249 }
3250 }
3251 ]
3252 },
3253 {
3254 "name" : "bng238",
3255 "id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003256 "runtime_data" : [],
3257 "primitives" : [
3258 {
3259 "op" : "execute_meter",
3260 "parameters" : [
3261 {
3262 "type" : "meter_array",
3263 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
3264 },
3265 {
3266 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003267 "value" : ["scalars", "userMetadata._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003268 },
3269 {
3270 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003271 "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003272 }
3273 ],
3274 "source_info" : {
3275 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003276 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003277 "column" : 24,
3278 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3279 }
3280 }
3281 ]
3282 },
3283 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003284 "name" : "bng241",
3285 "id" : 45,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003286 "runtime_data" : [],
3287 "primitives" : [
3288 {
3289 "op" : "execute_meter",
3290 "parameters" : [
3291 {
3292 "type" : "meter_array",
3293 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
3294 },
3295 {
3296 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003297 "value" : ["scalars", "userMetadata._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003298 },
3299 {
3300 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003301 "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003302 }
3303 ],
3304 "source_info" : {
3305 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003306 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003307 "column" : 24,
3308 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3309 }
3310 }
3311 ]
3312 },
3313 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003314 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003315 "id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003316 "runtime_data" : [],
3317 "primitives" : [
3318 {
3319 "op" : "assign",
3320 "parameters" : [
3321 {
3322 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003323 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003324 },
3325 {
3326 "type" : "hexstr",
3327 "value" : "0x8864"
3328 }
3329 ],
3330 "source_info" : {
3331 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003332 "line" : 124,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003333 "column" : 33,
3334 "source_fragment" : "0x8864; ..."
3335 }
3336 },
3337 {
3338 "op" : "add_header",
3339 "parameters" : [
3340 {
3341 "type" : "header",
3342 "value" : "pppoe"
3343 }
3344 ],
3345 "source_info" : {
3346 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003347 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003348 "column" : 8,
3349 "source_fragment" : "hdr.pppoe.setValid()"
3350 }
3351 },
3352 {
3353 "op" : "assign",
3354 "parameters" : [
3355 {
3356 "type" : "field",
3357 "value" : ["pppoe", "version"]
3358 },
3359 {
3360 "type" : "hexstr",
3361 "value" : "0x01"
3362 }
3363 ],
3364 "source_info" : {
3365 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003366 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003367 "column" : 8,
3368 "source_fragment" : "hdr.pppoe.version = 4w1"
3369 }
3370 },
3371 {
3372 "op" : "assign",
3373 "parameters" : [
3374 {
3375 "type" : "field",
3376 "value" : ["pppoe", "type_id"]
3377 },
3378 {
3379 "type" : "hexstr",
3380 "value" : "0x01"
3381 }
3382 ],
3383 "source_info" : {
3384 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003385 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003386 "column" : 8,
3387 "source_fragment" : "hdr.pppoe.type_id = 4w1"
3388 }
3389 },
3390 {
3391 "op" : "assign",
3392 "parameters" : [
3393 {
3394 "type" : "field",
3395 "value" : ["pppoe", "code"]
3396 },
3397 {
3398 "type" : "hexstr",
3399 "value" : "0x00"
3400 }
3401 ],
3402 "source_info" : {
3403 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003404 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003405 "column" : 8,
3406 "source_fragment" : "hdr.pppoe.code = 8w0"
3407 }
3408 },
3409 {
3410 "op" : "assign",
3411 "parameters" : [
3412 {
3413 "type" : "field",
3414 "value" : ["pppoe", "session_id"]
3415 },
3416 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003417 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003418 "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003419 }
3420 ],
3421 "source_info" : {
3422 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003423 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003424 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003425 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003426 }
3427 },
3428 {
3429 "op" : "count",
3430 "parameters" : [
3431 {
3432 "type" : "counter_array",
3433 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
3434 },
3435 {
3436 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003437 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003438 }
3439 ],
3440 "source_info" : {
3441 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003442 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003443 "column" : 8,
3444 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
3445 }
3446 },
3447 {
3448 "op" : "assign",
3449 "parameters" : [
3450 {
3451 "type" : "field",
3452 "value" : ["pppoe", "length"]
3453 },
3454 {
3455 "type" : "expression",
3456 "value" : {
3457 "type" : "expression",
3458 "value" : {
3459 "op" : "&",
3460 "left" : {
3461 "type" : "expression",
3462 "value" : {
3463 "op" : "+",
3464 "left" : {
3465 "type" : "field",
3466 "value" : ["ipv4", "total_len"]
3467 },
3468 "right" : {
3469 "type" : "hexstr",
3470 "value" : "0x0002"
3471 }
3472 }
3473 },
3474 "right" : {
3475 "type" : "hexstr",
3476 "value" : "0xffff"
3477 }
3478 }
3479 }
3480 }
3481 ],
3482 "source_info" : {
3483 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003484 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003485 "column" : 8,
3486 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
3487 }
3488 },
3489 {
3490 "op" : "assign",
3491 "parameters" : [
3492 {
3493 "type" : "field",
3494 "value" : ["pppoe", "protocol"]
3495 },
3496 {
3497 "type" : "hexstr",
3498 "value" : "0x0021"
3499 }
3500 ],
3501 "source_info" : {
3502 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003503 "line" : 126,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003504 "column" : 35,
3505 "source_fragment" : "0x0021; ..."
3506 }
3507 }
3508 ]
3509 },
3510 {
3511 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003512 "id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003513 "runtime_data" : [],
3514 "primitives" : [
3515 {
3516 "op" : "remove_header",
3517 "parameters" : [
3518 {
3519 "type" : "header",
3520 "value" : "mpls"
3521 }
3522 ],
3523 "source_info" : {
3524 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003525 "line" : 270,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003526 "column" : 8,
3527 "source_fragment" : "hdr.mpls.setInvalid()"
3528 }
3529 },
3530 {
3531 "op" : "assign",
3532 "parameters" : [
3533 {
3534 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003535 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003536 },
3537 {
3538 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003539 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003540 }
3541 ],
3542 "source_info" : {
3543 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003544 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07003545 "column" : 8,
3546 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003547 }
3548 }
3549 ]
3550 },
3551 {
3552 "name" : "FabricEgress.egress_next.set_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003553 "id" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003554 "runtime_data" : [],
3555 "primitives" : [
3556 {
3557 "op" : "add_header",
3558 "parameters" : [
3559 {
3560 "type" : "header",
3561 "value" : "mpls"
3562 }
3563 ],
3564 "source_info" : {
3565 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003566 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003567 "column" : 8,
3568 "source_fragment" : "hdr.mpls.setValid()"
3569 }
3570 },
3571 {
3572 "op" : "assign",
3573 "parameters" : [
3574 {
3575 "type" : "field",
3576 "value" : ["mpls", "label"]
3577 },
3578 {
3579 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003580 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003581 }
3582 ],
3583 "source_info" : {
3584 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003585 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003586 "column" : 8,
3587 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
3588 }
3589 },
3590 {
3591 "op" : "assign",
3592 "parameters" : [
3593 {
3594 "type" : "field",
3595 "value" : ["mpls", "tc"]
3596 },
3597 {
3598 "type" : "hexstr",
3599 "value" : "0x00"
3600 }
3601 ],
3602 "source_info" : {
3603 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003604 "line" : 279,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003605 "column" : 8,
3606 "source_fragment" : "hdr.mpls.tc = 3w0"
3607 }
3608 },
3609 {
3610 "op" : "assign",
3611 "parameters" : [
3612 {
3613 "type" : "field",
3614 "value" : ["mpls", "bos"]
3615 },
3616 {
3617 "type" : "hexstr",
3618 "value" : "0x01"
3619 }
3620 ],
3621 "source_info" : {
3622 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003623 "line" : 280,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003624 "column" : 8,
3625 "source_fragment" : "hdr.mpls.bos = 1w1"
3626 }
3627 },
3628 {
3629 "op" : "assign",
3630 "parameters" : [
3631 {
3632 "type" : "field",
3633 "value" : ["mpls", "ttl"]
3634 },
3635 {
3636 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003637 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003638 }
3639 ],
3640 "source_info" : {
3641 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003642 "line" : 281,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003643 "column" : 8,
3644 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
3645 }
3646 },
3647 {
3648 "op" : "assign",
3649 "parameters" : [
3650 {
3651 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003652 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003653 },
3654 {
3655 "type" : "hexstr",
3656 "value" : "0x8847"
3657 }
3658 ],
3659 "source_info" : {
3660 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003661 "line" : 118,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003662 "column" : 31,
3663 "source_fragment" : "0x8847; ..."
3664 }
3665 }
3666 ]
3667 },
3668 {
pierventre48e78822020-12-15 17:34:54 +01003669 "name" : "FabricEgress.egress_next.push_outer_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003670 "id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003671 "runtime_data" : [],
3672 "primitives" : [
3673 {
3674 "op" : "add_header",
3675 "parameters" : [
3676 {
3677 "type" : "header",
3678 "value" : "vlan_tag"
3679 }
3680 ],
3681 "source_info" : {
3682 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003683 "line" : 289,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003684 "column" : 8,
3685 "source_fragment" : "hdr.vlan_tag.setValid()"
3686 }
3687 },
3688 {
3689 "op" : "assign",
3690 "parameters" : [
3691 {
3692 "type" : "field",
3693 "value" : ["vlan_tag", "cfi"]
3694 },
3695 {
3696 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003697 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003698 }
3699 ],
3700 "source_info" : {
3701 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003702 "line" : 290,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003703 "column" : 8,
3704 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3705 }
3706 },
3707 {
3708 "op" : "assign",
3709 "parameters" : [
3710 {
3711 "type" : "field",
3712 "value" : ["vlan_tag", "pri"]
3713 },
3714 {
3715 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003716 "value" : ["scalars", "userMetadata._vlan_pri2"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003717 }
3718 ],
3719 "source_info" : {
3720 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003721 "line" : 291,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003722 "column" : 8,
3723 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3724 }
3725 },
3726 {
3727 "op" : "assign",
3728 "parameters" : [
3729 {
3730 "type" : "field",
3731 "value" : ["vlan_tag", "eth_type"]
3732 },
3733 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003734 "type" : "hexstr",
3735 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003736 }
3737 ],
3738 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003739 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003740 "line" : 117,
Daniele Moro5a2de712019-09-24 14:34:07 -07003741 "column" : 31,
3742 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003743 }
3744 },
3745 {
3746 "op" : "assign",
3747 "parameters" : [
3748 {
3749 "type" : "field",
3750 "value" : ["vlan_tag", "vlan_id"]
3751 },
3752 {
3753 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003754 "value" : ["scalars", "userMetadata._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003755 }
3756 ],
3757 "source_info" : {
3758 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003759 "line" : 293,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003760 "column" : 8,
3761 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3762 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07003763 }
3764 ]
3765 },
3766 {
3767 "name" : "FabricEgress.egress_next.push_inner_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003768 "id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003769 "runtime_data" : [],
3770 "primitives" : [
3771 {
3772 "op" : "add_header",
3773 "parameters" : [
3774 {
3775 "type" : "header",
3776 "value" : "inner_vlan_tag"
3777 }
3778 ],
3779 "source_info" : {
3780 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003781 "line" : 300,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003782 "column" : 8,
3783 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
3784 }
3785 },
3786 {
3787 "op" : "assign",
3788 "parameters" : [
3789 {
3790 "type" : "field",
3791 "value" : ["inner_vlan_tag", "cfi"]
3792 },
3793 {
3794 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003795 "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003796 }
3797 ],
3798 "source_info" : {
3799 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003800 "line" : 301,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003801 "column" : 8,
3802 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
3803 }
3804 },
3805 {
3806 "op" : "assign",
3807 "parameters" : [
3808 {
3809 "type" : "field",
3810 "value" : ["inner_vlan_tag", "pri"]
3811 },
3812 {
3813 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003814 "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003815 }
3816 ],
3817 "source_info" : {
3818 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003819 "line" : 302,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003820 "column" : 8,
3821 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
3822 }
3823 },
3824 {
3825 "op" : "assign",
3826 "parameters" : [
3827 {
3828 "type" : "field",
3829 "value" : ["inner_vlan_tag", "vlan_id"]
3830 },
3831 {
3832 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003833 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003834 }
3835 ],
3836 "source_info" : {
3837 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003838 "line" : 303,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003839 "column" : 8,
3840 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
3841 }
3842 },
3843 {
3844 "op" : "assign",
3845 "parameters" : [
3846 {
3847 "type" : "field",
3848 "value" : ["inner_vlan_tag", "eth_type"]
3849 },
3850 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003851 "type" : "hexstr",
3852 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003853 }
3854 ],
3855 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003856 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003857 "line" : 117,
Daniele Moro5a2de712019-09-24 14:34:07 -07003858 "column" : 31,
3859 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003860 }
3861 },
3862 {
3863 "op" : "assign",
3864 "parameters" : [
3865 {
3866 "type" : "field",
3867 "value" : ["vlan_tag", "eth_type"]
3868 },
3869 {
3870 "type" : "hexstr",
3871 "value" : "0x8100"
3872 }
3873 ],
3874 "source_info" : {
3875 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003876 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003877 "column" : 31,
3878 "source_fragment" : "0x8100; ..."
3879 }
3880 }
3881 ]
3882 },
3883 {
pierventre48e78822020-12-15 17:34:54 +01003884 "name" : "FabricEgress.egress_next.push_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003885 "id" : 51,
pierventre48e78822020-12-15 17:34:54 +01003886 "runtime_data" : [],
3887 "primitives" : [
3888 {
3889 "op" : "add_header",
3890 "parameters" : [
3891 {
3892 "type" : "header",
3893 "value" : "vlan_tag"
3894 }
3895 ],
3896 "source_info" : {
3897 "filename" : "include/control/next.p4",
3898 "line" : 289,
3899 "column" : 8,
3900 "source_fragment" : "hdr.vlan_tag.setValid()"
3901 }
3902 },
3903 {
3904 "op" : "assign",
3905 "parameters" : [
3906 {
3907 "type" : "field",
3908 "value" : ["vlan_tag", "cfi"]
3909 },
3910 {
3911 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003912 "value" : ["scalars", "userMetadata._vlan_cfi3"]
pierventre48e78822020-12-15 17:34:54 +01003913 }
3914 ],
3915 "source_info" : {
3916 "filename" : "include/control/next.p4",
3917 "line" : 290,
3918 "column" : 8,
3919 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3920 }
3921 },
3922 {
3923 "op" : "assign",
3924 "parameters" : [
3925 {
3926 "type" : "field",
3927 "value" : ["vlan_tag", "pri"]
3928 },
3929 {
3930 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003931 "value" : ["scalars", "userMetadata._vlan_pri2"]
pierventre48e78822020-12-15 17:34:54 +01003932 }
3933 ],
3934 "source_info" : {
3935 "filename" : "include/control/next.p4",
3936 "line" : 291,
3937 "column" : 8,
3938 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3939 }
3940 },
3941 {
3942 "op" : "assign",
3943 "parameters" : [
3944 {
3945 "type" : "field",
3946 "value" : ["vlan_tag", "eth_type"]
3947 },
3948 {
3949 "type" : "hexstr",
3950 "value" : "0x8100"
3951 }
3952 ],
3953 "source_info" : {
3954 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003955 "line" : 117,
pierventre48e78822020-12-15 17:34:54 +01003956 "column" : 31,
3957 "source_fragment" : "0x8100; ..."
3958 }
3959 },
3960 {
3961 "op" : "assign",
3962 "parameters" : [
3963 {
3964 "type" : "field",
3965 "value" : ["vlan_tag", "vlan_id"]
3966 },
3967 {
3968 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003969 "value" : ["scalars", "userMetadata._vlan_id1"]
pierventre48e78822020-12-15 17:34:54 +01003970 }
3971 ],
3972 "source_info" : {
3973 "filename" : "include/control/next.p4",
3974 "line" : 293,
3975 "column" : 8,
3976 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3977 }
3978 }
3979 ]
3980 },
3981 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003982 "name" : "FabricEgress.egress_next.pop_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003983 "id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003984 "runtime_data" : [],
3985 "primitives" : [
3986 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003987 "op" : "remove_header",
3988 "parameters" : [
3989 {
3990 "type" : "header",
3991 "value" : "vlan_tag"
3992 }
3993 ],
3994 "source_info" : {
3995 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01003996 "line" : 322,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003997 "column" : 8,
3998 "source_fragment" : "hdr.vlan_tag.setInvalid()"
3999 }
4000 }
4001 ]
4002 },
4003 {
pierventre48e78822020-12-15 17:34:54 +01004004 "name" : "FabricEgress.egress_next.drop",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004005 "id" : 53,
pierventre48e78822020-12-15 17:34:54 +01004006 "runtime_data" : [],
4007 "primitives" : [
4008 {
4009 "op" : "mark_to_drop",
4010 "parameters" : [
4011 {
4012 "type" : "header",
4013 "value" : "standard_metadata"
4014 }
4015 ],
4016 "source_info" : {
4017 "filename" : "include/control/next.p4",
4018 "line" : 327,
4019 "column" : 8,
4020 "source_fragment" : "mark_to_drop(standard_metadata)"
4021 }
4022 }
4023 ]
4024 },
4025 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004026 "name" : "packetio41",
4027 "id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004028 "runtime_data" : [],
4029 "primitives" : [
4030 {
4031 "op" : "exit",
4032 "parameters" : [],
4033 "source_info" : {
4034 "filename" : "include/control/packetio.p4",
4035 "line" : 41,
4036 "column" : 12,
4037 "source_fragment" : "exit"
4038 }
4039 }
4040 ]
4041 },
4042 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004043 "name" : "packetio44",
4044 "id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004045 "runtime_data" : [],
4046 "primitives" : [
4047 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004048 "op" : "add_header",
4049 "parameters" : [
4050 {
4051 "type" : "header",
4052 "value" : "packet_in"
4053 }
4054 ],
4055 "source_info" : {
4056 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004057 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004058 "column" : 12,
4059 "source_fragment" : "hdr.packet_in.setValid()"
4060 }
4061 },
4062 {
4063 "op" : "assign",
4064 "parameters" : [
4065 {
4066 "type" : "field",
4067 "value" : ["packet_in", "ingress_port"]
4068 },
4069 {
4070 "type" : "field",
4071 "value" : ["standard_metadata", "ingress_port"]
4072 }
4073 ],
4074 "source_info" : {
4075 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004076 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004077 "column" : 12,
4078 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
4079 }
4080 },
4081 {
4082 "op" : "exit",
4083 "parameters" : [],
4084 "source_info" : {
4085 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004086 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004087 "column" : 12,
4088 "source_fragment" : "exit"
4089 }
4090 }
4091 ]
4092 },
4093 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004094 "name" : "next349",
4095 "id" : 56,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004096 "runtime_data" : [],
4097 "primitives" : [
4098 {
4099 "op" : "mark_to_drop",
4100 "parameters" : [
4101 {
4102 "type" : "header",
4103 "value" : "standard_metadata"
4104 }
4105 ],
4106 "source_info" : {
4107 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004108 "line" : 349,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004109 "column" : 12,
4110 "source_fragment" : "mark_to_drop(standard_metadata)"
4111 }
4112 }
4113 ]
4114 },
4115 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004116 "name" : "next365",
4117 "id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004118 "runtime_data" : [],
4119 "primitives" : [
4120 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004121 "op" : "remove_header",
4122 "parameters" : [
4123 {
4124 "type" : "header",
4125 "value" : "inner_vlan_tag"
4126 }
4127 ],
4128 "source_info" : {
4129 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004130 "line" : 365,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004131 "column" : 12,
4132 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
4133 }
4134 }
4135 ]
4136 },
4137 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004138 "name" : "next376",
4139 "id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004140 "runtime_data" : [],
4141 "primitives" : [
4142 {
4143 "op" : "mark_to_drop",
4144 "parameters" : [
4145 {
4146 "type" : "header",
4147 "value" : "standard_metadata"
4148 }
4149 ],
4150 "source_info" : {
4151 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004152 "line" : 376,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004153 "column" : 35,
4154 "source_fragment" : "mark_to_drop(standard_metadata)"
4155 }
4156 }
4157 ]
4158 },
4159 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004160 "name" : "next375",
4161 "id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004162 "runtime_data" : [],
4163 "primitives" : [
4164 {
4165 "op" : "assign",
4166 "parameters" : [
4167 {
4168 "type" : "field",
4169 "value" : ["mpls", "ttl"]
4170 },
4171 {
4172 "type" : "expression",
4173 "value" : {
4174 "type" : "expression",
4175 "value" : {
4176 "op" : "&",
4177 "left" : {
4178 "type" : "expression",
4179 "value" : {
4180 "op" : "+",
4181 "left" : {
4182 "type" : "field",
4183 "value" : ["mpls", "ttl"]
4184 },
4185 "right" : {
4186 "type" : "hexstr",
4187 "value" : "0xff"
4188 }
4189 }
4190 },
4191 "right" : {
4192 "type" : "hexstr",
4193 "value" : "0xff"
4194 }
4195 }
4196 }
4197 }
4198 ],
4199 "source_info" : {
4200 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004201 "line" : 375,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004202 "column" : 12,
4203 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
4204 }
4205 }
4206 ]
4207 },
4208 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004209 "name" : "next380",
4210 "id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004211 "runtime_data" : [],
4212 "primitives" : [
4213 {
4214 "op" : "mark_to_drop",
4215 "parameters" : [
4216 {
4217 "type" : "header",
4218 "value" : "standard_metadata"
4219 }
4220 ],
4221 "source_info" : {
4222 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004223 "line" : 380,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004224 "column" : 39,
4225 "source_fragment" : "mark_to_drop(standard_metadata)"
4226 }
4227 }
4228 ]
4229 },
4230 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004231 "name" : "next379",
4232 "id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004233 "runtime_data" : [],
4234 "primitives" : [
4235 {
4236 "op" : "assign",
4237 "parameters" : [
4238 {
4239 "type" : "field",
4240 "value" : ["ipv4", "ttl"]
4241 },
4242 {
4243 "type" : "expression",
4244 "value" : {
4245 "type" : "expression",
4246 "value" : {
4247 "op" : "&",
4248 "left" : {
4249 "type" : "expression",
4250 "value" : {
4251 "op" : "+",
4252 "left" : {
4253 "type" : "field",
4254 "value" : ["ipv4", "ttl"]
4255 },
4256 "right" : {
4257 "type" : "hexstr",
4258 "value" : "0xff"
4259 }
4260 }
4261 },
4262 "right" : {
4263 "type" : "hexstr",
4264 "value" : "0xff"
4265 }
4266 }
4267 }
4268 }
4269 ],
4270 "source_info" : {
4271 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004272 "line" : 379,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004273 "column" : 16,
4274 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4275 }
4276 }
4277 ]
4278 }
4279 ],
4280 "pipelines" : [
4281 {
4282 "name" : "ingress",
4283 "id" : 0,
4284 "source_info" : {
4285 "filename" : "fabric.p4",
4286 "line" : 46,
4287 "column" : 8,
4288 "source_fragment" : "FabricIngress"
4289 },
4290 "init_table" : "node_2",
4291 "tables" : [
4292 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004293 "name" : "tbl_packetio25",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004294 "id" : 0,
4295 "source_info" : {
4296 "filename" : "include/control/packetio.p4",
4297 "line" : 25,
4298 "column" : 42,
4299 "source_fragment" : "= hdr.packet_out.egress_port; ..."
4300 },
4301 "key" : [],
4302 "match_type" : "exact",
4303 "type" : "simple",
4304 "max_size" : 1024,
4305 "with_counters" : false,
4306 "support_timeout" : false,
4307 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004308 "action_ids" : [35],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004309 "actions" : ["packetio25"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004310 "base_default_next" : "node_4",
4311 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004312 "packetio25" : "node_4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004313 },
4314 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004315 "action_id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004316 "action_const" : true,
4317 "action_data" : [],
4318 "action_entry_const" : true
4319 }
4320 },
4321 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004322 "name" : "tbl_filtering111",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004323 "id" : 1,
4324 "source_info" : {
4325 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004326 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004327 "column" : 36,
4328 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004329 },
4330 "key" : [],
4331 "match_type" : "exact",
4332 "type" : "simple",
4333 "max_size" : 1024,
4334 "with_counters" : false,
4335 "support_timeout" : false,
4336 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004337 "action_ids" : [36],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004338 "actions" : ["filtering111"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004339 "base_default_next" : "node_6",
4340 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004341 "filtering111" : "node_6"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004342 },
4343 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004344 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004345 "action_const" : true,
4346 "action_data" : [],
4347 "action_entry_const" : true
4348 }
4349 },
4350 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004351 "name" : "tbl_filtering117",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004352 "id" : 2,
4353 "source_info" : {
4354 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004355 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004356 "column" : 42,
4357 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
4358 },
4359 "key" : [],
4360 "match_type" : "exact",
4361 "type" : "simple",
4362 "max_size" : 1024,
4363 "with_counters" : false,
4364 "support_timeout" : false,
4365 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004366 "action_ids" : [37],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004367 "actions" : ["filtering117"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004368 "base_default_next" : "node_8",
4369 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004370 "filtering117" : "node_8"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004371 },
4372 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004373 "action_id" : 37,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004374 "action_const" : true,
4375 "action_data" : [],
4376 "action_entry_const" : true
4377 }
4378 },
4379 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004380 "name" : "tbl_filtering127",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004381 "id" : 3,
4382 "source_info" : {
4383 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004384 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004385 "column" : 37,
4386 "source_fragment" : "="
4387 },
4388 "key" : [],
4389 "match_type" : "exact",
4390 "type" : "simple",
4391 "max_size" : 1024,
4392 "with_counters" : false,
4393 "support_timeout" : false,
4394 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004395 "action_ids" : [38],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004396 "actions" : ["filtering127"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004397 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4398 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004399 "filtering127" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004400 },
4401 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004402 "action_id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004403 "action_const" : true,
4404 "action_data" : [],
4405 "action_entry_const" : true
4406 }
4407 },
4408 {
4409 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004410 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004411 "source_info" : {
4412 "filename" : "include/control/filtering.p4",
4413 "line" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004414 "column" : 10,
4415 "source_fragment" : "ingress_port_vlan"
4416 },
4417 "key" : [
4418 {
4419 "match_type" : "exact",
4420 "name" : "ig_port",
4421 "target" : ["standard_metadata", "ingress_port"],
4422 "mask" : null
4423 },
4424 {
4425 "match_type" : "exact",
4426 "name" : "vlan_is_valid",
4427 "target" : ["vlan_tag", "$valid$"],
4428 "mask" : null
4429 },
4430 {
4431 "match_type" : "ternary",
4432 "name" : "vlan_id",
4433 "target" : ["vlan_tag", "vlan_id"],
4434 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07004435 },
4436 {
4437 "match_type" : "ternary",
4438 "name" : "inner_vlan_id",
4439 "target" : ["inner_vlan_tag", "vlan_id"],
4440 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004441 }
4442 ],
4443 "match_type" : "ternary",
4444 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004445 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004446 "with_counters" : true,
4447 "support_timeout" : false,
4448 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004449 "action_ids" : [16, 17, 18],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004450 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
4451 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
4452 "next_tables" : {
4453 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
4454 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
4455 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
4456 },
4457 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004458 "action_id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004459 "action_const" : true,
4460 "action_data" : [],
4461 "action_entry_const" : true
4462 }
4463 },
4464 {
4465 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro5a2de712019-09-24 14:34:07 -07004466 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004467 "source_info" : {
4468 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004469 "line" : 92,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004470 "column" : 10,
4471 "source_fragment" : "fwd_classifier"
4472 },
4473 "key" : [
4474 {
4475 "match_type" : "exact",
4476 "name" : "ig_port",
4477 "target" : ["standard_metadata", "ingress_port"],
4478 "mask" : null
4479 },
4480 {
4481 "match_type" : "ternary",
4482 "name" : "eth_dst",
4483 "target" : ["ethernet", "dst_addr"],
4484 "mask" : null
4485 },
4486 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004487 "match_type" : "ternary",
4488 "name" : "eth_type",
4489 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004490 "mask" : null
4491 },
4492 {
4493 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07004494 "name" : "ip_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004495 "target" : ["scalars", "userMetadata._ip_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004496 "mask" : null
4497 }
4498 ],
4499 "match_type" : "ternary",
4500 "type" : "simple",
4501 "max_size" : 1024,
4502 "with_counters" : true,
4503 "support_timeout" : false,
4504 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004505 "action_ids" : [19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004506 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004507 "base_default_next" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004508 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004509 "FabricIngress.filtering.set_forwarding_type" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004510 },
4511 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004512 "action_id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004513 "action_const" : true,
4514 "action_data" : ["0x0"],
4515 "action_entry_const" : true
4516 }
4517 },
4518 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004519 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07004520 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004521 "source_info" : {
4522 "filename" : "include/control/forwarding.p4",
4523 "line" : 46,
4524 "column" : 10,
4525 "source_fragment" : "bridging"
4526 },
4527 "key" : [
4528 {
4529 "match_type" : "exact",
4530 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004531 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004532 "mask" : null
4533 },
4534 {
4535 "match_type" : "ternary",
4536 "name" : "eth_dst",
4537 "target" : ["ethernet", "dst_addr"],
4538 "mask" : null
4539 }
4540 ],
4541 "match_type" : "ternary",
4542 "type" : "simple",
4543 "max_size" : 1024,
4544 "with_counters" : true,
4545 "support_timeout" : false,
4546 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004547 "action_ids" : [20, 2],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004548 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
4549 "base_default_next" : "FabricIngress.acl.acl",
4550 "next_tables" : {
4551 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
4552 "nop" : "FabricIngress.acl.acl"
4553 },
4554 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004555 "action_id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004556 "action_const" : true,
4557 "action_data" : [],
4558 "action_entry_const" : true
4559 }
4560 },
4561 {
4562 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07004563 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004564 "source_info" : {
4565 "filename" : "include/control/forwarding.p4",
4566 "line" : 71,
4567 "column" : 10,
4568 "source_fragment" : "mpls"
4569 },
4570 "key" : [
4571 {
4572 "match_type" : "exact",
4573 "name" : "mpls_label",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004574 "target" : ["scalars", "userMetadata._mpls_label8"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004575 "mask" : null
4576 }
4577 ],
4578 "match_type" : "exact",
4579 "type" : "simple",
4580 "max_size" : 1024,
4581 "with_counters" : true,
4582 "support_timeout" : false,
4583 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004584 "action_ids" : [21, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004585 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
4586 "base_default_next" : "FabricIngress.acl.acl",
4587 "next_tables" : {
4588 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
4589 "nop" : "FabricIngress.acl.acl"
4590 },
4591 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004592 "action_id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004593 "action_const" : true,
4594 "action_data" : [],
4595 "action_entry_const" : true
4596 }
4597 },
4598 {
4599 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004600 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004601 "source_info" : {
4602 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004603 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004604 "column" : 10,
4605 "source_fragment" : "routing_v4"
4606 },
4607 "key" : [
4608 {
4609 "match_type" : "lpm",
4610 "name" : "ipv4_dst",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004611 "target" : ["scalars", "userMetadata._ipv4_dst_addr20"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004612 "mask" : null
4613 }
4614 ],
4615 "match_type" : "lpm",
4616 "type" : "simple",
4617 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07004618 "with_counters" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004619 "support_timeout" : false,
4620 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004621 "action_ids" : [22, 23, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004622 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
4623 "base_default_next" : "FabricIngress.acl.acl",
4624 "next_tables" : {
4625 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
4626 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
4627 "nop" : "FabricIngress.acl.acl"
4628 },
4629 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004630 "action_id" : 4,
CyberHasHe9ba39c2019-10-11 05:59:12 +08004631 "action_const" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004632 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08004633 "action_entry_const" : false
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004634 }
4635 },
4636 {
4637 "name" : "FabricIngress.acl.acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07004638 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004639 "source_info" : {
4640 "filename" : "include/control/acl.p4",
4641 "line" : 60,
4642 "column" : 10,
4643 "source_fragment" : "acl"
4644 },
4645 "key" : [
4646 {
4647 "match_type" : "ternary",
4648 "name" : "ig_port",
4649 "target" : ["standard_metadata", "ingress_port"],
4650 "mask" : null
4651 },
4652 {
4653 "match_type" : "ternary",
4654 "name" : "ip_proto",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004655 "target" : ["scalars", "userMetadata._ip_proto16"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004656 "mask" : null
4657 },
4658 {
4659 "match_type" : "ternary",
4660 "name" : "l4_sport",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004661 "target" : ["scalars", "userMetadata._l4_sport17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004662 "mask" : null
4663 },
4664 {
4665 "match_type" : "ternary",
4666 "name" : "l4_dport",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004667 "target" : ["scalars", "userMetadata._l4_dport18"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004668 "mask" : null
4669 },
4670 {
4671 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004672 "name" : "eth_dst",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004673 "target" : ["ethernet", "dst_addr"],
4674 "mask" : null
4675 },
4676 {
4677 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004678 "name" : "eth_src",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004679 "target" : ["ethernet", "src_addr"],
4680 "mask" : null
4681 },
4682 {
4683 "match_type" : "ternary",
4684 "name" : "vlan_id",
4685 "target" : ["vlan_tag", "vlan_id"],
4686 "mask" : null
4687 },
4688 {
4689 "match_type" : "ternary",
4690 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07004691 "target" : ["eth_type", "value"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004692 "mask" : null
4693 },
4694 {
4695 "match_type" : "ternary",
4696 "name" : "ipv4_src",
4697 "target" : ["ipv4", "src_addr"],
4698 "mask" : null
4699 },
4700 {
4701 "match_type" : "ternary",
4702 "name" : "ipv4_dst",
4703 "target" : ["ipv4", "dst_addr"],
4704 "mask" : null
4705 },
4706 {
4707 "match_type" : "ternary",
4708 "name" : "icmp_type",
4709 "target" : ["icmp", "icmp_type"],
4710 "mask" : null
4711 },
4712 {
4713 "match_type" : "ternary",
4714 "name" : "icmp_code",
4715 "target" : ["icmp", "icmp_code"],
4716 "mask" : null
4717 }
4718 ],
4719 "match_type" : "ternary",
4720 "type" : "simple",
4721 "max_size" : 1024,
4722 "with_counters" : true,
4723 "support_timeout" : false,
4724 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004725 "action_ids" : [24, 25, 26, 27, 28],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004726 "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 Moro5a2de712019-09-24 14:34:07 -07004727 "base_default_next" : "node_20",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004728 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004729 "FabricIngress.acl.set_next_id_acl" : "node_20",
4730 "FabricIngress.acl.punt_to_cpu" : "node_20",
4731 "FabricIngress.acl.set_clone_session_id" : "node_20",
4732 "FabricIngress.acl.drop" : "node_20",
4733 "FabricIngress.acl.nop_acl" : "node_20"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004734 },
4735 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004736 "action_id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004737 "action_const" : true,
4738 "action_data" : [],
4739 "action_entry_const" : true
4740 }
4741 },
4742 {
4743 "name" : "FabricIngress.next.hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07004744 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004745 "source_info" : {
4746 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004747 "line" : 202,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004748 "column" : 10,
4749 "source_fragment" : "hashed"
4750 },
4751 "key" : [
4752 {
4753 "match_type" : "exact",
4754 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004755 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004756 "mask" : null
4757 }
4758 ],
4759 "match_type" : "exact",
4760 "type" : "indirect_ws",
4761 "action_profile" : "FabricIngress.next.hashed_selector",
4762 "max_size" : 1024,
4763 "with_counters" : true,
4764 "support_timeout" : false,
4765 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004766 "action_ids" : [31, 32, 33, 6],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004767 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
4768 "base_default_next" : "FabricIngress.next.multicast",
4769 "next_tables" : {
4770 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
4771 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
4772 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
4773 "nop" : "FabricIngress.next.multicast"
4774 }
4775 },
4776 {
4777 "name" : "FabricIngress.next.multicast",
Daniele Moro5a2de712019-09-24 14:34:07 -07004778 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004779 "source_info" : {
4780 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004781 "line" : 236,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004782 "column" : 10,
4783 "source_fragment" : "multicast"
4784 },
4785 "key" : [
4786 {
4787 "match_type" : "exact",
4788 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004789 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004790 "mask" : null
4791 }
4792 ],
4793 "match_type" : "exact",
4794 "type" : "simple",
4795 "max_size" : 1024,
4796 "with_counters" : true,
4797 "support_timeout" : false,
4798 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004799 "action_ids" : [34, 7],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004800 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
4801 "base_default_next" : "FabricIngress.next.next_vlan",
4802 "next_tables" : {
4803 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
4804 "nop" : "FabricIngress.next.next_vlan"
4805 },
4806 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004807 "action_id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004808 "action_const" : true,
4809 "action_data" : [],
4810 "action_entry_const" : true
4811 }
4812 },
4813 {
4814 "name" : "FabricIngress.next.next_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004815 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004816 "source_info" : {
4817 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004818 "line" : 86,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004819 "column" : 10,
4820 "source_fragment" : "next_vlan"
4821 },
4822 "key" : [
4823 {
4824 "match_type" : "exact",
4825 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004826 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004827 "mask" : null
4828 }
4829 ],
4830 "match_type" : "exact",
4831 "type" : "simple",
4832 "max_size" : 1024,
4833 "with_counters" : true,
4834 "support_timeout" : false,
4835 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004836 "action_ids" : [29, 30, 5],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004837 "actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004838 "base_default_next" : "node_24",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004839 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004840 "FabricIngress.next.set_vlan" : "node_24",
4841 "FabricIngress.next.set_double_vlan" : "node_24",
4842 "nop" : "node_24"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004843 },
4844 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004845 "action_id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004846 "action_const" : true,
4847 "action_data" : [],
4848 "action_entry_const" : true
4849 }
4850 },
4851 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004852 "name" : "tbl_port_counter31",
Daniele Moro5a2de712019-09-24 14:34:07 -07004853 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004854 "source_info" : {
4855 "filename" : "include/control/port_counter.p4",
4856 "line" : 31,
4857 "column" : 12,
4858 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4859 },
4860 "key" : [],
4861 "match_type" : "exact",
4862 "type" : "simple",
4863 "max_size" : 1024,
4864 "with_counters" : false,
4865 "support_timeout" : false,
4866 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004867 "action_ids" : [39],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004868 "actions" : ["port_counter31"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004869 "base_default_next" : "node_26",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004870 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004871 "port_counter31" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004872 },
4873 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004874 "action_id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004875 "action_const" : true,
4876 "action_data" : [],
4877 "action_entry_const" : true
4878 }
4879 },
4880 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004881 "name" : "tbl_port_counter34",
Daniele Moro5a2de712019-09-24 14:34:07 -07004882 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004883 "source_info" : {
4884 "filename" : "include/control/port_counter.p4",
4885 "line" : 34,
4886 "column" : 12,
4887 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4888 },
4889 "key" : [],
4890 "match_type" : "exact",
4891 "type" : "simple",
4892 "max_size" : 1024,
4893 "with_counters" : false,
4894 "support_timeout" : false,
4895 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004896 "action_ids" : [40],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004897 "actions" : ["port_counter34"],
Daniele Morob3d199b2019-11-01 14:01:46 -07004898 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004899 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004900 "port_counter34" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004901 },
4902 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004903 "action_id" : 40,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004904 "action_const" : true,
4905 "action_data" : [],
4906 "action_entry_const" : true
4907 }
4908 },
4909 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004910 "name" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro5a2de712019-09-24 14:34:07 -07004911 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004912 "source_info" : {
4913 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004914 "line" : 323,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004915 "column" : 14,
4916 "source_fragment" : "t_line_map"
4917 },
4918 "key" : [
4919 {
4920 "match_type" : "exact",
4921 "name" : "s_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004922 "target" : ["scalars", "userMetadata._bng_s_tag25"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004923 "mask" : null
4924 },
4925 {
4926 "match_type" : "exact",
4927 "name" : "c_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004928 "target" : ["scalars", "userMetadata._bng_c_tag26"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004929 "mask" : null
4930 }
4931 ],
4932 "match_type" : "exact",
4933 "type" : "simple",
4934 "max_size" : 8192,
4935 "with_counters" : false,
4936 "support_timeout" : false,
4937 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004938 "action_ids" : [15],
4939 "actions" : ["FabricIngress.bng_ingress.set_line"],
Daniele Morob3d199b2019-11-01 14:01:46 -07004940 "base_default_next" : "node_29",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004941 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004942 "FabricIngress.bng_ingress.set_line" : "node_29"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004943 },
4944 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004945 "action_id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004946 "action_const" : true,
Daniele Moro5a2de712019-09-24 14:34:07 -07004947 "action_data" : ["0x0"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004948 "action_entry_const" : true
4949 }
4950 },
4951 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004952 "name" : "tbl_bng342",
Daniele Morob3d199b2019-11-01 14:01:46 -07004953 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004954 "source_info" : {
4955 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004956 "line" : 342,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004957 "column" : 31,
4958 "source_fragment" : "="
4959 },
4960 "key" : [],
4961 "match_type" : "exact",
4962 "type" : "simple",
4963 "max_size" : 1024,
4964 "with_counters" : false,
4965 "support_timeout" : false,
4966 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004967 "action_ids" : [42],
4968 "actions" : ["bng342"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004969 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
4970 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004971 "bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004972 },
4973 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004974 "action_id" : 42,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004975 "action_const" : true,
4976 "action_data" : [],
4977 "action_entry_const" : true
4978 }
4979 },
4980 {
4981 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
Daniele Morob3d199b2019-11-01 14:01:46 -07004982 "id" : 17,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004983 "source_info" : {
4984 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004985 "line" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004986 "column" : 10,
4987 "source_fragment" : "t_pppoe_cp"
4988 },
4989 "key" : [
4990 {
4991 "match_type" : "exact",
4992 "name" : "pppoe_code",
4993 "target" : ["pppoe", "code"],
4994 "mask" : null
4995 },
4996 {
4997 "match_type" : "ternary",
4998 "name" : "pppoe_protocol",
4999 "target" : ["pppoe", "protocol"],
5000 "mask" : null
5001 }
5002 ],
5003 "match_type" : "ternary",
5004 "type" : "simple",
5005 "max_size" : 16,
5006 "with_counters" : false,
5007 "support_timeout" : false,
5008 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005009 "action_ids" : [8, 0],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005010 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005011 "base_default_next" : null,
5012 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005013 "__HIT__" : "tbl_bng126",
5014 "__MISS__" : "node_33"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005015 },
5016 "default_entry" : {
5017 "action_id" : 0,
5018 "action_const" : true,
5019 "action_data" : [],
5020 "action_entry_const" : true
5021 }
5022 },
5023 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005024 "name" : "tbl_bng126",
Daniele Morob3d199b2019-11-01 14:01:46 -07005025 "id" : 18,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005026 "source_info" : {
5027 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005028 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005029 "column" : 12,
5030 "source_fragment" : "return"
5031 },
5032 "key" : [],
5033 "match_type" : "exact",
5034 "type" : "simple",
5035 "max_size" : 1024,
5036 "with_counters" : false,
5037 "support_timeout" : false,
5038 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005039 "action_ids" : [41],
5040 "actions" : ["bng126"],
5041 "base_default_next" : "node_33",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005042 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005043 "bng126" : "node_33"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005044 },
5045 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005046 "action_id" : 41,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005047 "action_const" : true,
5048 "action_data" : [],
5049 "action_entry_const" : true
5050 }
5051 },
5052 {
5053 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005054 "id" : 19,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005055 "source_info" : {
5056 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005057 "line" : 87,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005058 "column" : 10,
5059 "source_fragment" : "t_pppoe_term_v4"
5060 },
5061 "key" : [
5062 {
5063 "match_type" : "exact",
5064 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005065 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005066 "mask" : null
5067 },
5068 {
5069 "match_type" : "exact",
5070 "name" : "ipv4_src",
5071 "target" : ["ipv4", "src_addr"],
5072 "mask" : null
5073 },
5074 {
5075 "match_type" : "exact",
5076 "name" : "pppoe_session_id",
5077 "target" : ["pppoe", "session_id"],
5078 "mask" : null
5079 }
5080 ],
5081 "match_type" : "exact",
5082 "type" : "simple",
5083 "max_size" : 32768,
5084 "with_counters" : false,
5085 "support_timeout" : false,
5086 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005087 "action_ids" : [10, 9],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005088 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
5089 "base_default_next" : null,
5090 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005091 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_bng131",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005092 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
5093 },
5094 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005095 "action_id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005096 "action_const" : true,
5097 "action_data" : [],
5098 "action_entry_const" : true
5099 }
5100 },
5101 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005102 "name" : "tbl_bng131",
5103 "id" : 20,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005104 "source_info" : {
5105 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005106 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005107 "column" : 20,
5108 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
5109 },
5110 "key" : [],
5111 "match_type" : "exact",
5112 "type" : "simple",
5113 "max_size" : 1024,
5114 "with_counters" : false,
5115 "support_timeout" : false,
5116 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005117 "action_ids" : [43],
5118 "actions" : ["bng131"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005119 "base_default_next" : null,
5120 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005121 "bng131" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005122 },
5123 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005124 "action_id" : 43,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005125 "action_const" : true,
5126 "action_data" : [],
5127 "action_entry_const" : true
5128 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07005129 },
5130 {
5131 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005132 "id" : 21,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005133 "source_info" : {
5134 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005135 "line" : 169,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005136 "column" : 10,
5137 "source_fragment" : "t_line_session_map"
5138 },
5139 "key" : [
5140 {
5141 "match_type" : "exact",
5142 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005143 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005144 "mask" : null
5145 }
5146 ],
5147 "match_type" : "exact",
5148 "type" : "simple",
5149 "max_size" : 8192,
5150 "with_counters" : false,
5151 "support_timeout" : false,
5152 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005153 "action_ids" : [1, 11, 12],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005154 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
5155 "base_default_next" : null,
5156 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005157 "__MISS__" : null,
5158 "__HIT__" : "node_38"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005159 },
5160 "default_entry" : {
5161 "action_id" : 1,
5162 "action_const" : true,
5163 "action_data" : [],
5164 "action_entry_const" : true
5165 }
5166 },
5167 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005168 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005169 "id" : 22,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005170 "source_info" : {
5171 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005172 "line" : 194,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005173 "column" : 10,
5174 "source_fragment" : "t_qos_v4"
5175 },
5176 "key" : [
5177 {
5178 "match_type" : "ternary",
5179 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005180 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005181 "mask" : null
5182 },
5183 {
5184 "match_type" : "lpm",
5185 "name" : "ipv4_src",
5186 "target" : ["ipv4", "src_addr"],
5187 "mask" : null
5188 },
5189 {
5190 "match_type" : "ternary",
5191 "name" : "ipv4_dscp",
5192 "target" : ["ipv4", "dscp"],
5193 "mask" : null
5194 },
5195 {
5196 "match_type" : "ternary",
5197 "name" : "ipv4_ecn",
5198 "target" : ["ipv4", "ecn"],
5199 "mask" : null
5200 }
5201 ],
5202 "match_type" : "ternary",
5203 "type" : "simple",
5204 "max_size" : 256,
5205 "with_counters" : false,
5206 "support_timeout" : false,
5207 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005208 "action_ids" : [13, 14],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005209 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
5210 "base_default_next" : null,
5211 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005212 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_bng238",
5213 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng241"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005214 },
5215 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005216 "action_id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005217 "action_const" : true,
5218 "action_data" : [],
5219 "action_entry_const" : true
5220 }
5221 },
5222 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005223 "name" : "tbl_bng238",
5224 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005225 "source_info" : {
5226 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005227 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005228 "column" : 24,
5229 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5230 },
5231 "key" : [],
5232 "match_type" : "exact",
5233 "type" : "simple",
5234 "max_size" : 1024,
5235 "with_counters" : false,
5236 "support_timeout" : false,
5237 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005238 "action_ids" : [44],
5239 "actions" : ["bng238"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005240 "base_default_next" : null,
5241 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005242 "bng238" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005243 },
5244 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005245 "action_id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005246 "action_const" : true,
5247 "action_data" : [],
5248 "action_entry_const" : true
5249 }
5250 },
5251 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005252 "name" : "tbl_bng241",
5253 "id" : 24,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005254 "source_info" : {
5255 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005256 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005257 "column" : 24,
5258 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5259 },
5260 "key" : [],
5261 "match_type" : "exact",
5262 "type" : "simple",
5263 "max_size" : 1024,
5264 "with_counters" : false,
5265 "support_timeout" : false,
5266 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005267 "action_ids" : [45],
5268 "actions" : ["bng241"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005269 "base_default_next" : null,
5270 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005271 "bng241" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005272 },
5273 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005274 "action_id" : 45,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005275 "action_const" : true,
5276 "action_data" : [],
5277 "action_entry_const" : true
5278 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005279 }
5280 ],
5281 "action_profiles" : [
5282 {
5283 "name" : "FabricIngress.next.hashed_selector",
5284 "id" : 0,
5285 "source_info" : {
5286 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005287 "line" : 183,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005288 "column" : 57,
5289 "source_fragment" : "hashed_selector"
5290 },
5291 "max_size" : 1024,
5292 "selector" : {
5293 "algo" : "crc16",
5294 "input" : [
5295 {
5296 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005297 "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005298 },
5299 {
5300 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005301 "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005302 },
5303 {
5304 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005305 "value" : ["scalars", "userMetadata._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005306 },
5307 {
5308 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005309 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005310 },
5311 {
5312 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005313 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005314 }
5315 ]
5316 }
5317 }
5318 ],
5319 "conditionals" : [
5320 {
5321 "name" : "node_2",
5322 "id" : 0,
5323 "source_info" : {
5324 "filename" : "include/control/packetio.p4",
5325 "line" : 24,
5326 "column" : 12,
5327 "source_fragment" : "hdr.packet_out.isValid()"
5328 },
5329 "expression" : {
5330 "type" : "expression",
5331 "value" : {
5332 "op" : "d2b",
5333 "left" : null,
5334 "right" : {
5335 "type" : "field",
5336 "value" : ["packet_out", "$valid$"]
5337 }
5338 }
5339 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005340 "true_next" : "tbl_packetio25",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005341 "false_next" : "node_4"
5342 },
5343 {
5344 "name" : "node_4",
5345 "id" : 1,
5346 "source_info" : {
5347 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005348 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005349 "column" : 12,
5350 "source_fragment" : "hdr.vlan_tag.isValid()"
5351 },
5352 "expression" : {
5353 "type" : "expression",
5354 "value" : {
5355 "op" : "d2b",
5356 "left" : null,
5357 "right" : {
5358 "type" : "field",
5359 "value" : ["vlan_tag", "$valid$"]
5360 }
5361 }
5362 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005363 "true_next" : "tbl_filtering111",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005364 "false_next" : "node_6"
5365 },
5366 {
5367 "name" : "node_6",
5368 "id" : 2,
5369 "source_info" : {
5370 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005371 "line" : 116,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005372 "column" : 12,
5373 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
5374 },
5375 "expression" : {
5376 "type" : "expression",
5377 "value" : {
5378 "op" : "d2b",
5379 "left" : null,
5380 "right" : {
5381 "type" : "field",
5382 "value" : ["inner_vlan_tag", "$valid$"]
5383 }
5384 }
5385 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005386 "true_next" : "tbl_filtering117",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005387 "false_next" : "node_8"
5388 },
5389 {
5390 "name" : "node_8",
5391 "id" : 3,
5392 "source_info" : {
5393 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005394 "line" : 122,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005395 "column" : 12,
5396 "source_fragment" : "!hdr.mpls.isValid()"
5397 },
5398 "expression" : {
5399 "type" : "expression",
5400 "value" : {
5401 "op" : "not",
5402 "left" : null,
5403 "right" : {
5404 "type" : "expression",
5405 "value" : {
5406 "op" : "d2b",
5407 "left" : null,
5408 "right" : {
5409 "type" : "field",
5410 "value" : ["mpls", "$valid$"]
5411 }
5412 }
5413 }
5414 }
5415 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005416 "true_next" : "tbl_filtering127",
Daniele Moro5a2de712019-09-24 14:34:07 -07005417 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005418 },
5419 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005420 "name" : "node_12",
Daniele Moro5a2de712019-09-24 14:34:07 -07005421 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005422 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005423 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07005424 "line" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005425 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005426 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005427 },
5428 "expression" : {
5429 "type" : "expression",
5430 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005431 "op" : "not",
5432 "left" : null,
5433 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005434 "type" : "expression",
5435 "value" : {
5436 "op" : "d2b",
5437 "left" : null,
5438 "right" : {
5439 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005440 "value" : ["scalars", "userMetadata._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005441 }
5442 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005443 }
5444 }
5445 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005446 "true_next" : "node_13",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005447 "false_next" : "FabricIngress.acl.acl"
5448 },
5449 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005450 "name" : "node_13",
5451 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005452 "source_info" : {
5453 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005454 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005455 "column" : 12,
5456 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
5457 },
5458 "expression" : {
5459 "type" : "expression",
5460 "value" : {
5461 "op" : "==",
5462 "left" : {
5463 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005464 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005465 },
5466 "right" : {
5467 "type" : "hexstr",
5468 "value" : "0x00"
5469 }
5470 }
5471 },
5472 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07005473 "false_next" : "node_15"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005474 },
5475 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005476 "name" : "node_15",
5477 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005478 "source_info" : {
5479 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005480 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005481 "column" : 17,
5482 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
5483 },
5484 "expression" : {
5485 "type" : "expression",
5486 "value" : {
5487 "op" : "==",
5488 "left" : {
5489 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005490 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005491 },
5492 "right" : {
5493 "type" : "hexstr",
5494 "value" : "0x01"
5495 }
5496 }
5497 },
5498 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005499 "false_next" : "node_17"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005500 },
5501 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005502 "name" : "node_17",
5503 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005504 "source_info" : {
5505 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005506 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005507 "column" : 17,
5508 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
5509 },
5510 "expression" : {
5511 "type" : "expression",
5512 "value" : {
5513 "op" : "==",
5514 "left" : {
5515 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005516 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005517 },
5518 "right" : {
5519 "type" : "hexstr",
5520 "value" : "0x02"
5521 }
5522 }
5523 },
5524 "true_next" : "FabricIngress.forwarding.routing_v4",
5525 "false_next" : "FabricIngress.acl.acl"
5526 },
5527 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005528 "name" : "node_20",
5529 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005530 "source_info" : {
5531 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07005532 "line" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005533 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005534 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005535 },
5536 "expression" : {
5537 "type" : "expression",
5538 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005539 "op" : "not",
5540 "left" : null,
5541 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005542 "type" : "expression",
5543 "value" : {
5544 "op" : "d2b",
5545 "left" : null,
5546 "right" : {
5547 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005548 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005549 }
5550 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005551 }
5552 }
5553 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005554 "true_next" : "FabricIngress.next.hashed",
Daniele Morob3d199b2019-11-01 14:01:46 -07005555 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005556 },
5557 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005558 "name" : "node_24",
5559 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005560 "source_info" : {
5561 "filename" : "include/control/port_counter.p4",
5562 "line" : 30,
5563 "column" : 12,
5564 "source_fragment" : "standard_metadata.egress_spec < 511"
5565 },
5566 "expression" : {
5567 "type" : "expression",
5568 "value" : {
5569 "op" : "<",
5570 "left" : {
5571 "type" : "field",
5572 "value" : ["standard_metadata", "egress_spec"]
5573 },
5574 "right" : {
5575 "type" : "hexstr",
5576 "value" : "0x01ff"
5577 }
5578 }
5579 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005580 "true_next" : "tbl_port_counter31",
Daniele Moro5a2de712019-09-24 14:34:07 -07005581 "false_next" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005582 },
5583 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005584 "name" : "node_26",
5585 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005586 "source_info" : {
5587 "filename" : "include/control/port_counter.p4",
5588 "line" : 33,
5589 "column" : 12,
5590 "source_fragment" : "standard_metadata.ingress_port < 511"
5591 },
5592 "expression" : {
5593 "type" : "expression",
5594 "value" : {
5595 "op" : "<",
5596 "left" : {
5597 "type" : "field",
5598 "value" : ["standard_metadata", "ingress_port"]
5599 },
5600 "right" : {
5601 "type" : "hexstr",
5602 "value" : "0x01ff"
5603 }
5604 }
5605 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005606 "true_next" : "tbl_port_counter34",
Daniele Morob3d199b2019-11-01 14:01:46 -07005607 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005608 },
5609 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005610 "name" : "node_29",
Daniele Moro5a2de712019-09-24 14:34:07 -07005611 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005612 "source_info" : {
5613 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005614 "line" : 341,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005615 "column" : 16,
5616 "source_fragment" : "hdr.pppoe.isValid()"
5617 },
5618 "expression" : {
5619 "type" : "expression",
5620 "value" : {
5621 "op" : "d2b",
5622 "left" : null,
5623 "right" : {
5624 "type" : "field",
5625 "value" : ["pppoe", "$valid$"]
5626 }
5627 }
5628 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005629 "true_next" : "tbl_bng342",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005630 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
5631 },
5632 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005633 "name" : "node_33",
Daniele Morob3d199b2019-11-01 14:01:46 -07005634 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005635 "expression" : {
5636 "type" : "expression",
5637 "value" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005638 "op" : "not",
5639 "left" : null,
5640 "right" : {
5641 "type" : "expression",
5642 "value" : {
5643 "op" : "d2b",
5644 "left" : null,
5645 "right" : {
5646 "type" : "field",
5647 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
5648 }
5649 }
5650 }
5651 }
5652 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005653 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005654 "true_next" : "node_34"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005655 },
5656 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005657 "name" : "node_34",
5658 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005659 "source_info" : {
5660 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005661 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005662 "column" : 12,
5663 "source_fragment" : "hdr.ipv4.isValid()"
5664 },
5665 "expression" : {
5666 "type" : "expression",
5667 "value" : {
5668 "op" : "d2b",
5669 "left" : null,
5670 "right" : {
5671 "type" : "field",
5672 "value" : ["ipv4", "$valid$"]
5673 }
5674 }
5675 },
5676 "false_next" : null,
5677 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
5678 },
5679 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005680 "name" : "node_38",
5681 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005682 "source_info" : {
5683 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005684 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005685 "column" : 16,
5686 "source_fragment" : "hdr.ipv4.isValid()"
5687 },
5688 "expression" : {
5689 "type" : "expression",
5690 "value" : {
5691 "op" : "d2b",
5692 "left" : null,
5693 "right" : {
5694 "type" : "field",
5695 "value" : ["ipv4", "$valid$"]
5696 }
5697 }
5698 },
5699 "false_next" : null,
5700 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005701 }
5702 ]
5703 },
5704 {
5705 "name" : "egress",
5706 "id" : 1,
5707 "source_info" : {
5708 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07005709 "line" : 91,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005710 "column" : 8,
5711 "source_fragment" : "FabricEgress"
5712 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005713 "init_table" : "node_44",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005714 "tables" : [
5715 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005716 "name" : "tbl_packetio41",
5717 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005718 "source_info" : {
5719 "filename" : "include/control/packetio.p4",
5720 "line" : 41,
5721 "column" : 12,
5722 "source_fragment" : "exit"
5723 },
5724 "key" : [],
5725 "match_type" : "exact",
5726 "type" : "simple",
5727 "max_size" : 1024,
5728 "with_counters" : false,
5729 "support_timeout" : false,
5730 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005731 "action_ids" : [54],
5732 "actions" : ["packetio41"],
5733 "base_default_next" : "node_46",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005734 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005735 "packetio41" : "node_46"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005736 },
5737 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005738 "action_id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005739 "action_const" : true,
5740 "action_data" : [],
5741 "action_entry_const" : true
5742 }
5743 },
5744 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005745 "name" : "tbl_packetio44",
5746 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005747 "source_info" : {
5748 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005749 "line" : 44,
5750 "column" : 12,
5751 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005752 },
5753 "key" : [],
5754 "match_type" : "exact",
5755 "type" : "simple",
5756 "max_size" : 1024,
5757 "with_counters" : false,
5758 "support_timeout" : false,
5759 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005760 "action_ids" : [55],
5761 "actions" : ["packetio44"],
5762 "base_default_next" : "node_48",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005763 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005764 "packetio44" : "node_48"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005765 },
5766 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005767 "action_id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005768 "action_const" : true,
5769 "action_data" : [],
5770 "action_entry_const" : true
5771 }
5772 },
5773 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005774 "name" : "tbl_next349",
5775 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005776 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005777 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005778 "line" : 349,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005779 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005780 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005781 },
5782 "key" : [],
5783 "match_type" : "exact",
5784 "type" : "simple",
5785 "max_size" : 1024,
5786 "with_counters" : false,
5787 "support_timeout" : false,
5788 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005789 "action_ids" : [56],
5790 "actions" : ["next349"],
5791 "base_default_next" : "node_50",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005792 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005793 "next349" : "node_50"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005794 },
5795 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005796 "action_id" : 56,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005797 "action_const" : true,
5798 "action_data" : [],
5799 "action_entry_const" : true
5800 }
5801 },
5802 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005803 "name" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005804 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005805 "source_info" : {
5806 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005807 "line" : 353,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005808 "column" : 36,
5809 "source_fragment" : "pop_mpls_if_present()"
5810 },
5811 "key" : [],
5812 "match_type" : "exact",
5813 "type" : "simple",
5814 "max_size" : 1024,
5815 "with_counters" : false,
5816 "support_timeout" : false,
5817 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005818 "action_ids" : [47],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005819 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005820 "base_default_next" : "node_54",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005821 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005822 "FabricEgress.egress_next.pop_mpls_if_present" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005823 },
5824 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005825 "action_id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005826 "action_const" : true,
5827 "action_data" : [],
5828 "action_entry_const" : true
5829 }
5830 },
5831 {
5832 "name" : "tbl_egress_next_set_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005833 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005834 "source_info" : {
5835 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005836 "line" : 355,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005837 "column" : 12,
5838 "source_fragment" : "set_mpls()"
5839 },
5840 "key" : [],
5841 "match_type" : "exact",
5842 "type" : "simple",
5843 "max_size" : 1024,
5844 "with_counters" : false,
5845 "support_timeout" : false,
5846 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005847 "action_ids" : [48],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005848 "actions" : ["FabricEgress.egress_next.set_mpls"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005849 "base_default_next" : "node_54",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005850 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005851 "FabricEgress.egress_next.set_mpls" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005852 },
5853 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005854 "action_id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005855 "action_const" : true,
5856 "action_data" : [],
5857 "action_entry_const" : true
5858 }
5859 },
5860 {
pierventre48e78822020-12-15 17:34:54 +01005861 "name" : "tbl_egress_next_push_outer_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005862 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005863 "source_info" : {
5864 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005865 "line" : 361,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005866 "column" : 12,
pierventre48e78822020-12-15 17:34:54 +01005867 "source_fragment" : "push_outer_vlan()"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005868 },
5869 "key" : [],
5870 "match_type" : "exact",
5871 "type" : "simple",
5872 "max_size" : 1024,
5873 "with_counters" : false,
5874 "support_timeout" : false,
5875 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005876 "action_ids" : [49],
pierventre48e78822020-12-15 17:34:54 +01005877 "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005878 "base_default_next" : "tbl_egress_next_push_inner_vlan",
5879 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01005880 "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005881 },
5882 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005883 "action_id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005884 "action_const" : true,
5885 "action_data" : [],
5886 "action_entry_const" : true
5887 }
5888 },
5889 {
5890 "name" : "tbl_egress_next_push_inner_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005891 "id" : 31,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005892 "source_info" : {
5893 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005894 "line" : 362,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005895 "column" : 12,
5896 "source_fragment" : "push_inner_vlan()"
5897 },
5898 "key" : [],
5899 "match_type" : "exact",
5900 "type" : "simple",
5901 "max_size" : 1024,
5902 "with_counters" : false,
5903 "support_timeout" : false,
5904 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005905 "action_ids" : [50],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005906 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005907 "base_default_next" : "node_59",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005908 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005909 "FabricEgress.egress_next.push_inner_vlan" : "node_59"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005910 },
5911 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005912 "action_id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005913 "action_const" : true,
5914 "action_data" : [],
5915 "action_entry_const" : true
5916 }
5917 },
5918 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005919 "name" : "tbl_next365",
5920 "id" : 32,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005921 "source_info" : {
5922 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005923 "line" : 365,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005924 "column" : 12,
5925 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
5926 },
5927 "key" : [],
5928 "match_type" : "exact",
5929 "type" : "simple",
5930 "max_size" : 1024,
5931 "with_counters" : false,
5932 "support_timeout" : false,
5933 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005934 "action_ids" : [57],
5935 "actions" : ["next365"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005936 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
5937 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005938 "next365" : "FabricEgress.egress_next.egress_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005939 },
5940 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005941 "action_id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005942 "action_const" : true,
5943 "action_data" : [],
5944 "action_entry_const" : true
5945 }
5946 },
5947 {
5948 "name" : "FabricEgress.egress_next.egress_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005949 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005950 "source_info" : {
5951 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005952 "line" : 331,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005953 "column" : 10,
5954 "source_fragment" : "egress_vlan"
5955 },
5956 "key" : [
5957 {
5958 "match_type" : "exact",
5959 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005960 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005961 "mask" : null
5962 },
5963 {
5964 "match_type" : "exact",
5965 "name" : "eg_port",
5966 "target" : ["standard_metadata", "egress_port"],
5967 "mask" : null
5968 }
5969 ],
5970 "match_type" : "exact",
5971 "type" : "simple",
5972 "max_size" : 1024,
5973 "with_counters" : true,
5974 "support_timeout" : false,
5975 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005976 "action_ids" : [51, 52, 53],
pierventre48e78822020-12-15 17:34:54 +01005977 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005978 "base_default_next" : "node_59",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005979 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005980 "FabricEgress.egress_next.push_vlan" : "node_59",
5981 "FabricEgress.egress_next.pop_vlan" : "node_59",
5982 "FabricEgress.egress_next.drop" : "node_59"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005983 },
5984 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005985 "action_id" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005986 "action_const" : true,
5987 "action_data" : [],
5988 "action_entry_const" : true
5989 }
5990 },
5991 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005992 "name" : "tbl_next375",
5993 "id" : 34,
pierventre48e78822020-12-15 17:34:54 +01005994 "source_info" : {
5995 "filename" : "include/control/next.p4",
5996 "line" : 375,
5997 "column" : 25,
5998 "source_fragment" : "="
5999 },
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006000 "key" : [],
6001 "match_type" : "exact",
6002 "type" : "simple",
6003 "max_size" : 1024,
6004 "with_counters" : false,
6005 "support_timeout" : false,
6006 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006007 "action_ids" : [59],
6008 "actions" : ["next375"],
6009 "base_default_next" : "node_61",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006010 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006011 "next375" : "node_61"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006012 },
6013 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006014 "action_id" : 59,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006015 "action_const" : true,
6016 "action_data" : [],
6017 "action_entry_const" : true
6018 }
6019 },
6020 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006021 "name" : "tbl_next376",
6022 "id" : 35,
pierventre48e78822020-12-15 17:34:54 +01006023 "source_info" : {
6024 "filename" : "include/control/next.p4",
6025 "line" : 376,
6026 "column" : 35,
6027 "source_fragment" : "mark_to_drop(standard_metadata)"
6028 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006029 "key" : [],
6030 "match_type" : "exact",
6031 "type" : "simple",
6032 "max_size" : 1024,
6033 "with_counters" : false,
6034 "support_timeout" : false,
6035 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006036 "action_ids" : [58],
6037 "actions" : ["next376"],
6038 "base_default_next" : "node_67",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006039 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006040 "next376" : "node_67"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006041 },
6042 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006043 "action_id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006044 "action_const" : true,
6045 "action_data" : [],
6046 "action_entry_const" : true
6047 }
6048 },
6049 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006050 "name" : "tbl_next379",
6051 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006052 "source_info" : {
6053 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006054 "line" : 379,
6055 "column" : 29,
Daniele Morob3d199b2019-11-01 14:01:46 -07006056 "source_fragment" : "="
6057 },
6058 "key" : [],
6059 "match_type" : "exact",
6060 "type" : "simple",
6061 "max_size" : 1024,
6062 "with_counters" : false,
6063 "support_timeout" : false,
6064 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006065 "action_ids" : [61],
6066 "actions" : ["next379"],
6067 "base_default_next" : "node_65",
Daniele Morob3d199b2019-11-01 14:01:46 -07006068 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006069 "next379" : "node_65"
Daniele Morob3d199b2019-11-01 14:01:46 -07006070 },
6071 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006072 "action_id" : 61,
Daniele Morob3d199b2019-11-01 14:01:46 -07006073 "action_const" : true,
6074 "action_data" : [],
6075 "action_entry_const" : true
6076 }
6077 },
6078 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006079 "name" : "tbl_next380",
6080 "id" : 37,
Daniele Morob3d199b2019-11-01 14:01:46 -07006081 "source_info" : {
6082 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006083 "line" : 380,
6084 "column" : 39,
Daniele Morob3d199b2019-11-01 14:01:46 -07006085 "source_fragment" : "mark_to_drop(standard_metadata)"
6086 },
6087 "key" : [],
6088 "match_type" : "exact",
6089 "type" : "simple",
6090 "max_size" : 1024,
6091 "with_counters" : false,
6092 "support_timeout" : false,
6093 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006094 "action_ids" : [60],
6095 "actions" : ["next380"],
6096 "base_default_next" : "node_67",
Daniele Morob3d199b2019-11-01 14:01:46 -07006097 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006098 "next380" : "node_67"
Daniele Morob3d199b2019-11-01 14:01:46 -07006099 },
6100 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006101 "action_id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006102 "action_const" : true,
6103 "action_data" : [],
6104 "action_entry_const" : true
6105 }
6106 },
6107 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006108 "name" : "tbl_bng_egress_downstream_encap_v4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006109 "id" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006110 "source_info" : {
6111 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006112 "line" : 297,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006113 "column" : 12,
6114 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006115 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006116 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006117 "match_type" : "exact",
6118 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006119 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006120 "with_counters" : false,
6121 "support_timeout" : false,
6122 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006123 "action_ids" : [46],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006124 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006125 "base_default_next" : null,
6126 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006127 "FabricEgress.bng_egress.downstream.encap_v4" : null
6128 },
6129 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006130 "action_id" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006131 "action_const" : true,
6132 "action_data" : [],
6133 "action_entry_const" : true
6134 }
6135 }
6136 ],
6137 "action_profiles" : [],
6138 "conditionals" : [
6139 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006140 "name" : "node_44",
6141 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006142 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006143 "filename" : "fabric.p4",
6144 "line" : 103,
6145 "column" : 33,
6146 "source_fragment" : "fabric_metadata"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006147 },
6148 "expression" : {
6149 "type" : "expression",
6150 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006151 "op" : "d2b",
6152 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006153 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006154 "type" : "field",
6155 "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006156 }
6157 }
6158 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006159 "true_next" : "tbl_packetio41",
6160 "false_next" : "node_46"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006161 },
6162 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006163 "name" : "node_46",
6164 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006165 "source_info" : {
6166 "filename" : "include/control/packetio.p4",
6167 "line" : 43,
6168 "column" : 12,
6169 "source_fragment" : "standard_metadata.egress_port == 255"
6170 },
6171 "expression" : {
6172 "type" : "expression",
6173 "value" : {
6174 "op" : "==",
6175 "left" : {
6176 "type" : "field",
6177 "value" : ["standard_metadata", "egress_port"]
6178 },
6179 "right" : {
6180 "type" : "hexstr",
6181 "value" : "0x00ff"
6182 }
6183 }
6184 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006185 "true_next" : "tbl_packetio44",
6186 "false_next" : "node_48"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006187 },
6188 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006189 "name" : "node_48",
6190 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006191 "source_info" : {
6192 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006193 "line" : 347,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006194 "column" : 12,
6195 "source_fragment" : "fabric_metadata.is_multicast == true ..."
6196 },
6197 "expression" : {
6198 "type" : "expression",
6199 "value" : {
6200 "op" : "and",
6201 "left" : {
6202 "type" : "expression",
6203 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006204 "op" : "d2b",
6205 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006206 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006207 "type" : "field",
6208 "value" : ["scalars", "userMetadata._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006209 }
6210 }
6211 },
6212 "right" : {
6213 "type" : "expression",
6214 "value" : {
6215 "op" : "==",
6216 "left" : {
6217 "type" : "field",
6218 "value" : ["standard_metadata", "ingress_port"]
6219 },
6220 "right" : {
6221 "type" : "field",
6222 "value" : ["standard_metadata", "egress_port"]
6223 }
6224 }
6225 }
6226 }
6227 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006228 "true_next" : "tbl_next349",
6229 "false_next" : "node_50"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006230 },
6231 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006232 "name" : "node_50",
6233 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006234 "source_info" : {
6235 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006236 "line" : 352,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006237 "column" : 12,
6238 "source_fragment" : "fabric_metadata.mpls_label == 0"
6239 },
6240 "expression" : {
6241 "type" : "expression",
6242 "value" : {
6243 "op" : "==",
6244 "left" : {
6245 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006246 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006247 },
6248 "right" : {
6249 "type" : "hexstr",
6250 "value" : "0x000000"
6251 }
6252 }
6253 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006254 "true_next" : "node_51",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006255 "false_next" : "tbl_egress_next_set_mpls"
6256 },
6257 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006258 "name" : "node_51",
6259 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006260 "source_info" : {
6261 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006262 "line" : 353,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006263 "column" : 16,
6264 "source_fragment" : "hdr.mpls.isValid()"
6265 },
6266 "expression" : {
6267 "type" : "expression",
6268 "value" : {
6269 "op" : "d2b",
6270 "left" : null,
6271 "right" : {
6272 "type" : "field",
6273 "value" : ["mpls", "$valid$"]
6274 }
6275 }
6276 },
6277 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006278 "false_next" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006279 },
6280 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006281 "name" : "node_54",
6282 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006283 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006284 "filename" : "fabric.p4",
6285 "line" : 104,
6286 "column" : 31,
6287 "source_fragment" : "fabric_metadata"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006288 },
6289 "expression" : {
6290 "type" : "expression",
6291 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006292 "op" : "d2b",
6293 "left" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006294 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006295 "type" : "field",
6296 "value" : ["scalars", "userMetadata._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07006297 }
6298 }
6299 },
pierventre48e78822020-12-15 17:34:54 +01006300 "true_next" : "tbl_egress_next_push_outer_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006301 "false_next" : "tbl_next365"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006302 },
6303 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006304 "name" : "node_59",
6305 "id" : 21,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006306 "source_info" : {
6307 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006308 "line" : 374,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006309 "column" : 12,
6310 "source_fragment" : "hdr.mpls.isValid()"
6311 },
6312 "expression" : {
6313 "type" : "expression",
6314 "value" : {
6315 "op" : "d2b",
6316 "left" : null,
6317 "right" : {
6318 "type" : "field",
6319 "value" : ["mpls", "$valid$"]
6320 }
6321 }
6322 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006323 "true_next" : "tbl_next375",
6324 "false_next" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006325 },
6326 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006327 "name" : "node_61",
6328 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006329 "source_info" : {
6330 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006331 "line" : 376,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006332 "column" : 16,
6333 "source_fragment" : "hdr.mpls.ttl == 0"
6334 },
6335 "expression" : {
6336 "type" : "expression",
6337 "value" : {
6338 "op" : "==",
6339 "left" : {
6340 "type" : "field",
6341 "value" : ["mpls", "ttl"]
6342 },
6343 "right" : {
6344 "type" : "hexstr",
6345 "value" : "0x00"
6346 }
6347 }
6348 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006349 "true_next" : "tbl_next376",
6350 "false_next" : "node_67"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006351 },
6352 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006353 "name" : "node_63",
6354 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006355 "source_info" : {
6356 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006357 "line" : 378,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006358 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07006359 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006360 },
6361 "expression" : {
6362 "type" : "expression",
6363 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07006364 "op" : "and",
6365 "left" : {
6366 "type" : "expression",
6367 "value" : {
6368 "op" : "d2b",
6369 "left" : null,
6370 "right" : {
6371 "type" : "field",
6372 "value" : ["ipv4", "$valid$"]
6373 }
6374 }
6375 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006376 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07006377 "type" : "expression",
6378 "value" : {
6379 "op" : "!=",
6380 "left" : {
6381 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006382 "value" : ["scalars", "userMetadata._fwd_type12"]
Charles Chan74ad51e2020-09-12 19:05:42 -07006383 },
6384 "right" : {
6385 "type" : "hexstr",
6386 "value" : "0x00"
6387 }
6388 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006389 }
6390 }
6391 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006392 "true_next" : "tbl_next379",
6393 "false_next" : "node_67"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006394 },
6395 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006396 "name" : "node_65",
6397 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006398 "source_info" : {
6399 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006400 "line" : 380,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006401 "column" : 20,
6402 "source_fragment" : "hdr.ipv4.ttl == 0"
6403 },
6404 "expression" : {
6405 "type" : "expression",
6406 "value" : {
6407 "op" : "==",
6408 "left" : {
6409 "type" : "field",
6410 "value" : ["ipv4", "ttl"]
6411 },
6412 "right" : {
6413 "type" : "hexstr",
6414 "value" : "0x00"
6415 }
6416 }
6417 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006418 "true_next" : "tbl_next380",
6419 "false_next" : "node_67"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006420 },
6421 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006422 "name" : "node_67",
6423 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006424 "source_info" : {
6425 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006426 "line" : 358,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006427 "column" : 12,
6428 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
6429 },
6430 "expression" : {
6431 "type" : "expression",
6432 "value" : {
6433 "op" : "==",
6434 "left" : {
6435 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006436 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006437 },
6438 "right" : {
6439 "type" : "hexstr",
6440 "value" : "0x02"
6441 }
6442 }
6443 },
6444 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006445 "true_next" : "node_68"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006446 },
6447 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006448 "name" : "node_68",
6449 "id" : 26,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006450 "source_info" : {
6451 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006452 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006453 "column" : 12,
6454 "source_fragment" : "hdr.ipv4.isValid()"
6455 },
6456 "expression" : {
6457 "type" : "expression",
6458 "value" : {
6459 "op" : "d2b",
6460 "left" : null,
6461 "right" : {
6462 "type" : "field",
6463 "value" : ["ipv4", "$valid$"]
6464 }
6465 }
6466 },
6467 "false_next" : null,
6468 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006469 }
6470 ]
6471 }
6472 ],
6473 "checksums" : [
6474 {
6475 "name" : "cksum",
6476 "id" : 0,
6477 "source_info" : {
6478 "filename" : "include/checksum.p4",
6479 "line" : 28,
6480 "column" : 8,
6481 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
6482 },
6483 "target" : ["ipv4", "hdr_checksum"],
6484 "type" : "generic",
6485 "calculation" : "calc",
6486 "verify" : false,
6487 "update" : true,
6488 "if_cond" : {
6489 "type" : "expression",
6490 "value" : {
6491 "op" : "d2b",
6492 "left" : null,
6493 "right" : {
6494 "type" : "field",
6495 "value" : ["ipv4", "$valid$"]
6496 }
6497 }
6498 }
6499 },
6500 {
6501 "name" : "cksum_0",
6502 "id" : 1,
6503 "source_info" : {
6504 "filename" : "include/checksum.p4",
6505 "line" : 57,
6506 "column" : 8,
6507 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
6508 },
6509 "target" : ["ipv4", "hdr_checksum"],
6510 "type" : "generic",
6511 "calculation" : "calc_0",
6512 "verify" : true,
6513 "update" : false,
6514 "if_cond" : {
6515 "type" : "expression",
6516 "value" : {
6517 "op" : "d2b",
6518 "left" : null,
6519 "right" : {
6520 "type" : "field",
6521 "value" : ["ipv4", "$valid$"]
6522 }
6523 }
6524 }
6525 }
6526 ],
6527 "force_arith" : [],
6528 "extern_instances" : [],
6529 "field_aliases" : [
6530 [
6531 "queueing_metadata.enq_timestamp",
6532 ["standard_metadata", "enq_timestamp"]
6533 ],
6534 [
6535 "queueing_metadata.enq_qdepth",
6536 ["standard_metadata", "enq_qdepth"]
6537 ],
6538 [
6539 "queueing_metadata.deq_timedelta",
6540 ["standard_metadata", "deq_timedelta"]
6541 ],
6542 [
6543 "queueing_metadata.deq_qdepth",
6544 ["standard_metadata", "deq_qdepth"]
6545 ],
6546 [
6547 "intrinsic_metadata.ingress_global_timestamp",
6548 ["standard_metadata", "ingress_global_timestamp"]
6549 ],
6550 [
6551 "intrinsic_metadata.egress_global_timestamp",
6552 ["standard_metadata", "egress_global_timestamp"]
6553 ],
6554 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006555 "intrinsic_metadata.mcast_grp",
6556 ["standard_metadata", "mcast_grp"]
6557 ],
6558 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006559 "intrinsic_metadata.egress_rid",
6560 ["standard_metadata", "egress_rid"]
6561 ],
6562 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006563 "intrinsic_metadata.priority",
6564 ["standard_metadata", "priority"]
6565 ]
6566 ],
6567 "program" : "fabric.p4",
6568 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006569 "version" : [2, 23],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006570 "compiler" : "https://github.com/p4lang/p4c"
6571 }
6572}