blob: 78933e1b0c3f6227c037cfbfa45cba9dd6f1c8e0 [file] [log] [blame]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
pierventre48e78822020-12-15 17:34:54 +01007 ["tmp", 16, false],
Daniele Moro5a2de712019-09-24 14:34:07 -07008 ["tmp_0", 16, false],
pierventre48e78822020-12-15 17:34:54 +01009 ["tmp_1", 4, false],
10 ["tmp_2", 32, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070011 ["tmp_3", 32, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070012 ["bng_ingress_upstream_tmp", 1, false],
13 ["bng_ingress_downstream_tmp", 1, false],
14 ["bng_ingress_upstream_hasReturned", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070015 ["fabric_metadata_t._ip_eth_type0", 16, false],
16 ["fabric_metadata_t._vlan_id1", 12, false],
17 ["fabric_metadata_t._vlan_pri2", 3, false],
18 ["fabric_metadata_t._vlan_cfi3", 1, false],
19 ["fabric_metadata_t._push_double_vlan4", 1, false],
20 ["fabric_metadata_t._inner_vlan_id5", 12, false],
21 ["fabric_metadata_t._inner_vlan_pri6", 3, false],
22 ["fabric_metadata_t._inner_vlan_cfi7", 1, false],
23 ["fabric_metadata_t._mpls_label8", 20, false],
24 ["fabric_metadata_t._mpls_ttl9", 8, false],
25 ["fabric_metadata_t._skip_forwarding10", 1, false],
26 ["fabric_metadata_t._skip_next11", 1, false],
27 ["fabric_metadata_t._fwd_type12", 3, false],
28 ["fabric_metadata_t._next_id13", 32, false],
29 ["fabric_metadata_t._is_multicast14", 1, false],
30 ["fabric_metadata_t._is_controller_packet_out15", 1, false],
31 ["fabric_metadata_t._ip_proto16", 8, false],
32 ["fabric_metadata_t._l4_sport17", 16, false],
33 ["fabric_metadata_t._l4_dport18", 16, false],
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040034 ["fabric_metadata_t._ipv4_src_addr19", 32, false],
35 ["fabric_metadata_t._ipv4_dst_addr20", 32, false],
36 ["fabric_metadata_t._bng_type21", 2, false],
37 ["fabric_metadata_t._bng_line_id22", 32, false],
38 ["fabric_metadata_t._bng_pppoe_session_id23", 16, false],
39 ["fabric_metadata_t._bng_ds_meter_result24", 32, false],
40 ["fabric_metadata_t._bng_s_tag25", 12, false],
41 ["fabric_metadata_t._bng_c_tag26", 12, false],
pierventre48e78822020-12-15 17:34:54 +010042 ["_padding_0", 3, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070043 ]
44 },
45 {
46 "name" : "standard_metadata",
47 "id" : 1,
48 "fields" : [
49 ["ingress_port", 9, false],
50 ["egress_spec", 9, false],
51 ["egress_port", 9, false],
52 ["clone_spec", 32, false],
53 ["instance_type", 32, false],
54 ["drop", 1, false],
55 ["recirculate_port", 16, false],
56 ["packet_length", 32, false],
57 ["enq_timestamp", 32, false],
58 ["enq_qdepth", 19, false],
59 ["deq_timedelta", 32, false],
60 ["deq_qdepth", 19, false],
61 ["ingress_global_timestamp", 48, false],
62 ["egress_global_timestamp", 48, false],
63 ["lf_field_list", 32, false],
64 ["mcast_grp", 16, false],
65 ["resubmit_flag", 32, false],
66 ["egress_rid", 16, false],
67 ["recirculate_flag", 32, false],
68 ["checksum_error", 1, false],
69 ["parser_error", 32, false],
70 ["priority", 3, false],
71 ["_padding", 2, false]
72 ]
73 },
74 {
75 "name" : "ethernet_t",
76 "id" : 2,
77 "fields" : [
78 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070079 ["src_addr", 48, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070080 ]
81 },
82 {
83 "name" : "vlan_tag_t",
84 "id" : 3,
85 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -070086 ["eth_type", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070087 ["pri", 3, false],
88 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070089 ["vlan_id", 12, false]
90 ]
91 },
92 {
93 "name" : "eth_type_t",
94 "id" : 4,
95 "fields" : [
96 ["value", 16, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070097 ]
98 },
99 {
100 "name" : "pppoe_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700101 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700102 "fields" : [
103 ["version", 4, false],
104 ["type_id", 4, false],
105 ["code", 8, false],
106 ["session_id", 16, false],
107 ["length", 16, false],
108 ["protocol", 16, false]
109 ]
110 },
111 {
112 "name" : "mpls_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700113 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700114 "fields" : [
115 ["label", 20, false],
116 ["tc", 3, false],
117 ["bos", 1, false],
118 ["ttl", 8, false]
119 ]
120 },
121 {
122 "name" : "ipv4_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700123 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700124 "fields" : [
125 ["version", 4, false],
126 ["ihl", 4, false],
127 ["dscp", 6, false],
128 ["ecn", 2, false],
129 ["total_len", 16, false],
130 ["identification", 16, false],
131 ["flags", 3, false],
132 ["frag_offset", 13, false],
133 ["ttl", 8, false],
134 ["protocol", 8, false],
135 ["hdr_checksum", 16, false],
136 ["src_addr", 32, false],
137 ["dst_addr", 32, false]
138 ]
139 },
140 {
141 "name" : "tcp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700142 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700143 "fields" : [
144 ["sport", 16, false],
145 ["dport", 16, false],
146 ["seq_no", 32, false],
147 ["ack_no", 32, false],
148 ["data_offset", 4, false],
149 ["res", 3, false],
150 ["ecn", 3, false],
151 ["ctrl", 6, false],
152 ["window", 16, false],
153 ["checksum", 16, false],
154 ["urgent_ptr", 16, false]
155 ]
156 },
157 {
158 "name" : "udp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700159 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700160 "fields" : [
161 ["sport", 16, false],
162 ["dport", 16, false],
163 ["len", 16, false],
164 ["checksum", 16, false]
165 ]
166 },
167 {
168 "name" : "icmp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700169 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700170 "fields" : [
171 ["icmp_type", 8, false],
172 ["icmp_code", 8, false],
173 ["checksum", 16, false],
174 ["identifier", 16, false],
175 ["sequence_number", 16, false],
176 ["timestamp", 64, false]
177 ]
178 },
179 {
180 "name" : "packet_out_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700181 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700182 "fields" : [
183 ["egress_port", 9, false],
184 ["_pad", 7, false]
185 ]
186 },
187 {
188 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700189 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700190 "fields" : [
191 ["ingress_port", 9, false],
192 ["_pad", 7, false]
193 ]
194 }
195 ],
196 "headers" : [
197 {
198 "name" : "scalars",
199 "id" : 0,
200 "header_type" : "scalars_0",
201 "metadata" : true,
202 "pi_omit" : true
203 },
204 {
205 "name" : "standard_metadata",
206 "id" : 1,
207 "header_type" : "standard_metadata",
208 "metadata" : true,
209 "pi_omit" : true
210 },
211 {
212 "name" : "ethernet",
213 "id" : 2,
214 "header_type" : "ethernet_t",
215 "metadata" : false,
216 "pi_omit" : true
217 },
218 {
219 "name" : "vlan_tag",
220 "id" : 3,
221 "header_type" : "vlan_tag_t",
222 "metadata" : false,
223 "pi_omit" : true
224 },
225 {
226 "name" : "inner_vlan_tag",
227 "id" : 4,
228 "header_type" : "vlan_tag_t",
229 "metadata" : false,
230 "pi_omit" : true
231 },
232 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700233 "name" : "eth_type",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700234 "id" : 5,
Daniele Moro5a2de712019-09-24 14:34:07 -0700235 "header_type" : "eth_type_t",
236 "metadata" : false,
237 "pi_omit" : true
238 },
239 {
240 "name" : "pppoe",
241 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700242 "header_type" : "pppoe_t",
243 "metadata" : false,
244 "pi_omit" : true
245 },
246 {
247 "name" : "mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700248 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700249 "header_type" : "mpls_t",
250 "metadata" : false,
251 "pi_omit" : true
252 },
253 {
254 "name" : "ipv4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700255 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700256 "header_type" : "ipv4_t",
257 "metadata" : false,
258 "pi_omit" : true
259 },
260 {
261 "name" : "tcp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700262 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700263 "header_type" : "tcp_t",
264 "metadata" : false,
265 "pi_omit" : true
266 },
267 {
268 "name" : "udp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700269 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700270 "header_type" : "udp_t",
271 "metadata" : false,
272 "pi_omit" : true
273 },
274 {
275 "name" : "icmp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700276 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700277 "header_type" : "icmp_t",
278 "metadata" : false,
279 "pi_omit" : true
280 },
281 {
282 "name" : "packet_out",
Daniele Moro5a2de712019-09-24 14:34:07 -0700283 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700284 "header_type" : "packet_out_header_t",
285 "metadata" : false,
286 "pi_omit" : true
287 },
288 {
289 "name" : "packet_in",
Daniele Moro5a2de712019-09-24 14:34:07 -0700290 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700291 "header_type" : "packet_in_header_t",
292 "metadata" : false,
293 "pi_omit" : true
294 }
295 ],
296 "header_stacks" : [],
297 "header_union_types" : [],
298 "header_unions" : [],
299 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700300 "field_lists" : [
301 {
302 "id" : 1,
303 "name" : "fl",
304 "source_info" : {
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700305 "filename" : "include/control/acl.p4",
306 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700307 "column" : 40,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700308 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700309 },
310 "elements" : [
311 {
312 "type" : "field",
313 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700314 }
315 ]
316 }
317 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700318 "errors" : [
319 ["NoError", 1],
320 ["PacketTooShort", 2],
321 ["NoMatch", 3],
322 ["StackOutOfBounds", 4],
323 ["HeaderTooShort", 5],
324 ["ParserTimeout", 6],
325 ["ParserInvalidArgument", 7]
326 ],
327 "enums" : [],
328 "parsers" : [
329 {
330 "name" : "parser",
331 "id" : 0,
332 "init_state" : "start",
333 "parse_states" : [
334 {
335 "name" : "start",
336 "id" : 0,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400337 "parser_ops" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700338 "transitions" : [
339 {
340 "type" : "hexstr",
341 "value" : "0x00ff",
342 "mask" : null,
343 "next_state" : "parse_packet_out"
344 },
345 {
346 "value" : "default",
347 "mask" : null,
348 "next_state" : "parse_ethernet"
349 }
350 ],
351 "transition_key" : [
352 {
353 "type" : "field",
354 "value" : ["standard_metadata", "ingress_port"]
355 }
356 ]
357 },
358 {
359 "name" : "parse_packet_out",
360 "id" : 1,
361 "parser_ops" : [
362 {
363 "parameters" : [
364 {
365 "type" : "regular",
366 "value" : "packet_out"
367 }
368 ],
369 "op" : "extract"
370 }
371 ],
372 "transitions" : [
373 {
374 "value" : "default",
375 "mask" : null,
376 "next_state" : "parse_ethernet"
377 }
378 ],
379 "transition_key" : []
380 },
381 {
382 "name" : "parse_ethernet",
383 "id" : 2,
384 "parser_ops" : [
385 {
386 "parameters" : [
387 {
388 "type" : "regular",
389 "value" : "ethernet"
390 }
391 ],
392 "op" : "extract"
393 },
394 {
395 "parameters" : [
396 {
397 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700398 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700399 },
400 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700401 "type" : "hexstr",
402 "value" : "0x0ffe"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700403 }
404 ],
405 "op" : "set"
406 },
407 {
408 "parameters" : [
409 {
410 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100411 "value" : ["scalars", "tmp"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700412 },
413 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700414 "type" : "lookahead",
415 "value" : [0, 16]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700416 }
417 ],
418 "op" : "set"
419 }
420 ],
421 "transitions" : [
422 {
423 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700424 "value" : "0x88a8",
425 "mask" : null,
426 "next_state" : "parse_vlan_tag"
427 },
428 {
429 "type" : "hexstr",
430 "value" : "0x9100",
431 "mask" : null,
432 "next_state" : "parse_vlan_tag"
433 },
434 {
435 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700436 "value" : "0x8100",
437 "mask" : null,
438 "next_state" : "parse_vlan_tag"
439 },
440 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700441 "value" : "default",
442 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700443 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700444 }
445 ],
446 "transition_key" : [
447 {
448 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100449 "value" : ["scalars", "tmp"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700450 }
451 ]
452 },
453 {
454 "name" : "parse_vlan_tag",
455 "id" : 3,
456 "parser_ops" : [
457 {
458 "parameters" : [
459 {
460 "type" : "regular",
461 "value" : "vlan_tag"
462 }
463 ],
464 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700465 },
466 {
467 "parameters" : [
468 {
469 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400470 "value" : ["scalars", "fabric_metadata_t._bng_s_tag25"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700471 },
472 {
473 "type" : "field",
474 "value" : ["vlan_tag", "vlan_id"]
475 }
476 ],
477 "op" : "set"
478 },
479 {
480 "parameters" : [
481 {
482 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100483 "value" : ["scalars", "tmp_0"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700484 },
485 {
486 "type" : "lookahead",
487 "value" : [0, 16]
488 }
489 ],
490 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700491 }
492 ],
493 "transitions" : [
494 {
495 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700496 "value" : "0x8100",
497 "mask" : null,
498 "next_state" : "parse_inner_vlan_tag"
499 },
500 {
501 "value" : "default",
502 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700503 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700504 }
505 ],
506 "transition_key" : [
507 {
508 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100509 "value" : ["scalars", "tmp_0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700510 }
511 ]
512 },
513 {
514 "name" : "parse_inner_vlan_tag",
515 "id" : 4,
516 "parser_ops" : [
517 {
518 "parameters" : [
519 {
520 "type" : "regular",
521 "value" : "inner_vlan_tag"
522 }
523 ],
524 "op" : "extract"
Daniele Morob3d199b2019-11-01 14:01:46 -0700525 },
526 {
527 "parameters" : [
528 {
529 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400530 "value" : ["scalars", "fabric_metadata_t._bng_c_tag26"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700531 },
532 {
533 "type" : "field",
534 "value" : ["inner_vlan_tag", "vlan_id"]
535 }
536 ],
537 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700538 }
539 ],
540 "transitions" : [
541 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700542 "value" : "default",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700543 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700544 "next_state" : "parse_eth_type"
545 }
546 ],
547 "transition_key" : []
548 },
549 {
550 "name" : "parse_eth_type",
551 "id" : 5,
552 "parser_ops" : [
553 {
554 "parameters" : [
555 {
556 "type" : "regular",
557 "value" : "eth_type"
558 }
559 ],
560 "op" : "extract"
561 }
562 ],
563 "transitions" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700564 {
565 "type" : "hexstr",
566 "value" : "0x8847",
567 "mask" : null,
568 "next_state" : "parse_mpls"
569 },
570 {
571 "type" : "hexstr",
Daniele Moro5a2de712019-09-24 14:34:07 -0700572 "value" : "0x0800",
573 "mask" : null,
574 "next_state" : "parse_ipv4"
575 },
576 {
577 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700578 "value" : "0x8863",
579 "mask" : null,
580 "next_state" : "parse_pppoe"
581 },
582 {
583 "type" : "hexstr",
584 "value" : "0x8864",
585 "mask" : null,
586 "next_state" : "parse_pppoe"
587 },
588 {
589 "value" : "default",
590 "mask" : null,
591 "next_state" : null
592 }
593 ],
594 "transition_key" : [
595 {
596 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700597 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700598 }
599 ]
600 },
601 {
602 "name" : "parse_pppoe",
Daniele Moro5a2de712019-09-24 14:34:07 -0700603 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700604 "parser_ops" : [
605 {
606 "parameters" : [
607 {
608 "type" : "regular",
609 "value" : "pppoe"
610 }
611 ],
612 "op" : "extract"
613 }
614 ],
615 "transitions" : [
616 {
617 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700618 "value" : "0x0281",
619 "mask" : null,
620 "next_state" : "parse_mpls"
621 },
622 {
623 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700624 "value" : "0x0021",
625 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700626 "next_state" : "parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700627 },
628 {
629 "value" : "default",
630 "mask" : null,
631 "next_state" : null
632 }
633 ],
634 "transition_key" : [
635 {
636 "type" : "field",
637 "value" : ["pppoe", "protocol"]
638 }
639 ]
640 },
641 {
642 "name" : "parse_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700643 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700644 "parser_ops" : [
645 {
646 "parameters" : [
647 {
648 "type" : "regular",
649 "value" : "mpls"
650 }
651 ],
652 "op" : "extract"
653 },
654 {
655 "parameters" : [
656 {
657 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700658 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700659 },
660 {
661 "type" : "field",
662 "value" : ["mpls", "label"]
663 }
664 ],
665 "op" : "set"
666 },
667 {
668 "parameters" : [
669 {
670 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700671 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700672 },
673 {
674 "type" : "field",
675 "value" : ["mpls", "ttl"]
676 }
677 ],
678 "op" : "set"
679 },
680 {
681 "parameters" : [
682 {
683 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100684 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700685 },
686 {
687 "type" : "lookahead",
688 "value" : [0, 4]
689 }
690 ],
691 "op" : "set"
692 }
693 ],
694 "transitions" : [
695 {
696 "type" : "hexstr",
697 "value" : "0x04",
698 "mask" : null,
699 "next_state" : "parse_ipv4"
700 },
701 {
702 "value" : "default",
703 "mask" : null,
704 "next_state" : "parse_ethernet"
705 }
706 ],
707 "transition_key" : [
708 {
709 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100710 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700711 }
712 ]
713 },
714 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700715 "name" : "parse_ipv4",
716 "id" : 8,
717 "parser_ops" : [
718 {
719 "parameters" : [
720 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700721 "type" : "regular",
722 "value" : "ipv4"
723 }
724 ],
725 "op" : "extract"
726 },
727 {
728 "parameters" : [
729 {
730 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700731 "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700732 },
733 {
734 "type" : "field",
735 "value" : ["ipv4", "protocol"]
736 }
737 ],
738 "op" : "set"
739 },
740 {
741 "parameters" : [
742 {
743 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700744 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700745 },
746 {
747 "type" : "hexstr",
748 "value" : "0x0800"
749 }
750 ],
751 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400752 },
753 {
754 "parameters" : [
755 {
756 "type" : "field",
757 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr19"]
758 },
759 {
760 "type" : "field",
761 "value" : ["ipv4", "src_addr"]
762 }
763 ],
764 "op" : "set"
765 },
766 {
767 "parameters" : [
768 {
769 "type" : "field",
770 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"]
771 },
772 {
773 "type" : "field",
774 "value" : ["ipv4", "dst_addr"]
775 }
776 ],
777 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700778 }
779 ],
780 "transitions" : [
781 {
782 "type" : "hexstr",
783 "value" : "0x06",
784 "mask" : null,
785 "next_state" : "parse_tcp"
786 },
787 {
788 "type" : "hexstr",
789 "value" : "0x11",
790 "mask" : null,
791 "next_state" : "parse_udp"
792 },
793 {
794 "type" : "hexstr",
795 "value" : "0x01",
796 "mask" : null,
797 "next_state" : "parse_icmp"
798 },
799 {
800 "value" : "default",
801 "mask" : null,
802 "next_state" : null
803 }
804 ],
805 "transition_key" : [
806 {
807 "type" : "field",
808 "value" : ["ipv4", "protocol"]
809 }
810 ]
811 },
812 {
813 "name" : "parse_tcp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700814 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700815 "parser_ops" : [
816 {
817 "parameters" : [
818 {
819 "type" : "regular",
820 "value" : "tcp"
821 }
822 ],
823 "op" : "extract"
824 },
825 {
826 "parameters" : [
827 {
828 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700829 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700830 },
831 {
832 "type" : "field",
833 "value" : ["tcp", "sport"]
834 }
835 ],
836 "op" : "set"
837 },
838 {
839 "parameters" : [
840 {
841 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700842 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700843 },
844 {
845 "type" : "field",
846 "value" : ["tcp", "dport"]
847 }
848 ],
849 "op" : "set"
850 }
851 ],
852 "transitions" : [
853 {
854 "value" : "default",
855 "mask" : null,
856 "next_state" : null
857 }
858 ],
859 "transition_key" : []
860 },
861 {
862 "name" : "parse_udp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700863 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700864 "parser_ops" : [
865 {
866 "parameters" : [
867 {
868 "type" : "regular",
869 "value" : "udp"
870 }
871 ],
872 "op" : "extract"
873 },
874 {
875 "parameters" : [
876 {
877 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700878 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700879 },
880 {
881 "type" : "field",
882 "value" : ["udp", "sport"]
883 }
884 ],
885 "op" : "set"
886 },
887 {
888 "parameters" : [
889 {
890 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700891 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700892 },
893 {
894 "type" : "field",
895 "value" : ["udp", "dport"]
896 }
897 ],
898 "op" : "set"
899 }
900 ],
901 "transitions" : [
902 {
903 "value" : "default",
904 "mask" : null,
905 "next_state" : null
906 }
907 ],
908 "transition_key" : [
909 {
910 "type" : "field",
911 "value" : ["udp", "dport"]
912 }
913 ]
914 },
915 {
916 "name" : "parse_icmp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700917 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700918 "parser_ops" : [
919 {
920 "parameters" : [
921 {
922 "type" : "regular",
923 "value" : "icmp"
924 }
925 ],
926 "op" : "extract"
927 }
928 ],
929 "transitions" : [
930 {
931 "value" : "default",
932 "mask" : null,
933 "next_state" : null
934 }
935 ],
936 "transition_key" : []
937 }
938 ]
939 }
940 ],
941 "parse_vsets" : [],
942 "deparsers" : [
943 {
944 "name" : "deparser",
945 "id" : 0,
946 "source_info" : {
947 "filename" : "include/parser.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -0700948 "line" : 268,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700949 "column" : 8,
950 "source_fragment" : "FabricDeparser"
951 },
Daniele Moro5a2de712019-09-24 14:34:07 -0700952 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700953 }
954 ],
955 "meter_arrays" : [
956 {
957 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
958 "id" : 0,
959 "source_info" : {
960 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -0800961 "line" : 154,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700962 "column" : 33,
963 "source_fragment" : "m_besteff"
964 },
965 "is_direct" : false,
966 "size" : 8192,
967 "rate_count" : 2,
968 "type" : "bytes"
969 },
970 {
971 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
972 "id" : 1,
973 "source_info" : {
974 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -0800975 "line" : 155,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700976 "column" : 33,
977 "source_fragment" : "m_prio"
978 },
979 "is_direct" : false,
980 "size" : 8192,
981 "rate_count" : 2,
982 "type" : "bytes"
983 }
984 ],
985 "counter_arrays" : [
986 {
987 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
988 "id" : 0,
989 "source_info" : {
990 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700991 "line" : 36,
Daniele Moroce424ca2019-10-03 16:44:33 -0700992 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700993 "source_fragment" : "c_terminated"
994 },
995 "size" : 8192,
996 "is_direct" : false
997 },
998 {
999 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
1000 "id" : 1,
1001 "source_info" : {
1002 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001003 "line" : 37,
Daniele Moroce424ca2019-10-03 16:44:33 -07001004 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001005 "source_fragment" : "c_dropped"
1006 },
1007 "size" : 8192,
1008 "is_direct" : false
1009 },
1010 {
1011 "name" : "FabricIngress.bng_ingress.upstream.c_control",
1012 "id" : 2,
1013 "source_info" : {
1014 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001015 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001016 "column" : 39,
1017 "source_fragment" : "c_control"
1018 },
1019 "size" : 8192,
1020 "is_direct" : false
1021 },
1022 {
1023 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
1024 "id" : 3,
1025 "source_info" : {
1026 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001027 "line" : 152,
Daniele Moroce424ca2019-10-03 16:44:33 -07001028 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001029 "source_fragment" : "c_line_rx"
1030 },
1031 "size" : 8192,
1032 "is_direct" : false
1033 },
1034 {
1035 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1036 "id" : 4,
1037 "is_direct" : true,
1038 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1039 "source_info" : {
1040 "filename" : "include/control/filtering.p4",
1041 "line" : 31,
1042 "column" : 50,
1043 "source_fragment" : "ingress_port_vlan_counter"
1044 }
1045 },
1046 {
1047 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1048 "id" : 5,
1049 "is_direct" : true,
1050 "binding" : "FabricIngress.filtering.fwd_classifier",
1051 "source_info" : {
1052 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001053 "line" : 85,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001054 "column" : 50,
1055 "source_fragment" : "fwd_classifier_counter"
1056 }
1057 },
1058 {
1059 "name" : "FabricIngress.forwarding.bridging_counter",
1060 "id" : 6,
1061 "is_direct" : true,
1062 "binding" : "FabricIngress.forwarding.bridging",
1063 "source_info" : {
1064 "filename" : "include/control/forwarding.p4",
1065 "line" : 36,
1066 "column" : 50,
1067 "source_fragment" : "bridging_counter"
1068 }
1069 },
1070 {
1071 "name" : "FabricIngress.forwarding.mpls_counter",
1072 "id" : 7,
1073 "is_direct" : true,
1074 "binding" : "FabricIngress.forwarding.mpls",
1075 "source_info" : {
1076 "filename" : "include/control/forwarding.p4",
1077 "line" : 63,
1078 "column" : 50,
1079 "source_fragment" : "mpls_counter"
1080 }
1081 },
1082 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001083 "name" : "FabricIngress.acl.acl_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001084 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001085 "is_direct" : true,
1086 "binding" : "FabricIngress.acl.acl",
1087 "source_info" : {
1088 "filename" : "include/control/acl.p4",
1089 "line" : 30,
1090 "column" : 50,
1091 "source_fragment" : "acl_counter"
1092 }
1093 },
1094 {
1095 "name" : "FabricIngress.next.next_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001096 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001097 "is_direct" : true,
1098 "binding" : "FabricIngress.next.next_vlan",
1099 "source_info" : {
1100 "filename" : "include/control/next.p4",
1101 "line" : 67,
1102 "column" : 50,
1103 "source_fragment" : "next_vlan_counter"
1104 }
1105 },
1106 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001107 "name" : "FabricIngress.next.hashed_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001108 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001109 "is_direct" : true,
1110 "binding" : "FabricIngress.next.hashed",
1111 "source_info" : {
1112 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001113 "line" : 184,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001114 "column" : 50,
1115 "source_fragment" : "hashed_counter"
1116 }
1117 },
1118 {
1119 "name" : "FabricIngress.next.multicast_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001120 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001121 "is_direct" : true,
1122 "binding" : "FabricIngress.next.multicast",
1123 "source_info" : {
1124 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001125 "line" : 228,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001126 "column" : 50,
1127 "source_fragment" : "multicast_counter"
1128 }
1129 },
1130 {
1131 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001132 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001133 "source_info" : {
1134 "filename" : "include/control/port_counter.p4",
1135 "line" : 26,
1136 "column" : 48,
1137 "source_fragment" : "egress_port_counter"
1138 },
1139 "size" : 511,
1140 "is_direct" : false
1141 },
1142 {
1143 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001144 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001145 "source_info" : {
1146 "filename" : "include/control/port_counter.p4",
1147 "line" : 27,
1148 "column" : 48,
1149 "source_fragment" : "ingress_port_counter"
1150 },
1151 "size" : 511,
1152 "is_direct" : false
1153 },
1154 {
1155 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Daniele Moro5a2de712019-09-24 14:34:07 -07001156 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001157 "source_info" : {
1158 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001159 "line" : 267,
Daniele Moroce424ca2019-10-03 16:44:33 -07001160 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001161 "source_fragment" : "c_line_tx"
1162 },
1163 "size" : 8192,
1164 "is_direct" : false
1165 },
1166 {
1167 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001168 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001169 "is_direct" : true,
1170 "binding" : "FabricEgress.egress_next.egress_vlan",
1171 "source_info" : {
1172 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01001173 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001174 "column" : 50,
1175 "source_fragment" : "egress_vlan_counter"
1176 }
1177 }
1178 ],
1179 "register_arrays" : [],
1180 "calculations" : [
1181 {
1182 "name" : "calc",
1183 "id" : 0,
1184 "source_info" : {
1185 "filename" : "include/checksum.p4",
1186 "line" : 28,
1187 "column" : 8,
1188 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1189 },
1190 "algo" : "csum16",
1191 "input" : [
1192 {
1193 "type" : "field",
1194 "value" : ["ipv4", "version"]
1195 },
1196 {
1197 "type" : "field",
1198 "value" : ["ipv4", "ihl"]
1199 },
1200 {
1201 "type" : "field",
1202 "value" : ["ipv4", "dscp"]
1203 },
1204 {
1205 "type" : "field",
1206 "value" : ["ipv4", "ecn"]
1207 },
1208 {
1209 "type" : "field",
1210 "value" : ["ipv4", "total_len"]
1211 },
1212 {
1213 "type" : "field",
1214 "value" : ["ipv4", "identification"]
1215 },
1216 {
1217 "type" : "field",
1218 "value" : ["ipv4", "flags"]
1219 },
1220 {
1221 "type" : "field",
1222 "value" : ["ipv4", "frag_offset"]
1223 },
1224 {
1225 "type" : "field",
1226 "value" : ["ipv4", "ttl"]
1227 },
1228 {
1229 "type" : "field",
1230 "value" : ["ipv4", "protocol"]
1231 },
1232 {
1233 "type" : "field",
1234 "value" : ["ipv4", "src_addr"]
1235 },
1236 {
1237 "type" : "field",
1238 "value" : ["ipv4", "dst_addr"]
1239 }
1240 ]
1241 },
1242 {
1243 "name" : "calc_0",
1244 "id" : 1,
1245 "source_info" : {
1246 "filename" : "include/checksum.p4",
1247 "line" : 57,
1248 "column" : 8,
1249 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1250 },
1251 "algo" : "csum16",
1252 "input" : [
1253 {
1254 "type" : "field",
1255 "value" : ["ipv4", "version"]
1256 },
1257 {
1258 "type" : "field",
1259 "value" : ["ipv4", "ihl"]
1260 },
1261 {
1262 "type" : "field",
1263 "value" : ["ipv4", "dscp"]
1264 },
1265 {
1266 "type" : "field",
1267 "value" : ["ipv4", "ecn"]
1268 },
1269 {
1270 "type" : "field",
1271 "value" : ["ipv4", "total_len"]
1272 },
1273 {
1274 "type" : "field",
1275 "value" : ["ipv4", "identification"]
1276 },
1277 {
1278 "type" : "field",
1279 "value" : ["ipv4", "flags"]
1280 },
1281 {
1282 "type" : "field",
1283 "value" : ["ipv4", "frag_offset"]
1284 },
1285 {
1286 "type" : "field",
1287 "value" : ["ipv4", "ttl"]
1288 },
1289 {
1290 "type" : "field",
1291 "value" : ["ipv4", "protocol"]
1292 },
1293 {
1294 "type" : "field",
1295 "value" : ["ipv4", "src_addr"]
1296 },
1297 {
1298 "type" : "field",
1299 "value" : ["ipv4", "dst_addr"]
1300 }
1301 ]
1302 }
1303 ],
1304 "learn_lists" : [],
1305 "actions" : [
1306 {
1307 "name" : "nop",
1308 "id" : 0,
1309 "runtime_data" : [],
1310 "primitives" : []
1311 },
1312 {
1313 "name" : "nop",
1314 "id" : 1,
1315 "runtime_data" : [],
1316 "primitives" : []
1317 },
1318 {
1319 "name" : "nop",
1320 "id" : 2,
1321 "runtime_data" : [],
1322 "primitives" : []
1323 },
1324 {
1325 "name" : "nop",
1326 "id" : 3,
1327 "runtime_data" : [],
1328 "primitives" : []
1329 },
1330 {
1331 "name" : "nop",
1332 "id" : 4,
1333 "runtime_data" : [],
1334 "primitives" : []
1335 },
1336 {
1337 "name" : "nop",
1338 "id" : 5,
1339 "runtime_data" : [],
1340 "primitives" : []
1341 },
1342 {
1343 "name" : "nop",
1344 "id" : 6,
1345 "runtime_data" : [],
1346 "primitives" : []
1347 },
1348 {
1349 "name" : "nop",
1350 "id" : 7,
1351 "runtime_data" : [],
1352 "primitives" : []
1353 },
1354 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001355 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07001356 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001357 "runtime_data" : [],
1358 "primitives" : [
1359 {
1360 "op" : "assign",
1361 "parameters" : [
1362 {
1363 "type" : "field",
1364 "value" : ["standard_metadata", "egress_spec"]
1365 },
1366 {
1367 "type" : "hexstr",
1368 "value" : "0x00ff"
1369 }
1370 ],
1371 "source_info" : {
1372 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001373 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001374 "column" : 8,
1375 "source_fragment" : "smeta.egress_spec = 255"
1376 }
1377 },
1378 {
Daniele Moro0cecfe12019-12-13 17:24:33 -08001379 "op" : "assign",
1380 "parameters" : [
1381 {
1382 "type" : "field",
1383 "value" : ["standard_metadata", "mcast_grp"]
1384 },
1385 {
1386 "type" : "hexstr",
1387 "value" : "0x0000"
1388 }
1389 ],
1390 "source_info" : {
1391 "filename" : "include/bng.p4",
1392 "line" : 47,
1393 "column" : 8,
1394 "source_fragment" : "smeta.mcast_grp = 0"
1395 }
1396 },
1397 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001398 "op" : "count",
1399 "parameters" : [
1400 {
1401 "type" : "counter_array",
1402 "value" : "FabricIngress.bng_ingress.upstream.c_control"
1403 },
1404 {
1405 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001406 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001407 }
1408 ],
1409 "source_info" : {
1410 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001411 "line" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001412 "column" : 8,
1413 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
1414 }
1415 }
1416 ]
1417 },
1418 {
1419 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Daniele Moro5a2de712019-09-24 14:34:07 -07001420 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001421 "runtime_data" : [],
1422 "primitives" : [
1423 {
1424 "op" : "assign",
1425 "parameters" : [
1426 {
1427 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001428 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001429 },
1430 {
1431 "type" : "hexstr",
1432 "value" : "0x00"
1433 }
1434 ],
1435 "source_info" : {
1436 "filename" : "include/control/../header.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001437 "line" : 161,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001438 "column" : 36,
1439 "source_fragment" : "2w0x0; ..."
1440 }
1441 },
1442 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001443 "op" : "mark_to_drop",
1444 "parameters" : [
1445 {
1446 "type" : "header",
1447 "value" : "standard_metadata"
1448 }
1449 ],
1450 "source_info" : {
1451 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001452 "line" : 77,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001453 "column" : 8,
1454 "source_fragment" : "mark_to_drop(smeta)"
1455 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001456 }
1457 ]
1458 },
1459 {
1460 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001461 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001462 "runtime_data" : [],
1463 "primitives" : [
1464 {
1465 "op" : "assign",
1466 "parameters" : [
1467 {
1468 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001469 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001470 },
1471 {
1472 "type" : "hexstr",
1473 "value" : "0x0800"
1474 }
1475 ],
1476 "source_info" : {
1477 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03001478 "line" : 119,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001479 "column" : 31,
1480 "source_fragment" : "0x0800; ..."
1481 }
1482 },
1483 {
1484 "op" : "remove_header",
1485 "parameters" : [
1486 {
1487 "type" : "header",
1488 "value" : "pppoe"
1489 }
1490 ],
1491 "source_info" : {
1492 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001493 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001494 "column" : 8,
1495 "source_fragment" : "hdr.pppoe.setInvalid()"
1496 }
1497 },
1498 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001499 "op" : "count",
1500 "parameters" : [
1501 {
1502 "type" : "counter_array",
1503 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
1504 },
1505 {
1506 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001507 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001508 }
1509 ],
1510 "source_info" : {
1511 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001512 "line" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001513 "column" : 8,
1514 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
1515 }
1516 }
1517 ]
1518 },
1519 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001520 "name" : "FabricIngress.bng_ingress.downstream.set_session",
Daniele Moro5a2de712019-09-24 14:34:07 -07001521 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001522 "runtime_data" : [
1523 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001524 "name" : "pppoe_session_id",
1525 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001526 }
1527 ],
1528 "primitives" : [
1529 {
1530 "op" : "assign",
1531 "parameters" : [
1532 {
1533 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001534 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001535 },
1536 {
1537 "type" : "hexstr",
1538 "value" : "0x02"
1539 }
1540 ],
1541 "source_info" : {
1542 "filename" : "include/control/../header.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001543 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001544 "column" : 39,
1545 "source_fragment" : "2w0x2;; ..."
1546 }
1547 },
1548 {
1549 "op" : "assign",
1550 "parameters" : [
1551 {
1552 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001553 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001554 },
1555 {
1556 "type" : "runtime_data",
1557 "value" : 0
1558 }
1559 ],
1560 "source_info" : {
1561 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001562 "line" : 159,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001563 "column" : 35,
1564 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001565 }
1566 },
1567 {
1568 "op" : "count",
1569 "parameters" : [
1570 {
1571 "type" : "counter_array",
1572 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1573 },
1574 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001575 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001576 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001577 }
1578 ],
1579 "source_info" : {
1580 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001581 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001582 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001583 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001584 }
1585 }
1586 ]
1587 },
1588 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001589 "name" : "FabricIngress.bng_ingress.downstream.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07001590 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001591 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001592 "primitives" : [
1593 {
1594 "op" : "assign",
1595 "parameters" : [
1596 {
1597 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001598 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001599 },
1600 {
1601 "type" : "hexstr",
1602 "value" : "0x02"
1603 }
1604 ],
1605 "source_info" : {
1606 "filename" : "include/control/../header.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001607 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001608 "column" : 39,
1609 "source_fragment" : "2w0x2;; ..."
1610 }
1611 },
1612 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001613 "op" : "count",
1614 "parameters" : [
1615 {
1616 "type" : "counter_array",
1617 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1618 },
1619 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001620 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001621 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001622 }
1623 ],
1624 "source_info" : {
1625 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001626 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001627 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001628 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001629 }
1630 },
1631 {
1632 "op" : "mark_to_drop",
1633 "parameters" : [
1634 {
1635 "type" : "header",
1636 "value" : "standard_metadata"
1637 }
1638 ],
1639 "source_info" : {
1640 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001641 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001642 "column" : 8,
1643 "source_fragment" : "mark_to_drop(smeta)"
1644 }
1645 }
1646 ]
1647 },
1648 {
1649 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro5a2de712019-09-24 14:34:07 -07001650 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001651 "runtime_data" : [],
Daniele Moro7c3a0022019-07-12 13:38:34 -07001652 "primitives" : []
1653 },
1654 {
1655 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
Daniele Moro5a2de712019-09-24 14:34:07 -07001656 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001657 "runtime_data" : [],
1658 "primitives" : []
1659 },
1660 {
1661 "name" : "FabricIngress.bng_ingress.set_line",
Daniele Moro5a2de712019-09-24 14:34:07 -07001662 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001663 "runtime_data" : [
1664 {
1665 "name" : "line_id",
1666 "bitwidth" : 32
1667 }
1668 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001669 "primitives" : [
1670 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001671 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001672 "parameters" : [
1673 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001674 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001675 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001676 },
1677 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001678 "type" : "runtime_data",
1679 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001680 }
1681 ],
1682 "source_info" : {
1683 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001684 "line" : 320,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001685 "column" : 30,
1686 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001687 }
1688 }
1689 ]
1690 },
1691 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001692 "name" : "FabricIngress.filtering.deny",
Daniele Moro5a2de712019-09-24 14:34:07 -07001693 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001694 "runtime_data" : [],
1695 "primitives" : [
1696 {
1697 "op" : "assign",
1698 "parameters" : [
1699 {
1700 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001701 "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001702 },
1703 {
1704 "type" : "expression",
1705 "value" : {
1706 "type" : "expression",
1707 "value" : {
1708 "op" : "b2d",
1709 "left" : null,
1710 "right" : {
1711 "type" : "bool",
1712 "value" : true
1713 }
1714 }
1715 }
1716 }
1717 ],
1718 "source_info" : {
1719 "filename" : "include/control/filtering.p4",
1720 "line" : 36,
1721 "column" : 40,
1722 "source_fragment" : "= true; ..."
1723 }
1724 },
1725 {
1726 "op" : "assign",
1727 "parameters" : [
1728 {
1729 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001730 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001731 },
1732 {
1733 "type" : "expression",
1734 "value" : {
1735 "type" : "expression",
1736 "value" : {
1737 "op" : "b2d",
1738 "left" : null,
1739 "right" : {
1740 "type" : "bool",
1741 "value" : true
1742 }
1743 }
1744 }
1745 }
1746 ],
1747 "source_info" : {
1748 "filename" : "include/control/filtering.p4",
1749 "line" : 37,
1750 "column" : 34,
1751 "source_fragment" : "= true; ..."
1752 }
1753 }
1754 ]
1755 },
1756 {
1757 "name" : "FabricIngress.filtering.permit",
Daniele Moro5a2de712019-09-24 14:34:07 -07001758 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001759 "runtime_data" : [],
1760 "primitives" : []
1761 },
1762 {
1763 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07001764 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001765 "runtime_data" : [
1766 {
1767 "name" : "vlan_id",
1768 "bitwidth" : 12
1769 }
1770 ],
1771 "primitives" : [
1772 {
1773 "op" : "assign",
1774 "parameters" : [
1775 {
1776 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001777 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001778 },
1779 {
1780 "type" : "runtime_data",
1781 "value" : 0
1782 }
1783 ],
1784 "source_info" : {
1785 "filename" : "include/control/filtering.p4",
1786 "line" : 47,
1787 "column" : 32,
1788 "source_fragment" : "= vlan_id; ..."
1789 }
1790 }
1791 ]
1792 },
1793 {
1794 "name" : "FabricIngress.filtering.set_forwarding_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07001795 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001796 "runtime_data" : [
1797 {
1798 "name" : "fwd_type",
1799 "bitwidth" : 3
1800 }
1801 ],
1802 "primitives" : [
1803 {
1804 "op" : "assign",
1805 "parameters" : [
1806 {
1807 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001808 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001809 },
1810 {
1811 "type" : "runtime_data",
1812 "value" : 0
1813 }
1814 ],
1815 "source_info" : {
1816 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001817 "line" : 88,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001818 "column" : 33,
1819 "source_fragment" : "= fwd_type; ..."
1820 }
1821 }
1822 ]
1823 },
1824 {
1825 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07001826 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001827 "runtime_data" : [
1828 {
1829 "name" : "next_id",
1830 "bitwidth" : 32
1831 }
1832 ],
1833 "primitives" : [
1834 {
1835 "op" : "assign",
1836 "parameters" : [
1837 {
1838 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001839 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001840 },
1841 {
1842 "type" : "runtime_data",
1843 "value" : 0
1844 }
1845 ],
1846 "source_info" : {
1847 "filename" : "include/control/forwarding.p4",
1848 "line" : 30,
1849 "column" : 32,
1850 "source_fragment" : "= next_id; ..."
1851 }
1852 }
1853 ]
1854 },
1855 {
1856 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Daniele Moro5a2de712019-09-24 14:34:07 -07001857 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001858 "runtime_data" : [
1859 {
1860 "name" : "next_id",
1861 "bitwidth" : 32
1862 }
1863 ],
1864 "primitives" : [
1865 {
1866 "op" : "assign",
1867 "parameters" : [
1868 {
1869 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001870 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001871 },
1872 {
1873 "type" : "hexstr",
1874 "value" : "0x000000"
1875 }
1876 ],
1877 "source_info" : {
1878 "filename" : "include/control/forwarding.p4",
1879 "line" : 66,
1880 "column" : 35,
1881 "source_fragment" : "= 0; ..."
1882 }
1883 },
1884 {
1885 "op" : "assign",
1886 "parameters" : [
1887 {
1888 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001889 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001890 },
1891 {
1892 "type" : "runtime_data",
1893 "value" : 0
1894 }
1895 ],
1896 "source_info" : {
1897 "filename" : "include/control/forwarding.p4",
1898 "line" : 30,
1899 "column" : 32,
1900 "source_fragment" : "= next_id; ..."
1901 }
1902 }
1903 ]
1904 },
1905 {
1906 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001907 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001908 "runtime_data" : [
1909 {
1910 "name" : "next_id",
1911 "bitwidth" : 32
1912 }
1913 ],
1914 "primitives" : [
1915 {
1916 "op" : "assign",
1917 "parameters" : [
1918 {
1919 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001920 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001921 },
1922 {
1923 "type" : "runtime_data",
1924 "value" : 0
1925 }
1926 ],
1927 "source_info" : {
1928 "filename" : "include/control/forwarding.p4",
1929 "line" : 30,
1930 "column" : 32,
1931 "source_fragment" : "= next_id; ..."
1932 }
1933 }
1934 ]
1935 },
1936 {
1937 "name" : "FabricIngress.forwarding.nop_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001938 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001939 "runtime_data" : [],
1940 "primitives" : []
1941 },
1942 {
1943 "name" : "FabricIngress.acl.set_next_id_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07001944 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001945 "runtime_data" : [
1946 {
1947 "name" : "next_id",
1948 "bitwidth" : 32
1949 }
1950 ],
1951 "primitives" : [
1952 {
1953 "op" : "assign",
1954 "parameters" : [
1955 {
1956 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001957 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001958 },
1959 {
1960 "type" : "runtime_data",
1961 "value" : 0
1962 }
1963 ],
1964 "source_info" : {
1965 "filename" : "include/control/acl.p4",
1966 "line" : 33,
1967 "column" : 32,
1968 "source_fragment" : "= next_id; ..."
1969 }
1970 }
1971 ]
1972 },
1973 {
1974 "name" : "FabricIngress.acl.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07001975 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001976 "runtime_data" : [],
1977 "primitives" : [
1978 {
1979 "op" : "assign",
1980 "parameters" : [
1981 {
1982 "type" : "field",
1983 "value" : ["standard_metadata", "egress_spec"]
1984 },
1985 {
1986 "type" : "hexstr",
1987 "value" : "0x00ff"
1988 }
1989 ],
1990 "source_info" : {
1991 "filename" : "include/control/acl.p4",
1992 "line" : 39,
1993 "column" : 8,
1994 "source_fragment" : "standard_metadata.egress_spec = 255"
1995 }
1996 },
1997 {
1998 "op" : "assign",
1999 "parameters" : [
2000 {
2001 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002002 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002003 },
2004 {
2005 "type" : "expression",
2006 "value" : {
2007 "type" : "expression",
2008 "value" : {
2009 "op" : "b2d",
2010 "left" : null,
2011 "right" : {
2012 "type" : "bool",
2013 "value" : true
2014 }
2015 }
2016 }
2017 }
2018 ],
2019 "source_info" : {
2020 "filename" : "include/control/acl.p4",
2021 "line" : 40,
2022 "column" : 34,
2023 "source_fragment" : "= true; ..."
2024 }
2025 }
2026 ]
2027 },
2028 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002029 "name" : "FabricIngress.acl.set_clone_session_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002030 "id" : 26,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002031 "runtime_data" : [
2032 {
2033 "name" : "clone_id",
2034 "bitwidth" : 32
2035 }
2036 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002037 "primitives" : [
2038 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002039 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002040 "parameters" : [
2041 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002042 "type" : "runtime_data",
2043 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002044 },
2045 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002046 "type" : "hexstr",
2047 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002048 }
2049 ],
2050 "source_info" : {
2051 "filename" : "include/control/acl.p4",
2052 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002053 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07002054 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002055 }
2056 }
2057 ]
2058 },
2059 {
2060 "name" : "FabricIngress.acl.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07002061 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002062 "runtime_data" : [],
2063 "primitives" : [
2064 {
2065 "op" : "mark_to_drop",
2066 "parameters" : [
2067 {
2068 "type" : "header",
2069 "value" : "standard_metadata"
2070 }
2071 ],
2072 "source_info" : {
2073 "filename" : "include/control/acl.p4",
2074 "line" : 51,
2075 "column" : 8,
2076 "source_fragment" : "mark_to_drop(standard_metadata)"
2077 }
2078 },
2079 {
2080 "op" : "assign",
2081 "parameters" : [
2082 {
2083 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002084 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002085 },
2086 {
2087 "type" : "expression",
2088 "value" : {
2089 "type" : "expression",
2090 "value" : {
2091 "op" : "b2d",
2092 "left" : null,
2093 "right" : {
2094 "type" : "bool",
2095 "value" : true
2096 }
2097 }
2098 }
2099 }
2100 ],
2101 "source_info" : {
2102 "filename" : "include/control/acl.p4",
2103 "line" : 52,
2104 "column" : 34,
2105 "source_fragment" : "= true; ..."
2106 }
2107 }
2108 ]
2109 },
2110 {
2111 "name" : "FabricIngress.acl.nop_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07002112 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002113 "runtime_data" : [],
2114 "primitives" : []
2115 },
2116 {
2117 "name" : "FabricIngress.next.set_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002118 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002119 "runtime_data" : [
2120 {
2121 "name" : "vlan_id",
2122 "bitwidth" : 12
2123 }
2124 ],
2125 "primitives" : [
2126 {
2127 "op" : "assign",
2128 "parameters" : [
2129 {
2130 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002131 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002132 },
2133 {
2134 "type" : "runtime_data",
2135 "value" : 0
2136 }
2137 ],
2138 "source_info" : {
2139 "filename" : "include/control/next.p4",
2140 "line" : 70,
2141 "column" : 32,
2142 "source_fragment" : "= vlan_id; ..."
2143 }
2144 }
2145 ]
2146 },
2147 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002148 "name" : "FabricIngress.next.set_double_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002149 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002150 "runtime_data" : [
2151 {
2152 "name" : "outer_vlan_id",
2153 "bitwidth" : 12
2154 },
2155 {
2156 "name" : "inner_vlan_id",
2157 "bitwidth" : 12
2158 }
2159 ],
2160 "primitives" : [
2161 {
2162 "op" : "assign",
2163 "parameters" : [
2164 {
2165 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002166 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002167 },
2168 {
2169 "type" : "runtime_data",
2170 "value" : 0
2171 }
2172 ],
2173 "source_info" : {
2174 "filename" : "include/control/next.p4",
2175 "line" : 70,
2176 "column" : 32,
2177 "source_fragment" : "= vlan_id; ..."
2178 }
2179 },
2180 {
2181 "op" : "assign",
2182 "parameters" : [
2183 {
2184 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002185 "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002186 },
2187 {
2188 "type" : "expression",
2189 "value" : {
2190 "type" : "expression",
2191 "value" : {
2192 "op" : "b2d",
2193 "left" : null,
2194 "right" : {
2195 "type" : "bool",
2196 "value" : true
2197 }
2198 }
2199 }
2200 }
2201 ],
2202 "source_info" : {
2203 "filename" : "include/control/next.p4",
2204 "line" : 77,
2205 "column" : 41,
2206 "source_fragment" : "= true; ..."
2207 }
2208 },
2209 {
2210 "op" : "assign",
2211 "parameters" : [
2212 {
2213 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002214 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002215 },
2216 {
2217 "type" : "runtime_data",
2218 "value" : 1
2219 }
2220 ],
2221 "source_info" : {
2222 "filename" : "include/control/next.p4",
2223 "line" : 78,
2224 "column" : 38,
2225 "source_fragment" : "= inner_vlan_id; ..."
2226 }
Daniele Morob3d199b2019-11-01 14:01:46 -07002227 },
2228 {
2229 "op" : "assign",
2230 "parameters" : [
2231 {
2232 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002233 "value" : ["scalars", "fabric_metadata_t._bng_s_tag25"]
Daniele Morob3d199b2019-11-01 14:01:46 -07002234 },
2235 {
2236 "type" : "runtime_data",
2237 "value" : 0
2238 }
2239 ],
2240 "source_info" : {
2241 "filename" : "include/control/next.p4",
2242 "line" : 80,
2243 "column" : 34,
2244 "source_fragment" : "= outer_vlan_id; ..."
2245 }
2246 },
2247 {
2248 "op" : "assign",
2249 "parameters" : [
2250 {
2251 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002252 "value" : ["scalars", "fabric_metadata_t._bng_c_tag26"]
Daniele Morob3d199b2019-11-01 14:01:46 -07002253 },
2254 {
2255 "type" : "runtime_data",
2256 "value" : 1
2257 }
2258 ],
2259 "source_info" : {
2260 "filename" : "include/control/next.p4",
2261 "line" : 81,
2262 "column" : 34,
2263 "source_fragment" : "= inner_vlan_id; ..."
2264 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07002265 }
2266 ]
2267 },
2268 {
2269 "name" : "FabricIngress.next.output_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002270 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002271 "runtime_data" : [
2272 {
2273 "name" : "port_num",
2274 "bitwidth" : 9
2275 }
2276 ],
2277 "primitives" : [
2278 {
2279 "op" : "assign",
2280 "parameters" : [
2281 {
2282 "type" : "field",
2283 "value" : ["standard_metadata", "egress_spec"]
2284 },
2285 {
2286 "type" : "runtime_data",
2287 "value" : 0
2288 }
2289 ],
2290 "source_info" : {
2291 "filename" : "include/control/next.p4",
2292 "line" : 31,
2293 "column" : 5,
2294 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2295 }
2296 }
2297 ]
2298 },
2299 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002300 "name" : "FabricIngress.next.routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002301 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002302 "runtime_data" : [
2303 {
2304 "name" : "port_num",
2305 "bitwidth" : 9
2306 },
2307 {
2308 "name" : "smac",
2309 "bitwidth" : 48
2310 },
2311 {
2312 "name" : "dmac",
2313 "bitwidth" : 48
2314 }
2315 ],
2316 "primitives" : [
2317 {
2318 "op" : "assign",
2319 "parameters" : [
2320 {
2321 "type" : "field",
2322 "value" : ["ethernet", "src_addr"]
2323 },
2324 {
2325 "type" : "runtime_data",
2326 "value" : 1
2327 }
2328 ],
2329 "source_info" : {
2330 "filename" : "include/control/next.p4",
2331 "line" : 36,
2332 "column" : 8,
2333 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2334 }
2335 },
2336 {
2337 "op" : "assign",
2338 "parameters" : [
2339 {
2340 "type" : "field",
2341 "value" : ["ethernet", "dst_addr"]
2342 },
2343 {
2344 "type" : "runtime_data",
2345 "value" : 2
2346 }
2347 ],
2348 "source_info" : {
2349 "filename" : "include/control/next.p4",
2350 "line" : 41,
2351 "column" : 8,
2352 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2353 }
2354 },
2355 {
2356 "op" : "assign",
2357 "parameters" : [
2358 {
2359 "type" : "field",
2360 "value" : ["standard_metadata", "egress_spec"]
2361 },
2362 {
2363 "type" : "runtime_data",
2364 "value" : 0
2365 }
2366 ],
2367 "source_info" : {
2368 "filename" : "include/control/next.p4",
2369 "line" : 31,
2370 "column" : 5,
2371 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2372 }
2373 }
2374 ]
2375 },
2376 {
2377 "name" : "FabricIngress.next.mpls_routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002378 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002379 "runtime_data" : [
2380 {
2381 "name" : "port_num",
2382 "bitwidth" : 9
2383 },
2384 {
2385 "name" : "smac",
2386 "bitwidth" : 48
2387 },
2388 {
2389 "name" : "dmac",
2390 "bitwidth" : 48
2391 },
2392 {
2393 "name" : "label",
2394 "bitwidth" : 20
2395 }
2396 ],
2397 "primitives" : [
2398 {
2399 "op" : "assign",
2400 "parameters" : [
2401 {
2402 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002403 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002404 },
2405 {
2406 "type" : "runtime_data",
2407 "value" : 3
2408 }
2409 ],
2410 "source_info" : {
2411 "filename" : "include/control/next.p4",
2412 "line" : 46,
2413 "column" : 35,
2414 "source_fragment" : "= label; ..."
2415 }
2416 },
2417 {
2418 "op" : "assign",
2419 "parameters" : [
2420 {
2421 "type" : "field",
2422 "value" : ["ethernet", "src_addr"]
2423 },
2424 {
2425 "type" : "runtime_data",
2426 "value" : 1
2427 }
2428 ],
2429 "source_info" : {
2430 "filename" : "include/control/next.p4",
2431 "line" : 36,
2432 "column" : 8,
2433 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2434 }
2435 },
2436 {
2437 "op" : "assign",
2438 "parameters" : [
2439 {
2440 "type" : "field",
2441 "value" : ["ethernet", "dst_addr"]
2442 },
2443 {
2444 "type" : "runtime_data",
2445 "value" : 2
2446 }
2447 ],
2448 "source_info" : {
2449 "filename" : "include/control/next.p4",
2450 "line" : 41,
2451 "column" : 8,
2452 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2453 }
2454 },
2455 {
2456 "op" : "assign",
2457 "parameters" : [
2458 {
2459 "type" : "field",
2460 "value" : ["standard_metadata", "egress_spec"]
2461 },
2462 {
2463 "type" : "runtime_data",
2464 "value" : 0
2465 }
2466 ],
2467 "source_info" : {
2468 "filename" : "include/control/next.p4",
2469 "line" : 31,
2470 "column" : 5,
2471 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2472 }
2473 }
2474 ]
2475 },
2476 {
2477 "name" : "FabricIngress.next.set_mcast_group_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002478 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002479 "runtime_data" : [
2480 {
2481 "name" : "group_id",
2482 "bitwidth" : 16
2483 }
2484 ],
2485 "primitives" : [
2486 {
2487 "op" : "assign",
2488 "parameters" : [
2489 {
2490 "type" : "field",
2491 "value" : ["standard_metadata", "mcast_grp"]
2492 },
2493 {
2494 "type" : "runtime_data",
2495 "value" : 0
2496 }
2497 ],
2498 "source_info" : {
2499 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002500 "line" : 231,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002501 "column" : 8,
2502 "source_fragment" : "standard_metadata.mcast_grp = group_id"
2503 }
2504 },
2505 {
2506 "op" : "assign",
2507 "parameters" : [
2508 {
2509 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002510 "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002511 },
2512 {
2513 "type" : "expression",
2514 "value" : {
2515 "type" : "expression",
2516 "value" : {
2517 "op" : "b2d",
2518 "left" : null,
2519 "right" : {
2520 "type" : "bool",
2521 "value" : true
2522 }
2523 }
2524 }
2525 }
2526 ],
2527 "source_info" : {
2528 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002529 "line" : 232,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002530 "column" : 37,
2531 "source_fragment" : "= true; ..."
2532 }
2533 }
2534 ]
2535 },
2536 {
2537 "name" : "act",
Daniele Moro5a2de712019-09-24 14:34:07 -07002538 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002539 "runtime_data" : [],
2540 "primitives" : [
2541 {
2542 "op" : "assign",
2543 "parameters" : [
2544 {
2545 "type" : "field",
2546 "value" : ["standard_metadata", "egress_spec"]
2547 },
2548 {
2549 "type" : "field",
2550 "value" : ["packet_out", "egress_port"]
2551 }
2552 ],
2553 "source_info" : {
2554 "filename" : "include/control/packetio.p4",
2555 "line" : 25,
2556 "column" : 12,
2557 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
2558 }
2559 },
2560 {
2561 "op" : "remove_header",
2562 "parameters" : [
2563 {
2564 "type" : "header",
2565 "value" : "packet_out"
2566 }
2567 ],
2568 "source_info" : {
2569 "filename" : "include/control/packetio.p4",
2570 "line" : 26,
2571 "column" : 12,
2572 "source_fragment" : "hdr.packet_out.setInvalid()"
2573 }
2574 },
2575 {
2576 "op" : "assign",
2577 "parameters" : [
2578 {
2579 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002580 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002581 },
2582 {
2583 "type" : "expression",
2584 "value" : {
2585 "type" : "expression",
2586 "value" : {
2587 "op" : "b2d",
2588 "left" : null,
2589 "right" : {
2590 "type" : "bool",
2591 "value" : true
2592 }
2593 }
2594 }
2595 }
2596 ],
2597 "source_info" : {
2598 "filename" : "include/control/packetio.p4",
2599 "line" : 27,
2600 "column" : 53,
2601 "source_fragment" : "= true; ..."
2602 }
2603 },
2604 {
2605 "op" : "exit",
2606 "parameters" : [],
2607 "source_info" : {
2608 "filename" : "include/control/packetio.p4",
2609 "line" : 29,
2610 "column" : 12,
2611 "source_fragment" : "exit"
2612 }
2613 }
2614 ]
2615 },
2616 {
2617 "name" : "act_0",
Daniele Moro5a2de712019-09-24 14:34:07 -07002618 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002619 "runtime_data" : [],
2620 "primitives" : [
2621 {
2622 "op" : "assign",
2623 "parameters" : [
2624 {
2625 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002626 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002627 },
2628 {
2629 "type" : "field",
2630 "value" : ["vlan_tag", "vlan_id"]
2631 }
2632 ],
2633 "source_info" : {
2634 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002635 "line" : 111,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002636 "column" : 36,
2637 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
2638 }
2639 },
2640 {
2641 "op" : "assign",
2642 "parameters" : [
2643 {
2644 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002645 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002646 },
2647 {
2648 "type" : "field",
2649 "value" : ["vlan_tag", "pri"]
2650 }
2651 ],
2652 "source_info" : {
2653 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002654 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002655 "column" : 37,
2656 "source_fragment" : "= hdr.vlan_tag.pri; ..."
2657 }
2658 },
2659 {
2660 "op" : "assign",
2661 "parameters" : [
2662 {
2663 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002664 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002665 },
2666 {
2667 "type" : "field",
2668 "value" : ["vlan_tag", "cfi"]
2669 }
2670 ],
2671 "source_info" : {
2672 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002673 "line" : 113,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002674 "column" : 37,
2675 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
2676 }
2677 }
2678 ]
2679 },
2680 {
2681 "name" : "act_1",
Daniele Moro5a2de712019-09-24 14:34:07 -07002682 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002683 "runtime_data" : [],
2684 "primitives" : [
2685 {
2686 "op" : "assign",
2687 "parameters" : [
2688 {
2689 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002690 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002691 },
2692 {
2693 "type" : "field",
2694 "value" : ["inner_vlan_tag", "vlan_id"]
2695 }
2696 ],
2697 "source_info" : {
2698 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002699 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002700 "column" : 42,
2701 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
2702 }
2703 },
2704 {
2705 "op" : "assign",
2706 "parameters" : [
2707 {
2708 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002709 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002710 },
2711 {
2712 "type" : "field",
2713 "value" : ["inner_vlan_tag", "pri"]
2714 }
2715 ],
2716 "source_info" : {
2717 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002718 "line" : 118,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002719 "column" : 43,
2720 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
2721 }
2722 },
2723 {
2724 "op" : "assign",
2725 "parameters" : [
2726 {
2727 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002728 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002729 },
2730 {
2731 "type" : "field",
2732 "value" : ["inner_vlan_tag", "cfi"]
2733 }
2734 ],
2735 "source_info" : {
2736 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002737 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002738 "column" : 43,
2739 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
2740 }
2741 }
2742 ]
2743 },
2744 {
2745 "name" : "act_2",
Daniele Moro5a2de712019-09-24 14:34:07 -07002746 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002747 "runtime_data" : [],
2748 "primitives" : [
2749 {
2750 "op" : "assign",
2751 "parameters" : [
2752 {
2753 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002754 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002755 },
2756 {
2757 "type" : "hexstr",
2758 "value" : "0x41"
2759 }
2760 ],
2761 "source_info" : {
2762 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002763 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002764 "column" : 37,
2765 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
2766 }
2767 }
2768 ]
2769 },
2770 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002771 "name" : "act_3",
Daniele Moro5a2de712019-09-24 14:34:07 -07002772 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002773 "runtime_data" : [],
2774 "primitives" : [
2775 {
2776 "op" : "assign",
2777 "parameters" : [
2778 {
2779 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +01002780 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002781 },
2782 {
2783 "type" : "expression",
2784 "value" : {
2785 "type" : "expression",
2786 "value" : {
2787 "op" : "&",
2788 "left" : {
2789 "type" : "field",
2790 "value" : ["standard_metadata", "egress_spec"]
2791 },
2792 "right" : {
2793 "type" : "hexstr",
2794 "value" : "0xffffffff"
2795 }
2796 }
2797 }
2798 }
2799 ],
2800 "source_info" : {
2801 "filename" : "include/control/port_counter.p4",
2802 "line" : 31,
2803 "column" : 38,
2804 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
2805 }
2806 },
2807 {
2808 "op" : "count",
2809 "parameters" : [
2810 {
2811 "type" : "counter_array",
2812 "value" : "FabricIngress.port_counters_control.egress_port_counter"
2813 },
2814 {
2815 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +01002816 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002817 }
2818 ],
2819 "source_info" : {
2820 "filename" : "include/control/port_counter.p4",
2821 "line" : 31,
2822 "column" : 12,
2823 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
2824 }
2825 }
2826 ]
2827 },
2828 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002829 "name" : "act_4",
2830 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002831 "runtime_data" : [],
2832 "primitives" : [
2833 {
2834 "op" : "assign",
2835 "parameters" : [
2836 {
2837 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002838 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002839 },
2840 {
2841 "type" : "expression",
2842 "value" : {
2843 "type" : "expression",
2844 "value" : {
2845 "op" : "&",
2846 "left" : {
2847 "type" : "field",
2848 "value" : ["standard_metadata", "ingress_port"]
2849 },
2850 "right" : {
2851 "type" : "hexstr",
2852 "value" : "0xffffffff"
2853 }
2854 }
2855 }
2856 }
2857 ],
2858 "source_info" : {
2859 "filename" : "include/control/port_counter.p4",
2860 "line" : 34,
2861 "column" : 39,
2862 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
2863 }
2864 },
2865 {
2866 "op" : "count",
2867 "parameters" : [
2868 {
2869 "type" : "counter_array",
2870 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
2871 },
2872 {
2873 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002874 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002875 }
2876 ],
2877 "source_info" : {
2878 "filename" : "include/control/port_counter.p4",
2879 "line" : 34,
2880 "column" : 12,
2881 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
2882 }
2883 }
2884 ]
2885 },
2886 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002887 "name" : "act_5",
2888 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002889 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002890 "primitives" : [
2891 {
2892 "op" : "assign",
2893 "parameters" : [
2894 {
2895 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002896 "value" : ["scalars", "bng_ingress_upstream_tmp"]
2897 },
2898 {
2899 "type" : "expression",
2900 "value" : {
2901 "type" : "expression",
2902 "value" : {
2903 "op" : "b2d",
2904 "left" : null,
2905 "right" : {
2906 "type" : "bool",
2907 "value" : true
2908 }
2909 }
2910 }
2911 }
2912 ]
2913 }
2914 ]
2915 },
2916 {
Daniele Morob3d199b2019-11-01 14:01:46 -07002917 "name" : "act_6",
2918 "id" : 42,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002919 "runtime_data" : [],
2920 "primitives" : [
2921 {
2922 "op" : "assign",
2923 "parameters" : [
2924 {
2925 "type" : "field",
2926 "value" : ["scalars", "bng_ingress_upstream_tmp"]
2927 },
2928 {
2929 "type" : "expression",
2930 "value" : {
2931 "type" : "expression",
2932 "value" : {
2933 "op" : "b2d",
2934 "left" : null,
2935 "right" : {
2936 "type" : "bool",
2937 "value" : false
2938 }
2939 }
2940 }
2941 }
2942 ]
2943 }
2944 ]
2945 },
2946 {
Daniele Morob3d199b2019-11-01 14:01:46 -07002947 "name" : "act_7",
2948 "id" : 43,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002949 "runtime_data" : [],
2950 "primitives" : [
2951 {
2952 "op" : "assign",
2953 "parameters" : [
2954 {
2955 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002956 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002957 },
2958 {
2959 "type" : "hexstr",
2960 "value" : "0x01"
2961 }
2962 ],
2963 "source_info" : {
2964 "filename" : "include/control/../header.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002965 "line" : 162,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002966 "column" : 37,
2967 "source_fragment" : "2w0x1; ..."
2968 }
2969 },
2970 {
2971 "op" : "assign",
2972 "parameters" : [
2973 {
2974 "type" : "field",
2975 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
2976 },
2977 {
2978 "type" : "expression",
2979 "value" : {
2980 "type" : "expression",
2981 "value" : {
2982 "op" : "b2d",
2983 "left" : null,
2984 "right" : {
2985 "type" : "bool",
2986 "value" : false
2987 }
2988 }
2989 }
2990 }
2991 ]
2992 }
2993 ]
2994 },
2995 {
Daniele Morob3d199b2019-11-01 14:01:46 -07002996 "name" : "act_8",
2997 "id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002998 "runtime_data" : [],
2999 "primitives" : [
3000 {
3001 "op" : "assign",
3002 "parameters" : [
3003 {
3004 "type" : "field",
3005 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
3006 },
3007 {
3008 "type" : "expression",
3009 "value" : {
3010 "type" : "expression",
3011 "value" : {
3012 "op" : "b2d",
3013 "left" : null,
3014 "right" : {
3015 "type" : "bool",
3016 "value" : true
3017 }
3018 }
3019 }
3020 }
3021 ],
3022 "source_info" : {
3023 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003024 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003025 "column" : 12,
3026 "source_fragment" : "return"
3027 }
3028 }
3029 ]
3030 },
3031 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003032 "name" : "act_9",
3033 "id" : 45,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003034 "runtime_data" : [],
3035 "primitives" : [
3036 {
3037 "op" : "count",
3038 "parameters" : [
3039 {
3040 "type" : "counter_array",
3041 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
3042 },
3043 {
3044 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003045 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003046 }
3047 ],
3048 "source_info" : {
3049 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003050 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003051 "column" : 20,
3052 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
3053 }
3054 }
3055 ]
3056 },
3057 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003058 "name" : "act_10",
3059 "id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003060 "runtime_data" : [],
3061 "primitives" : [
3062 {
3063 "op" : "assign",
3064 "parameters" : [
3065 {
3066 "type" : "field",
3067 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3068 },
3069 {
3070 "type" : "expression",
3071 "value" : {
3072 "type" : "expression",
3073 "value" : {
3074 "op" : "b2d",
3075 "left" : null,
3076 "right" : {
3077 "type" : "bool",
3078 "value" : true
3079 }
3080 }
3081 }
3082 }
3083 ]
3084 }
3085 ]
3086 },
3087 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003088 "name" : "act_11",
3089 "id" : 47,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003090 "runtime_data" : [],
3091 "primitives" : [
3092 {
3093 "op" : "assign",
3094 "parameters" : [
3095 {
3096 "type" : "field",
3097 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3098 },
3099 {
3100 "type" : "expression",
3101 "value" : {
3102 "type" : "expression",
3103 "value" : {
3104 "op" : "b2d",
3105 "left" : null,
3106 "right" : {
3107 "type" : "bool",
3108 "value" : false
3109 }
3110 }
3111 }
3112 }
3113 ]
3114 }
3115 ]
3116 },
3117 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003118 "name" : "act_12",
3119 "id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003120 "runtime_data" : [],
3121 "primitives" : [
3122 {
3123 "op" : "execute_meter",
3124 "parameters" : [
3125 {
3126 "type" : "meter_array",
3127 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
3128 },
3129 {
3130 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003131 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003132 },
3133 {
3134 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003135 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003136 }
3137 ],
3138 "source_info" : {
3139 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003140 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003141 "column" : 24,
3142 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3143 }
3144 }
3145 ]
3146 },
3147 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003148 "name" : "act_13",
3149 "id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003150 "runtime_data" : [],
3151 "primitives" : [
3152 {
3153 "op" : "execute_meter",
3154 "parameters" : [
3155 {
3156 "type" : "meter_array",
3157 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
3158 },
3159 {
3160 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003161 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003162 },
3163 {
3164 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003165 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003166 }
3167 ],
3168 "source_info" : {
3169 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003170 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003171 "column" : 24,
3172 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3173 }
3174 }
3175 ]
3176 },
3177 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003178 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
pierventre48e78822020-12-15 17:34:54 +01003179 "id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003180 "runtime_data" : [],
3181 "primitives" : [
3182 {
3183 "op" : "assign",
3184 "parameters" : [
3185 {
3186 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003187 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003188 },
3189 {
3190 "type" : "hexstr",
3191 "value" : "0x8864"
3192 }
3193 ],
3194 "source_info" : {
3195 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003196 "line" : 123,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003197 "column" : 33,
3198 "source_fragment" : "0x8864; ..."
3199 }
3200 },
3201 {
3202 "op" : "add_header",
3203 "parameters" : [
3204 {
3205 "type" : "header",
3206 "value" : "pppoe"
3207 }
3208 ],
3209 "source_info" : {
3210 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003211 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003212 "column" : 8,
3213 "source_fragment" : "hdr.pppoe.setValid()"
3214 }
3215 },
3216 {
3217 "op" : "assign",
3218 "parameters" : [
3219 {
3220 "type" : "field",
3221 "value" : ["pppoe", "version"]
3222 },
3223 {
3224 "type" : "hexstr",
3225 "value" : "0x01"
3226 }
3227 ],
3228 "source_info" : {
3229 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003230 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003231 "column" : 8,
3232 "source_fragment" : "hdr.pppoe.version = 4w1"
3233 }
3234 },
3235 {
3236 "op" : "assign",
3237 "parameters" : [
3238 {
3239 "type" : "field",
3240 "value" : ["pppoe", "type_id"]
3241 },
3242 {
3243 "type" : "hexstr",
3244 "value" : "0x01"
3245 }
3246 ],
3247 "source_info" : {
3248 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003249 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003250 "column" : 8,
3251 "source_fragment" : "hdr.pppoe.type_id = 4w1"
3252 }
3253 },
3254 {
3255 "op" : "assign",
3256 "parameters" : [
3257 {
3258 "type" : "field",
3259 "value" : ["pppoe", "code"]
3260 },
3261 {
3262 "type" : "hexstr",
3263 "value" : "0x00"
3264 }
3265 ],
3266 "source_info" : {
3267 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003268 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003269 "column" : 8,
3270 "source_fragment" : "hdr.pppoe.code = 8w0"
3271 }
3272 },
3273 {
3274 "op" : "assign",
3275 "parameters" : [
3276 {
3277 "type" : "field",
3278 "value" : ["pppoe", "session_id"]
3279 },
3280 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003281 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003282 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003283 }
3284 ],
3285 "source_info" : {
3286 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003287 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003288 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003289 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003290 }
3291 },
3292 {
3293 "op" : "count",
3294 "parameters" : [
3295 {
3296 "type" : "counter_array",
3297 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
3298 },
3299 {
3300 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003301 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003302 }
3303 ],
3304 "source_info" : {
3305 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003306 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003307 "column" : 8,
3308 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
3309 }
3310 },
3311 {
3312 "op" : "assign",
3313 "parameters" : [
3314 {
3315 "type" : "field",
3316 "value" : ["pppoe", "length"]
3317 },
3318 {
3319 "type" : "expression",
3320 "value" : {
3321 "type" : "expression",
3322 "value" : {
3323 "op" : "&",
3324 "left" : {
3325 "type" : "expression",
3326 "value" : {
3327 "op" : "+",
3328 "left" : {
3329 "type" : "field",
3330 "value" : ["ipv4", "total_len"]
3331 },
3332 "right" : {
3333 "type" : "hexstr",
3334 "value" : "0x0002"
3335 }
3336 }
3337 },
3338 "right" : {
3339 "type" : "hexstr",
3340 "value" : "0xffff"
3341 }
3342 }
3343 }
3344 }
3345 ],
3346 "source_info" : {
3347 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003348 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003349 "column" : 8,
3350 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
3351 }
3352 },
3353 {
3354 "op" : "assign",
3355 "parameters" : [
3356 {
3357 "type" : "field",
3358 "value" : ["pppoe", "protocol"]
3359 },
3360 {
3361 "type" : "hexstr",
3362 "value" : "0x0021"
3363 }
3364 ],
3365 "source_info" : {
3366 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003367 "line" : 125,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003368 "column" : 35,
3369 "source_fragment" : "0x0021; ..."
3370 }
3371 }
3372 ]
3373 },
3374 {
3375 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
pierventre48e78822020-12-15 17:34:54 +01003376 "id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003377 "runtime_data" : [],
3378 "primitives" : [
3379 {
3380 "op" : "remove_header",
3381 "parameters" : [
3382 {
3383 "type" : "header",
3384 "value" : "mpls"
3385 }
3386 ],
3387 "source_info" : {
3388 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003389 "line" : 270,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003390 "column" : 8,
3391 "source_fragment" : "hdr.mpls.setInvalid()"
3392 }
3393 },
3394 {
3395 "op" : "assign",
3396 "parameters" : [
3397 {
3398 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003399 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003400 },
3401 {
3402 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003403 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003404 }
3405 ],
3406 "source_info" : {
3407 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003408 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07003409 "column" : 8,
3410 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003411 }
3412 }
3413 ]
3414 },
3415 {
3416 "name" : "FabricEgress.egress_next.set_mpls",
pierventre48e78822020-12-15 17:34:54 +01003417 "id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003418 "runtime_data" : [],
3419 "primitives" : [
3420 {
3421 "op" : "add_header",
3422 "parameters" : [
3423 {
3424 "type" : "header",
3425 "value" : "mpls"
3426 }
3427 ],
3428 "source_info" : {
3429 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003430 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003431 "column" : 8,
3432 "source_fragment" : "hdr.mpls.setValid()"
3433 }
3434 },
3435 {
3436 "op" : "assign",
3437 "parameters" : [
3438 {
3439 "type" : "field",
3440 "value" : ["mpls", "label"]
3441 },
3442 {
3443 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003444 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003445 }
3446 ],
3447 "source_info" : {
3448 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003449 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003450 "column" : 8,
3451 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
3452 }
3453 },
3454 {
3455 "op" : "assign",
3456 "parameters" : [
3457 {
3458 "type" : "field",
3459 "value" : ["mpls", "tc"]
3460 },
3461 {
3462 "type" : "hexstr",
3463 "value" : "0x00"
3464 }
3465 ],
3466 "source_info" : {
3467 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003468 "line" : 279,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003469 "column" : 8,
3470 "source_fragment" : "hdr.mpls.tc = 3w0"
3471 }
3472 },
3473 {
3474 "op" : "assign",
3475 "parameters" : [
3476 {
3477 "type" : "field",
3478 "value" : ["mpls", "bos"]
3479 },
3480 {
3481 "type" : "hexstr",
3482 "value" : "0x01"
3483 }
3484 ],
3485 "source_info" : {
3486 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003487 "line" : 280,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003488 "column" : 8,
3489 "source_fragment" : "hdr.mpls.bos = 1w1"
3490 }
3491 },
3492 {
3493 "op" : "assign",
3494 "parameters" : [
3495 {
3496 "type" : "field",
3497 "value" : ["mpls", "ttl"]
3498 },
3499 {
3500 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003501 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003502 }
3503 ],
3504 "source_info" : {
3505 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003506 "line" : 281,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003507 "column" : 8,
3508 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
3509 }
3510 },
3511 {
3512 "op" : "assign",
3513 "parameters" : [
3514 {
3515 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003516 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003517 },
3518 {
3519 "type" : "hexstr",
3520 "value" : "0x8847"
3521 }
3522 ],
3523 "source_info" : {
3524 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003525 "line" : 117,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003526 "column" : 31,
3527 "source_fragment" : "0x8847; ..."
3528 }
3529 }
3530 ]
3531 },
3532 {
pierventre48e78822020-12-15 17:34:54 +01003533 "name" : "FabricEgress.egress_next.push_outer_vlan",
3534 "id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003535 "runtime_data" : [],
3536 "primitives" : [
3537 {
3538 "op" : "add_header",
3539 "parameters" : [
3540 {
3541 "type" : "header",
3542 "value" : "vlan_tag"
3543 }
3544 ],
3545 "source_info" : {
3546 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003547 "line" : 289,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003548 "column" : 8,
3549 "source_fragment" : "hdr.vlan_tag.setValid()"
3550 }
3551 },
3552 {
3553 "op" : "assign",
3554 "parameters" : [
3555 {
3556 "type" : "field",
3557 "value" : ["vlan_tag", "cfi"]
3558 },
3559 {
3560 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003561 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003562 }
3563 ],
3564 "source_info" : {
3565 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003566 "line" : 290,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003567 "column" : 8,
3568 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3569 }
3570 },
3571 {
3572 "op" : "assign",
3573 "parameters" : [
3574 {
3575 "type" : "field",
3576 "value" : ["vlan_tag", "pri"]
3577 },
3578 {
3579 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003580 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003581 }
3582 ],
3583 "source_info" : {
3584 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003585 "line" : 291,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003586 "column" : 8,
3587 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3588 }
3589 },
3590 {
3591 "op" : "assign",
3592 "parameters" : [
3593 {
3594 "type" : "field",
3595 "value" : ["vlan_tag", "eth_type"]
3596 },
3597 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003598 "type" : "hexstr",
3599 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003600 }
3601 ],
3602 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003603 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003604 "line" : 116,
Daniele Moro5a2de712019-09-24 14:34:07 -07003605 "column" : 31,
3606 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003607 }
3608 },
3609 {
3610 "op" : "assign",
3611 "parameters" : [
3612 {
3613 "type" : "field",
3614 "value" : ["vlan_tag", "vlan_id"]
3615 },
3616 {
3617 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003618 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003619 }
3620 ],
3621 "source_info" : {
3622 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003623 "line" : 293,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003624 "column" : 8,
3625 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3626 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07003627 }
3628 ]
3629 },
3630 {
3631 "name" : "FabricEgress.egress_next.push_inner_vlan",
pierventre48e78822020-12-15 17:34:54 +01003632 "id" : 54,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003633 "runtime_data" : [],
3634 "primitives" : [
3635 {
3636 "op" : "add_header",
3637 "parameters" : [
3638 {
3639 "type" : "header",
3640 "value" : "inner_vlan_tag"
3641 }
3642 ],
3643 "source_info" : {
3644 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003645 "line" : 300,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003646 "column" : 8,
3647 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
3648 }
3649 },
3650 {
3651 "op" : "assign",
3652 "parameters" : [
3653 {
3654 "type" : "field",
3655 "value" : ["inner_vlan_tag", "cfi"]
3656 },
3657 {
3658 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003659 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003660 }
3661 ],
3662 "source_info" : {
3663 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003664 "line" : 301,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003665 "column" : 8,
3666 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
3667 }
3668 },
3669 {
3670 "op" : "assign",
3671 "parameters" : [
3672 {
3673 "type" : "field",
3674 "value" : ["inner_vlan_tag", "pri"]
3675 },
3676 {
3677 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003678 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003679 }
3680 ],
3681 "source_info" : {
3682 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003683 "line" : 302,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003684 "column" : 8,
3685 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
3686 }
3687 },
3688 {
3689 "op" : "assign",
3690 "parameters" : [
3691 {
3692 "type" : "field",
3693 "value" : ["inner_vlan_tag", "vlan_id"]
3694 },
3695 {
3696 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003697 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
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" : 303,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003703 "column" : 8,
3704 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
3705 }
3706 },
3707 {
3708 "op" : "assign",
3709 "parameters" : [
3710 {
3711 "type" : "field",
3712 "value" : ["inner_vlan_tag", "eth_type"]
3713 },
3714 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003715 "type" : "hexstr",
3716 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003717 }
3718 ],
3719 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003720 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003721 "line" : 116,
Daniele Moro5a2de712019-09-24 14:34:07 -07003722 "column" : 31,
3723 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003724 }
3725 },
3726 {
3727 "op" : "assign",
3728 "parameters" : [
3729 {
3730 "type" : "field",
3731 "value" : ["vlan_tag", "eth_type"]
3732 },
3733 {
3734 "type" : "hexstr",
3735 "value" : "0x8100"
3736 }
3737 ],
3738 "source_info" : {
3739 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003740 "line" : 116,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003741 "column" : 31,
3742 "source_fragment" : "0x8100; ..."
3743 }
3744 }
3745 ]
3746 },
3747 {
pierventre48e78822020-12-15 17:34:54 +01003748 "name" : "FabricEgress.egress_next.push_vlan",
3749 "id" : 55,
3750 "runtime_data" : [],
3751 "primitives" : [
3752 {
3753 "op" : "add_header",
3754 "parameters" : [
3755 {
3756 "type" : "header",
3757 "value" : "vlan_tag"
3758 }
3759 ],
3760 "source_info" : {
3761 "filename" : "include/control/next.p4",
3762 "line" : 289,
3763 "column" : 8,
3764 "source_fragment" : "hdr.vlan_tag.setValid()"
3765 }
3766 },
3767 {
3768 "op" : "assign",
3769 "parameters" : [
3770 {
3771 "type" : "field",
3772 "value" : ["vlan_tag", "cfi"]
3773 },
3774 {
3775 "type" : "field",
3776 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
3777 }
3778 ],
3779 "source_info" : {
3780 "filename" : "include/control/next.p4",
3781 "line" : 290,
3782 "column" : 8,
3783 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3784 }
3785 },
3786 {
3787 "op" : "assign",
3788 "parameters" : [
3789 {
3790 "type" : "field",
3791 "value" : ["vlan_tag", "pri"]
3792 },
3793 {
3794 "type" : "field",
3795 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
3796 }
3797 ],
3798 "source_info" : {
3799 "filename" : "include/control/next.p4",
3800 "line" : 291,
3801 "column" : 8,
3802 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3803 }
3804 },
3805 {
3806 "op" : "assign",
3807 "parameters" : [
3808 {
3809 "type" : "field",
3810 "value" : ["vlan_tag", "eth_type"]
3811 },
3812 {
3813 "type" : "hexstr",
3814 "value" : "0x8100"
3815 }
3816 ],
3817 "source_info" : {
3818 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003819 "line" : 116,
pierventre48e78822020-12-15 17:34:54 +01003820 "column" : 31,
3821 "source_fragment" : "0x8100; ..."
3822 }
3823 },
3824 {
3825 "op" : "assign",
3826 "parameters" : [
3827 {
3828 "type" : "field",
3829 "value" : ["vlan_tag", "vlan_id"]
3830 },
3831 {
3832 "type" : "field",
3833 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
3834 }
3835 ],
3836 "source_info" : {
3837 "filename" : "include/control/next.p4",
3838 "line" : 293,
3839 "column" : 8,
3840 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3841 }
3842 }
3843 ]
3844 },
3845 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003846 "name" : "FabricEgress.egress_next.pop_vlan",
pierventre48e78822020-12-15 17:34:54 +01003847 "id" : 56,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003848 "runtime_data" : [],
3849 "primitives" : [
3850 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003851 "op" : "remove_header",
3852 "parameters" : [
3853 {
3854 "type" : "header",
3855 "value" : "vlan_tag"
3856 }
3857 ],
3858 "source_info" : {
3859 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01003860 "line" : 322,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003861 "column" : 8,
3862 "source_fragment" : "hdr.vlan_tag.setInvalid()"
3863 }
3864 }
3865 ]
3866 },
3867 {
pierventre48e78822020-12-15 17:34:54 +01003868 "name" : "FabricEgress.egress_next.drop",
3869 "id" : 57,
3870 "runtime_data" : [],
3871 "primitives" : [
3872 {
3873 "op" : "mark_to_drop",
3874 "parameters" : [
3875 {
3876 "type" : "header",
3877 "value" : "standard_metadata"
3878 }
3879 ],
3880 "source_info" : {
3881 "filename" : "include/control/next.p4",
3882 "line" : 327,
3883 "column" : 8,
3884 "source_fragment" : "mark_to_drop(standard_metadata)"
3885 }
3886 }
3887 ]
3888 },
3889 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003890 "name" : "act_14",
3891 "id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003892 "runtime_data" : [],
3893 "primitives" : [
3894 {
3895 "op" : "exit",
3896 "parameters" : [],
3897 "source_info" : {
3898 "filename" : "include/control/packetio.p4",
3899 "line" : 41,
3900 "column" : 12,
3901 "source_fragment" : "exit"
3902 }
3903 }
3904 ]
3905 },
3906 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003907 "name" : "act_15",
3908 "id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003909 "runtime_data" : [],
3910 "primitives" : [
3911 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003912 "op" : "add_header",
3913 "parameters" : [
3914 {
3915 "type" : "header",
3916 "value" : "packet_in"
3917 }
3918 ],
3919 "source_info" : {
3920 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003921 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003922 "column" : 12,
3923 "source_fragment" : "hdr.packet_in.setValid()"
3924 }
3925 },
3926 {
3927 "op" : "assign",
3928 "parameters" : [
3929 {
3930 "type" : "field",
3931 "value" : ["packet_in", "ingress_port"]
3932 },
3933 {
3934 "type" : "field",
3935 "value" : ["standard_metadata", "ingress_port"]
3936 }
3937 ],
3938 "source_info" : {
3939 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003940 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003941 "column" : 12,
3942 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
3943 }
3944 },
3945 {
3946 "op" : "exit",
3947 "parameters" : [],
3948 "source_info" : {
3949 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003950 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003951 "column" : 12,
3952 "source_fragment" : "exit"
3953 }
3954 }
3955 ]
3956 },
3957 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003958 "name" : "act_16",
3959 "id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003960 "runtime_data" : [],
3961 "primitives" : [
3962 {
3963 "op" : "mark_to_drop",
3964 "parameters" : [
3965 {
3966 "type" : "header",
3967 "value" : "standard_metadata"
3968 }
3969 ],
3970 "source_info" : {
3971 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01003972 "line" : 349,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003973 "column" : 12,
3974 "source_fragment" : "mark_to_drop(standard_metadata)"
3975 }
3976 }
3977 ]
3978 },
3979 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003980 "name" : "act_17",
3981 "id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003982 "runtime_data" : [],
3983 "primitives" : [
3984 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003985 "op" : "remove_header",
3986 "parameters" : [
3987 {
3988 "type" : "header",
3989 "value" : "inner_vlan_tag"
3990 }
3991 ],
3992 "source_info" : {
3993 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01003994 "line" : 365,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003995 "column" : 12,
3996 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
3997 }
3998 }
3999 ]
4000 },
4001 {
pierventre48e78822020-12-15 17:34:54 +01004002 "name" : "act_18",
4003 "id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004004 "runtime_data" : [],
4005 "primitives" : [
4006 {
4007 "op" : "mark_to_drop",
4008 "parameters" : [
4009 {
4010 "type" : "header",
4011 "value" : "standard_metadata"
4012 }
4013 ],
4014 "source_info" : {
4015 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004016 "line" : 376,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004017 "column" : 35,
4018 "source_fragment" : "mark_to_drop(standard_metadata)"
4019 }
4020 }
4021 ]
4022 },
4023 {
pierventre48e78822020-12-15 17:34:54 +01004024 "name" : "act_19",
4025 "id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004026 "runtime_data" : [],
4027 "primitives" : [
4028 {
4029 "op" : "assign",
4030 "parameters" : [
4031 {
4032 "type" : "field",
4033 "value" : ["mpls", "ttl"]
4034 },
4035 {
4036 "type" : "expression",
4037 "value" : {
4038 "type" : "expression",
4039 "value" : {
4040 "op" : "&",
4041 "left" : {
4042 "type" : "expression",
4043 "value" : {
4044 "op" : "+",
4045 "left" : {
4046 "type" : "field",
4047 "value" : ["mpls", "ttl"]
4048 },
4049 "right" : {
4050 "type" : "hexstr",
4051 "value" : "0xff"
4052 }
4053 }
4054 },
4055 "right" : {
4056 "type" : "hexstr",
4057 "value" : "0xff"
4058 }
4059 }
4060 }
4061 }
4062 ],
4063 "source_info" : {
4064 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004065 "line" : 375,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004066 "column" : 12,
4067 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
4068 }
4069 }
4070 ]
4071 },
4072 {
pierventre48e78822020-12-15 17:34:54 +01004073 "name" : "act_20",
4074 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004075 "runtime_data" : [],
4076 "primitives" : [
4077 {
4078 "op" : "mark_to_drop",
4079 "parameters" : [
4080 {
4081 "type" : "header",
4082 "value" : "standard_metadata"
4083 }
4084 ],
4085 "source_info" : {
4086 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004087 "line" : 380,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004088 "column" : 39,
4089 "source_fragment" : "mark_to_drop(standard_metadata)"
4090 }
4091 }
4092 ]
4093 },
4094 {
pierventre48e78822020-12-15 17:34:54 +01004095 "name" : "act_21",
4096 "id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004097 "runtime_data" : [],
4098 "primitives" : [
4099 {
4100 "op" : "assign",
4101 "parameters" : [
4102 {
4103 "type" : "field",
4104 "value" : ["ipv4", "ttl"]
4105 },
4106 {
4107 "type" : "expression",
4108 "value" : {
4109 "type" : "expression",
4110 "value" : {
4111 "op" : "&",
4112 "left" : {
4113 "type" : "expression",
4114 "value" : {
4115 "op" : "+",
4116 "left" : {
4117 "type" : "field",
4118 "value" : ["ipv4", "ttl"]
4119 },
4120 "right" : {
4121 "type" : "hexstr",
4122 "value" : "0xff"
4123 }
4124 }
4125 },
4126 "right" : {
4127 "type" : "hexstr",
4128 "value" : "0xff"
4129 }
4130 }
4131 }
4132 }
4133 ],
4134 "source_info" : {
4135 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01004136 "line" : 379,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004137 "column" : 16,
4138 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4139 }
4140 }
4141 ]
4142 }
4143 ],
4144 "pipelines" : [
4145 {
4146 "name" : "ingress",
4147 "id" : 0,
4148 "source_info" : {
4149 "filename" : "fabric.p4",
4150 "line" : 46,
4151 "column" : 8,
4152 "source_fragment" : "FabricIngress"
4153 },
4154 "init_table" : "node_2",
4155 "tables" : [
4156 {
4157 "name" : "tbl_act",
4158 "id" : 0,
4159 "source_info" : {
4160 "filename" : "include/control/packetio.p4",
4161 "line" : 25,
4162 "column" : 42,
4163 "source_fragment" : "= hdr.packet_out.egress_port; ..."
4164 },
4165 "key" : [],
4166 "match_type" : "exact",
4167 "type" : "simple",
4168 "max_size" : 1024,
4169 "with_counters" : false,
4170 "support_timeout" : false,
4171 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004172 "action_ids" : [35],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004173 "actions" : ["act"],
4174 "base_default_next" : "node_4",
4175 "next_tables" : {
4176 "act" : "node_4"
4177 },
4178 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004179 "action_id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004180 "action_const" : true,
4181 "action_data" : [],
4182 "action_entry_const" : true
4183 }
4184 },
4185 {
4186 "name" : "tbl_act_0",
4187 "id" : 1,
4188 "source_info" : {
4189 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004190 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004191 "column" : 36,
4192 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004193 },
4194 "key" : [],
4195 "match_type" : "exact",
4196 "type" : "simple",
4197 "max_size" : 1024,
4198 "with_counters" : false,
4199 "support_timeout" : false,
4200 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004201 "action_ids" : [36],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004202 "actions" : ["act_0"],
4203 "base_default_next" : "node_6",
4204 "next_tables" : {
4205 "act_0" : "node_6"
4206 },
4207 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004208 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004209 "action_const" : true,
4210 "action_data" : [],
4211 "action_entry_const" : true
4212 }
4213 },
4214 {
4215 "name" : "tbl_act_1",
4216 "id" : 2,
4217 "source_info" : {
4218 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004219 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004220 "column" : 42,
4221 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
4222 },
4223 "key" : [],
4224 "match_type" : "exact",
4225 "type" : "simple",
4226 "max_size" : 1024,
4227 "with_counters" : false,
4228 "support_timeout" : false,
4229 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004230 "action_ids" : [37],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004231 "actions" : ["act_1"],
4232 "base_default_next" : "node_8",
4233 "next_tables" : {
4234 "act_1" : "node_8"
4235 },
4236 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004237 "action_id" : 37,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004238 "action_const" : true,
4239 "action_data" : [],
4240 "action_entry_const" : true
4241 }
4242 },
4243 {
4244 "name" : "tbl_act_2",
4245 "id" : 3,
4246 "source_info" : {
4247 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004248 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004249 "column" : 37,
4250 "source_fragment" : "="
4251 },
4252 "key" : [],
4253 "match_type" : "exact",
4254 "type" : "simple",
4255 "max_size" : 1024,
4256 "with_counters" : false,
4257 "support_timeout" : false,
4258 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004259 "action_ids" : [38],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004260 "actions" : ["act_2"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004261 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4262 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004263 "act_2" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004264 },
4265 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004266 "action_id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004267 "action_const" : true,
4268 "action_data" : [],
4269 "action_entry_const" : true
4270 }
4271 },
4272 {
4273 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004274 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004275 "source_info" : {
4276 "filename" : "include/control/filtering.p4",
4277 "line" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004278 "column" : 10,
4279 "source_fragment" : "ingress_port_vlan"
4280 },
4281 "key" : [
4282 {
4283 "match_type" : "exact",
4284 "name" : "ig_port",
4285 "target" : ["standard_metadata", "ingress_port"],
4286 "mask" : null
4287 },
4288 {
4289 "match_type" : "exact",
4290 "name" : "vlan_is_valid",
4291 "target" : ["vlan_tag", "$valid$"],
4292 "mask" : null
4293 },
4294 {
4295 "match_type" : "ternary",
4296 "name" : "vlan_id",
4297 "target" : ["vlan_tag", "vlan_id"],
4298 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07004299 },
4300 {
4301 "match_type" : "ternary",
4302 "name" : "inner_vlan_id",
4303 "target" : ["inner_vlan_tag", "vlan_id"],
4304 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004305 }
4306 ],
4307 "match_type" : "ternary",
4308 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004309 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004310 "with_counters" : true,
4311 "support_timeout" : false,
4312 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004313 "action_ids" : [16, 17, 18],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004314 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
4315 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
4316 "next_tables" : {
4317 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
4318 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
4319 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
4320 },
4321 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004322 "action_id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004323 "action_const" : true,
4324 "action_data" : [],
4325 "action_entry_const" : true
4326 }
4327 },
4328 {
4329 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro5a2de712019-09-24 14:34:07 -07004330 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004331 "source_info" : {
4332 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004333 "line" : 92,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004334 "column" : 10,
4335 "source_fragment" : "fwd_classifier"
4336 },
4337 "key" : [
4338 {
4339 "match_type" : "exact",
4340 "name" : "ig_port",
4341 "target" : ["standard_metadata", "ingress_port"],
4342 "mask" : null
4343 },
4344 {
4345 "match_type" : "ternary",
4346 "name" : "eth_dst",
4347 "target" : ["ethernet", "dst_addr"],
4348 "mask" : null
4349 },
4350 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004351 "match_type" : "ternary",
4352 "name" : "eth_type",
4353 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004354 "mask" : null
4355 },
4356 {
4357 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07004358 "name" : "ip_eth_type",
4359 "target" : ["scalars", "fabric_metadata_t._ip_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004360 "mask" : null
4361 }
4362 ],
4363 "match_type" : "ternary",
4364 "type" : "simple",
4365 "max_size" : 1024,
4366 "with_counters" : true,
4367 "support_timeout" : false,
4368 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004369 "action_ids" : [19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004370 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004371 "base_default_next" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004372 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004373 "FabricIngress.filtering.set_forwarding_type" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004374 },
4375 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004376 "action_id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004377 "action_const" : true,
4378 "action_data" : ["0x0"],
4379 "action_entry_const" : true
4380 }
4381 },
4382 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004383 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07004384 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004385 "source_info" : {
4386 "filename" : "include/control/forwarding.p4",
4387 "line" : 46,
4388 "column" : 10,
4389 "source_fragment" : "bridging"
4390 },
4391 "key" : [
4392 {
4393 "match_type" : "exact",
4394 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004395 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004396 "mask" : null
4397 },
4398 {
4399 "match_type" : "ternary",
4400 "name" : "eth_dst",
4401 "target" : ["ethernet", "dst_addr"],
4402 "mask" : null
4403 }
4404 ],
4405 "match_type" : "ternary",
4406 "type" : "simple",
4407 "max_size" : 1024,
4408 "with_counters" : true,
4409 "support_timeout" : false,
4410 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004411 "action_ids" : [20, 2],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004412 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
4413 "base_default_next" : "FabricIngress.acl.acl",
4414 "next_tables" : {
4415 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
4416 "nop" : "FabricIngress.acl.acl"
4417 },
4418 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004419 "action_id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004420 "action_const" : true,
4421 "action_data" : [],
4422 "action_entry_const" : true
4423 }
4424 },
4425 {
4426 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07004427 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004428 "source_info" : {
4429 "filename" : "include/control/forwarding.p4",
4430 "line" : 71,
4431 "column" : 10,
4432 "source_fragment" : "mpls"
4433 },
4434 "key" : [
4435 {
4436 "match_type" : "exact",
4437 "name" : "mpls_label",
Daniele Moro5a2de712019-09-24 14:34:07 -07004438 "target" : ["scalars", "fabric_metadata_t._mpls_label8"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004439 "mask" : null
4440 }
4441 ],
4442 "match_type" : "exact",
4443 "type" : "simple",
4444 "max_size" : 1024,
4445 "with_counters" : true,
4446 "support_timeout" : false,
4447 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004448 "action_ids" : [21, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004449 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
4450 "base_default_next" : "FabricIngress.acl.acl",
4451 "next_tables" : {
4452 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
4453 "nop" : "FabricIngress.acl.acl"
4454 },
4455 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004456 "action_id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004457 "action_const" : true,
4458 "action_data" : [],
4459 "action_entry_const" : true
4460 }
4461 },
4462 {
4463 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004464 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004465 "source_info" : {
4466 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004467 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004468 "column" : 10,
4469 "source_fragment" : "routing_v4"
4470 },
4471 "key" : [
4472 {
4473 "match_type" : "lpm",
4474 "name" : "ipv4_dst",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04004475 "target" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004476 "mask" : null
4477 }
4478 ],
4479 "match_type" : "lpm",
4480 "type" : "simple",
4481 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07004482 "with_counters" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004483 "support_timeout" : false,
4484 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004485 "action_ids" : [22, 23, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004486 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
4487 "base_default_next" : "FabricIngress.acl.acl",
4488 "next_tables" : {
4489 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
4490 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
4491 "nop" : "FabricIngress.acl.acl"
4492 },
4493 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004494 "action_id" : 4,
CyberHasHe9ba39c2019-10-11 05:59:12 +08004495 "action_const" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004496 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08004497 "action_entry_const" : false
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004498 }
4499 },
4500 {
4501 "name" : "FabricIngress.acl.acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07004502 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004503 "source_info" : {
4504 "filename" : "include/control/acl.p4",
4505 "line" : 60,
4506 "column" : 10,
4507 "source_fragment" : "acl"
4508 },
4509 "key" : [
4510 {
4511 "match_type" : "ternary",
4512 "name" : "ig_port",
4513 "target" : ["standard_metadata", "ingress_port"],
4514 "mask" : null
4515 },
4516 {
4517 "match_type" : "ternary",
4518 "name" : "ip_proto",
Daniele Moro5a2de712019-09-24 14:34:07 -07004519 "target" : ["scalars", "fabric_metadata_t._ip_proto16"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004520 "mask" : null
4521 },
4522 {
4523 "match_type" : "ternary",
4524 "name" : "l4_sport",
Daniele Moro5a2de712019-09-24 14:34:07 -07004525 "target" : ["scalars", "fabric_metadata_t._l4_sport17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004526 "mask" : null
4527 },
4528 {
4529 "match_type" : "ternary",
4530 "name" : "l4_dport",
Daniele Moro5a2de712019-09-24 14:34:07 -07004531 "target" : ["scalars", "fabric_metadata_t._l4_dport18"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004532 "mask" : null
4533 },
4534 {
4535 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004536 "name" : "eth_dst",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004537 "target" : ["ethernet", "dst_addr"],
4538 "mask" : null
4539 },
4540 {
4541 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004542 "name" : "eth_src",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004543 "target" : ["ethernet", "src_addr"],
4544 "mask" : null
4545 },
4546 {
4547 "match_type" : "ternary",
4548 "name" : "vlan_id",
4549 "target" : ["vlan_tag", "vlan_id"],
4550 "mask" : null
4551 },
4552 {
4553 "match_type" : "ternary",
4554 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07004555 "target" : ["eth_type", "value"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004556 "mask" : null
4557 },
4558 {
4559 "match_type" : "ternary",
4560 "name" : "ipv4_src",
4561 "target" : ["ipv4", "src_addr"],
4562 "mask" : null
4563 },
4564 {
4565 "match_type" : "ternary",
4566 "name" : "ipv4_dst",
4567 "target" : ["ipv4", "dst_addr"],
4568 "mask" : null
4569 },
4570 {
4571 "match_type" : "ternary",
4572 "name" : "icmp_type",
4573 "target" : ["icmp", "icmp_type"],
4574 "mask" : null
4575 },
4576 {
4577 "match_type" : "ternary",
4578 "name" : "icmp_code",
4579 "target" : ["icmp", "icmp_code"],
4580 "mask" : null
4581 }
4582 ],
4583 "match_type" : "ternary",
4584 "type" : "simple",
4585 "max_size" : 1024,
4586 "with_counters" : true,
4587 "support_timeout" : false,
4588 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004589 "action_ids" : [24, 25, 26, 27, 28],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004590 "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 -07004591 "base_default_next" : "node_20",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004592 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004593 "FabricIngress.acl.set_next_id_acl" : "node_20",
4594 "FabricIngress.acl.punt_to_cpu" : "node_20",
4595 "FabricIngress.acl.set_clone_session_id" : "node_20",
4596 "FabricIngress.acl.drop" : "node_20",
4597 "FabricIngress.acl.nop_acl" : "node_20"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004598 },
4599 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004600 "action_id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004601 "action_const" : true,
4602 "action_data" : [],
4603 "action_entry_const" : true
4604 }
4605 },
4606 {
4607 "name" : "FabricIngress.next.hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07004608 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004609 "source_info" : {
4610 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004611 "line" : 202,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004612 "column" : 10,
4613 "source_fragment" : "hashed"
4614 },
4615 "key" : [
4616 {
4617 "match_type" : "exact",
4618 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004619 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004620 "mask" : null
4621 }
4622 ],
4623 "match_type" : "exact",
4624 "type" : "indirect_ws",
4625 "action_profile" : "FabricIngress.next.hashed_selector",
4626 "max_size" : 1024,
4627 "with_counters" : true,
4628 "support_timeout" : false,
4629 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004630 "action_ids" : [31, 32, 33, 6],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004631 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
4632 "base_default_next" : "FabricIngress.next.multicast",
4633 "next_tables" : {
4634 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
4635 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
4636 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
4637 "nop" : "FabricIngress.next.multicast"
4638 }
4639 },
4640 {
4641 "name" : "FabricIngress.next.multicast",
Daniele Moro5a2de712019-09-24 14:34:07 -07004642 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004643 "source_info" : {
4644 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004645 "line" : 236,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004646 "column" : 10,
4647 "source_fragment" : "multicast"
4648 },
4649 "key" : [
4650 {
4651 "match_type" : "exact",
4652 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004653 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004654 "mask" : null
4655 }
4656 ],
4657 "match_type" : "exact",
4658 "type" : "simple",
4659 "max_size" : 1024,
4660 "with_counters" : true,
4661 "support_timeout" : false,
4662 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004663 "action_ids" : [34, 7],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004664 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
4665 "base_default_next" : "FabricIngress.next.next_vlan",
4666 "next_tables" : {
4667 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
4668 "nop" : "FabricIngress.next.next_vlan"
4669 },
4670 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004671 "action_id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004672 "action_const" : true,
4673 "action_data" : [],
4674 "action_entry_const" : true
4675 }
4676 },
4677 {
4678 "name" : "FabricIngress.next.next_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004679 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004680 "source_info" : {
4681 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004682 "line" : 86,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004683 "column" : 10,
4684 "source_fragment" : "next_vlan"
4685 },
4686 "key" : [
4687 {
4688 "match_type" : "exact",
4689 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004690 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004691 "mask" : null
4692 }
4693 ],
4694 "match_type" : "exact",
4695 "type" : "simple",
4696 "max_size" : 1024,
4697 "with_counters" : true,
4698 "support_timeout" : false,
4699 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004700 "action_ids" : [29, 30, 5],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004701 "actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004702 "base_default_next" : "node_24",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004703 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004704 "FabricIngress.next.set_vlan" : "node_24",
4705 "FabricIngress.next.set_double_vlan" : "node_24",
4706 "nop" : "node_24"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004707 },
4708 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004709 "action_id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004710 "action_const" : true,
4711 "action_data" : [],
4712 "action_entry_const" : true
4713 }
4714 },
4715 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004716 "name" : "tbl_act_3",
4717 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004718 "source_info" : {
4719 "filename" : "include/control/port_counter.p4",
4720 "line" : 31,
4721 "column" : 12,
4722 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4723 },
4724 "key" : [],
4725 "match_type" : "exact",
4726 "type" : "simple",
4727 "max_size" : 1024,
4728 "with_counters" : false,
4729 "support_timeout" : false,
4730 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004731 "action_ids" : [39],
4732 "actions" : ["act_3"],
4733 "base_default_next" : "node_26",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004734 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004735 "act_3" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004736 },
4737 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004738 "action_id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004739 "action_const" : true,
4740 "action_data" : [],
4741 "action_entry_const" : true
4742 }
4743 },
4744 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004745 "name" : "tbl_act_4",
4746 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004747 "source_info" : {
4748 "filename" : "include/control/port_counter.p4",
4749 "line" : 34,
4750 "column" : 12,
4751 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4752 },
4753 "key" : [],
4754 "match_type" : "exact",
4755 "type" : "simple",
4756 "max_size" : 1024,
4757 "with_counters" : false,
4758 "support_timeout" : false,
4759 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004760 "action_ids" : [40],
4761 "actions" : ["act_4"],
Daniele Morob3d199b2019-11-01 14:01:46 -07004762 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004763 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004764 "act_4" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004765 },
4766 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004767 "action_id" : 40,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004768 "action_const" : true,
4769 "action_data" : [],
4770 "action_entry_const" : true
4771 }
4772 },
4773 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004774 "name" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro5a2de712019-09-24 14:34:07 -07004775 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004776 "source_info" : {
4777 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004778 "line" : 323,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004779 "column" : 14,
4780 "source_fragment" : "t_line_map"
4781 },
4782 "key" : [
4783 {
4784 "match_type" : "exact",
4785 "name" : "s_tag",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04004786 "target" : ["scalars", "fabric_metadata_t._bng_s_tag25"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004787 "mask" : null
4788 },
4789 {
4790 "match_type" : "exact",
4791 "name" : "c_tag",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04004792 "target" : ["scalars", "fabric_metadata_t._bng_c_tag26"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004793 "mask" : null
4794 }
4795 ],
4796 "match_type" : "exact",
4797 "type" : "simple",
4798 "max_size" : 8192,
4799 "with_counters" : false,
4800 "support_timeout" : false,
4801 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004802 "action_ids" : [15],
4803 "actions" : ["FabricIngress.bng_ingress.set_line"],
Daniele Morob3d199b2019-11-01 14:01:46 -07004804 "base_default_next" : "node_29",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004805 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004806 "FabricIngress.bng_ingress.set_line" : "node_29"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004807 },
4808 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004809 "action_id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004810 "action_const" : true,
Daniele Moro5a2de712019-09-24 14:34:07 -07004811 "action_data" : ["0x0"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004812 "action_entry_const" : true
4813 }
4814 },
4815 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004816 "name" : "tbl_act_5",
4817 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004818 "source_info" : {
4819 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004820 "line" : 342,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004821 "column" : 31,
4822 "source_fragment" : "="
4823 },
4824 "key" : [],
4825 "match_type" : "exact",
4826 "type" : "simple",
4827 "max_size" : 1024,
4828 "with_counters" : false,
4829 "support_timeout" : false,
4830 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07004831 "action_ids" : [43],
4832 "actions" : ["act_7"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004833 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
4834 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004835 "act_7" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004836 },
4837 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004838 "action_id" : 43,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004839 "action_const" : true,
4840 "action_data" : [],
4841 "action_entry_const" : true
4842 }
4843 },
4844 {
4845 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
Daniele Morob3d199b2019-11-01 14:01:46 -07004846 "id" : 17,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004847 "source_info" : {
4848 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004849 "line" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004850 "column" : 10,
4851 "source_fragment" : "t_pppoe_cp"
4852 },
4853 "key" : [
4854 {
4855 "match_type" : "exact",
4856 "name" : "pppoe_code",
4857 "target" : ["pppoe", "code"],
4858 "mask" : null
4859 },
4860 {
4861 "match_type" : "ternary",
4862 "name" : "pppoe_protocol",
4863 "target" : ["pppoe", "protocol"],
4864 "mask" : null
4865 }
4866 ],
4867 "match_type" : "ternary",
4868 "type" : "simple",
4869 "max_size" : 16,
4870 "with_counters" : false,
4871 "support_timeout" : false,
4872 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004873 "action_ids" : [8, 0],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004874 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004875 "base_default_next" : null,
4876 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004877 "__HIT__" : "tbl_act_6",
4878 "__MISS__" : "tbl_act_7"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004879 },
4880 "default_entry" : {
4881 "action_id" : 0,
4882 "action_const" : true,
4883 "action_data" : [],
4884 "action_entry_const" : true
4885 }
4886 },
4887 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004888 "name" : "tbl_act_6",
4889 "id" : 18,
4890 "key" : [],
4891 "match_type" : "exact",
4892 "type" : "simple",
4893 "max_size" : 1024,
4894 "with_counters" : false,
4895 "support_timeout" : false,
4896 "direct_meters" : null,
4897 "action_ids" : [41],
4898 "actions" : ["act_5"],
4899 "base_default_next" : "node_34",
4900 "next_tables" : {
4901 "act_5" : "node_34"
4902 },
4903 "default_entry" : {
4904 "action_id" : 41,
4905 "action_const" : true,
4906 "action_data" : [],
4907 "action_entry_const" : true
4908 }
4909 },
4910 {
4911 "name" : "tbl_act_7",
4912 "id" : 19,
4913 "key" : [],
4914 "match_type" : "exact",
4915 "type" : "simple",
4916 "max_size" : 1024,
4917 "with_counters" : false,
4918 "support_timeout" : false,
4919 "direct_meters" : null,
4920 "action_ids" : [42],
4921 "actions" : ["act_6"],
4922 "base_default_next" : "node_34",
4923 "next_tables" : {
4924 "act_6" : "node_34"
4925 },
4926 "default_entry" : {
4927 "action_id" : 42,
4928 "action_const" : true,
4929 "action_data" : [],
4930 "action_entry_const" : true
4931 }
4932 },
4933 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004934 "name" : "tbl_act_8",
4935 "id" : 20,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004936 "source_info" : {
4937 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004938 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004939 "column" : 12,
4940 "source_fragment" : "return"
4941 },
4942 "key" : [],
4943 "match_type" : "exact",
4944 "type" : "simple",
4945 "max_size" : 1024,
4946 "with_counters" : false,
4947 "support_timeout" : false,
4948 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07004949 "action_ids" : [44],
4950 "actions" : ["act_8"],
4951 "base_default_next" : "node_36",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004952 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004953 "act_8" : "node_36"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004954 },
4955 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004956 "action_id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004957 "action_const" : true,
4958 "action_data" : [],
4959 "action_entry_const" : true
4960 }
4961 },
4962 {
4963 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004964 "id" : 21,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004965 "source_info" : {
4966 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004967 "line" : 87,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004968 "column" : 10,
4969 "source_fragment" : "t_pppoe_term_v4"
4970 },
4971 "key" : [
4972 {
4973 "match_type" : "exact",
4974 "name" : "line_id",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04004975 "target" : ["scalars", "fabric_metadata_t._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004976 "mask" : null
4977 },
4978 {
4979 "match_type" : "exact",
4980 "name" : "ipv4_src",
4981 "target" : ["ipv4", "src_addr"],
4982 "mask" : null
4983 },
4984 {
4985 "match_type" : "exact",
4986 "name" : "pppoe_session_id",
4987 "target" : ["pppoe", "session_id"],
4988 "mask" : null
4989 }
4990 ],
4991 "match_type" : "exact",
4992 "type" : "simple",
4993 "max_size" : 32768,
4994 "with_counters" : false,
4995 "support_timeout" : false,
4996 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004997 "action_ids" : [10, 9],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004998 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
4999 "base_default_next" : null,
5000 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005001 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_act_9",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005002 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
5003 },
5004 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005005 "action_id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005006 "action_const" : true,
5007 "action_data" : [],
5008 "action_entry_const" : true
5009 }
5010 },
5011 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005012 "name" : "tbl_act_9",
5013 "id" : 22,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005014 "source_info" : {
5015 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005016 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005017 "column" : 20,
5018 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
5019 },
5020 "key" : [],
5021 "match_type" : "exact",
5022 "type" : "simple",
5023 "max_size" : 1024,
5024 "with_counters" : false,
5025 "support_timeout" : false,
5026 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005027 "action_ids" : [45],
5028 "actions" : ["act_9"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005029 "base_default_next" : null,
5030 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005031 "act_9" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005032 },
5033 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005034 "action_id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005035 "action_const" : true,
5036 "action_data" : [],
5037 "action_entry_const" : true
5038 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07005039 },
5040 {
5041 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
Daniele Morob3d199b2019-11-01 14:01:46 -07005042 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005043 "source_info" : {
5044 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005045 "line" : 169,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005046 "column" : 10,
5047 "source_fragment" : "t_line_session_map"
5048 },
5049 "key" : [
5050 {
5051 "match_type" : "exact",
5052 "name" : "line_id",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005053 "target" : ["scalars", "fabric_metadata_t._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005054 "mask" : null
5055 }
5056 ],
5057 "match_type" : "exact",
5058 "type" : "simple",
5059 "max_size" : 8192,
5060 "with_counters" : false,
5061 "support_timeout" : false,
5062 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005063 "action_ids" : [1, 11, 12],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005064 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
5065 "base_default_next" : null,
5066 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005067 "__HIT__" : "tbl_act_10",
5068 "__MISS__" : "tbl_act_11"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005069 },
5070 "default_entry" : {
5071 "action_id" : 1,
5072 "action_const" : true,
5073 "action_data" : [],
5074 "action_entry_const" : true
5075 }
5076 },
5077 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005078 "name" : "tbl_act_10",
5079 "id" : 24,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005080 "key" : [],
5081 "match_type" : "exact",
5082 "type" : "simple",
5083 "max_size" : 1024,
5084 "with_counters" : false,
5085 "support_timeout" : false,
5086 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005087 "action_ids" : [46],
5088 "actions" : ["act_10"],
5089 "base_default_next" : "node_43",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005090 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005091 "act_10" : "node_43"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005092 },
5093 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005094 "action_id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005095 "action_const" : true,
5096 "action_data" : [],
5097 "action_entry_const" : true
5098 }
5099 },
5100 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005101 "name" : "tbl_act_11",
5102 "id" : 25,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005103 "key" : [],
5104 "match_type" : "exact",
5105 "type" : "simple",
5106 "max_size" : 1024,
5107 "with_counters" : false,
5108 "support_timeout" : false,
5109 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005110 "action_ids" : [47],
5111 "actions" : ["act_11"],
5112 "base_default_next" : "node_43",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005113 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005114 "act_11" : "node_43"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005115 },
5116 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005117 "action_id" : 47,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005118 "action_const" : true,
5119 "action_data" : [],
5120 "action_entry_const" : true
5121 }
5122 },
5123 {
5124 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005125 "id" : 26,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005126 "source_info" : {
5127 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005128 "line" : 194,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005129 "column" : 10,
5130 "source_fragment" : "t_qos_v4"
5131 },
5132 "key" : [
5133 {
5134 "match_type" : "ternary",
5135 "name" : "line_id",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005136 "target" : ["scalars", "fabric_metadata_t._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005137 "mask" : null
5138 },
5139 {
5140 "match_type" : "lpm",
5141 "name" : "ipv4_src",
5142 "target" : ["ipv4", "src_addr"],
5143 "mask" : null
5144 },
5145 {
5146 "match_type" : "ternary",
5147 "name" : "ipv4_dscp",
5148 "target" : ["ipv4", "dscp"],
5149 "mask" : null
5150 },
5151 {
5152 "match_type" : "ternary",
5153 "name" : "ipv4_ecn",
5154 "target" : ["ipv4", "ecn"],
5155 "mask" : null
5156 }
5157 ],
5158 "match_type" : "ternary",
5159 "type" : "simple",
5160 "max_size" : 256,
5161 "with_counters" : false,
5162 "support_timeout" : false,
5163 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005164 "action_ids" : [13, 14],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005165 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
5166 "base_default_next" : null,
5167 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005168 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_act_12",
5169 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_act_13"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005170 },
5171 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005172 "action_id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005173 "action_const" : true,
5174 "action_data" : [],
5175 "action_entry_const" : true
5176 }
5177 },
5178 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005179 "name" : "tbl_act_12",
5180 "id" : 27,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005181 "source_info" : {
5182 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005183 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005184 "column" : 24,
5185 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5186 },
5187 "key" : [],
5188 "match_type" : "exact",
5189 "type" : "simple",
5190 "max_size" : 1024,
5191 "with_counters" : false,
5192 "support_timeout" : false,
5193 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005194 "action_ids" : [48],
5195 "actions" : ["act_12"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005196 "base_default_next" : null,
5197 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005198 "act_12" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005199 },
5200 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005201 "action_id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005202 "action_const" : true,
5203 "action_data" : [],
5204 "action_entry_const" : true
5205 }
5206 },
5207 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005208 "name" : "tbl_act_13",
5209 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005210 "source_info" : {
5211 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005212 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005213 "column" : 24,
5214 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5215 },
5216 "key" : [],
5217 "match_type" : "exact",
5218 "type" : "simple",
5219 "max_size" : 1024,
5220 "with_counters" : false,
5221 "support_timeout" : false,
5222 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005223 "action_ids" : [49],
5224 "actions" : ["act_13"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005225 "base_default_next" : null,
5226 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005227 "act_13" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005228 },
5229 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005230 "action_id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005231 "action_const" : true,
5232 "action_data" : [],
5233 "action_entry_const" : true
5234 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005235 }
5236 ],
5237 "action_profiles" : [
5238 {
5239 "name" : "FabricIngress.next.hashed_selector",
5240 "id" : 0,
5241 "source_info" : {
5242 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005243 "line" : 183,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005244 "column" : 57,
5245 "source_fragment" : "hashed_selector"
5246 },
5247 "max_size" : 1024,
5248 "selector" : {
5249 "algo" : "crc16",
5250 "input" : [
5251 {
5252 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005253 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005254 },
5255 {
5256 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005257 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005258 },
5259 {
5260 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005261 "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005262 },
5263 {
5264 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005265 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005266 },
5267 {
5268 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005269 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005270 }
5271 ]
5272 }
5273 }
5274 ],
5275 "conditionals" : [
5276 {
5277 "name" : "node_2",
5278 "id" : 0,
5279 "source_info" : {
5280 "filename" : "include/control/packetio.p4",
5281 "line" : 24,
5282 "column" : 12,
5283 "source_fragment" : "hdr.packet_out.isValid()"
5284 },
5285 "expression" : {
5286 "type" : "expression",
5287 "value" : {
5288 "op" : "d2b",
5289 "left" : null,
5290 "right" : {
5291 "type" : "field",
5292 "value" : ["packet_out", "$valid$"]
5293 }
5294 }
5295 },
5296 "true_next" : "tbl_act",
5297 "false_next" : "node_4"
5298 },
5299 {
5300 "name" : "node_4",
5301 "id" : 1,
5302 "source_info" : {
5303 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005304 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005305 "column" : 12,
5306 "source_fragment" : "hdr.vlan_tag.isValid()"
5307 },
5308 "expression" : {
5309 "type" : "expression",
5310 "value" : {
5311 "op" : "d2b",
5312 "left" : null,
5313 "right" : {
5314 "type" : "field",
5315 "value" : ["vlan_tag", "$valid$"]
5316 }
5317 }
5318 },
5319 "true_next" : "tbl_act_0",
5320 "false_next" : "node_6"
5321 },
5322 {
5323 "name" : "node_6",
5324 "id" : 2,
5325 "source_info" : {
5326 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005327 "line" : 116,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005328 "column" : 12,
5329 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
5330 },
5331 "expression" : {
5332 "type" : "expression",
5333 "value" : {
5334 "op" : "d2b",
5335 "left" : null,
5336 "right" : {
5337 "type" : "field",
5338 "value" : ["inner_vlan_tag", "$valid$"]
5339 }
5340 }
5341 },
5342 "true_next" : "tbl_act_1",
5343 "false_next" : "node_8"
5344 },
5345 {
5346 "name" : "node_8",
5347 "id" : 3,
5348 "source_info" : {
5349 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005350 "line" : 122,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005351 "column" : 12,
5352 "source_fragment" : "!hdr.mpls.isValid()"
5353 },
5354 "expression" : {
5355 "type" : "expression",
5356 "value" : {
5357 "op" : "not",
5358 "left" : null,
5359 "right" : {
5360 "type" : "expression",
5361 "value" : {
5362 "op" : "d2b",
5363 "left" : null,
5364 "right" : {
5365 "type" : "field",
5366 "value" : ["mpls", "$valid$"]
5367 }
5368 }
5369 }
5370 }
5371 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005372 "true_next" : "tbl_act_2",
Daniele Moro5a2de712019-09-24 14:34:07 -07005373 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005374 },
5375 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005376 "name" : "node_12",
Daniele Moro5a2de712019-09-24 14:34:07 -07005377 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005378 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005379 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07005380 "line" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005381 "column" : 12,
5382 "source_fragment" : "fabric_metadata.skip_forwarding == false"
5383 },
5384 "expression" : {
5385 "type" : "expression",
5386 "value" : {
5387 "op" : "==",
5388 "left" : {
5389 "type" : "expression",
5390 "value" : {
5391 "op" : "d2b",
5392 "left" : null,
5393 "right" : {
5394 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005395 "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005396 }
5397 }
5398 },
5399 "right" : {
5400 "type" : "bool",
5401 "value" : false
5402 }
5403 }
5404 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005405 "true_next" : "node_13",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005406 "false_next" : "FabricIngress.acl.acl"
5407 },
5408 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005409 "name" : "node_13",
5410 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005411 "source_info" : {
5412 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005413 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005414 "column" : 12,
5415 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
5416 },
5417 "expression" : {
5418 "type" : "expression",
5419 "value" : {
5420 "op" : "==",
5421 "left" : {
5422 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005423 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005424 },
5425 "right" : {
5426 "type" : "hexstr",
5427 "value" : "0x00"
5428 }
5429 }
5430 },
5431 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07005432 "false_next" : "node_15"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005433 },
5434 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005435 "name" : "node_15",
5436 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005437 "source_info" : {
5438 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005439 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005440 "column" : 17,
5441 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
5442 },
5443 "expression" : {
5444 "type" : "expression",
5445 "value" : {
5446 "op" : "==",
5447 "left" : {
5448 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005449 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005450 },
5451 "right" : {
5452 "type" : "hexstr",
5453 "value" : "0x01"
5454 }
5455 }
5456 },
5457 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005458 "false_next" : "node_17"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005459 },
5460 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005461 "name" : "node_17",
5462 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005463 "source_info" : {
5464 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005465 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005466 "column" : 17,
5467 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
5468 },
5469 "expression" : {
5470 "type" : "expression",
5471 "value" : {
5472 "op" : "==",
5473 "left" : {
5474 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005475 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005476 },
5477 "right" : {
5478 "type" : "hexstr",
5479 "value" : "0x02"
5480 }
5481 }
5482 },
5483 "true_next" : "FabricIngress.forwarding.routing_v4",
5484 "false_next" : "FabricIngress.acl.acl"
5485 },
5486 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005487 "name" : "node_20",
5488 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005489 "source_info" : {
5490 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07005491 "line" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005492 "column" : 12,
5493 "source_fragment" : "fabric_metadata.skip_next == false"
5494 },
5495 "expression" : {
5496 "type" : "expression",
5497 "value" : {
5498 "op" : "==",
5499 "left" : {
5500 "type" : "expression",
5501 "value" : {
5502 "op" : "d2b",
5503 "left" : null,
5504 "right" : {
5505 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005506 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005507 }
5508 }
5509 },
5510 "right" : {
5511 "type" : "bool",
5512 "value" : false
5513 }
5514 }
5515 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005516 "true_next" : "FabricIngress.next.hashed",
Daniele Morob3d199b2019-11-01 14:01:46 -07005517 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005518 },
5519 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005520 "name" : "node_24",
5521 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005522 "source_info" : {
5523 "filename" : "include/control/port_counter.p4",
5524 "line" : 30,
5525 "column" : 12,
5526 "source_fragment" : "standard_metadata.egress_spec < 511"
5527 },
5528 "expression" : {
5529 "type" : "expression",
5530 "value" : {
5531 "op" : "<",
5532 "left" : {
5533 "type" : "field",
5534 "value" : ["standard_metadata", "egress_spec"]
5535 },
5536 "right" : {
5537 "type" : "hexstr",
5538 "value" : "0x01ff"
5539 }
5540 }
5541 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005542 "true_next" : "tbl_act_3",
5543 "false_next" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005544 },
5545 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005546 "name" : "node_26",
5547 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005548 "source_info" : {
5549 "filename" : "include/control/port_counter.p4",
5550 "line" : 33,
5551 "column" : 12,
5552 "source_fragment" : "standard_metadata.ingress_port < 511"
5553 },
5554 "expression" : {
5555 "type" : "expression",
5556 "value" : {
5557 "op" : "<",
5558 "left" : {
5559 "type" : "field",
5560 "value" : ["standard_metadata", "ingress_port"]
5561 },
5562 "right" : {
5563 "type" : "hexstr",
5564 "value" : "0x01ff"
5565 }
5566 }
5567 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005568 "true_next" : "tbl_act_4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005569 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005570 },
5571 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005572 "name" : "node_29",
Daniele Moro5a2de712019-09-24 14:34:07 -07005573 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005574 "source_info" : {
5575 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005576 "line" : 341,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005577 "column" : 16,
5578 "source_fragment" : "hdr.pppoe.isValid()"
5579 },
5580 "expression" : {
5581 "type" : "expression",
5582 "value" : {
5583 "op" : "d2b",
5584 "left" : null,
5585 "right" : {
5586 "type" : "field",
5587 "value" : ["pppoe", "$valid$"]
5588 }
5589 }
5590 },
Daniele Morob3d199b2019-11-01 14:01:46 -07005591 "true_next" : "tbl_act_5",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005592 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
5593 },
5594 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005595 "name" : "node_34",
5596 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005597 "expression" : {
5598 "type" : "expression",
5599 "value" : {
5600 "op" : "d2b",
5601 "left" : null,
5602 "right" : {
5603 "type" : "field",
5604 "value" : ["scalars", "bng_ingress_upstream_tmp"]
5605 }
5606 }
5607 },
Daniele Morob3d199b2019-11-01 14:01:46 -07005608 "true_next" : "tbl_act_8",
5609 "false_next" : "node_36"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005610 },
5611 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005612 "name" : "node_36",
5613 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005614 "expression" : {
5615 "type" : "expression",
5616 "value" : {
5617 "op" : "not",
5618 "left" : null,
5619 "right" : {
5620 "type" : "expression",
5621 "value" : {
5622 "op" : "d2b",
5623 "left" : null,
5624 "right" : {
5625 "type" : "field",
5626 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
5627 }
5628 }
5629 }
5630 }
5631 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005632 "false_next" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005633 "true_next" : "node_37"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005634 },
5635 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005636 "name" : "node_37",
5637 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005638 "source_info" : {
5639 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005640 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005641 "column" : 12,
5642 "source_fragment" : "hdr.ipv4.isValid()"
5643 },
5644 "expression" : {
5645 "type" : "expression",
5646 "value" : {
5647 "op" : "d2b",
5648 "left" : null,
5649 "right" : {
5650 "type" : "field",
5651 "value" : ["ipv4", "$valid$"]
5652 }
5653 }
5654 },
5655 "false_next" : null,
5656 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
5657 },
5658 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005659 "name" : "node_43",
5660 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005661 "expression" : {
5662 "type" : "expression",
5663 "value" : {
5664 "op" : "d2b",
5665 "left" : null,
5666 "right" : {
5667 "type" : "field",
5668 "value" : ["scalars", "bng_ingress_downstream_tmp"]
5669 }
5670 }
5671 },
5672 "false_next" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005673 "true_next" : "node_44"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005674 },
5675 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005676 "name" : "node_44",
5677 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005678 "source_info" : {
5679 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005680 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005681 "column" : 16,
5682 "source_fragment" : "hdr.ipv4.isValid()"
5683 },
5684 "expression" : {
5685 "type" : "expression",
5686 "value" : {
5687 "op" : "d2b",
5688 "left" : null,
5689 "right" : {
5690 "type" : "field",
5691 "value" : ["ipv4", "$valid$"]
5692 }
5693 }
5694 },
5695 "false_next" : null,
5696 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005697 }
5698 ]
5699 },
5700 {
5701 "name" : "egress",
5702 "id" : 1,
5703 "source_info" : {
5704 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07005705 "line" : 91,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005706 "column" : 8,
5707 "source_fragment" : "FabricEgress"
5708 },
Daniele Morob3d199b2019-11-01 14:01:46 -07005709 "init_table" : "node_50",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005710 "tables" : [
5711 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005712 "name" : "tbl_act_14",
5713 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005714 "source_info" : {
5715 "filename" : "include/control/packetio.p4",
5716 "line" : 41,
5717 "column" : 12,
5718 "source_fragment" : "exit"
5719 },
5720 "key" : [],
5721 "match_type" : "exact",
5722 "type" : "simple",
5723 "max_size" : 1024,
5724 "with_counters" : false,
5725 "support_timeout" : false,
5726 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005727 "action_ids" : [58],
5728 "actions" : ["act_14"],
5729 "base_default_next" : "node_52",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005730 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005731 "act_14" : "node_52"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005732 },
5733 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005734 "action_id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005735 "action_const" : true,
5736 "action_data" : [],
5737 "action_entry_const" : true
5738 }
5739 },
5740 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005741 "name" : "tbl_act_15",
5742 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005743 "source_info" : {
5744 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005745 "line" : 44,
5746 "column" : 12,
5747 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005748 },
5749 "key" : [],
5750 "match_type" : "exact",
5751 "type" : "simple",
5752 "max_size" : 1024,
5753 "with_counters" : false,
5754 "support_timeout" : false,
5755 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005756 "action_ids" : [59],
5757 "actions" : ["act_15"],
5758 "base_default_next" : "node_54",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005759 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005760 "act_15" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005761 },
5762 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005763 "action_id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005764 "action_const" : true,
5765 "action_data" : [],
5766 "action_entry_const" : true
5767 }
5768 },
5769 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005770 "name" : "tbl_act_16",
5771 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005772 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005773 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005774 "line" : 349,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005775 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005776 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005777 },
5778 "key" : [],
5779 "match_type" : "exact",
5780 "type" : "simple",
5781 "max_size" : 1024,
5782 "with_counters" : false,
5783 "support_timeout" : false,
5784 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005785 "action_ids" : [60],
5786 "actions" : ["act_16"],
5787 "base_default_next" : "node_56",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005788 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005789 "act_16" : "node_56"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005790 },
5791 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005792 "action_id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005793 "action_const" : true,
5794 "action_data" : [],
5795 "action_entry_const" : true
5796 }
5797 },
5798 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005799 "name" : "tbl_egress_next_pop_mpls_if_present",
Daniele Morob3d199b2019-11-01 14:01:46 -07005800 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005801 "source_info" : {
5802 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005803 "line" : 353,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005804 "column" : 36,
5805 "source_fragment" : "pop_mpls_if_present()"
5806 },
5807 "key" : [],
5808 "match_type" : "exact",
5809 "type" : "simple",
5810 "max_size" : 1024,
5811 "with_counters" : false,
5812 "support_timeout" : false,
5813 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01005814 "action_ids" : [51],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005815 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Daniele Morob3d199b2019-11-01 14:01:46 -07005816 "base_default_next" : "node_60",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005817 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005818 "FabricEgress.egress_next.pop_mpls_if_present" : "node_60"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005819 },
5820 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01005821 "action_id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005822 "action_const" : true,
5823 "action_data" : [],
5824 "action_entry_const" : true
5825 }
5826 },
5827 {
5828 "name" : "tbl_egress_next_set_mpls",
Daniele Morob3d199b2019-11-01 14:01:46 -07005829 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005830 "source_info" : {
5831 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005832 "line" : 355,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005833 "column" : 12,
5834 "source_fragment" : "set_mpls()"
5835 },
5836 "key" : [],
5837 "match_type" : "exact",
5838 "type" : "simple",
5839 "max_size" : 1024,
5840 "with_counters" : false,
5841 "support_timeout" : false,
5842 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01005843 "action_ids" : [52],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005844 "actions" : ["FabricEgress.egress_next.set_mpls"],
Daniele Morob3d199b2019-11-01 14:01:46 -07005845 "base_default_next" : "node_60",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005846 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005847 "FabricEgress.egress_next.set_mpls" : "node_60"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005848 },
5849 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01005850 "action_id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005851 "action_const" : true,
5852 "action_data" : [],
5853 "action_entry_const" : true
5854 }
5855 },
5856 {
pierventre48e78822020-12-15 17:34:54 +01005857 "name" : "tbl_egress_next_push_outer_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07005858 "id" : 34,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005859 "source_info" : {
5860 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005861 "line" : 361,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005862 "column" : 12,
pierventre48e78822020-12-15 17:34:54 +01005863 "source_fragment" : "push_outer_vlan()"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005864 },
5865 "key" : [],
5866 "match_type" : "exact",
5867 "type" : "simple",
5868 "max_size" : 1024,
5869 "with_counters" : false,
5870 "support_timeout" : false,
5871 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01005872 "action_ids" : [53],
5873 "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005874 "base_default_next" : "tbl_egress_next_push_inner_vlan",
5875 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01005876 "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005877 },
5878 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01005879 "action_id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005880 "action_const" : true,
5881 "action_data" : [],
5882 "action_entry_const" : true
5883 }
5884 },
5885 {
5886 "name" : "tbl_egress_next_push_inner_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07005887 "id" : 35,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005888 "source_info" : {
5889 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005890 "line" : 362,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005891 "column" : 12,
5892 "source_fragment" : "push_inner_vlan()"
5893 },
5894 "key" : [],
5895 "match_type" : "exact",
5896 "type" : "simple",
5897 "max_size" : 1024,
5898 "with_counters" : false,
5899 "support_timeout" : false,
5900 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01005901 "action_ids" : [54],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005902 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
pierventre48e78822020-12-15 17:34:54 +01005903 "base_default_next" : "node_65",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005904 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01005905 "FabricEgress.egress_next.push_inner_vlan" : "node_65"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005906 },
5907 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01005908 "action_id" : 54,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005909 "action_const" : true,
5910 "action_data" : [],
5911 "action_entry_const" : true
5912 }
5913 },
5914 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005915 "name" : "tbl_act_17",
5916 "id" : 36,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005917 "source_info" : {
5918 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005919 "line" : 365,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005920 "column" : 12,
5921 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
5922 },
5923 "key" : [],
5924 "match_type" : "exact",
5925 "type" : "simple",
5926 "max_size" : 1024,
5927 "with_counters" : false,
5928 "support_timeout" : false,
5929 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01005930 "action_ids" : [61],
5931 "actions" : ["act_17"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005932 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
5933 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01005934 "act_17" : "FabricEgress.egress_next.egress_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005935 },
5936 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01005937 "action_id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005938 "action_const" : true,
5939 "action_data" : [],
5940 "action_entry_const" : true
5941 }
5942 },
5943 {
5944 "name" : "FabricEgress.egress_next.egress_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07005945 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005946 "source_info" : {
5947 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005948 "line" : 331,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005949 "column" : 10,
5950 "source_fragment" : "egress_vlan"
5951 },
5952 "key" : [
5953 {
5954 "match_type" : "exact",
5955 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07005956 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005957 "mask" : null
5958 },
5959 {
5960 "match_type" : "exact",
5961 "name" : "eg_port",
5962 "target" : ["standard_metadata", "egress_port"],
5963 "mask" : null
5964 }
5965 ],
5966 "match_type" : "exact",
5967 "type" : "simple",
5968 "max_size" : 1024,
5969 "with_counters" : true,
5970 "support_timeout" : false,
5971 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01005972 "action_ids" : [55, 56, 57],
5973 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
5974 "base_default_next" : "node_65",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005975 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01005976 "FabricEgress.egress_next.push_vlan" : "node_65",
5977 "FabricEgress.egress_next.pop_vlan" : "node_65",
5978 "FabricEgress.egress_next.drop" : "node_65"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005979 },
5980 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01005981 "action_id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005982 "action_const" : true,
5983 "action_data" : [],
5984 "action_entry_const" : true
5985 }
5986 },
5987 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005988 "name" : "tbl_act_18",
5989 "id" : 38,
pierventre48e78822020-12-15 17:34:54 +01005990 "source_info" : {
5991 "filename" : "include/control/next.p4",
5992 "line" : 375,
5993 "column" : 25,
5994 "source_fragment" : "="
5995 },
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005996 "key" : [],
5997 "match_type" : "exact",
5998 "type" : "simple",
5999 "max_size" : 1024,
6000 "with_counters" : false,
6001 "support_timeout" : false,
6002 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01006003 "action_ids" : [63],
6004 "actions" : ["act_19"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006005 "base_default_next" : "node_67",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006006 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01006007 "act_19" : "node_67"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006008 },
6009 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01006010 "action_id" : 63,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006011 "action_const" : true,
6012 "action_data" : [],
6013 "action_entry_const" : true
6014 }
6015 },
6016 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006017 "name" : "tbl_act_19",
6018 "id" : 39,
pierventre48e78822020-12-15 17:34:54 +01006019 "source_info" : {
6020 "filename" : "include/control/next.p4",
6021 "line" : 376,
6022 "column" : 35,
6023 "source_fragment" : "mark_to_drop(standard_metadata)"
6024 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006025 "key" : [],
6026 "match_type" : "exact",
6027 "type" : "simple",
6028 "max_size" : 1024,
6029 "with_counters" : false,
6030 "support_timeout" : false,
6031 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006032 "action_ids" : [62],
6033 "actions" : ["act_18"],
pierventre48e78822020-12-15 17:34:54 +01006034 "base_default_next" : "node_73",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006035 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01006036 "act_18" : "node_73"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006037 },
6038 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006039 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006040 "action_const" : true,
6041 "action_data" : [],
6042 "action_entry_const" : true
6043 }
6044 },
6045 {
pierventre48e78822020-12-15 17:34:54 +01006046 "name" : "tbl_act_20",
Daniele Morob3d199b2019-11-01 14:01:46 -07006047 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006048 "source_info" : {
6049 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006050 "line" : 379,
6051 "column" : 29,
Daniele Morob3d199b2019-11-01 14:01:46 -07006052 "source_fragment" : "="
6053 },
6054 "key" : [],
6055 "match_type" : "exact",
6056 "type" : "simple",
6057 "max_size" : 1024,
6058 "with_counters" : false,
6059 "support_timeout" : false,
6060 "direct_meters" : null,
6061 "action_ids" : [65],
6062 "actions" : ["act_21"],
pierventre48e78822020-12-15 17:34:54 +01006063 "base_default_next" : "node_71",
Daniele Morob3d199b2019-11-01 14:01:46 -07006064 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01006065 "act_21" : "node_71"
Daniele Morob3d199b2019-11-01 14:01:46 -07006066 },
6067 "default_entry" : {
6068 "action_id" : 65,
6069 "action_const" : true,
6070 "action_data" : [],
6071 "action_entry_const" : true
6072 }
6073 },
6074 {
6075 "name" : "tbl_act_21",
pierventre48e78822020-12-15 17:34:54 +01006076 "id" : 41,
Daniele Morob3d199b2019-11-01 14:01:46 -07006077 "source_info" : {
6078 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006079 "line" : 380,
6080 "column" : 39,
Daniele Morob3d199b2019-11-01 14:01:46 -07006081 "source_fragment" : "mark_to_drop(standard_metadata)"
6082 },
6083 "key" : [],
6084 "match_type" : "exact",
6085 "type" : "simple",
6086 "max_size" : 1024,
6087 "with_counters" : false,
6088 "support_timeout" : false,
6089 "direct_meters" : null,
6090 "action_ids" : [64],
6091 "actions" : ["act_20"],
pierventre48e78822020-12-15 17:34:54 +01006092 "base_default_next" : "node_73",
Daniele Morob3d199b2019-11-01 14:01:46 -07006093 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01006094 "act_20" : "node_73"
Daniele Morob3d199b2019-11-01 14:01:46 -07006095 },
6096 "default_entry" : {
6097 "action_id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006098 "action_const" : true,
6099 "action_data" : [],
6100 "action_entry_const" : true
6101 }
6102 },
6103 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006104 "name" : "tbl_bng_egress_downstream_encap_v4",
pierventre48e78822020-12-15 17:34:54 +01006105 "id" : 42,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006106 "source_info" : {
6107 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006108 "line" : 297,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006109 "column" : 12,
6110 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006111 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006112 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006113 "match_type" : "exact",
6114 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006115 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006116 "with_counters" : false,
6117 "support_timeout" : false,
6118 "direct_meters" : null,
pierventre48e78822020-12-15 17:34:54 +01006119 "action_ids" : [50],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006120 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006121 "base_default_next" : null,
6122 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006123 "FabricEgress.bng_egress.downstream.encap_v4" : null
6124 },
6125 "default_entry" : {
pierventre48e78822020-12-15 17:34:54 +01006126 "action_id" : 50,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006127 "action_const" : true,
6128 "action_data" : [],
6129 "action_entry_const" : true
6130 }
6131 }
6132 ],
6133 "action_profiles" : [],
6134 "conditionals" : [
6135 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006136 "name" : "node_50",
6137 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006138 "source_info" : {
6139 "filename" : "include/control/packetio.p4",
6140 "line" : 39,
6141 "column" : 12,
6142 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
6143 },
6144 "expression" : {
6145 "type" : "expression",
6146 "value" : {
6147 "op" : "==",
6148 "left" : {
6149 "type" : "expression",
6150 "value" : {
6151 "op" : "d2b",
6152 "left" : null,
6153 "right" : {
6154 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006155 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006156 }
6157 }
6158 },
6159 "right" : {
6160 "type" : "bool",
6161 "value" : true
6162 }
6163 }
6164 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006165 "true_next" : "tbl_act_14",
6166 "false_next" : "node_52"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006167 },
6168 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006169 "name" : "node_52",
6170 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006171 "source_info" : {
6172 "filename" : "include/control/packetio.p4",
6173 "line" : 43,
6174 "column" : 12,
6175 "source_fragment" : "standard_metadata.egress_port == 255"
6176 },
6177 "expression" : {
6178 "type" : "expression",
6179 "value" : {
6180 "op" : "==",
6181 "left" : {
6182 "type" : "field",
6183 "value" : ["standard_metadata", "egress_port"]
6184 },
6185 "right" : {
6186 "type" : "hexstr",
6187 "value" : "0x00ff"
6188 }
6189 }
6190 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006191 "true_next" : "tbl_act_15",
6192 "false_next" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006193 },
6194 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006195 "name" : "node_54",
6196 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006197 "source_info" : {
6198 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006199 "line" : 347,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006200 "column" : 12,
6201 "source_fragment" : "fabric_metadata.is_multicast == true ..."
6202 },
6203 "expression" : {
6204 "type" : "expression",
6205 "value" : {
6206 "op" : "and",
6207 "left" : {
6208 "type" : "expression",
6209 "value" : {
6210 "op" : "==",
6211 "left" : {
6212 "type" : "expression",
6213 "value" : {
6214 "op" : "d2b",
6215 "left" : null,
6216 "right" : {
6217 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006218 "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006219 }
6220 }
6221 },
6222 "right" : {
6223 "type" : "bool",
6224 "value" : true
6225 }
6226 }
6227 },
6228 "right" : {
6229 "type" : "expression",
6230 "value" : {
6231 "op" : "==",
6232 "left" : {
6233 "type" : "field",
6234 "value" : ["standard_metadata", "ingress_port"]
6235 },
6236 "right" : {
6237 "type" : "field",
6238 "value" : ["standard_metadata", "egress_port"]
6239 }
6240 }
6241 }
6242 }
6243 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006244 "true_next" : "tbl_act_16",
6245 "false_next" : "node_56"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006246 },
6247 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006248 "name" : "node_56",
6249 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006250 "source_info" : {
6251 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006252 "line" : 352,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006253 "column" : 12,
6254 "source_fragment" : "fabric_metadata.mpls_label == 0"
6255 },
6256 "expression" : {
6257 "type" : "expression",
6258 "value" : {
6259 "op" : "==",
6260 "left" : {
6261 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006262 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006263 },
6264 "right" : {
6265 "type" : "hexstr",
6266 "value" : "0x000000"
6267 }
6268 }
6269 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006270 "true_next" : "node_57",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006271 "false_next" : "tbl_egress_next_set_mpls"
6272 },
6273 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006274 "name" : "node_57",
6275 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006276 "source_info" : {
6277 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006278 "line" : 353,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006279 "column" : 16,
6280 "source_fragment" : "hdr.mpls.isValid()"
6281 },
6282 "expression" : {
6283 "type" : "expression",
6284 "value" : {
6285 "op" : "d2b",
6286 "left" : null,
6287 "right" : {
6288 "type" : "field",
6289 "value" : ["mpls", "$valid$"]
6290 }
6291 }
6292 },
6293 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Daniele Morob3d199b2019-11-01 14:01:46 -07006294 "false_next" : "node_60"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006295 },
6296 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006297 "name" : "node_60",
6298 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006299 "source_info" : {
6300 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006301 "line" : 359,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006302 "column" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006303 "source_fragment" : "fabric_metadata.push_double_vlan == true"
6304 },
6305 "expression" : {
6306 "type" : "expression",
6307 "value" : {
6308 "op" : "==",
6309 "left" : {
6310 "type" : "expression",
6311 "value" : {
6312 "op" : "d2b",
6313 "left" : null,
6314 "right" : {
6315 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006316 "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07006317 }
6318 }
6319 },
6320 "right" : {
6321 "type" : "bool",
6322 "value" : true
6323 }
6324 }
6325 },
pierventre48e78822020-12-15 17:34:54 +01006326 "true_next" : "tbl_egress_next_push_outer_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07006327 "false_next" : "tbl_act_17"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006328 },
6329 {
pierventre48e78822020-12-15 17:34:54 +01006330 "name" : "node_65",
Daniele Morob3d199b2019-11-01 14:01:46 -07006331 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006332 "source_info" : {
6333 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006334 "line" : 374,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006335 "column" : 12,
6336 "source_fragment" : "hdr.mpls.isValid()"
6337 },
6338 "expression" : {
6339 "type" : "expression",
6340 "value" : {
6341 "op" : "d2b",
6342 "left" : null,
6343 "right" : {
6344 "type" : "field",
6345 "value" : ["mpls", "$valid$"]
6346 }
6347 }
6348 },
pierventre48e78822020-12-15 17:34:54 +01006349 "true_next" : "tbl_act_18",
6350 "false_next" : "node_69"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006351 },
6352 {
pierventre48e78822020-12-15 17:34:54 +01006353 "name" : "node_67",
6354 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006355 "source_info" : {
6356 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006357 "line" : 376,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006358 "column" : 16,
6359 "source_fragment" : "hdr.mpls.ttl == 0"
6360 },
6361 "expression" : {
6362 "type" : "expression",
6363 "value" : {
6364 "op" : "==",
6365 "left" : {
6366 "type" : "field",
6367 "value" : ["mpls", "ttl"]
6368 },
6369 "right" : {
6370 "type" : "hexstr",
6371 "value" : "0x00"
6372 }
6373 }
6374 },
pierventre48e78822020-12-15 17:34:54 +01006375 "true_next" : "tbl_act_19",
6376 "false_next" : "node_73"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006377 },
6378 {
pierventre48e78822020-12-15 17:34:54 +01006379 "name" : "node_69",
6380 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006381 "source_info" : {
6382 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006383 "line" : 378,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006384 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07006385 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006386 },
6387 "expression" : {
6388 "type" : "expression",
6389 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07006390 "op" : "and",
6391 "left" : {
6392 "type" : "expression",
6393 "value" : {
6394 "op" : "d2b",
6395 "left" : null,
6396 "right" : {
6397 "type" : "field",
6398 "value" : ["ipv4", "$valid$"]
6399 }
6400 }
6401 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006402 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07006403 "type" : "expression",
6404 "value" : {
6405 "op" : "!=",
6406 "left" : {
6407 "type" : "field",
6408 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
6409 },
6410 "right" : {
6411 "type" : "hexstr",
6412 "value" : "0x00"
6413 }
6414 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006415 }
6416 }
6417 },
pierventre48e78822020-12-15 17:34:54 +01006418 "true_next" : "tbl_act_20",
6419 "false_next" : "node_73"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006420 },
6421 {
pierventre48e78822020-12-15 17:34:54 +01006422 "name" : "node_71",
6423 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006424 "source_info" : {
6425 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006426 "line" : 380,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006427 "column" : 20,
6428 "source_fragment" : "hdr.ipv4.ttl == 0"
6429 },
6430 "expression" : {
6431 "type" : "expression",
6432 "value" : {
6433 "op" : "==",
6434 "left" : {
6435 "type" : "field",
6436 "value" : ["ipv4", "ttl"]
6437 },
6438 "right" : {
6439 "type" : "hexstr",
6440 "value" : "0x00"
6441 }
6442 }
6443 },
pierventre48e78822020-12-15 17:34:54 +01006444 "true_next" : "tbl_act_21",
6445 "false_next" : "node_73"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006446 },
6447 {
pierventre48e78822020-12-15 17:34:54 +01006448 "name" : "node_73",
6449 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006450 "source_info" : {
6451 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006452 "line" : 358,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006453 "column" : 12,
6454 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
6455 },
6456 "expression" : {
6457 "type" : "expression",
6458 "value" : {
6459 "op" : "==",
6460 "left" : {
6461 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006462 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006463 },
6464 "right" : {
6465 "type" : "hexstr",
6466 "value" : "0x02"
6467 }
6468 }
6469 },
6470 "false_next" : null,
pierventre48e78822020-12-15 17:34:54 +01006471 "true_next" : "node_74"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006472 },
6473 {
pierventre48e78822020-12-15 17:34:54 +01006474 "name" : "node_74",
6475 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006476 "source_info" : {
6477 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006478 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006479 "column" : 12,
6480 "source_fragment" : "hdr.ipv4.isValid()"
6481 },
6482 "expression" : {
6483 "type" : "expression",
6484 "value" : {
6485 "op" : "d2b",
6486 "left" : null,
6487 "right" : {
6488 "type" : "field",
6489 "value" : ["ipv4", "$valid$"]
6490 }
6491 }
6492 },
6493 "false_next" : null,
6494 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006495 }
6496 ]
6497 }
6498 ],
6499 "checksums" : [
6500 {
6501 "name" : "cksum",
6502 "id" : 0,
6503 "source_info" : {
6504 "filename" : "include/checksum.p4",
6505 "line" : 28,
6506 "column" : 8,
6507 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
6508 },
6509 "target" : ["ipv4", "hdr_checksum"],
6510 "type" : "generic",
6511 "calculation" : "calc",
6512 "verify" : false,
6513 "update" : true,
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 "name" : "cksum_0",
6528 "id" : 1,
6529 "source_info" : {
6530 "filename" : "include/checksum.p4",
6531 "line" : 57,
6532 "column" : 8,
6533 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
6534 },
6535 "target" : ["ipv4", "hdr_checksum"],
6536 "type" : "generic",
6537 "calculation" : "calc_0",
6538 "verify" : true,
6539 "update" : false,
6540 "if_cond" : {
6541 "type" : "expression",
6542 "value" : {
6543 "op" : "d2b",
6544 "left" : null,
6545 "right" : {
6546 "type" : "field",
6547 "value" : ["ipv4", "$valid$"]
6548 }
6549 }
6550 }
6551 }
6552 ],
6553 "force_arith" : [],
6554 "extern_instances" : [],
6555 "field_aliases" : [
6556 [
6557 "queueing_metadata.enq_timestamp",
6558 ["standard_metadata", "enq_timestamp"]
6559 ],
6560 [
6561 "queueing_metadata.enq_qdepth",
6562 ["standard_metadata", "enq_qdepth"]
6563 ],
6564 [
6565 "queueing_metadata.deq_timedelta",
6566 ["standard_metadata", "deq_timedelta"]
6567 ],
6568 [
6569 "queueing_metadata.deq_qdepth",
6570 ["standard_metadata", "deq_qdepth"]
6571 ],
6572 [
6573 "intrinsic_metadata.ingress_global_timestamp",
6574 ["standard_metadata", "ingress_global_timestamp"]
6575 ],
6576 [
6577 "intrinsic_metadata.egress_global_timestamp",
6578 ["standard_metadata", "egress_global_timestamp"]
6579 ],
6580 [
6581 "intrinsic_metadata.lf_field_list",
6582 ["standard_metadata", "lf_field_list"]
6583 ],
6584 [
6585 "intrinsic_metadata.mcast_grp",
6586 ["standard_metadata", "mcast_grp"]
6587 ],
6588 [
6589 "intrinsic_metadata.resubmit_flag",
6590 ["standard_metadata", "resubmit_flag"]
6591 ],
6592 [
6593 "intrinsic_metadata.egress_rid",
6594 ["standard_metadata", "egress_rid"]
6595 ],
6596 [
6597 "intrinsic_metadata.recirculate_flag",
6598 ["standard_metadata", "recirculate_flag"]
6599 ],
6600 [
6601 "intrinsic_metadata.priority",
6602 ["standard_metadata", "priority"]
6603 ]
6604 ],
6605 "program" : "fabric.p4",
6606 "__meta__" : {
6607 "version" : [2, 18],
6608 "compiler" : "https://github.com/p4lang/p4c"
6609 }
6610}