blob: 33b915918f00ecec99245134f5c69d8bd4de78ea [file] [log] [blame]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -07007 ["tmp_0", 16, false],
8 ["tmp_1", 16, false],
9 ["tmp_2", 4, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070010 ["tmp", 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],
15 ["egress_next_tmp", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070016 ["fabric_metadata_t._ip_eth_type0", 16, false],
17 ["fabric_metadata_t._vlan_id1", 12, false],
18 ["fabric_metadata_t._vlan_pri2", 3, false],
19 ["fabric_metadata_t._vlan_cfi3", 1, false],
20 ["fabric_metadata_t._push_double_vlan4", 1, false],
21 ["fabric_metadata_t._inner_vlan_id5", 12, false],
22 ["fabric_metadata_t._inner_vlan_pri6", 3, false],
23 ["fabric_metadata_t._inner_vlan_cfi7", 1, false],
24 ["fabric_metadata_t._mpls_label8", 20, false],
25 ["fabric_metadata_t._mpls_ttl9", 8, false],
26 ["fabric_metadata_t._skip_forwarding10", 1, false],
27 ["fabric_metadata_t._skip_next11", 1, false],
28 ["fabric_metadata_t._fwd_type12", 3, false],
29 ["fabric_metadata_t._next_id13", 32, false],
30 ["fabric_metadata_t._is_multicast14", 1, false],
31 ["fabric_metadata_t._is_controller_packet_out15", 1, false],
32 ["fabric_metadata_t._ip_proto16", 8, false],
33 ["fabric_metadata_t._l4_sport17", 16, false],
34 ["fabric_metadata_t._l4_dport18", 16, false],
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040035 ["fabric_metadata_t._ipv4_src_addr19", 32, false],
36 ["fabric_metadata_t._ipv4_dst_addr20", 32, false],
37 ["fabric_metadata_t._bng_type21", 2, false],
38 ["fabric_metadata_t._bng_line_id22", 32, false],
39 ["fabric_metadata_t._bng_pppoe_session_id23", 16, false],
40 ["fabric_metadata_t._bng_ds_meter_result24", 32, false],
41 ["fabric_metadata_t._bng_s_tag25", 12, false],
42 ["fabric_metadata_t._bng_c_tag26", 12, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070043 ["_padding_0", 2, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070044 ]
45 },
46 {
47 "name" : "standard_metadata",
48 "id" : 1,
49 "fields" : [
50 ["ingress_port", 9, false],
51 ["egress_spec", 9, false],
52 ["egress_port", 9, false],
53 ["clone_spec", 32, false],
54 ["instance_type", 32, false],
55 ["drop", 1, false],
56 ["recirculate_port", 16, false],
57 ["packet_length", 32, false],
58 ["enq_timestamp", 32, false],
59 ["enq_qdepth", 19, false],
60 ["deq_timedelta", 32, false],
61 ["deq_qdepth", 19, false],
62 ["ingress_global_timestamp", 48, false],
63 ["egress_global_timestamp", 48, false],
64 ["lf_field_list", 32, false],
65 ["mcast_grp", 16, false],
66 ["resubmit_flag", 32, false],
67 ["egress_rid", 16, false],
68 ["recirculate_flag", 32, false],
69 ["checksum_error", 1, false],
70 ["parser_error", 32, false],
71 ["priority", 3, false],
72 ["_padding", 2, false]
73 ]
74 },
75 {
76 "name" : "ethernet_t",
77 "id" : 2,
78 "fields" : [
79 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070080 ["src_addr", 48, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070081 ]
82 },
83 {
84 "name" : "vlan_tag_t",
85 "id" : 3,
86 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -070087 ["eth_type", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070088 ["pri", 3, false],
89 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070090 ["vlan_id", 12, false]
91 ]
92 },
93 {
94 "name" : "eth_type_t",
95 "id" : 4,
96 "fields" : [
97 ["value", 16, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070098 ]
99 },
100 {
101 "name" : "pppoe_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700102 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700103 "fields" : [
104 ["version", 4, false],
105 ["type_id", 4, false],
106 ["code", 8, false],
107 ["session_id", 16, false],
108 ["length", 16, false],
109 ["protocol", 16, false]
110 ]
111 },
112 {
113 "name" : "mpls_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700114 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700115 "fields" : [
116 ["label", 20, false],
117 ["tc", 3, false],
118 ["bos", 1, false],
119 ["ttl", 8, false]
120 ]
121 },
122 {
123 "name" : "ipv4_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700124 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700125 "fields" : [
126 ["version", 4, false],
127 ["ihl", 4, false],
128 ["dscp", 6, false],
129 ["ecn", 2, false],
130 ["total_len", 16, false],
131 ["identification", 16, false],
132 ["flags", 3, false],
133 ["frag_offset", 13, false],
134 ["ttl", 8, false],
135 ["protocol", 8, false],
136 ["hdr_checksum", 16, false],
137 ["src_addr", 32, false],
138 ["dst_addr", 32, false]
139 ]
140 },
141 {
142 "name" : "tcp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700143 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700144 "fields" : [
145 ["sport", 16, false],
146 ["dport", 16, false],
147 ["seq_no", 32, false],
148 ["ack_no", 32, false],
149 ["data_offset", 4, false],
150 ["res", 3, false],
151 ["ecn", 3, false],
152 ["ctrl", 6, false],
153 ["window", 16, false],
154 ["checksum", 16, false],
155 ["urgent_ptr", 16, false]
156 ]
157 },
158 {
159 "name" : "udp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700160 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700161 "fields" : [
162 ["sport", 16, false],
163 ["dport", 16, false],
164 ["len", 16, false],
165 ["checksum", 16, false]
166 ]
167 },
168 {
169 "name" : "icmp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700170 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700171 "fields" : [
172 ["icmp_type", 8, false],
173 ["icmp_code", 8, false],
174 ["checksum", 16, false],
175 ["identifier", 16, false],
176 ["sequence_number", 16, false],
177 ["timestamp", 64, false]
178 ]
179 },
180 {
181 "name" : "packet_out_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700182 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700183 "fields" : [
184 ["egress_port", 9, false],
185 ["_pad", 7, false]
186 ]
187 },
188 {
189 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700190 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700191 "fields" : [
192 ["ingress_port", 9, false],
193 ["_pad", 7, false]
194 ]
195 }
196 ],
197 "headers" : [
198 {
199 "name" : "scalars",
200 "id" : 0,
201 "header_type" : "scalars_0",
202 "metadata" : true,
203 "pi_omit" : true
204 },
205 {
206 "name" : "standard_metadata",
207 "id" : 1,
208 "header_type" : "standard_metadata",
209 "metadata" : true,
210 "pi_omit" : true
211 },
212 {
213 "name" : "ethernet",
214 "id" : 2,
215 "header_type" : "ethernet_t",
216 "metadata" : false,
217 "pi_omit" : true
218 },
219 {
220 "name" : "vlan_tag",
221 "id" : 3,
222 "header_type" : "vlan_tag_t",
223 "metadata" : false,
224 "pi_omit" : true
225 },
226 {
227 "name" : "inner_vlan_tag",
228 "id" : 4,
229 "header_type" : "vlan_tag_t",
230 "metadata" : false,
231 "pi_omit" : true
232 },
233 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700234 "name" : "eth_type",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700235 "id" : 5,
Daniele Moro5a2de712019-09-24 14:34:07 -0700236 "header_type" : "eth_type_t",
237 "metadata" : false,
238 "pi_omit" : true
239 },
240 {
241 "name" : "pppoe",
242 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700243 "header_type" : "pppoe_t",
244 "metadata" : false,
245 "pi_omit" : true
246 },
247 {
248 "name" : "mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700249 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700250 "header_type" : "mpls_t",
251 "metadata" : false,
252 "pi_omit" : true
253 },
254 {
255 "name" : "ipv4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700256 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700257 "header_type" : "ipv4_t",
258 "metadata" : false,
259 "pi_omit" : true
260 },
261 {
262 "name" : "tcp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700263 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700264 "header_type" : "tcp_t",
265 "metadata" : false,
266 "pi_omit" : true
267 },
268 {
269 "name" : "udp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700270 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700271 "header_type" : "udp_t",
272 "metadata" : false,
273 "pi_omit" : true
274 },
275 {
276 "name" : "icmp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700277 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700278 "header_type" : "icmp_t",
279 "metadata" : false,
280 "pi_omit" : true
281 },
282 {
283 "name" : "packet_out",
Daniele Moro5a2de712019-09-24 14:34:07 -0700284 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700285 "header_type" : "packet_out_header_t",
286 "metadata" : false,
287 "pi_omit" : true
288 },
289 {
290 "name" : "packet_in",
Daniele Moro5a2de712019-09-24 14:34:07 -0700291 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700292 "header_type" : "packet_in_header_t",
293 "metadata" : false,
294 "pi_omit" : true
295 }
296 ],
297 "header_stacks" : [],
298 "header_union_types" : [],
299 "header_unions" : [],
300 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700301 "field_lists" : [
302 {
303 "id" : 1,
304 "name" : "fl",
305 "source_info" : {
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700306 "filename" : "include/control/acl.p4",
307 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700308 "column" : 40,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700309 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700310 },
311 "elements" : [
312 {
313 "type" : "field",
314 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700315 }
316 ]
317 }
318 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700319 "errors" : [
320 ["NoError", 1],
321 ["PacketTooShort", 2],
322 ["NoMatch", 3],
323 ["StackOutOfBounds", 4],
324 ["HeaderTooShort", 5],
325 ["ParserTimeout", 6],
326 ["ParserInvalidArgument", 7]
327 ],
328 "enums" : [],
329 "parsers" : [
330 {
331 "name" : "parser",
332 "id" : 0,
333 "init_state" : "start",
334 "parse_states" : [
335 {
336 "name" : "start",
337 "id" : 0,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400338 "parser_ops" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700339 "transitions" : [
340 {
341 "type" : "hexstr",
342 "value" : "0x00ff",
343 "mask" : null,
344 "next_state" : "parse_packet_out"
345 },
346 {
347 "value" : "default",
348 "mask" : null,
349 "next_state" : "parse_ethernet"
350 }
351 ],
352 "transition_key" : [
353 {
354 "type" : "field",
355 "value" : ["standard_metadata", "ingress_port"]
356 }
357 ]
358 },
359 {
360 "name" : "parse_packet_out",
361 "id" : 1,
362 "parser_ops" : [
363 {
364 "parameters" : [
365 {
366 "type" : "regular",
367 "value" : "packet_out"
368 }
369 ],
370 "op" : "extract"
371 }
372 ],
373 "transitions" : [
374 {
375 "value" : "default",
376 "mask" : null,
377 "next_state" : "parse_ethernet"
378 }
379 ],
380 "transition_key" : []
381 },
382 {
383 "name" : "parse_ethernet",
384 "id" : 2,
385 "parser_ops" : [
386 {
387 "parameters" : [
388 {
389 "type" : "regular",
390 "value" : "ethernet"
391 }
392 ],
393 "op" : "extract"
394 },
395 {
396 "parameters" : [
397 {
398 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700399 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700400 },
401 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700402 "type" : "hexstr",
403 "value" : "0x0ffe"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700404 }
405 ],
406 "op" : "set"
407 },
408 {
409 "parameters" : [
410 {
411 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700412 "value" : ["scalars", "tmp_0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700413 },
414 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700415 "type" : "lookahead",
416 "value" : [0, 16]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700417 }
418 ],
419 "op" : "set"
420 }
421 ],
422 "transitions" : [
423 {
424 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700425 "value" : "0x88a8",
426 "mask" : null,
427 "next_state" : "parse_vlan_tag"
428 },
429 {
430 "type" : "hexstr",
431 "value" : "0x9100",
432 "mask" : null,
433 "next_state" : "parse_vlan_tag"
434 },
435 {
436 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700437 "value" : "0x8100",
438 "mask" : null,
439 "next_state" : "parse_vlan_tag"
440 },
441 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700442 "value" : "default",
443 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700444 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700445 }
446 ],
447 "transition_key" : [
448 {
449 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700450 "value" : ["scalars", "tmp_0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700451 }
452 ]
453 },
454 {
455 "name" : "parse_vlan_tag",
456 "id" : 3,
457 "parser_ops" : [
458 {
459 "parameters" : [
460 {
461 "type" : "regular",
462 "value" : "vlan_tag"
463 }
464 ],
465 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700466 },
467 {
468 "parameters" : [
469 {
470 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400471 "value" : ["scalars", "fabric_metadata_t._bng_s_tag25"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700472 },
473 {
474 "type" : "field",
475 "value" : ["vlan_tag", "vlan_id"]
476 }
477 ],
478 "op" : "set"
479 },
480 {
481 "parameters" : [
482 {
483 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700484 "value" : ["scalars", "tmp_1"]
485 },
486 {
487 "type" : "lookahead",
488 "value" : [0, 16]
489 }
490 ],
491 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700492 }
493 ],
494 "transitions" : [
495 {
496 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700497 "value" : "0x8100",
498 "mask" : null,
499 "next_state" : "parse_inner_vlan_tag"
500 },
501 {
502 "value" : "default",
503 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700504 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700505 }
506 ],
507 "transition_key" : [
508 {
509 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700510 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700511 }
512 ]
513 },
514 {
515 "name" : "parse_inner_vlan_tag",
516 "id" : 4,
517 "parser_ops" : [
518 {
519 "parameters" : [
520 {
521 "type" : "regular",
522 "value" : "inner_vlan_tag"
523 }
524 ],
525 "op" : "extract"
Daniele Morob3d199b2019-11-01 14:01:46 -0700526 },
527 {
528 "parameters" : [
529 {
530 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400531 "value" : ["scalars", "fabric_metadata_t._bng_c_tag26"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700532 },
533 {
534 "type" : "field",
535 "value" : ["inner_vlan_tag", "vlan_id"]
536 }
537 ],
538 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700539 }
540 ],
541 "transitions" : [
542 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700543 "value" : "default",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700544 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700545 "next_state" : "parse_eth_type"
546 }
547 ],
548 "transition_key" : []
549 },
550 {
551 "name" : "parse_eth_type",
552 "id" : 5,
553 "parser_ops" : [
554 {
555 "parameters" : [
556 {
557 "type" : "regular",
558 "value" : "eth_type"
559 }
560 ],
561 "op" : "extract"
562 }
563 ],
564 "transitions" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700565 {
566 "type" : "hexstr",
567 "value" : "0x8847",
568 "mask" : null,
569 "next_state" : "parse_mpls"
570 },
571 {
572 "type" : "hexstr",
Daniele Moro5a2de712019-09-24 14:34:07 -0700573 "value" : "0x0800",
574 "mask" : null,
575 "next_state" : "parse_ipv4"
576 },
577 {
578 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700579 "value" : "0x8863",
580 "mask" : null,
581 "next_state" : "parse_pppoe"
582 },
583 {
584 "type" : "hexstr",
585 "value" : "0x8864",
586 "mask" : null,
587 "next_state" : "parse_pppoe"
588 },
589 {
590 "value" : "default",
591 "mask" : null,
592 "next_state" : null
593 }
594 ],
595 "transition_key" : [
596 {
597 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700598 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700599 }
600 ]
601 },
602 {
603 "name" : "parse_pppoe",
Daniele Moro5a2de712019-09-24 14:34:07 -0700604 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700605 "parser_ops" : [
606 {
607 "parameters" : [
608 {
609 "type" : "regular",
610 "value" : "pppoe"
611 }
612 ],
613 "op" : "extract"
614 }
615 ],
616 "transitions" : [
617 {
618 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700619 "value" : "0x0281",
620 "mask" : null,
621 "next_state" : "parse_mpls"
622 },
623 {
624 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700625 "value" : "0x0021",
626 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700627 "next_state" : "parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700628 },
629 {
630 "value" : "default",
631 "mask" : null,
632 "next_state" : null
633 }
634 ],
635 "transition_key" : [
636 {
637 "type" : "field",
638 "value" : ["pppoe", "protocol"]
639 }
640 ]
641 },
642 {
643 "name" : "parse_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700644 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700645 "parser_ops" : [
646 {
647 "parameters" : [
648 {
649 "type" : "regular",
650 "value" : "mpls"
651 }
652 ],
653 "op" : "extract"
654 },
655 {
656 "parameters" : [
657 {
658 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700659 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700660 },
661 {
662 "type" : "field",
663 "value" : ["mpls", "label"]
664 }
665 ],
666 "op" : "set"
667 },
668 {
669 "parameters" : [
670 {
671 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700672 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700673 },
674 {
675 "type" : "field",
676 "value" : ["mpls", "ttl"]
677 }
678 ],
679 "op" : "set"
680 },
681 {
682 "parameters" : [
683 {
684 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700685 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700686 },
687 {
688 "type" : "lookahead",
689 "value" : [0, 4]
690 }
691 ],
692 "op" : "set"
693 }
694 ],
695 "transitions" : [
696 {
697 "type" : "hexstr",
698 "value" : "0x04",
699 "mask" : null,
700 "next_state" : "parse_ipv4"
701 },
702 {
703 "value" : "default",
704 "mask" : null,
705 "next_state" : "parse_ethernet"
706 }
707 ],
708 "transition_key" : [
709 {
710 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700711 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700712 }
713 ]
714 },
715 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700716 "name" : "parse_ipv4",
717 "id" : 8,
718 "parser_ops" : [
719 {
720 "parameters" : [
721 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700722 "type" : "regular",
723 "value" : "ipv4"
724 }
725 ],
726 "op" : "extract"
727 },
728 {
729 "parameters" : [
730 {
731 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700732 "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700733 },
734 {
735 "type" : "field",
736 "value" : ["ipv4", "protocol"]
737 }
738 ],
739 "op" : "set"
740 },
741 {
742 "parameters" : [
743 {
744 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700745 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700746 },
747 {
748 "type" : "hexstr",
749 "value" : "0x0800"
750 }
751 ],
752 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400753 },
754 {
755 "parameters" : [
756 {
757 "type" : "field",
758 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr19"]
759 },
760 {
761 "type" : "field",
762 "value" : ["ipv4", "src_addr"]
763 }
764 ],
765 "op" : "set"
766 },
767 {
768 "parameters" : [
769 {
770 "type" : "field",
771 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"]
772 },
773 {
774 "type" : "field",
775 "value" : ["ipv4", "dst_addr"]
776 }
777 ],
778 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700779 }
780 ],
781 "transitions" : [
782 {
783 "type" : "hexstr",
784 "value" : "0x06",
785 "mask" : null,
786 "next_state" : "parse_tcp"
787 },
788 {
789 "type" : "hexstr",
790 "value" : "0x11",
791 "mask" : null,
792 "next_state" : "parse_udp"
793 },
794 {
795 "type" : "hexstr",
796 "value" : "0x01",
797 "mask" : null,
798 "next_state" : "parse_icmp"
799 },
800 {
801 "value" : "default",
802 "mask" : null,
803 "next_state" : null
804 }
805 ],
806 "transition_key" : [
807 {
808 "type" : "field",
809 "value" : ["ipv4", "protocol"]
810 }
811 ]
812 },
813 {
814 "name" : "parse_tcp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700815 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700816 "parser_ops" : [
817 {
818 "parameters" : [
819 {
820 "type" : "regular",
821 "value" : "tcp"
822 }
823 ],
824 "op" : "extract"
825 },
826 {
827 "parameters" : [
828 {
829 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700830 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700831 },
832 {
833 "type" : "field",
834 "value" : ["tcp", "sport"]
835 }
836 ],
837 "op" : "set"
838 },
839 {
840 "parameters" : [
841 {
842 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700843 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700844 },
845 {
846 "type" : "field",
847 "value" : ["tcp", "dport"]
848 }
849 ],
850 "op" : "set"
851 }
852 ],
853 "transitions" : [
854 {
855 "value" : "default",
856 "mask" : null,
857 "next_state" : null
858 }
859 ],
860 "transition_key" : []
861 },
862 {
863 "name" : "parse_udp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700864 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700865 "parser_ops" : [
866 {
867 "parameters" : [
868 {
869 "type" : "regular",
870 "value" : "udp"
871 }
872 ],
873 "op" : "extract"
874 },
875 {
876 "parameters" : [
877 {
878 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700879 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700880 },
881 {
882 "type" : "field",
883 "value" : ["udp", "sport"]
884 }
885 ],
886 "op" : "set"
887 },
888 {
889 "parameters" : [
890 {
891 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700892 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700893 },
894 {
895 "type" : "field",
896 "value" : ["udp", "dport"]
897 }
898 ],
899 "op" : "set"
900 }
901 ],
902 "transitions" : [
903 {
904 "value" : "default",
905 "mask" : null,
906 "next_state" : null
907 }
908 ],
909 "transition_key" : [
910 {
911 "type" : "field",
912 "value" : ["udp", "dport"]
913 }
914 ]
915 },
916 {
917 "name" : "parse_icmp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700918 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700919 "parser_ops" : [
920 {
921 "parameters" : [
922 {
923 "type" : "regular",
924 "value" : "icmp"
925 }
926 ],
927 "op" : "extract"
928 }
929 ],
930 "transitions" : [
931 {
932 "value" : "default",
933 "mask" : null,
934 "next_state" : null
935 }
936 ],
937 "transition_key" : []
938 }
939 ]
940 }
941 ],
942 "parse_vsets" : [],
943 "deparsers" : [
944 {
945 "name" : "deparser",
946 "id" : 0,
947 "source_info" : {
948 "filename" : "include/parser.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -0700949 "line" : 268,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700950 "column" : 8,
951 "source_fragment" : "FabricDeparser"
952 },
Daniele Moro5a2de712019-09-24 14:34:07 -0700953 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700954 }
955 ],
956 "meter_arrays" : [
957 {
958 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
959 "id" : 0,
960 "source_info" : {
961 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -0800962 "line" : 154,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700963 "column" : 33,
964 "source_fragment" : "m_besteff"
965 },
966 "is_direct" : false,
967 "size" : 8192,
968 "rate_count" : 2,
969 "type" : "bytes"
970 },
971 {
972 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
973 "id" : 1,
974 "source_info" : {
975 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -0800976 "line" : 155,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700977 "column" : 33,
978 "source_fragment" : "m_prio"
979 },
980 "is_direct" : false,
981 "size" : 8192,
982 "rate_count" : 2,
983 "type" : "bytes"
984 }
985 ],
986 "counter_arrays" : [
987 {
988 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
989 "id" : 0,
990 "source_info" : {
991 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700992 "line" : 36,
Daniele Moroce424ca2019-10-03 16:44:33 -0700993 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700994 "source_fragment" : "c_terminated"
995 },
996 "size" : 8192,
997 "is_direct" : false
998 },
999 {
1000 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
1001 "id" : 1,
1002 "source_info" : {
1003 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001004 "line" : 37,
Daniele Moroce424ca2019-10-03 16:44:33 -07001005 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001006 "source_fragment" : "c_dropped"
1007 },
1008 "size" : 8192,
1009 "is_direct" : false
1010 },
1011 {
1012 "name" : "FabricIngress.bng_ingress.upstream.c_control",
1013 "id" : 2,
1014 "source_info" : {
1015 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001016 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001017 "column" : 39,
1018 "source_fragment" : "c_control"
1019 },
1020 "size" : 8192,
1021 "is_direct" : false
1022 },
1023 {
1024 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
1025 "id" : 3,
1026 "source_info" : {
1027 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001028 "line" : 152,
Daniele Moroce424ca2019-10-03 16:44:33 -07001029 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001030 "source_fragment" : "c_line_rx"
1031 },
1032 "size" : 8192,
1033 "is_direct" : false
1034 },
1035 {
1036 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1037 "id" : 4,
1038 "is_direct" : true,
1039 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1040 "source_info" : {
1041 "filename" : "include/control/filtering.p4",
1042 "line" : 31,
1043 "column" : 50,
1044 "source_fragment" : "ingress_port_vlan_counter"
1045 }
1046 },
1047 {
1048 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1049 "id" : 5,
1050 "is_direct" : true,
1051 "binding" : "FabricIngress.filtering.fwd_classifier",
1052 "source_info" : {
1053 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001054 "line" : 85,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001055 "column" : 50,
1056 "source_fragment" : "fwd_classifier_counter"
1057 }
1058 },
1059 {
1060 "name" : "FabricIngress.forwarding.bridging_counter",
1061 "id" : 6,
1062 "is_direct" : true,
1063 "binding" : "FabricIngress.forwarding.bridging",
1064 "source_info" : {
1065 "filename" : "include/control/forwarding.p4",
1066 "line" : 36,
1067 "column" : 50,
1068 "source_fragment" : "bridging_counter"
1069 }
1070 },
1071 {
1072 "name" : "FabricIngress.forwarding.mpls_counter",
1073 "id" : 7,
1074 "is_direct" : true,
1075 "binding" : "FabricIngress.forwarding.mpls",
1076 "source_info" : {
1077 "filename" : "include/control/forwarding.p4",
1078 "line" : 63,
1079 "column" : 50,
1080 "source_fragment" : "mpls_counter"
1081 }
1082 },
1083 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001084 "name" : "FabricIngress.acl.acl_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001085 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001086 "is_direct" : true,
1087 "binding" : "FabricIngress.acl.acl",
1088 "source_info" : {
1089 "filename" : "include/control/acl.p4",
1090 "line" : 30,
1091 "column" : 50,
1092 "source_fragment" : "acl_counter"
1093 }
1094 },
1095 {
1096 "name" : "FabricIngress.next.next_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001097 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001098 "is_direct" : true,
1099 "binding" : "FabricIngress.next.next_vlan",
1100 "source_info" : {
1101 "filename" : "include/control/next.p4",
1102 "line" : 67,
1103 "column" : 50,
1104 "source_fragment" : "next_vlan_counter"
1105 }
1106 },
1107 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001108 "name" : "FabricIngress.next.hashed_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001109 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001110 "is_direct" : true,
1111 "binding" : "FabricIngress.next.hashed",
1112 "source_info" : {
1113 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001114 "line" : 184,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001115 "column" : 50,
1116 "source_fragment" : "hashed_counter"
1117 }
1118 },
1119 {
1120 "name" : "FabricIngress.next.multicast_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001121 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001122 "is_direct" : true,
1123 "binding" : "FabricIngress.next.multicast",
1124 "source_info" : {
1125 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001126 "line" : 228,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001127 "column" : 50,
1128 "source_fragment" : "multicast_counter"
1129 }
1130 },
1131 {
1132 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001133 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001134 "source_info" : {
1135 "filename" : "include/control/port_counter.p4",
1136 "line" : 26,
1137 "column" : 48,
1138 "source_fragment" : "egress_port_counter"
1139 },
1140 "size" : 511,
1141 "is_direct" : false
1142 },
1143 {
1144 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001145 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001146 "source_info" : {
1147 "filename" : "include/control/port_counter.p4",
1148 "line" : 27,
1149 "column" : 48,
1150 "source_fragment" : "ingress_port_counter"
1151 },
1152 "size" : 511,
1153 "is_direct" : false
1154 },
1155 {
1156 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Daniele Moro5a2de712019-09-24 14:34:07 -07001157 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001158 "source_info" : {
1159 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001160 "line" : 267,
Daniele Moroce424ca2019-10-03 16:44:33 -07001161 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001162 "source_fragment" : "c_line_tx"
1163 },
1164 "size" : 8192,
1165 "is_direct" : false
1166 },
1167 {
1168 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001169 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001170 "is_direct" : true,
1171 "binding" : "FabricEgress.egress_next.egress_vlan",
1172 "source_info" : {
1173 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001174 "line" : 313,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001175 "column" : 50,
1176 "source_fragment" : "egress_vlan_counter"
1177 }
1178 }
1179 ],
1180 "register_arrays" : [],
1181 "calculations" : [
1182 {
1183 "name" : "calc",
1184 "id" : 0,
1185 "source_info" : {
1186 "filename" : "include/checksum.p4",
1187 "line" : 28,
1188 "column" : 8,
1189 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1190 },
1191 "algo" : "csum16",
1192 "input" : [
1193 {
1194 "type" : "field",
1195 "value" : ["ipv4", "version"]
1196 },
1197 {
1198 "type" : "field",
1199 "value" : ["ipv4", "ihl"]
1200 },
1201 {
1202 "type" : "field",
1203 "value" : ["ipv4", "dscp"]
1204 },
1205 {
1206 "type" : "field",
1207 "value" : ["ipv4", "ecn"]
1208 },
1209 {
1210 "type" : "field",
1211 "value" : ["ipv4", "total_len"]
1212 },
1213 {
1214 "type" : "field",
1215 "value" : ["ipv4", "identification"]
1216 },
1217 {
1218 "type" : "field",
1219 "value" : ["ipv4", "flags"]
1220 },
1221 {
1222 "type" : "field",
1223 "value" : ["ipv4", "frag_offset"]
1224 },
1225 {
1226 "type" : "field",
1227 "value" : ["ipv4", "ttl"]
1228 },
1229 {
1230 "type" : "field",
1231 "value" : ["ipv4", "protocol"]
1232 },
1233 {
1234 "type" : "field",
1235 "value" : ["ipv4", "src_addr"]
1236 },
1237 {
1238 "type" : "field",
1239 "value" : ["ipv4", "dst_addr"]
1240 }
1241 ]
1242 },
1243 {
1244 "name" : "calc_0",
1245 "id" : 1,
1246 "source_info" : {
1247 "filename" : "include/checksum.p4",
1248 "line" : 57,
1249 "column" : 8,
1250 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1251 },
1252 "algo" : "csum16",
1253 "input" : [
1254 {
1255 "type" : "field",
1256 "value" : ["ipv4", "version"]
1257 },
1258 {
1259 "type" : "field",
1260 "value" : ["ipv4", "ihl"]
1261 },
1262 {
1263 "type" : "field",
1264 "value" : ["ipv4", "dscp"]
1265 },
1266 {
1267 "type" : "field",
1268 "value" : ["ipv4", "ecn"]
1269 },
1270 {
1271 "type" : "field",
1272 "value" : ["ipv4", "total_len"]
1273 },
1274 {
1275 "type" : "field",
1276 "value" : ["ipv4", "identification"]
1277 },
1278 {
1279 "type" : "field",
1280 "value" : ["ipv4", "flags"]
1281 },
1282 {
1283 "type" : "field",
1284 "value" : ["ipv4", "frag_offset"]
1285 },
1286 {
1287 "type" : "field",
1288 "value" : ["ipv4", "ttl"]
1289 },
1290 {
1291 "type" : "field",
1292 "value" : ["ipv4", "protocol"]
1293 },
1294 {
1295 "type" : "field",
1296 "value" : ["ipv4", "src_addr"]
1297 },
1298 {
1299 "type" : "field",
1300 "value" : ["ipv4", "dst_addr"]
1301 }
1302 ]
1303 }
1304 ],
1305 "learn_lists" : [],
1306 "actions" : [
1307 {
1308 "name" : "nop",
1309 "id" : 0,
1310 "runtime_data" : [],
1311 "primitives" : []
1312 },
1313 {
1314 "name" : "nop",
1315 "id" : 1,
1316 "runtime_data" : [],
1317 "primitives" : []
1318 },
1319 {
1320 "name" : "nop",
1321 "id" : 2,
1322 "runtime_data" : [],
1323 "primitives" : []
1324 },
1325 {
1326 "name" : "nop",
1327 "id" : 3,
1328 "runtime_data" : [],
1329 "primitives" : []
1330 },
1331 {
1332 "name" : "nop",
1333 "id" : 4,
1334 "runtime_data" : [],
1335 "primitives" : []
1336 },
1337 {
1338 "name" : "nop",
1339 "id" : 5,
1340 "runtime_data" : [],
1341 "primitives" : []
1342 },
1343 {
1344 "name" : "nop",
1345 "id" : 6,
1346 "runtime_data" : [],
1347 "primitives" : []
1348 },
1349 {
1350 "name" : "nop",
1351 "id" : 7,
1352 "runtime_data" : [],
1353 "primitives" : []
1354 },
1355 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001356 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07001357 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001358 "runtime_data" : [],
1359 "primitives" : [
1360 {
1361 "op" : "assign",
1362 "parameters" : [
1363 {
1364 "type" : "field",
1365 "value" : ["standard_metadata", "egress_spec"]
1366 },
1367 {
1368 "type" : "hexstr",
1369 "value" : "0x00ff"
1370 }
1371 ],
1372 "source_info" : {
1373 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001374 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001375 "column" : 8,
1376 "source_fragment" : "smeta.egress_spec = 255"
1377 }
1378 },
1379 {
Daniele Moro0cecfe12019-12-13 17:24:33 -08001380 "op" : "assign",
1381 "parameters" : [
1382 {
1383 "type" : "field",
1384 "value" : ["standard_metadata", "mcast_grp"]
1385 },
1386 {
1387 "type" : "hexstr",
1388 "value" : "0x0000"
1389 }
1390 ],
1391 "source_info" : {
1392 "filename" : "include/bng.p4",
1393 "line" : 47,
1394 "column" : 8,
1395 "source_fragment" : "smeta.mcast_grp = 0"
1396 }
1397 },
1398 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001399 "op" : "count",
1400 "parameters" : [
1401 {
1402 "type" : "counter_array",
1403 "value" : "FabricIngress.bng_ingress.upstream.c_control"
1404 },
1405 {
1406 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001407 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001408 }
1409 ],
1410 "source_info" : {
1411 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001412 "line" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001413 "column" : 8,
1414 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
1415 }
1416 }
1417 ]
1418 },
1419 {
1420 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Daniele Moro5a2de712019-09-24 14:34:07 -07001421 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001422 "runtime_data" : [],
1423 "primitives" : [
1424 {
1425 "op" : "assign",
1426 "parameters" : [
1427 {
1428 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001429 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001430 },
1431 {
1432 "type" : "hexstr",
1433 "value" : "0x00"
1434 }
1435 ],
1436 "source_info" : {
1437 "filename" : "include/control/../header.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07001438 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001439 "column" : 36,
1440 "source_fragment" : "2w0x0; ..."
1441 }
1442 },
1443 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001444 "op" : "mark_to_drop",
1445 "parameters" : [
1446 {
1447 "type" : "header",
1448 "value" : "standard_metadata"
1449 }
1450 ],
1451 "source_info" : {
1452 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001453 "line" : 77,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001454 "column" : 8,
1455 "source_fragment" : "mark_to_drop(smeta)"
1456 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001457 }
1458 ]
1459 },
1460 {
1461 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001462 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001463 "runtime_data" : [],
1464 "primitives" : [
1465 {
1466 "op" : "assign",
1467 "parameters" : [
1468 {
1469 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001470 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001471 },
1472 {
1473 "type" : "hexstr",
1474 "value" : "0x0800"
1475 }
1476 ],
1477 "source_info" : {
1478 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07001479 "line" : 128,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001480 "column" : 31,
1481 "source_fragment" : "0x0800; ..."
1482 }
1483 },
1484 {
1485 "op" : "remove_header",
1486 "parameters" : [
1487 {
1488 "type" : "header",
1489 "value" : "pppoe"
1490 }
1491 ],
1492 "source_info" : {
1493 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001494 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001495 "column" : 8,
1496 "source_fragment" : "hdr.pppoe.setInvalid()"
1497 }
1498 },
1499 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001500 "op" : "count",
1501 "parameters" : [
1502 {
1503 "type" : "counter_array",
1504 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
1505 },
1506 {
1507 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001508 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001509 }
1510 ],
1511 "source_info" : {
1512 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001513 "line" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001514 "column" : 8,
1515 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
1516 }
1517 }
1518 ]
1519 },
1520 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001521 "name" : "FabricIngress.bng_ingress.downstream.set_session",
Daniele Moro5a2de712019-09-24 14:34:07 -07001522 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001523 "runtime_data" : [
1524 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001525 "name" : "pppoe_session_id",
1526 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001527 }
1528 ],
1529 "primitives" : [
1530 {
1531 "op" : "assign",
1532 "parameters" : [
1533 {
1534 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001535 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001536 },
1537 {
1538 "type" : "hexstr",
1539 "value" : "0x02"
1540 }
1541 ],
1542 "source_info" : {
1543 "filename" : "include/control/../header.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07001544 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001545 "column" : 39,
1546 "source_fragment" : "2w0x2;; ..."
1547 }
1548 },
1549 {
1550 "op" : "assign",
1551 "parameters" : [
1552 {
1553 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001554 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001555 },
1556 {
1557 "type" : "runtime_data",
1558 "value" : 0
1559 }
1560 ],
1561 "source_info" : {
1562 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001563 "line" : 159,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001564 "column" : 35,
1565 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001566 }
1567 },
1568 {
1569 "op" : "count",
1570 "parameters" : [
1571 {
1572 "type" : "counter_array",
1573 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1574 },
1575 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001576 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001577 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001578 }
1579 ],
1580 "source_info" : {
1581 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001582 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001583 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001584 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001585 }
1586 }
1587 ]
1588 },
1589 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001590 "name" : "FabricIngress.bng_ingress.downstream.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07001591 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001592 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001593 "primitives" : [
1594 {
1595 "op" : "assign",
1596 "parameters" : [
1597 {
1598 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001599 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001600 },
1601 {
1602 "type" : "hexstr",
1603 "value" : "0x02"
1604 }
1605 ],
1606 "source_info" : {
1607 "filename" : "include/control/../header.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07001608 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001609 "column" : 39,
1610 "source_fragment" : "2w0x2;; ..."
1611 }
1612 },
1613 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001614 "op" : "count",
1615 "parameters" : [
1616 {
1617 "type" : "counter_array",
1618 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1619 },
1620 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001621 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001622 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001623 }
1624 ],
1625 "source_info" : {
1626 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001627 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001628 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001629 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001630 }
1631 },
1632 {
1633 "op" : "mark_to_drop",
1634 "parameters" : [
1635 {
1636 "type" : "header",
1637 "value" : "standard_metadata"
1638 }
1639 ],
1640 "source_info" : {
1641 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001642 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001643 "column" : 8,
1644 "source_fragment" : "mark_to_drop(smeta)"
1645 }
1646 }
1647 ]
1648 },
1649 {
1650 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro5a2de712019-09-24 14:34:07 -07001651 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001652 "runtime_data" : [],
Daniele Moro7c3a0022019-07-12 13:38:34 -07001653 "primitives" : []
1654 },
1655 {
1656 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
Daniele Moro5a2de712019-09-24 14:34:07 -07001657 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001658 "runtime_data" : [],
1659 "primitives" : []
1660 },
1661 {
1662 "name" : "FabricIngress.bng_ingress.set_line",
Daniele Moro5a2de712019-09-24 14:34:07 -07001663 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001664 "runtime_data" : [
1665 {
1666 "name" : "line_id",
1667 "bitwidth" : 32
1668 }
1669 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001670 "primitives" : [
1671 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001672 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001673 "parameters" : [
1674 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001675 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001676 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001677 },
1678 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001679 "type" : "runtime_data",
1680 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001681 }
1682 ],
1683 "source_info" : {
1684 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001685 "line" : 320,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001686 "column" : 30,
1687 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001688 }
1689 }
1690 ]
1691 },
1692 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001693 "name" : "FabricIngress.filtering.deny",
Daniele Moro5a2de712019-09-24 14:34:07 -07001694 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001695 "runtime_data" : [],
1696 "primitives" : [
1697 {
1698 "op" : "assign",
1699 "parameters" : [
1700 {
1701 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001702 "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001703 },
1704 {
1705 "type" : "expression",
1706 "value" : {
1707 "type" : "expression",
1708 "value" : {
1709 "op" : "b2d",
1710 "left" : null,
1711 "right" : {
1712 "type" : "bool",
1713 "value" : true
1714 }
1715 }
1716 }
1717 }
1718 ],
1719 "source_info" : {
1720 "filename" : "include/control/filtering.p4",
1721 "line" : 36,
1722 "column" : 40,
1723 "source_fragment" : "= true; ..."
1724 }
1725 },
1726 {
1727 "op" : "assign",
1728 "parameters" : [
1729 {
1730 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001731 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001732 },
1733 {
1734 "type" : "expression",
1735 "value" : {
1736 "type" : "expression",
1737 "value" : {
1738 "op" : "b2d",
1739 "left" : null,
1740 "right" : {
1741 "type" : "bool",
1742 "value" : true
1743 }
1744 }
1745 }
1746 }
1747 ],
1748 "source_info" : {
1749 "filename" : "include/control/filtering.p4",
1750 "line" : 37,
1751 "column" : 34,
1752 "source_fragment" : "= true; ..."
1753 }
1754 }
1755 ]
1756 },
1757 {
1758 "name" : "FabricIngress.filtering.permit",
Daniele Moro5a2de712019-09-24 14:34:07 -07001759 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001760 "runtime_data" : [],
1761 "primitives" : []
1762 },
1763 {
1764 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07001765 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001766 "runtime_data" : [
1767 {
1768 "name" : "vlan_id",
1769 "bitwidth" : 12
1770 }
1771 ],
1772 "primitives" : [
1773 {
1774 "op" : "assign",
1775 "parameters" : [
1776 {
1777 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001778 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001779 },
1780 {
1781 "type" : "runtime_data",
1782 "value" : 0
1783 }
1784 ],
1785 "source_info" : {
1786 "filename" : "include/control/filtering.p4",
1787 "line" : 47,
1788 "column" : 32,
1789 "source_fragment" : "= vlan_id; ..."
1790 }
1791 }
1792 ]
1793 },
1794 {
1795 "name" : "FabricIngress.filtering.set_forwarding_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07001796 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001797 "runtime_data" : [
1798 {
1799 "name" : "fwd_type",
1800 "bitwidth" : 3
1801 }
1802 ],
1803 "primitives" : [
1804 {
1805 "op" : "assign",
1806 "parameters" : [
1807 {
1808 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001809 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001810 },
1811 {
1812 "type" : "runtime_data",
1813 "value" : 0
1814 }
1815 ],
1816 "source_info" : {
1817 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001818 "line" : 88,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001819 "column" : 33,
1820 "source_fragment" : "= fwd_type; ..."
1821 }
1822 }
1823 ]
1824 },
1825 {
1826 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07001827 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001828 "runtime_data" : [
1829 {
1830 "name" : "next_id",
1831 "bitwidth" : 32
1832 }
1833 ],
1834 "primitives" : [
1835 {
1836 "op" : "assign",
1837 "parameters" : [
1838 {
1839 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001840 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001841 },
1842 {
1843 "type" : "runtime_data",
1844 "value" : 0
1845 }
1846 ],
1847 "source_info" : {
1848 "filename" : "include/control/forwarding.p4",
1849 "line" : 30,
1850 "column" : 32,
1851 "source_fragment" : "= next_id; ..."
1852 }
1853 }
1854 ]
1855 },
1856 {
1857 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Daniele Moro5a2de712019-09-24 14:34:07 -07001858 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001859 "runtime_data" : [
1860 {
1861 "name" : "next_id",
1862 "bitwidth" : 32
1863 }
1864 ],
1865 "primitives" : [
1866 {
1867 "op" : "assign",
1868 "parameters" : [
1869 {
1870 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001871 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001872 },
1873 {
1874 "type" : "hexstr",
1875 "value" : "0x000000"
1876 }
1877 ],
1878 "source_info" : {
1879 "filename" : "include/control/forwarding.p4",
1880 "line" : 66,
1881 "column" : 35,
1882 "source_fragment" : "= 0; ..."
1883 }
1884 },
1885 {
1886 "op" : "assign",
1887 "parameters" : [
1888 {
1889 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001890 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001891 },
1892 {
1893 "type" : "runtime_data",
1894 "value" : 0
1895 }
1896 ],
1897 "source_info" : {
1898 "filename" : "include/control/forwarding.p4",
1899 "line" : 30,
1900 "column" : 32,
1901 "source_fragment" : "= next_id; ..."
1902 }
1903 }
1904 ]
1905 },
1906 {
1907 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001908 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001909 "runtime_data" : [
1910 {
1911 "name" : "next_id",
1912 "bitwidth" : 32
1913 }
1914 ],
1915 "primitives" : [
1916 {
1917 "op" : "assign",
1918 "parameters" : [
1919 {
1920 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001921 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001922 },
1923 {
1924 "type" : "runtime_data",
1925 "value" : 0
1926 }
1927 ],
1928 "source_info" : {
1929 "filename" : "include/control/forwarding.p4",
1930 "line" : 30,
1931 "column" : 32,
1932 "source_fragment" : "= next_id; ..."
1933 }
1934 }
1935 ]
1936 },
1937 {
1938 "name" : "FabricIngress.forwarding.nop_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001939 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001940 "runtime_data" : [],
1941 "primitives" : []
1942 },
1943 {
1944 "name" : "FabricIngress.acl.set_next_id_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07001945 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001946 "runtime_data" : [
1947 {
1948 "name" : "next_id",
1949 "bitwidth" : 32
1950 }
1951 ],
1952 "primitives" : [
1953 {
1954 "op" : "assign",
1955 "parameters" : [
1956 {
1957 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001958 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001959 },
1960 {
1961 "type" : "runtime_data",
1962 "value" : 0
1963 }
1964 ],
1965 "source_info" : {
1966 "filename" : "include/control/acl.p4",
1967 "line" : 33,
1968 "column" : 32,
1969 "source_fragment" : "= next_id; ..."
1970 }
1971 }
1972 ]
1973 },
1974 {
1975 "name" : "FabricIngress.acl.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07001976 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001977 "runtime_data" : [],
1978 "primitives" : [
1979 {
1980 "op" : "assign",
1981 "parameters" : [
1982 {
1983 "type" : "field",
1984 "value" : ["standard_metadata", "egress_spec"]
1985 },
1986 {
1987 "type" : "hexstr",
1988 "value" : "0x00ff"
1989 }
1990 ],
1991 "source_info" : {
1992 "filename" : "include/control/acl.p4",
1993 "line" : 39,
1994 "column" : 8,
1995 "source_fragment" : "standard_metadata.egress_spec = 255"
1996 }
1997 },
1998 {
1999 "op" : "assign",
2000 "parameters" : [
2001 {
2002 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002003 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002004 },
2005 {
2006 "type" : "expression",
2007 "value" : {
2008 "type" : "expression",
2009 "value" : {
2010 "op" : "b2d",
2011 "left" : null,
2012 "right" : {
2013 "type" : "bool",
2014 "value" : true
2015 }
2016 }
2017 }
2018 }
2019 ],
2020 "source_info" : {
2021 "filename" : "include/control/acl.p4",
2022 "line" : 40,
2023 "column" : 34,
2024 "source_fragment" : "= true; ..."
2025 }
2026 }
2027 ]
2028 },
2029 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002030 "name" : "FabricIngress.acl.set_clone_session_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002031 "id" : 26,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002032 "runtime_data" : [
2033 {
2034 "name" : "clone_id",
2035 "bitwidth" : 32
2036 }
2037 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002038 "primitives" : [
2039 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002040 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002041 "parameters" : [
2042 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002043 "type" : "runtime_data",
2044 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002045 },
2046 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002047 "type" : "hexstr",
2048 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002049 }
2050 ],
2051 "source_info" : {
2052 "filename" : "include/control/acl.p4",
2053 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002054 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07002055 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002056 }
2057 }
2058 ]
2059 },
2060 {
2061 "name" : "FabricIngress.acl.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07002062 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002063 "runtime_data" : [],
2064 "primitives" : [
2065 {
2066 "op" : "mark_to_drop",
2067 "parameters" : [
2068 {
2069 "type" : "header",
2070 "value" : "standard_metadata"
2071 }
2072 ],
2073 "source_info" : {
2074 "filename" : "include/control/acl.p4",
2075 "line" : 51,
2076 "column" : 8,
2077 "source_fragment" : "mark_to_drop(standard_metadata)"
2078 }
2079 },
2080 {
2081 "op" : "assign",
2082 "parameters" : [
2083 {
2084 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002085 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002086 },
2087 {
2088 "type" : "expression",
2089 "value" : {
2090 "type" : "expression",
2091 "value" : {
2092 "op" : "b2d",
2093 "left" : null,
2094 "right" : {
2095 "type" : "bool",
2096 "value" : true
2097 }
2098 }
2099 }
2100 }
2101 ],
2102 "source_info" : {
2103 "filename" : "include/control/acl.p4",
2104 "line" : 52,
2105 "column" : 34,
2106 "source_fragment" : "= true; ..."
2107 }
2108 }
2109 ]
2110 },
2111 {
2112 "name" : "FabricIngress.acl.nop_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07002113 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002114 "runtime_data" : [],
2115 "primitives" : []
2116 },
2117 {
2118 "name" : "FabricIngress.next.set_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002119 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002120 "runtime_data" : [
2121 {
2122 "name" : "vlan_id",
2123 "bitwidth" : 12
2124 }
2125 ],
2126 "primitives" : [
2127 {
2128 "op" : "assign",
2129 "parameters" : [
2130 {
2131 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002132 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002133 },
2134 {
2135 "type" : "runtime_data",
2136 "value" : 0
2137 }
2138 ],
2139 "source_info" : {
2140 "filename" : "include/control/next.p4",
2141 "line" : 70,
2142 "column" : 32,
2143 "source_fragment" : "= vlan_id; ..."
2144 }
2145 }
2146 ]
2147 },
2148 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002149 "name" : "FabricIngress.next.set_double_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002150 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002151 "runtime_data" : [
2152 {
2153 "name" : "outer_vlan_id",
2154 "bitwidth" : 12
2155 },
2156 {
2157 "name" : "inner_vlan_id",
2158 "bitwidth" : 12
2159 }
2160 ],
2161 "primitives" : [
2162 {
2163 "op" : "assign",
2164 "parameters" : [
2165 {
2166 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002167 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002168 },
2169 {
2170 "type" : "runtime_data",
2171 "value" : 0
2172 }
2173 ],
2174 "source_info" : {
2175 "filename" : "include/control/next.p4",
2176 "line" : 70,
2177 "column" : 32,
2178 "source_fragment" : "= vlan_id; ..."
2179 }
2180 },
2181 {
2182 "op" : "assign",
2183 "parameters" : [
2184 {
2185 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002186 "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002187 },
2188 {
2189 "type" : "expression",
2190 "value" : {
2191 "type" : "expression",
2192 "value" : {
2193 "op" : "b2d",
2194 "left" : null,
2195 "right" : {
2196 "type" : "bool",
2197 "value" : true
2198 }
2199 }
2200 }
2201 }
2202 ],
2203 "source_info" : {
2204 "filename" : "include/control/next.p4",
2205 "line" : 77,
2206 "column" : 41,
2207 "source_fragment" : "= true; ..."
2208 }
2209 },
2210 {
2211 "op" : "assign",
2212 "parameters" : [
2213 {
2214 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002215 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002216 },
2217 {
2218 "type" : "runtime_data",
2219 "value" : 1
2220 }
2221 ],
2222 "source_info" : {
2223 "filename" : "include/control/next.p4",
2224 "line" : 78,
2225 "column" : 38,
2226 "source_fragment" : "= inner_vlan_id; ..."
2227 }
Daniele Morob3d199b2019-11-01 14:01:46 -07002228 },
2229 {
2230 "op" : "assign",
2231 "parameters" : [
2232 {
2233 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002234 "value" : ["scalars", "fabric_metadata_t._bng_s_tag25"]
Daniele Morob3d199b2019-11-01 14:01:46 -07002235 },
2236 {
2237 "type" : "runtime_data",
2238 "value" : 0
2239 }
2240 ],
2241 "source_info" : {
2242 "filename" : "include/control/next.p4",
2243 "line" : 80,
2244 "column" : 34,
2245 "source_fragment" : "= outer_vlan_id; ..."
2246 }
2247 },
2248 {
2249 "op" : "assign",
2250 "parameters" : [
2251 {
2252 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002253 "value" : ["scalars", "fabric_metadata_t._bng_c_tag26"]
Daniele Morob3d199b2019-11-01 14:01:46 -07002254 },
2255 {
2256 "type" : "runtime_data",
2257 "value" : 1
2258 }
2259 ],
2260 "source_info" : {
2261 "filename" : "include/control/next.p4",
2262 "line" : 81,
2263 "column" : 34,
2264 "source_fragment" : "= inner_vlan_id; ..."
2265 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07002266 }
2267 ]
2268 },
2269 {
2270 "name" : "FabricIngress.next.output_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002271 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002272 "runtime_data" : [
2273 {
2274 "name" : "port_num",
2275 "bitwidth" : 9
2276 }
2277 ],
2278 "primitives" : [
2279 {
2280 "op" : "assign",
2281 "parameters" : [
2282 {
2283 "type" : "field",
2284 "value" : ["standard_metadata", "egress_spec"]
2285 },
2286 {
2287 "type" : "runtime_data",
2288 "value" : 0
2289 }
2290 ],
2291 "source_info" : {
2292 "filename" : "include/control/next.p4",
2293 "line" : 31,
2294 "column" : 5,
2295 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2296 }
2297 }
2298 ]
2299 },
2300 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002301 "name" : "FabricIngress.next.routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002302 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002303 "runtime_data" : [
2304 {
2305 "name" : "port_num",
2306 "bitwidth" : 9
2307 },
2308 {
2309 "name" : "smac",
2310 "bitwidth" : 48
2311 },
2312 {
2313 "name" : "dmac",
2314 "bitwidth" : 48
2315 }
2316 ],
2317 "primitives" : [
2318 {
2319 "op" : "assign",
2320 "parameters" : [
2321 {
2322 "type" : "field",
2323 "value" : ["ethernet", "src_addr"]
2324 },
2325 {
2326 "type" : "runtime_data",
2327 "value" : 1
2328 }
2329 ],
2330 "source_info" : {
2331 "filename" : "include/control/next.p4",
2332 "line" : 36,
2333 "column" : 8,
2334 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2335 }
2336 },
2337 {
2338 "op" : "assign",
2339 "parameters" : [
2340 {
2341 "type" : "field",
2342 "value" : ["ethernet", "dst_addr"]
2343 },
2344 {
2345 "type" : "runtime_data",
2346 "value" : 2
2347 }
2348 ],
2349 "source_info" : {
2350 "filename" : "include/control/next.p4",
2351 "line" : 41,
2352 "column" : 8,
2353 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2354 }
2355 },
2356 {
2357 "op" : "assign",
2358 "parameters" : [
2359 {
2360 "type" : "field",
2361 "value" : ["standard_metadata", "egress_spec"]
2362 },
2363 {
2364 "type" : "runtime_data",
2365 "value" : 0
2366 }
2367 ],
2368 "source_info" : {
2369 "filename" : "include/control/next.p4",
2370 "line" : 31,
2371 "column" : 5,
2372 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2373 }
2374 }
2375 ]
2376 },
2377 {
2378 "name" : "FabricIngress.next.mpls_routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002379 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002380 "runtime_data" : [
2381 {
2382 "name" : "port_num",
2383 "bitwidth" : 9
2384 },
2385 {
2386 "name" : "smac",
2387 "bitwidth" : 48
2388 },
2389 {
2390 "name" : "dmac",
2391 "bitwidth" : 48
2392 },
2393 {
2394 "name" : "label",
2395 "bitwidth" : 20
2396 }
2397 ],
2398 "primitives" : [
2399 {
2400 "op" : "assign",
2401 "parameters" : [
2402 {
2403 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002404 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002405 },
2406 {
2407 "type" : "runtime_data",
2408 "value" : 3
2409 }
2410 ],
2411 "source_info" : {
2412 "filename" : "include/control/next.p4",
2413 "line" : 46,
2414 "column" : 35,
2415 "source_fragment" : "= label; ..."
2416 }
2417 },
2418 {
2419 "op" : "assign",
2420 "parameters" : [
2421 {
2422 "type" : "field",
2423 "value" : ["ethernet", "src_addr"]
2424 },
2425 {
2426 "type" : "runtime_data",
2427 "value" : 1
2428 }
2429 ],
2430 "source_info" : {
2431 "filename" : "include/control/next.p4",
2432 "line" : 36,
2433 "column" : 8,
2434 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2435 }
2436 },
2437 {
2438 "op" : "assign",
2439 "parameters" : [
2440 {
2441 "type" : "field",
2442 "value" : ["ethernet", "dst_addr"]
2443 },
2444 {
2445 "type" : "runtime_data",
2446 "value" : 2
2447 }
2448 ],
2449 "source_info" : {
2450 "filename" : "include/control/next.p4",
2451 "line" : 41,
2452 "column" : 8,
2453 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2454 }
2455 },
2456 {
2457 "op" : "assign",
2458 "parameters" : [
2459 {
2460 "type" : "field",
2461 "value" : ["standard_metadata", "egress_spec"]
2462 },
2463 {
2464 "type" : "runtime_data",
2465 "value" : 0
2466 }
2467 ],
2468 "source_info" : {
2469 "filename" : "include/control/next.p4",
2470 "line" : 31,
2471 "column" : 5,
2472 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2473 }
2474 }
2475 ]
2476 },
2477 {
2478 "name" : "FabricIngress.next.set_mcast_group_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002479 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002480 "runtime_data" : [
2481 {
2482 "name" : "group_id",
2483 "bitwidth" : 16
2484 }
2485 ],
2486 "primitives" : [
2487 {
2488 "op" : "assign",
2489 "parameters" : [
2490 {
2491 "type" : "field",
2492 "value" : ["standard_metadata", "mcast_grp"]
2493 },
2494 {
2495 "type" : "runtime_data",
2496 "value" : 0
2497 }
2498 ],
2499 "source_info" : {
2500 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002501 "line" : 231,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002502 "column" : 8,
2503 "source_fragment" : "standard_metadata.mcast_grp = group_id"
2504 }
2505 },
2506 {
2507 "op" : "assign",
2508 "parameters" : [
2509 {
2510 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002511 "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002512 },
2513 {
2514 "type" : "expression",
2515 "value" : {
2516 "type" : "expression",
2517 "value" : {
2518 "op" : "b2d",
2519 "left" : null,
2520 "right" : {
2521 "type" : "bool",
2522 "value" : true
2523 }
2524 }
2525 }
2526 }
2527 ],
2528 "source_info" : {
2529 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002530 "line" : 232,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002531 "column" : 37,
2532 "source_fragment" : "= true; ..."
2533 }
2534 }
2535 ]
2536 },
2537 {
2538 "name" : "act",
Daniele Moro5a2de712019-09-24 14:34:07 -07002539 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002540 "runtime_data" : [],
2541 "primitives" : [
2542 {
2543 "op" : "assign",
2544 "parameters" : [
2545 {
2546 "type" : "field",
2547 "value" : ["standard_metadata", "egress_spec"]
2548 },
2549 {
2550 "type" : "field",
2551 "value" : ["packet_out", "egress_port"]
2552 }
2553 ],
2554 "source_info" : {
2555 "filename" : "include/control/packetio.p4",
2556 "line" : 25,
2557 "column" : 12,
2558 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
2559 }
2560 },
2561 {
2562 "op" : "remove_header",
2563 "parameters" : [
2564 {
2565 "type" : "header",
2566 "value" : "packet_out"
2567 }
2568 ],
2569 "source_info" : {
2570 "filename" : "include/control/packetio.p4",
2571 "line" : 26,
2572 "column" : 12,
2573 "source_fragment" : "hdr.packet_out.setInvalid()"
2574 }
2575 },
2576 {
2577 "op" : "assign",
2578 "parameters" : [
2579 {
2580 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002581 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002582 },
2583 {
2584 "type" : "expression",
2585 "value" : {
2586 "type" : "expression",
2587 "value" : {
2588 "op" : "b2d",
2589 "left" : null,
2590 "right" : {
2591 "type" : "bool",
2592 "value" : true
2593 }
2594 }
2595 }
2596 }
2597 ],
2598 "source_info" : {
2599 "filename" : "include/control/packetio.p4",
2600 "line" : 27,
2601 "column" : 53,
2602 "source_fragment" : "= true; ..."
2603 }
2604 },
2605 {
2606 "op" : "exit",
2607 "parameters" : [],
2608 "source_info" : {
2609 "filename" : "include/control/packetio.p4",
2610 "line" : 29,
2611 "column" : 12,
2612 "source_fragment" : "exit"
2613 }
2614 }
2615 ]
2616 },
2617 {
2618 "name" : "act_0",
Daniele Moro5a2de712019-09-24 14:34:07 -07002619 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002620 "runtime_data" : [],
2621 "primitives" : [
2622 {
2623 "op" : "assign",
2624 "parameters" : [
2625 {
2626 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002627 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002628 },
2629 {
2630 "type" : "field",
2631 "value" : ["vlan_tag", "vlan_id"]
2632 }
2633 ],
2634 "source_info" : {
2635 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002636 "line" : 111,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002637 "column" : 36,
2638 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
2639 }
2640 },
2641 {
2642 "op" : "assign",
2643 "parameters" : [
2644 {
2645 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002646 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002647 },
2648 {
2649 "type" : "field",
2650 "value" : ["vlan_tag", "pri"]
2651 }
2652 ],
2653 "source_info" : {
2654 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002655 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002656 "column" : 37,
2657 "source_fragment" : "= hdr.vlan_tag.pri; ..."
2658 }
2659 },
2660 {
2661 "op" : "assign",
2662 "parameters" : [
2663 {
2664 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002665 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002666 },
2667 {
2668 "type" : "field",
2669 "value" : ["vlan_tag", "cfi"]
2670 }
2671 ],
2672 "source_info" : {
2673 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002674 "line" : 113,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002675 "column" : 37,
2676 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
2677 }
2678 }
2679 ]
2680 },
2681 {
2682 "name" : "act_1",
Daniele Moro5a2de712019-09-24 14:34:07 -07002683 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002684 "runtime_data" : [],
2685 "primitives" : [
2686 {
2687 "op" : "assign",
2688 "parameters" : [
2689 {
2690 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002691 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002692 },
2693 {
2694 "type" : "field",
2695 "value" : ["inner_vlan_tag", "vlan_id"]
2696 }
2697 ],
2698 "source_info" : {
2699 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002700 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002701 "column" : 42,
2702 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
2703 }
2704 },
2705 {
2706 "op" : "assign",
2707 "parameters" : [
2708 {
2709 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002710 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002711 },
2712 {
2713 "type" : "field",
2714 "value" : ["inner_vlan_tag", "pri"]
2715 }
2716 ],
2717 "source_info" : {
2718 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002719 "line" : 118,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002720 "column" : 43,
2721 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
2722 }
2723 },
2724 {
2725 "op" : "assign",
2726 "parameters" : [
2727 {
2728 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002729 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002730 },
2731 {
2732 "type" : "field",
2733 "value" : ["inner_vlan_tag", "cfi"]
2734 }
2735 ],
2736 "source_info" : {
2737 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002738 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002739 "column" : 43,
2740 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
2741 }
2742 }
2743 ]
2744 },
2745 {
2746 "name" : "act_2",
Daniele Moro5a2de712019-09-24 14:34:07 -07002747 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002748 "runtime_data" : [],
2749 "primitives" : [
2750 {
2751 "op" : "assign",
2752 "parameters" : [
2753 {
2754 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002755 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002756 },
2757 {
2758 "type" : "hexstr",
2759 "value" : "0x41"
2760 }
2761 ],
2762 "source_info" : {
2763 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002764 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002765 "column" : 37,
2766 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
2767 }
2768 }
2769 ]
2770 },
2771 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002772 "name" : "act_3",
Daniele Moro5a2de712019-09-24 14:34:07 -07002773 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002774 "runtime_data" : [],
2775 "primitives" : [
2776 {
2777 "op" : "assign",
2778 "parameters" : [
2779 {
2780 "type" : "field",
2781 "value" : ["scalars", "tmp"]
2782 },
2783 {
2784 "type" : "expression",
2785 "value" : {
2786 "type" : "expression",
2787 "value" : {
2788 "op" : "&",
2789 "left" : {
2790 "type" : "field",
2791 "value" : ["standard_metadata", "egress_spec"]
2792 },
2793 "right" : {
2794 "type" : "hexstr",
2795 "value" : "0xffffffff"
2796 }
2797 }
2798 }
2799 }
2800 ],
2801 "source_info" : {
2802 "filename" : "include/control/port_counter.p4",
2803 "line" : 31,
2804 "column" : 38,
2805 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
2806 }
2807 },
2808 {
2809 "op" : "count",
2810 "parameters" : [
2811 {
2812 "type" : "counter_array",
2813 "value" : "FabricIngress.port_counters_control.egress_port_counter"
2814 },
2815 {
2816 "type" : "field",
2817 "value" : ["scalars", "tmp"]
2818 }
2819 ],
2820 "source_info" : {
2821 "filename" : "include/control/port_counter.p4",
2822 "line" : 31,
2823 "column" : 12,
2824 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
2825 }
2826 }
2827 ]
2828 },
2829 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002830 "name" : "act_4",
2831 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002832 "runtime_data" : [],
2833 "primitives" : [
2834 {
2835 "op" : "assign",
2836 "parameters" : [
2837 {
2838 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002839 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002840 },
2841 {
2842 "type" : "expression",
2843 "value" : {
2844 "type" : "expression",
2845 "value" : {
2846 "op" : "&",
2847 "left" : {
2848 "type" : "field",
2849 "value" : ["standard_metadata", "ingress_port"]
2850 },
2851 "right" : {
2852 "type" : "hexstr",
2853 "value" : "0xffffffff"
2854 }
2855 }
2856 }
2857 }
2858 ],
2859 "source_info" : {
2860 "filename" : "include/control/port_counter.p4",
2861 "line" : 34,
2862 "column" : 39,
2863 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
2864 }
2865 },
2866 {
2867 "op" : "count",
2868 "parameters" : [
2869 {
2870 "type" : "counter_array",
2871 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
2872 },
2873 {
2874 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002875 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002876 }
2877 ],
2878 "source_info" : {
2879 "filename" : "include/control/port_counter.p4",
2880 "line" : 34,
2881 "column" : 12,
2882 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
2883 }
2884 }
2885 ]
2886 },
2887 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002888 "name" : "act_5",
2889 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002890 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002891 "primitives" : [
2892 {
2893 "op" : "assign",
2894 "parameters" : [
2895 {
2896 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002897 "value" : ["scalars", "bng_ingress_upstream_tmp"]
2898 },
2899 {
2900 "type" : "expression",
2901 "value" : {
2902 "type" : "expression",
2903 "value" : {
2904 "op" : "b2d",
2905 "left" : null,
2906 "right" : {
2907 "type" : "bool",
2908 "value" : true
2909 }
2910 }
2911 }
2912 }
2913 ]
2914 }
2915 ]
2916 },
2917 {
Daniele Morob3d199b2019-11-01 14:01:46 -07002918 "name" : "act_6",
2919 "id" : 42,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002920 "runtime_data" : [],
2921 "primitives" : [
2922 {
2923 "op" : "assign",
2924 "parameters" : [
2925 {
2926 "type" : "field",
2927 "value" : ["scalars", "bng_ingress_upstream_tmp"]
2928 },
2929 {
2930 "type" : "expression",
2931 "value" : {
2932 "type" : "expression",
2933 "value" : {
2934 "op" : "b2d",
2935 "left" : null,
2936 "right" : {
2937 "type" : "bool",
2938 "value" : false
2939 }
2940 }
2941 }
2942 }
2943 ]
2944 }
2945 ]
2946 },
2947 {
Daniele Morob3d199b2019-11-01 14:01:46 -07002948 "name" : "act_7",
2949 "id" : 43,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002950 "runtime_data" : [],
2951 "primitives" : [
2952 {
2953 "op" : "assign",
2954 "parameters" : [
2955 {
2956 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002957 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002958 },
2959 {
2960 "type" : "hexstr",
2961 "value" : "0x01"
2962 }
2963 ],
2964 "source_info" : {
2965 "filename" : "include/control/../header.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07002966 "line" : 164,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002967 "column" : 37,
2968 "source_fragment" : "2w0x1; ..."
2969 }
2970 },
2971 {
2972 "op" : "assign",
2973 "parameters" : [
2974 {
2975 "type" : "field",
2976 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
2977 },
2978 {
2979 "type" : "expression",
2980 "value" : {
2981 "type" : "expression",
2982 "value" : {
2983 "op" : "b2d",
2984 "left" : null,
2985 "right" : {
2986 "type" : "bool",
2987 "value" : false
2988 }
2989 }
2990 }
2991 }
2992 ]
2993 }
2994 ]
2995 },
2996 {
Daniele Morob3d199b2019-11-01 14:01:46 -07002997 "name" : "act_8",
2998 "id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002999 "runtime_data" : [],
3000 "primitives" : [
3001 {
3002 "op" : "assign",
3003 "parameters" : [
3004 {
3005 "type" : "field",
3006 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
3007 },
3008 {
3009 "type" : "expression",
3010 "value" : {
3011 "type" : "expression",
3012 "value" : {
3013 "op" : "b2d",
3014 "left" : null,
3015 "right" : {
3016 "type" : "bool",
3017 "value" : true
3018 }
3019 }
3020 }
3021 }
3022 ],
3023 "source_info" : {
3024 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003025 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003026 "column" : 12,
3027 "source_fragment" : "return"
3028 }
3029 }
3030 ]
3031 },
3032 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003033 "name" : "act_9",
3034 "id" : 45,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003035 "runtime_data" : [],
3036 "primitives" : [
3037 {
3038 "op" : "count",
3039 "parameters" : [
3040 {
3041 "type" : "counter_array",
3042 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
3043 },
3044 {
3045 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003046 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003047 }
3048 ],
3049 "source_info" : {
3050 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003051 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003052 "column" : 20,
3053 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
3054 }
3055 }
3056 ]
3057 },
3058 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003059 "name" : "act_10",
3060 "id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003061 "runtime_data" : [],
3062 "primitives" : [
3063 {
3064 "op" : "assign",
3065 "parameters" : [
3066 {
3067 "type" : "field",
3068 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3069 },
3070 {
3071 "type" : "expression",
3072 "value" : {
3073 "type" : "expression",
3074 "value" : {
3075 "op" : "b2d",
3076 "left" : null,
3077 "right" : {
3078 "type" : "bool",
3079 "value" : true
3080 }
3081 }
3082 }
3083 }
3084 ]
3085 }
3086 ]
3087 },
3088 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003089 "name" : "act_11",
3090 "id" : 47,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003091 "runtime_data" : [],
3092 "primitives" : [
3093 {
3094 "op" : "assign",
3095 "parameters" : [
3096 {
3097 "type" : "field",
3098 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3099 },
3100 {
3101 "type" : "expression",
3102 "value" : {
3103 "type" : "expression",
3104 "value" : {
3105 "op" : "b2d",
3106 "left" : null,
3107 "right" : {
3108 "type" : "bool",
3109 "value" : false
3110 }
3111 }
3112 }
3113 }
3114 ]
3115 }
3116 ]
3117 },
3118 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003119 "name" : "act_12",
3120 "id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003121 "runtime_data" : [],
3122 "primitives" : [
3123 {
3124 "op" : "execute_meter",
3125 "parameters" : [
3126 {
3127 "type" : "meter_array",
3128 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
3129 },
3130 {
3131 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003132 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003133 },
3134 {
3135 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003136 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003137 }
3138 ],
3139 "source_info" : {
3140 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003141 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003142 "column" : 24,
3143 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3144 }
3145 }
3146 ]
3147 },
3148 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003149 "name" : "act_13",
3150 "id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003151 "runtime_data" : [],
3152 "primitives" : [
3153 {
3154 "op" : "execute_meter",
3155 "parameters" : [
3156 {
3157 "type" : "meter_array",
3158 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
3159 },
3160 {
3161 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003162 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003163 },
3164 {
3165 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003166 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003167 }
3168 ],
3169 "source_info" : {
3170 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003171 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003172 "column" : 24,
3173 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3174 }
3175 }
3176 ]
3177 },
3178 {
3179 "name" : "nop",
Daniele Morob3d199b2019-11-01 14:01:46 -07003180 "id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003181 "runtime_data" : [],
3182 "primitives" : []
3183 },
3184 {
3185 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003186 "id" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003187 "runtime_data" : [],
3188 "primitives" : [
3189 {
3190 "op" : "assign",
3191 "parameters" : [
3192 {
3193 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003194 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003195 },
3196 {
3197 "type" : "hexstr",
3198 "value" : "0x8864"
3199 }
3200 ],
3201 "source_info" : {
3202 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07003203 "line" : 132,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003204 "column" : 33,
3205 "source_fragment" : "0x8864; ..."
3206 }
3207 },
3208 {
3209 "op" : "add_header",
3210 "parameters" : [
3211 {
3212 "type" : "header",
3213 "value" : "pppoe"
3214 }
3215 ],
3216 "source_info" : {
3217 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003218 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003219 "column" : 8,
3220 "source_fragment" : "hdr.pppoe.setValid()"
3221 }
3222 },
3223 {
3224 "op" : "assign",
3225 "parameters" : [
3226 {
3227 "type" : "field",
3228 "value" : ["pppoe", "version"]
3229 },
3230 {
3231 "type" : "hexstr",
3232 "value" : "0x01"
3233 }
3234 ],
3235 "source_info" : {
3236 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003237 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003238 "column" : 8,
3239 "source_fragment" : "hdr.pppoe.version = 4w1"
3240 }
3241 },
3242 {
3243 "op" : "assign",
3244 "parameters" : [
3245 {
3246 "type" : "field",
3247 "value" : ["pppoe", "type_id"]
3248 },
3249 {
3250 "type" : "hexstr",
3251 "value" : "0x01"
3252 }
3253 ],
3254 "source_info" : {
3255 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003256 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003257 "column" : 8,
3258 "source_fragment" : "hdr.pppoe.type_id = 4w1"
3259 }
3260 },
3261 {
3262 "op" : "assign",
3263 "parameters" : [
3264 {
3265 "type" : "field",
3266 "value" : ["pppoe", "code"]
3267 },
3268 {
3269 "type" : "hexstr",
3270 "value" : "0x00"
3271 }
3272 ],
3273 "source_info" : {
3274 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003275 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003276 "column" : 8,
3277 "source_fragment" : "hdr.pppoe.code = 8w0"
3278 }
3279 },
3280 {
3281 "op" : "assign",
3282 "parameters" : [
3283 {
3284 "type" : "field",
3285 "value" : ["pppoe", "session_id"]
3286 },
3287 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003288 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003289 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003290 }
3291 ],
3292 "source_info" : {
3293 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003294 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003295 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003296 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003297 }
3298 },
3299 {
3300 "op" : "count",
3301 "parameters" : [
3302 {
3303 "type" : "counter_array",
3304 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
3305 },
3306 {
3307 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04003308 "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003309 }
3310 ],
3311 "source_info" : {
3312 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003313 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003314 "column" : 8,
3315 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
3316 }
3317 },
3318 {
3319 "op" : "assign",
3320 "parameters" : [
3321 {
3322 "type" : "field",
3323 "value" : ["pppoe", "length"]
3324 },
3325 {
3326 "type" : "expression",
3327 "value" : {
3328 "type" : "expression",
3329 "value" : {
3330 "op" : "&",
3331 "left" : {
3332 "type" : "expression",
3333 "value" : {
3334 "op" : "+",
3335 "left" : {
3336 "type" : "field",
3337 "value" : ["ipv4", "total_len"]
3338 },
3339 "right" : {
3340 "type" : "hexstr",
3341 "value" : "0x0002"
3342 }
3343 }
3344 },
3345 "right" : {
3346 "type" : "hexstr",
3347 "value" : "0xffff"
3348 }
3349 }
3350 }
3351 }
3352 ],
3353 "source_info" : {
3354 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003355 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003356 "column" : 8,
3357 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
3358 }
3359 },
3360 {
3361 "op" : "assign",
3362 "parameters" : [
3363 {
3364 "type" : "field",
3365 "value" : ["pppoe", "protocol"]
3366 },
3367 {
3368 "type" : "hexstr",
3369 "value" : "0x0021"
3370 }
3371 ],
3372 "source_info" : {
3373 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07003374 "line" : 134,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003375 "column" : 35,
3376 "source_fragment" : "0x0021; ..."
3377 }
3378 }
3379 ]
3380 },
3381 {
3382 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Daniele Morob3d199b2019-11-01 14:01:46 -07003383 "id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003384 "runtime_data" : [],
3385 "primitives" : [
3386 {
3387 "op" : "remove_header",
3388 "parameters" : [
3389 {
3390 "type" : "header",
3391 "value" : "mpls"
3392 }
3393 ],
3394 "source_info" : {
3395 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003396 "line" : 270,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003397 "column" : 8,
3398 "source_fragment" : "hdr.mpls.setInvalid()"
3399 }
3400 },
3401 {
3402 "op" : "assign",
3403 "parameters" : [
3404 {
3405 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003406 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003407 },
3408 {
3409 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003410 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003411 }
3412 ],
3413 "source_info" : {
3414 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003415 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07003416 "column" : 8,
3417 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003418 }
3419 }
3420 ]
3421 },
3422 {
3423 "name" : "FabricEgress.egress_next.set_mpls",
Daniele Morob3d199b2019-11-01 14:01:46 -07003424 "id" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003425 "runtime_data" : [],
3426 "primitives" : [
3427 {
3428 "op" : "add_header",
3429 "parameters" : [
3430 {
3431 "type" : "header",
3432 "value" : "mpls"
3433 }
3434 ],
3435 "source_info" : {
3436 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003437 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003438 "column" : 8,
3439 "source_fragment" : "hdr.mpls.setValid()"
3440 }
3441 },
3442 {
3443 "op" : "assign",
3444 "parameters" : [
3445 {
3446 "type" : "field",
3447 "value" : ["mpls", "label"]
3448 },
3449 {
3450 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003451 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003452 }
3453 ],
3454 "source_info" : {
3455 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003456 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003457 "column" : 8,
3458 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
3459 }
3460 },
3461 {
3462 "op" : "assign",
3463 "parameters" : [
3464 {
3465 "type" : "field",
3466 "value" : ["mpls", "tc"]
3467 },
3468 {
3469 "type" : "hexstr",
3470 "value" : "0x00"
3471 }
3472 ],
3473 "source_info" : {
3474 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003475 "line" : 279,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003476 "column" : 8,
3477 "source_fragment" : "hdr.mpls.tc = 3w0"
3478 }
3479 },
3480 {
3481 "op" : "assign",
3482 "parameters" : [
3483 {
3484 "type" : "field",
3485 "value" : ["mpls", "bos"]
3486 },
3487 {
3488 "type" : "hexstr",
3489 "value" : "0x01"
3490 }
3491 ],
3492 "source_info" : {
3493 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003494 "line" : 280,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003495 "column" : 8,
3496 "source_fragment" : "hdr.mpls.bos = 1w1"
3497 }
3498 },
3499 {
3500 "op" : "assign",
3501 "parameters" : [
3502 {
3503 "type" : "field",
3504 "value" : ["mpls", "ttl"]
3505 },
3506 {
3507 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003508 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003509 }
3510 ],
3511 "source_info" : {
3512 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003513 "line" : 281,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003514 "column" : 8,
3515 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
3516 }
3517 },
3518 {
3519 "op" : "assign",
3520 "parameters" : [
3521 {
3522 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003523 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003524 },
3525 {
3526 "type" : "hexstr",
3527 "value" : "0x8847"
3528 }
3529 ],
3530 "source_info" : {
3531 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07003532 "line" : 126,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003533 "column" : 31,
3534 "source_fragment" : "0x8847; ..."
3535 }
3536 }
3537 ]
3538 },
3539 {
3540 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07003541 "id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003542 "runtime_data" : [],
3543 "primitives" : [
3544 {
3545 "op" : "add_header",
3546 "parameters" : [
3547 {
3548 "type" : "header",
3549 "value" : "vlan_tag"
3550 }
3551 ],
3552 "source_info" : {
3553 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003554 "line" : 289,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003555 "column" : 8,
3556 "source_fragment" : "hdr.vlan_tag.setValid()"
3557 }
3558 },
3559 {
3560 "op" : "assign",
3561 "parameters" : [
3562 {
3563 "type" : "field",
3564 "value" : ["vlan_tag", "cfi"]
3565 },
3566 {
3567 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003568 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003569 }
3570 ],
3571 "source_info" : {
3572 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003573 "line" : 290,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003574 "column" : 8,
3575 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3576 }
3577 },
3578 {
3579 "op" : "assign",
3580 "parameters" : [
3581 {
3582 "type" : "field",
3583 "value" : ["vlan_tag", "pri"]
3584 },
3585 {
3586 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003587 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003588 }
3589 ],
3590 "source_info" : {
3591 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003592 "line" : 291,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003593 "column" : 8,
3594 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3595 }
3596 },
3597 {
3598 "op" : "assign",
3599 "parameters" : [
3600 {
3601 "type" : "field",
3602 "value" : ["vlan_tag", "eth_type"]
3603 },
3604 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003605 "type" : "hexstr",
3606 "value" : "0x8100"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003607 }
3608 ],
3609 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003610 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07003611 "line" : 125,
Daniele Moro5a2de712019-09-24 14:34:07 -07003612 "column" : 31,
3613 "source_fragment" : "0x8100; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003614 }
3615 },
3616 {
3617 "op" : "assign",
3618 "parameters" : [
3619 {
3620 "type" : "field",
3621 "value" : ["vlan_tag", "vlan_id"]
3622 },
3623 {
3624 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003625 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003626 }
3627 ],
3628 "source_info" : {
3629 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003630 "line" : 293,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003631 "column" : 8,
3632 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3633 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003634 }
3635 ]
3636 },
3637 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003638 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07003639 "id" : 55,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003640 "runtime_data" : [],
3641 "primitives" : [
3642 {
3643 "op" : "add_header",
3644 "parameters" : [
3645 {
3646 "type" : "header",
3647 "value" : "vlan_tag"
3648 }
3649 ],
3650 "source_info" : {
3651 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003652 "line" : 289,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003653 "column" : 8,
3654 "source_fragment" : "hdr.vlan_tag.setValid()"
3655 }
3656 },
3657 {
3658 "op" : "assign",
3659 "parameters" : [
3660 {
3661 "type" : "field",
3662 "value" : ["vlan_tag", "cfi"]
3663 },
3664 {
3665 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003666 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003667 }
3668 ],
3669 "source_info" : {
3670 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003671 "line" : 290,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003672 "column" : 8,
3673 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3674 }
3675 },
3676 {
3677 "op" : "assign",
3678 "parameters" : [
3679 {
3680 "type" : "field",
3681 "value" : ["vlan_tag", "pri"]
3682 },
3683 {
3684 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003685 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003686 }
3687 ],
3688 "source_info" : {
3689 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003690 "line" : 291,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003691 "column" : 8,
3692 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3693 }
3694 },
3695 {
3696 "op" : "assign",
3697 "parameters" : [
3698 {
3699 "type" : "field",
3700 "value" : ["vlan_tag", "eth_type"]
3701 },
3702 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003703 "type" : "hexstr",
3704 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003705 }
3706 ],
3707 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003708 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07003709 "line" : 125,
Daniele Moro5a2de712019-09-24 14:34:07 -07003710 "column" : 31,
3711 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003712 }
3713 },
3714 {
3715 "op" : "assign",
3716 "parameters" : [
3717 {
3718 "type" : "field",
3719 "value" : ["vlan_tag", "vlan_id"]
3720 },
3721 {
3722 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003723 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003724 }
3725 ],
3726 "source_info" : {
3727 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003728 "line" : 293,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003729 "column" : 8,
3730 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3731 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07003732 }
3733 ]
3734 },
3735 {
3736 "name" : "FabricEgress.egress_next.push_inner_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07003737 "id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003738 "runtime_data" : [],
3739 "primitives" : [
3740 {
3741 "op" : "add_header",
3742 "parameters" : [
3743 {
3744 "type" : "header",
3745 "value" : "inner_vlan_tag"
3746 }
3747 ],
3748 "source_info" : {
3749 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003750 "line" : 300,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003751 "column" : 8,
3752 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
3753 }
3754 },
3755 {
3756 "op" : "assign",
3757 "parameters" : [
3758 {
3759 "type" : "field",
3760 "value" : ["inner_vlan_tag", "cfi"]
3761 },
3762 {
3763 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003764 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003765 }
3766 ],
3767 "source_info" : {
3768 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003769 "line" : 301,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003770 "column" : 8,
3771 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
3772 }
3773 },
3774 {
3775 "op" : "assign",
3776 "parameters" : [
3777 {
3778 "type" : "field",
3779 "value" : ["inner_vlan_tag", "pri"]
3780 },
3781 {
3782 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003783 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003784 }
3785 ],
3786 "source_info" : {
3787 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003788 "line" : 302,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003789 "column" : 8,
3790 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
3791 }
3792 },
3793 {
3794 "op" : "assign",
3795 "parameters" : [
3796 {
3797 "type" : "field",
3798 "value" : ["inner_vlan_tag", "vlan_id"]
3799 },
3800 {
3801 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003802 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003803 }
3804 ],
3805 "source_info" : {
3806 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003807 "line" : 303,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003808 "column" : 8,
3809 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
3810 }
3811 },
3812 {
3813 "op" : "assign",
3814 "parameters" : [
3815 {
3816 "type" : "field",
3817 "value" : ["inner_vlan_tag", "eth_type"]
3818 },
3819 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003820 "type" : "hexstr",
3821 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003822 }
3823 ],
3824 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003825 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07003826 "line" : 125,
Daniele Moro5a2de712019-09-24 14:34:07 -07003827 "column" : 31,
3828 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003829 }
3830 },
3831 {
3832 "op" : "assign",
3833 "parameters" : [
3834 {
3835 "type" : "field",
3836 "value" : ["vlan_tag", "eth_type"]
3837 },
3838 {
3839 "type" : "hexstr",
3840 "value" : "0x8100"
3841 }
3842 ],
3843 "source_info" : {
3844 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07003845 "line" : 125,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003846 "column" : 31,
3847 "source_fragment" : "0x8100; ..."
3848 }
3849 }
3850 ]
3851 },
3852 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003853 "name" : "FabricEgress.egress_next.pop_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07003854 "id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003855 "runtime_data" : [],
3856 "primitives" : [
3857 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003858 "op" : "remove_header",
3859 "parameters" : [
3860 {
3861 "type" : "header",
3862 "value" : "vlan_tag"
3863 }
3864 ],
3865 "source_info" : {
3866 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003867 "line" : 316,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003868 "column" : 8,
3869 "source_fragment" : "hdr.vlan_tag.setInvalid()"
3870 }
3871 }
3872 ]
3873 },
3874 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003875 "name" : "act_14",
3876 "id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003877 "runtime_data" : [],
3878 "primitives" : [
3879 {
3880 "op" : "exit",
3881 "parameters" : [],
3882 "source_info" : {
3883 "filename" : "include/control/packetio.p4",
3884 "line" : 41,
3885 "column" : 12,
3886 "source_fragment" : "exit"
3887 }
3888 }
3889 ]
3890 },
3891 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003892 "name" : "act_15",
3893 "id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003894 "runtime_data" : [],
3895 "primitives" : [
3896 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003897 "op" : "add_header",
3898 "parameters" : [
3899 {
3900 "type" : "header",
3901 "value" : "packet_in"
3902 }
3903 ],
3904 "source_info" : {
3905 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003906 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003907 "column" : 12,
3908 "source_fragment" : "hdr.packet_in.setValid()"
3909 }
3910 },
3911 {
3912 "op" : "assign",
3913 "parameters" : [
3914 {
3915 "type" : "field",
3916 "value" : ["packet_in", "ingress_port"]
3917 },
3918 {
3919 "type" : "field",
3920 "value" : ["standard_metadata", "ingress_port"]
3921 }
3922 ],
3923 "source_info" : {
3924 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003925 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003926 "column" : 12,
3927 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
3928 }
3929 },
3930 {
3931 "op" : "exit",
3932 "parameters" : [],
3933 "source_info" : {
3934 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003935 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003936 "column" : 12,
3937 "source_fragment" : "exit"
3938 }
3939 }
3940 ]
3941 },
3942 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003943 "name" : "act_16",
3944 "id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003945 "runtime_data" : [],
3946 "primitives" : [
3947 {
3948 "op" : "mark_to_drop",
3949 "parameters" : [
3950 {
3951 "type" : "header",
3952 "value" : "standard_metadata"
3953 }
3954 ],
3955 "source_info" : {
3956 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003957 "line" : 337,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003958 "column" : 12,
3959 "source_fragment" : "mark_to_drop(standard_metadata)"
3960 }
3961 }
3962 ]
3963 },
3964 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003965 "name" : "act_17",
3966 "id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003967 "runtime_data" : [],
3968 "primitives" : [
3969 {
3970 "op" : "assign",
3971 "parameters" : [
3972 {
3973 "type" : "field",
3974 "value" : ["scalars", "egress_next_tmp"]
3975 },
3976 {
3977 "type" : "expression",
3978 "value" : {
3979 "type" : "expression",
3980 "value" : {
3981 "op" : "b2d",
3982 "left" : null,
3983 "right" : {
3984 "type" : "bool",
3985 "value" : true
3986 }
3987 }
3988 }
3989 }
3990 ]
3991 }
3992 ]
3993 },
3994 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003995 "name" : "act_18",
3996 "id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003997 "runtime_data" : [],
3998 "primitives" : [
3999 {
4000 "op" : "assign",
4001 "parameters" : [
4002 {
4003 "type" : "field",
4004 "value" : ["scalars", "egress_next_tmp"]
4005 },
4006 {
4007 "type" : "expression",
4008 "value" : {
4009 "type" : "expression",
4010 "value" : {
4011 "op" : "b2d",
4012 "left" : null,
4013 "right" : {
4014 "type" : "bool",
4015 "value" : false
4016 }
4017 }
4018 }
4019 }
4020 ]
4021 }
4022 ]
4023 },
4024 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004025 "name" : "act_19",
4026 "id" : 63,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004027 "runtime_data" : [],
4028 "primitives" : [
4029 {
4030 "op" : "remove_header",
4031 "parameters" : [
4032 {
4033 "type" : "header",
4034 "value" : "inner_vlan_tag"
4035 }
4036 ],
4037 "source_info" : {
4038 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004039 "line" : 353,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004040 "column" : 12,
4041 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
4042 }
4043 }
4044 ]
4045 },
4046 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004047 "name" : "act_20",
4048 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004049 "runtime_data" : [],
4050 "primitives" : [
4051 {
4052 "op" : "mark_to_drop",
4053 "parameters" : [
4054 {
4055 "type" : "header",
4056 "value" : "standard_metadata"
4057 }
4058 ],
4059 "source_info" : {
4060 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004061 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004062 "column" : 35,
4063 "source_fragment" : "mark_to_drop(standard_metadata)"
4064 }
4065 }
4066 ]
4067 },
4068 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004069 "name" : "act_21",
4070 "id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004071 "runtime_data" : [],
4072 "primitives" : [
4073 {
4074 "op" : "assign",
4075 "parameters" : [
4076 {
4077 "type" : "field",
4078 "value" : ["mpls", "ttl"]
4079 },
4080 {
4081 "type" : "expression",
4082 "value" : {
4083 "type" : "expression",
4084 "value" : {
4085 "op" : "&",
4086 "left" : {
4087 "type" : "expression",
4088 "value" : {
4089 "op" : "+",
4090 "left" : {
4091 "type" : "field",
4092 "value" : ["mpls", "ttl"]
4093 },
4094 "right" : {
4095 "type" : "hexstr",
4096 "value" : "0xff"
4097 }
4098 }
4099 },
4100 "right" : {
4101 "type" : "hexstr",
4102 "value" : "0xff"
4103 }
4104 }
4105 }
4106 }
4107 ],
4108 "source_info" : {
4109 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004110 "line" : 369,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004111 "column" : 12,
4112 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
4113 }
4114 }
4115 ]
4116 },
4117 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004118 "name" : "act_22",
4119 "id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004120 "runtime_data" : [],
4121 "primitives" : [
4122 {
4123 "op" : "mark_to_drop",
4124 "parameters" : [
4125 {
4126 "type" : "header",
4127 "value" : "standard_metadata"
4128 }
4129 ],
4130 "source_info" : {
4131 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004132 "line" : 374,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004133 "column" : 39,
4134 "source_fragment" : "mark_to_drop(standard_metadata)"
4135 }
4136 }
4137 ]
4138 },
4139 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004140 "name" : "act_23",
4141 "id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004142 "runtime_data" : [],
4143 "primitives" : [
4144 {
4145 "op" : "assign",
4146 "parameters" : [
4147 {
4148 "type" : "field",
4149 "value" : ["ipv4", "ttl"]
4150 },
4151 {
4152 "type" : "expression",
4153 "value" : {
4154 "type" : "expression",
4155 "value" : {
4156 "op" : "&",
4157 "left" : {
4158 "type" : "expression",
4159 "value" : {
4160 "op" : "+",
4161 "left" : {
4162 "type" : "field",
4163 "value" : ["ipv4", "ttl"]
4164 },
4165 "right" : {
4166 "type" : "hexstr",
4167 "value" : "0xff"
4168 }
4169 }
4170 },
4171 "right" : {
4172 "type" : "hexstr",
4173 "value" : "0xff"
4174 }
4175 }
4176 }
4177 }
4178 ],
4179 "source_info" : {
4180 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004181 "line" : 373,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004182 "column" : 16,
4183 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4184 }
4185 }
4186 ]
4187 }
4188 ],
4189 "pipelines" : [
4190 {
4191 "name" : "ingress",
4192 "id" : 0,
4193 "source_info" : {
4194 "filename" : "fabric.p4",
4195 "line" : 46,
4196 "column" : 8,
4197 "source_fragment" : "FabricIngress"
4198 },
4199 "init_table" : "node_2",
4200 "tables" : [
4201 {
4202 "name" : "tbl_act",
4203 "id" : 0,
4204 "source_info" : {
4205 "filename" : "include/control/packetio.p4",
4206 "line" : 25,
4207 "column" : 42,
4208 "source_fragment" : "= hdr.packet_out.egress_port; ..."
4209 },
4210 "key" : [],
4211 "match_type" : "exact",
4212 "type" : "simple",
4213 "max_size" : 1024,
4214 "with_counters" : false,
4215 "support_timeout" : false,
4216 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004217 "action_ids" : [35],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004218 "actions" : ["act"],
4219 "base_default_next" : "node_4",
4220 "next_tables" : {
4221 "act" : "node_4"
4222 },
4223 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004224 "action_id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004225 "action_const" : true,
4226 "action_data" : [],
4227 "action_entry_const" : true
4228 }
4229 },
4230 {
4231 "name" : "tbl_act_0",
4232 "id" : 1,
4233 "source_info" : {
4234 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004235 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004236 "column" : 36,
4237 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004238 },
4239 "key" : [],
4240 "match_type" : "exact",
4241 "type" : "simple",
4242 "max_size" : 1024,
4243 "with_counters" : false,
4244 "support_timeout" : false,
4245 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004246 "action_ids" : [36],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004247 "actions" : ["act_0"],
4248 "base_default_next" : "node_6",
4249 "next_tables" : {
4250 "act_0" : "node_6"
4251 },
4252 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004253 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004254 "action_const" : true,
4255 "action_data" : [],
4256 "action_entry_const" : true
4257 }
4258 },
4259 {
4260 "name" : "tbl_act_1",
4261 "id" : 2,
4262 "source_info" : {
4263 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004264 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004265 "column" : 42,
4266 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
4267 },
4268 "key" : [],
4269 "match_type" : "exact",
4270 "type" : "simple",
4271 "max_size" : 1024,
4272 "with_counters" : false,
4273 "support_timeout" : false,
4274 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004275 "action_ids" : [37],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004276 "actions" : ["act_1"],
4277 "base_default_next" : "node_8",
4278 "next_tables" : {
4279 "act_1" : "node_8"
4280 },
4281 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004282 "action_id" : 37,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004283 "action_const" : true,
4284 "action_data" : [],
4285 "action_entry_const" : true
4286 }
4287 },
4288 {
4289 "name" : "tbl_act_2",
4290 "id" : 3,
4291 "source_info" : {
4292 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004293 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004294 "column" : 37,
4295 "source_fragment" : "="
4296 },
4297 "key" : [],
4298 "match_type" : "exact",
4299 "type" : "simple",
4300 "max_size" : 1024,
4301 "with_counters" : false,
4302 "support_timeout" : false,
4303 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004304 "action_ids" : [38],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004305 "actions" : ["act_2"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004306 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4307 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004308 "act_2" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004309 },
4310 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004311 "action_id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004312 "action_const" : true,
4313 "action_data" : [],
4314 "action_entry_const" : true
4315 }
4316 },
4317 {
4318 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004319 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004320 "source_info" : {
4321 "filename" : "include/control/filtering.p4",
4322 "line" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004323 "column" : 10,
4324 "source_fragment" : "ingress_port_vlan"
4325 },
4326 "key" : [
4327 {
4328 "match_type" : "exact",
4329 "name" : "ig_port",
4330 "target" : ["standard_metadata", "ingress_port"],
4331 "mask" : null
4332 },
4333 {
4334 "match_type" : "exact",
4335 "name" : "vlan_is_valid",
4336 "target" : ["vlan_tag", "$valid$"],
4337 "mask" : null
4338 },
4339 {
4340 "match_type" : "ternary",
4341 "name" : "vlan_id",
4342 "target" : ["vlan_tag", "vlan_id"],
4343 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07004344 },
4345 {
4346 "match_type" : "ternary",
4347 "name" : "inner_vlan_id",
4348 "target" : ["inner_vlan_tag", "vlan_id"],
4349 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004350 }
4351 ],
4352 "match_type" : "ternary",
4353 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004354 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004355 "with_counters" : true,
4356 "support_timeout" : false,
4357 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004358 "action_ids" : [16, 17, 18],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004359 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
4360 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
4361 "next_tables" : {
4362 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
4363 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
4364 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
4365 },
4366 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004367 "action_id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004368 "action_const" : true,
4369 "action_data" : [],
4370 "action_entry_const" : true
4371 }
4372 },
4373 {
4374 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro5a2de712019-09-24 14:34:07 -07004375 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004376 "source_info" : {
4377 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004378 "line" : 92,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004379 "column" : 10,
4380 "source_fragment" : "fwd_classifier"
4381 },
4382 "key" : [
4383 {
4384 "match_type" : "exact",
4385 "name" : "ig_port",
4386 "target" : ["standard_metadata", "ingress_port"],
4387 "mask" : null
4388 },
4389 {
4390 "match_type" : "ternary",
4391 "name" : "eth_dst",
4392 "target" : ["ethernet", "dst_addr"],
4393 "mask" : null
4394 },
4395 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004396 "match_type" : "ternary",
4397 "name" : "eth_type",
4398 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004399 "mask" : null
4400 },
4401 {
4402 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07004403 "name" : "ip_eth_type",
4404 "target" : ["scalars", "fabric_metadata_t._ip_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004405 "mask" : null
4406 }
4407 ],
4408 "match_type" : "ternary",
4409 "type" : "simple",
4410 "max_size" : 1024,
4411 "with_counters" : true,
4412 "support_timeout" : false,
4413 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004414 "action_ids" : [19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004415 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004416 "base_default_next" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004417 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004418 "FabricIngress.filtering.set_forwarding_type" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004419 },
4420 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004421 "action_id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004422 "action_const" : true,
4423 "action_data" : ["0x0"],
4424 "action_entry_const" : true
4425 }
4426 },
4427 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004428 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07004429 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004430 "source_info" : {
4431 "filename" : "include/control/forwarding.p4",
4432 "line" : 46,
4433 "column" : 10,
4434 "source_fragment" : "bridging"
4435 },
4436 "key" : [
4437 {
4438 "match_type" : "exact",
4439 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004440 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004441 "mask" : null
4442 },
4443 {
4444 "match_type" : "ternary",
4445 "name" : "eth_dst",
4446 "target" : ["ethernet", "dst_addr"],
4447 "mask" : null
4448 }
4449 ],
4450 "match_type" : "ternary",
4451 "type" : "simple",
4452 "max_size" : 1024,
4453 "with_counters" : true,
4454 "support_timeout" : false,
4455 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004456 "action_ids" : [20, 2],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004457 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
4458 "base_default_next" : "FabricIngress.acl.acl",
4459 "next_tables" : {
4460 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
4461 "nop" : "FabricIngress.acl.acl"
4462 },
4463 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004464 "action_id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004465 "action_const" : true,
4466 "action_data" : [],
4467 "action_entry_const" : true
4468 }
4469 },
4470 {
4471 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07004472 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004473 "source_info" : {
4474 "filename" : "include/control/forwarding.p4",
4475 "line" : 71,
4476 "column" : 10,
4477 "source_fragment" : "mpls"
4478 },
4479 "key" : [
4480 {
4481 "match_type" : "exact",
4482 "name" : "mpls_label",
Daniele Moro5a2de712019-09-24 14:34:07 -07004483 "target" : ["scalars", "fabric_metadata_t._mpls_label8"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004484 "mask" : null
4485 }
4486 ],
4487 "match_type" : "exact",
4488 "type" : "simple",
4489 "max_size" : 1024,
4490 "with_counters" : true,
4491 "support_timeout" : false,
4492 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004493 "action_ids" : [21, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004494 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
4495 "base_default_next" : "FabricIngress.acl.acl",
4496 "next_tables" : {
4497 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
4498 "nop" : "FabricIngress.acl.acl"
4499 },
4500 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004501 "action_id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004502 "action_const" : true,
4503 "action_data" : [],
4504 "action_entry_const" : true
4505 }
4506 },
4507 {
4508 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004509 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004510 "source_info" : {
4511 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004512 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004513 "column" : 10,
4514 "source_fragment" : "routing_v4"
4515 },
4516 "key" : [
4517 {
4518 "match_type" : "lpm",
4519 "name" : "ipv4_dst",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04004520 "target" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004521 "mask" : null
4522 }
4523 ],
4524 "match_type" : "lpm",
4525 "type" : "simple",
4526 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07004527 "with_counters" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004528 "support_timeout" : false,
4529 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004530 "action_ids" : [22, 23, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004531 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
4532 "base_default_next" : "FabricIngress.acl.acl",
4533 "next_tables" : {
4534 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
4535 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
4536 "nop" : "FabricIngress.acl.acl"
4537 },
4538 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004539 "action_id" : 4,
CyberHasHe9ba39c2019-10-11 05:59:12 +08004540 "action_const" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004541 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08004542 "action_entry_const" : false
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004543 }
4544 },
4545 {
4546 "name" : "FabricIngress.acl.acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07004547 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004548 "source_info" : {
4549 "filename" : "include/control/acl.p4",
4550 "line" : 60,
4551 "column" : 10,
4552 "source_fragment" : "acl"
4553 },
4554 "key" : [
4555 {
4556 "match_type" : "ternary",
4557 "name" : "ig_port",
4558 "target" : ["standard_metadata", "ingress_port"],
4559 "mask" : null
4560 },
4561 {
4562 "match_type" : "ternary",
4563 "name" : "ip_proto",
Daniele Moro5a2de712019-09-24 14:34:07 -07004564 "target" : ["scalars", "fabric_metadata_t._ip_proto16"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004565 "mask" : null
4566 },
4567 {
4568 "match_type" : "ternary",
4569 "name" : "l4_sport",
Daniele Moro5a2de712019-09-24 14:34:07 -07004570 "target" : ["scalars", "fabric_metadata_t._l4_sport17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004571 "mask" : null
4572 },
4573 {
4574 "match_type" : "ternary",
4575 "name" : "l4_dport",
Daniele Moro5a2de712019-09-24 14:34:07 -07004576 "target" : ["scalars", "fabric_metadata_t._l4_dport18"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004577 "mask" : null
4578 },
4579 {
4580 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004581 "name" : "eth_dst",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004582 "target" : ["ethernet", "dst_addr"],
4583 "mask" : null
4584 },
4585 {
4586 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004587 "name" : "eth_src",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004588 "target" : ["ethernet", "src_addr"],
4589 "mask" : null
4590 },
4591 {
4592 "match_type" : "ternary",
4593 "name" : "vlan_id",
4594 "target" : ["vlan_tag", "vlan_id"],
4595 "mask" : null
4596 },
4597 {
4598 "match_type" : "ternary",
4599 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07004600 "target" : ["eth_type", "value"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004601 "mask" : null
4602 },
4603 {
4604 "match_type" : "ternary",
4605 "name" : "ipv4_src",
4606 "target" : ["ipv4", "src_addr"],
4607 "mask" : null
4608 },
4609 {
4610 "match_type" : "ternary",
4611 "name" : "ipv4_dst",
4612 "target" : ["ipv4", "dst_addr"],
4613 "mask" : null
4614 },
4615 {
4616 "match_type" : "ternary",
4617 "name" : "icmp_type",
4618 "target" : ["icmp", "icmp_type"],
4619 "mask" : null
4620 },
4621 {
4622 "match_type" : "ternary",
4623 "name" : "icmp_code",
4624 "target" : ["icmp", "icmp_code"],
4625 "mask" : null
4626 }
4627 ],
4628 "match_type" : "ternary",
4629 "type" : "simple",
4630 "max_size" : 1024,
4631 "with_counters" : true,
4632 "support_timeout" : false,
4633 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004634 "action_ids" : [24, 25, 26, 27, 28],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004635 "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 -07004636 "base_default_next" : "node_20",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004637 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004638 "FabricIngress.acl.set_next_id_acl" : "node_20",
4639 "FabricIngress.acl.punt_to_cpu" : "node_20",
4640 "FabricIngress.acl.set_clone_session_id" : "node_20",
4641 "FabricIngress.acl.drop" : "node_20",
4642 "FabricIngress.acl.nop_acl" : "node_20"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004643 },
4644 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004645 "action_id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004646 "action_const" : true,
4647 "action_data" : [],
4648 "action_entry_const" : true
4649 }
4650 },
4651 {
4652 "name" : "FabricIngress.next.hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07004653 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004654 "source_info" : {
4655 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004656 "line" : 202,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004657 "column" : 10,
4658 "source_fragment" : "hashed"
4659 },
4660 "key" : [
4661 {
4662 "match_type" : "exact",
4663 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004664 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004665 "mask" : null
4666 }
4667 ],
4668 "match_type" : "exact",
4669 "type" : "indirect_ws",
4670 "action_profile" : "FabricIngress.next.hashed_selector",
4671 "max_size" : 1024,
4672 "with_counters" : true,
4673 "support_timeout" : false,
4674 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004675 "action_ids" : [31, 32, 33, 6],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004676 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
4677 "base_default_next" : "FabricIngress.next.multicast",
4678 "next_tables" : {
4679 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
4680 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
4681 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
4682 "nop" : "FabricIngress.next.multicast"
4683 }
4684 },
4685 {
4686 "name" : "FabricIngress.next.multicast",
Daniele Moro5a2de712019-09-24 14:34:07 -07004687 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004688 "source_info" : {
4689 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004690 "line" : 236,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004691 "column" : 10,
4692 "source_fragment" : "multicast"
4693 },
4694 "key" : [
4695 {
4696 "match_type" : "exact",
4697 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004698 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004699 "mask" : null
4700 }
4701 ],
4702 "match_type" : "exact",
4703 "type" : "simple",
4704 "max_size" : 1024,
4705 "with_counters" : true,
4706 "support_timeout" : false,
4707 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004708 "action_ids" : [34, 7],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004709 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
4710 "base_default_next" : "FabricIngress.next.next_vlan",
4711 "next_tables" : {
4712 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
4713 "nop" : "FabricIngress.next.next_vlan"
4714 },
4715 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004716 "action_id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004717 "action_const" : true,
4718 "action_data" : [],
4719 "action_entry_const" : true
4720 }
4721 },
4722 {
4723 "name" : "FabricIngress.next.next_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004724 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004725 "source_info" : {
4726 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004727 "line" : 86,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004728 "column" : 10,
4729 "source_fragment" : "next_vlan"
4730 },
4731 "key" : [
4732 {
4733 "match_type" : "exact",
4734 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004735 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004736 "mask" : null
4737 }
4738 ],
4739 "match_type" : "exact",
4740 "type" : "simple",
4741 "max_size" : 1024,
4742 "with_counters" : true,
4743 "support_timeout" : false,
4744 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004745 "action_ids" : [29, 30, 5],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004746 "actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004747 "base_default_next" : "node_24",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004748 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004749 "FabricIngress.next.set_vlan" : "node_24",
4750 "FabricIngress.next.set_double_vlan" : "node_24",
4751 "nop" : "node_24"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004752 },
4753 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004754 "action_id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004755 "action_const" : true,
4756 "action_data" : [],
4757 "action_entry_const" : true
4758 }
4759 },
4760 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004761 "name" : "tbl_act_3",
4762 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004763 "source_info" : {
4764 "filename" : "include/control/port_counter.p4",
4765 "line" : 31,
4766 "column" : 12,
4767 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4768 },
4769 "key" : [],
4770 "match_type" : "exact",
4771 "type" : "simple",
4772 "max_size" : 1024,
4773 "with_counters" : false,
4774 "support_timeout" : false,
4775 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004776 "action_ids" : [39],
4777 "actions" : ["act_3"],
4778 "base_default_next" : "node_26",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004779 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004780 "act_3" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004781 },
4782 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004783 "action_id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004784 "action_const" : true,
4785 "action_data" : [],
4786 "action_entry_const" : true
4787 }
4788 },
4789 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004790 "name" : "tbl_act_4",
4791 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004792 "source_info" : {
4793 "filename" : "include/control/port_counter.p4",
4794 "line" : 34,
4795 "column" : 12,
4796 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4797 },
4798 "key" : [],
4799 "match_type" : "exact",
4800 "type" : "simple",
4801 "max_size" : 1024,
4802 "with_counters" : false,
4803 "support_timeout" : false,
4804 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004805 "action_ids" : [40],
4806 "actions" : ["act_4"],
Daniele Morob3d199b2019-11-01 14:01:46 -07004807 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004808 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004809 "act_4" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004810 },
4811 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004812 "action_id" : 40,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004813 "action_const" : true,
4814 "action_data" : [],
4815 "action_entry_const" : true
4816 }
4817 },
4818 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004819 "name" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro5a2de712019-09-24 14:34:07 -07004820 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004821 "source_info" : {
4822 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004823 "line" : 323,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004824 "column" : 14,
4825 "source_fragment" : "t_line_map"
4826 },
4827 "key" : [
4828 {
4829 "match_type" : "exact",
4830 "name" : "s_tag",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04004831 "target" : ["scalars", "fabric_metadata_t._bng_s_tag25"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004832 "mask" : null
4833 },
4834 {
4835 "match_type" : "exact",
4836 "name" : "c_tag",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04004837 "target" : ["scalars", "fabric_metadata_t._bng_c_tag26"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004838 "mask" : null
4839 }
4840 ],
4841 "match_type" : "exact",
4842 "type" : "simple",
4843 "max_size" : 8192,
4844 "with_counters" : false,
4845 "support_timeout" : false,
4846 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004847 "action_ids" : [15],
4848 "actions" : ["FabricIngress.bng_ingress.set_line"],
Daniele Morob3d199b2019-11-01 14:01:46 -07004849 "base_default_next" : "node_29",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004850 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004851 "FabricIngress.bng_ingress.set_line" : "node_29"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004852 },
4853 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004854 "action_id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004855 "action_const" : true,
Daniele Moro5a2de712019-09-24 14:34:07 -07004856 "action_data" : ["0x0"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004857 "action_entry_const" : true
4858 }
4859 },
4860 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004861 "name" : "tbl_act_5",
4862 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004863 "source_info" : {
4864 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004865 "line" : 342,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004866 "column" : 31,
4867 "source_fragment" : "="
4868 },
4869 "key" : [],
4870 "match_type" : "exact",
4871 "type" : "simple",
4872 "max_size" : 1024,
4873 "with_counters" : false,
4874 "support_timeout" : false,
4875 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07004876 "action_ids" : [43],
4877 "actions" : ["act_7"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004878 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
4879 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004880 "act_7" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004881 },
4882 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004883 "action_id" : 43,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004884 "action_const" : true,
4885 "action_data" : [],
4886 "action_entry_const" : true
4887 }
4888 },
4889 {
4890 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
Daniele Morob3d199b2019-11-01 14:01:46 -07004891 "id" : 17,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004892 "source_info" : {
4893 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004894 "line" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004895 "column" : 10,
4896 "source_fragment" : "t_pppoe_cp"
4897 },
4898 "key" : [
4899 {
4900 "match_type" : "exact",
4901 "name" : "pppoe_code",
4902 "target" : ["pppoe", "code"],
4903 "mask" : null
4904 },
4905 {
4906 "match_type" : "ternary",
4907 "name" : "pppoe_protocol",
4908 "target" : ["pppoe", "protocol"],
4909 "mask" : null
4910 }
4911 ],
4912 "match_type" : "ternary",
4913 "type" : "simple",
4914 "max_size" : 16,
4915 "with_counters" : false,
4916 "support_timeout" : false,
4917 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004918 "action_ids" : [8, 0],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004919 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004920 "base_default_next" : null,
4921 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004922 "__HIT__" : "tbl_act_6",
4923 "__MISS__" : "tbl_act_7"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004924 },
4925 "default_entry" : {
4926 "action_id" : 0,
4927 "action_const" : true,
4928 "action_data" : [],
4929 "action_entry_const" : true
4930 }
4931 },
4932 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004933 "name" : "tbl_act_6",
4934 "id" : 18,
4935 "key" : [],
4936 "match_type" : "exact",
4937 "type" : "simple",
4938 "max_size" : 1024,
4939 "with_counters" : false,
4940 "support_timeout" : false,
4941 "direct_meters" : null,
4942 "action_ids" : [41],
4943 "actions" : ["act_5"],
4944 "base_default_next" : "node_34",
4945 "next_tables" : {
4946 "act_5" : "node_34"
4947 },
4948 "default_entry" : {
4949 "action_id" : 41,
4950 "action_const" : true,
4951 "action_data" : [],
4952 "action_entry_const" : true
4953 }
4954 },
4955 {
4956 "name" : "tbl_act_7",
4957 "id" : 19,
4958 "key" : [],
4959 "match_type" : "exact",
4960 "type" : "simple",
4961 "max_size" : 1024,
4962 "with_counters" : false,
4963 "support_timeout" : false,
4964 "direct_meters" : null,
4965 "action_ids" : [42],
4966 "actions" : ["act_6"],
4967 "base_default_next" : "node_34",
4968 "next_tables" : {
4969 "act_6" : "node_34"
4970 },
4971 "default_entry" : {
4972 "action_id" : 42,
4973 "action_const" : true,
4974 "action_data" : [],
4975 "action_entry_const" : true
4976 }
4977 },
4978 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004979 "name" : "tbl_act_8",
4980 "id" : 20,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004981 "source_info" : {
4982 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004983 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004984 "column" : 12,
4985 "source_fragment" : "return"
4986 },
4987 "key" : [],
4988 "match_type" : "exact",
4989 "type" : "simple",
4990 "max_size" : 1024,
4991 "with_counters" : false,
4992 "support_timeout" : false,
4993 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07004994 "action_ids" : [44],
4995 "actions" : ["act_8"],
4996 "base_default_next" : "node_36",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004997 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004998 "act_8" : "node_36"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004999 },
5000 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005001 "action_id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005002 "action_const" : true,
5003 "action_data" : [],
5004 "action_entry_const" : true
5005 }
5006 },
5007 {
5008 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005009 "id" : 21,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005010 "source_info" : {
5011 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005012 "line" : 87,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005013 "column" : 10,
5014 "source_fragment" : "t_pppoe_term_v4"
5015 },
5016 "key" : [
5017 {
5018 "match_type" : "exact",
5019 "name" : "line_id",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005020 "target" : ["scalars", "fabric_metadata_t._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005021 "mask" : null
5022 },
5023 {
5024 "match_type" : "exact",
5025 "name" : "ipv4_src",
5026 "target" : ["ipv4", "src_addr"],
5027 "mask" : null
5028 },
5029 {
5030 "match_type" : "exact",
5031 "name" : "pppoe_session_id",
5032 "target" : ["pppoe", "session_id"],
5033 "mask" : null
5034 }
5035 ],
5036 "match_type" : "exact",
5037 "type" : "simple",
5038 "max_size" : 32768,
5039 "with_counters" : false,
5040 "support_timeout" : false,
5041 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005042 "action_ids" : [10, 9],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005043 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
5044 "base_default_next" : null,
5045 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005046 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_act_9",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005047 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
5048 },
5049 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005050 "action_id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005051 "action_const" : true,
5052 "action_data" : [],
5053 "action_entry_const" : true
5054 }
5055 },
5056 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005057 "name" : "tbl_act_9",
5058 "id" : 22,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005059 "source_info" : {
5060 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005061 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005062 "column" : 20,
5063 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
5064 },
5065 "key" : [],
5066 "match_type" : "exact",
5067 "type" : "simple",
5068 "max_size" : 1024,
5069 "with_counters" : false,
5070 "support_timeout" : false,
5071 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005072 "action_ids" : [45],
5073 "actions" : ["act_9"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005074 "base_default_next" : null,
5075 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005076 "act_9" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005077 },
5078 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005079 "action_id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005080 "action_const" : true,
5081 "action_data" : [],
5082 "action_entry_const" : true
5083 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07005084 },
5085 {
5086 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
Daniele Morob3d199b2019-11-01 14:01:46 -07005087 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005088 "source_info" : {
5089 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005090 "line" : 169,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005091 "column" : 10,
5092 "source_fragment" : "t_line_session_map"
5093 },
5094 "key" : [
5095 {
5096 "match_type" : "exact",
5097 "name" : "line_id",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005098 "target" : ["scalars", "fabric_metadata_t._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005099 "mask" : null
5100 }
5101 ],
5102 "match_type" : "exact",
5103 "type" : "simple",
5104 "max_size" : 8192,
5105 "with_counters" : false,
5106 "support_timeout" : false,
5107 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005108 "action_ids" : [1, 11, 12],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005109 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
5110 "base_default_next" : null,
5111 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005112 "__HIT__" : "tbl_act_10",
5113 "__MISS__" : "tbl_act_11"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005114 },
5115 "default_entry" : {
5116 "action_id" : 1,
5117 "action_const" : true,
5118 "action_data" : [],
5119 "action_entry_const" : true
5120 }
5121 },
5122 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005123 "name" : "tbl_act_10",
5124 "id" : 24,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005125 "key" : [],
5126 "match_type" : "exact",
5127 "type" : "simple",
5128 "max_size" : 1024,
5129 "with_counters" : false,
5130 "support_timeout" : false,
5131 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005132 "action_ids" : [46],
5133 "actions" : ["act_10"],
5134 "base_default_next" : "node_43",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005135 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005136 "act_10" : "node_43"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005137 },
5138 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005139 "action_id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005140 "action_const" : true,
5141 "action_data" : [],
5142 "action_entry_const" : true
5143 }
5144 },
5145 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005146 "name" : "tbl_act_11",
5147 "id" : 25,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005148 "key" : [],
5149 "match_type" : "exact",
5150 "type" : "simple",
5151 "max_size" : 1024,
5152 "with_counters" : false,
5153 "support_timeout" : false,
5154 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005155 "action_ids" : [47],
5156 "actions" : ["act_11"],
5157 "base_default_next" : "node_43",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005158 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005159 "act_11" : "node_43"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005160 },
5161 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005162 "action_id" : 47,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005163 "action_const" : true,
5164 "action_data" : [],
5165 "action_entry_const" : true
5166 }
5167 },
5168 {
5169 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005170 "id" : 26,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005171 "source_info" : {
5172 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005173 "line" : 194,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005174 "column" : 10,
5175 "source_fragment" : "t_qos_v4"
5176 },
5177 "key" : [
5178 {
5179 "match_type" : "ternary",
5180 "name" : "line_id",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005181 "target" : ["scalars", "fabric_metadata_t._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005182 "mask" : null
5183 },
5184 {
5185 "match_type" : "lpm",
5186 "name" : "ipv4_src",
5187 "target" : ["ipv4", "src_addr"],
5188 "mask" : null
5189 },
5190 {
5191 "match_type" : "ternary",
5192 "name" : "ipv4_dscp",
5193 "target" : ["ipv4", "dscp"],
5194 "mask" : null
5195 },
5196 {
5197 "match_type" : "ternary",
5198 "name" : "ipv4_ecn",
5199 "target" : ["ipv4", "ecn"],
5200 "mask" : null
5201 }
5202 ],
5203 "match_type" : "ternary",
5204 "type" : "simple",
5205 "max_size" : 256,
5206 "with_counters" : false,
5207 "support_timeout" : false,
5208 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005209 "action_ids" : [13, 14],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005210 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
5211 "base_default_next" : null,
5212 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005213 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_act_12",
5214 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_act_13"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005215 },
5216 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005217 "action_id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005218 "action_const" : true,
5219 "action_data" : [],
5220 "action_entry_const" : true
5221 }
5222 },
5223 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005224 "name" : "tbl_act_12",
5225 "id" : 27,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005226 "source_info" : {
5227 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005228 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005229 "column" : 24,
5230 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5231 },
5232 "key" : [],
5233 "match_type" : "exact",
5234 "type" : "simple",
5235 "max_size" : 1024,
5236 "with_counters" : false,
5237 "support_timeout" : false,
5238 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005239 "action_ids" : [48],
5240 "actions" : ["act_12"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005241 "base_default_next" : null,
5242 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005243 "act_12" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005244 },
5245 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005246 "action_id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005247 "action_const" : true,
5248 "action_data" : [],
5249 "action_entry_const" : true
5250 }
5251 },
5252 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005253 "name" : "tbl_act_13",
5254 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005255 "source_info" : {
5256 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005257 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005258 "column" : 24,
5259 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5260 },
5261 "key" : [],
5262 "match_type" : "exact",
5263 "type" : "simple",
5264 "max_size" : 1024,
5265 "with_counters" : false,
5266 "support_timeout" : false,
5267 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005268 "action_ids" : [49],
5269 "actions" : ["act_13"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005270 "base_default_next" : null,
5271 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005272 "act_13" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005273 },
5274 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005275 "action_id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005276 "action_const" : true,
5277 "action_data" : [],
5278 "action_entry_const" : true
5279 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005280 }
5281 ],
5282 "action_profiles" : [
5283 {
5284 "name" : "FabricIngress.next.hashed_selector",
5285 "id" : 0,
5286 "source_info" : {
5287 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005288 "line" : 183,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005289 "column" : 57,
5290 "source_fragment" : "hashed_selector"
5291 },
5292 "max_size" : 1024,
5293 "selector" : {
5294 "algo" : "crc16",
5295 "input" : [
5296 {
5297 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005298 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005299 },
5300 {
5301 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005302 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005303 },
5304 {
5305 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005306 "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005307 },
5308 {
5309 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005310 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005311 },
5312 {
5313 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005314 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005315 }
5316 ]
5317 }
5318 }
5319 ],
5320 "conditionals" : [
5321 {
5322 "name" : "node_2",
5323 "id" : 0,
5324 "source_info" : {
5325 "filename" : "include/control/packetio.p4",
5326 "line" : 24,
5327 "column" : 12,
5328 "source_fragment" : "hdr.packet_out.isValid()"
5329 },
5330 "expression" : {
5331 "type" : "expression",
5332 "value" : {
5333 "op" : "d2b",
5334 "left" : null,
5335 "right" : {
5336 "type" : "field",
5337 "value" : ["packet_out", "$valid$"]
5338 }
5339 }
5340 },
5341 "true_next" : "tbl_act",
5342 "false_next" : "node_4"
5343 },
5344 {
5345 "name" : "node_4",
5346 "id" : 1,
5347 "source_info" : {
5348 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005349 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005350 "column" : 12,
5351 "source_fragment" : "hdr.vlan_tag.isValid()"
5352 },
5353 "expression" : {
5354 "type" : "expression",
5355 "value" : {
5356 "op" : "d2b",
5357 "left" : null,
5358 "right" : {
5359 "type" : "field",
5360 "value" : ["vlan_tag", "$valid$"]
5361 }
5362 }
5363 },
5364 "true_next" : "tbl_act_0",
5365 "false_next" : "node_6"
5366 },
5367 {
5368 "name" : "node_6",
5369 "id" : 2,
5370 "source_info" : {
5371 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005372 "line" : 116,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005373 "column" : 12,
5374 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
5375 },
5376 "expression" : {
5377 "type" : "expression",
5378 "value" : {
5379 "op" : "d2b",
5380 "left" : null,
5381 "right" : {
5382 "type" : "field",
5383 "value" : ["inner_vlan_tag", "$valid$"]
5384 }
5385 }
5386 },
5387 "true_next" : "tbl_act_1",
5388 "false_next" : "node_8"
5389 },
5390 {
5391 "name" : "node_8",
5392 "id" : 3,
5393 "source_info" : {
5394 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005395 "line" : 122,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005396 "column" : 12,
5397 "source_fragment" : "!hdr.mpls.isValid()"
5398 },
5399 "expression" : {
5400 "type" : "expression",
5401 "value" : {
5402 "op" : "not",
5403 "left" : null,
5404 "right" : {
5405 "type" : "expression",
5406 "value" : {
5407 "op" : "d2b",
5408 "left" : null,
5409 "right" : {
5410 "type" : "field",
5411 "value" : ["mpls", "$valid$"]
5412 }
5413 }
5414 }
5415 }
5416 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005417 "true_next" : "tbl_act_2",
Daniele Moro5a2de712019-09-24 14:34:07 -07005418 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005419 },
5420 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005421 "name" : "node_12",
Daniele Moro5a2de712019-09-24 14:34:07 -07005422 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005423 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005424 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07005425 "line" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005426 "column" : 12,
5427 "source_fragment" : "fabric_metadata.skip_forwarding == false"
5428 },
5429 "expression" : {
5430 "type" : "expression",
5431 "value" : {
5432 "op" : "==",
5433 "left" : {
5434 "type" : "expression",
5435 "value" : {
5436 "op" : "d2b",
5437 "left" : null,
5438 "right" : {
5439 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005440 "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005441 }
5442 }
5443 },
5444 "right" : {
5445 "type" : "bool",
5446 "value" : false
5447 }
5448 }
5449 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005450 "true_next" : "node_13",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005451 "false_next" : "FabricIngress.acl.acl"
5452 },
5453 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005454 "name" : "node_13",
5455 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005456 "source_info" : {
5457 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005458 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005459 "column" : 12,
5460 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
5461 },
5462 "expression" : {
5463 "type" : "expression",
5464 "value" : {
5465 "op" : "==",
5466 "left" : {
5467 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005468 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005469 },
5470 "right" : {
5471 "type" : "hexstr",
5472 "value" : "0x00"
5473 }
5474 }
5475 },
5476 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07005477 "false_next" : "node_15"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005478 },
5479 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005480 "name" : "node_15",
5481 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005482 "source_info" : {
5483 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005484 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005485 "column" : 17,
5486 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
5487 },
5488 "expression" : {
5489 "type" : "expression",
5490 "value" : {
5491 "op" : "==",
5492 "left" : {
5493 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005494 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005495 },
5496 "right" : {
5497 "type" : "hexstr",
5498 "value" : "0x01"
5499 }
5500 }
5501 },
5502 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005503 "false_next" : "node_17"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005504 },
5505 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005506 "name" : "node_17",
5507 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005508 "source_info" : {
5509 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005510 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005511 "column" : 17,
5512 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
5513 },
5514 "expression" : {
5515 "type" : "expression",
5516 "value" : {
5517 "op" : "==",
5518 "left" : {
5519 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005520 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005521 },
5522 "right" : {
5523 "type" : "hexstr",
5524 "value" : "0x02"
5525 }
5526 }
5527 },
5528 "true_next" : "FabricIngress.forwarding.routing_v4",
5529 "false_next" : "FabricIngress.acl.acl"
5530 },
5531 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005532 "name" : "node_20",
5533 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005534 "source_info" : {
5535 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07005536 "line" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005537 "column" : 12,
5538 "source_fragment" : "fabric_metadata.skip_next == false"
5539 },
5540 "expression" : {
5541 "type" : "expression",
5542 "value" : {
5543 "op" : "==",
5544 "left" : {
5545 "type" : "expression",
5546 "value" : {
5547 "op" : "d2b",
5548 "left" : null,
5549 "right" : {
5550 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005551 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005552 }
5553 }
5554 },
5555 "right" : {
5556 "type" : "bool",
5557 "value" : false
5558 }
5559 }
5560 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005561 "true_next" : "FabricIngress.next.hashed",
Daniele Morob3d199b2019-11-01 14:01:46 -07005562 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005563 },
5564 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005565 "name" : "node_24",
5566 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005567 "source_info" : {
5568 "filename" : "include/control/port_counter.p4",
5569 "line" : 30,
5570 "column" : 12,
5571 "source_fragment" : "standard_metadata.egress_spec < 511"
5572 },
5573 "expression" : {
5574 "type" : "expression",
5575 "value" : {
5576 "op" : "<",
5577 "left" : {
5578 "type" : "field",
5579 "value" : ["standard_metadata", "egress_spec"]
5580 },
5581 "right" : {
5582 "type" : "hexstr",
5583 "value" : "0x01ff"
5584 }
5585 }
5586 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005587 "true_next" : "tbl_act_3",
5588 "false_next" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005589 },
5590 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005591 "name" : "node_26",
5592 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005593 "source_info" : {
5594 "filename" : "include/control/port_counter.p4",
5595 "line" : 33,
5596 "column" : 12,
5597 "source_fragment" : "standard_metadata.ingress_port < 511"
5598 },
5599 "expression" : {
5600 "type" : "expression",
5601 "value" : {
5602 "op" : "<",
5603 "left" : {
5604 "type" : "field",
5605 "value" : ["standard_metadata", "ingress_port"]
5606 },
5607 "right" : {
5608 "type" : "hexstr",
5609 "value" : "0x01ff"
5610 }
5611 }
5612 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005613 "true_next" : "tbl_act_4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005614 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005615 },
5616 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005617 "name" : "node_29",
Daniele Moro5a2de712019-09-24 14:34:07 -07005618 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005619 "source_info" : {
5620 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005621 "line" : 341,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005622 "column" : 16,
5623 "source_fragment" : "hdr.pppoe.isValid()"
5624 },
5625 "expression" : {
5626 "type" : "expression",
5627 "value" : {
5628 "op" : "d2b",
5629 "left" : null,
5630 "right" : {
5631 "type" : "field",
5632 "value" : ["pppoe", "$valid$"]
5633 }
5634 }
5635 },
Daniele Morob3d199b2019-11-01 14:01:46 -07005636 "true_next" : "tbl_act_5",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005637 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
5638 },
5639 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005640 "name" : "node_34",
5641 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005642 "expression" : {
5643 "type" : "expression",
5644 "value" : {
5645 "op" : "d2b",
5646 "left" : null,
5647 "right" : {
5648 "type" : "field",
5649 "value" : ["scalars", "bng_ingress_upstream_tmp"]
5650 }
5651 }
5652 },
Daniele Morob3d199b2019-11-01 14:01:46 -07005653 "true_next" : "tbl_act_8",
5654 "false_next" : "node_36"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005655 },
5656 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005657 "name" : "node_36",
5658 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005659 "expression" : {
5660 "type" : "expression",
5661 "value" : {
5662 "op" : "not",
5663 "left" : null,
5664 "right" : {
5665 "type" : "expression",
5666 "value" : {
5667 "op" : "d2b",
5668 "left" : null,
5669 "right" : {
5670 "type" : "field",
5671 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
5672 }
5673 }
5674 }
5675 }
5676 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005677 "false_next" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005678 "true_next" : "node_37"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005679 },
5680 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005681 "name" : "node_37",
5682 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005683 "source_info" : {
5684 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005685 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005686 "column" : 12,
5687 "source_fragment" : "hdr.ipv4.isValid()"
5688 },
5689 "expression" : {
5690 "type" : "expression",
5691 "value" : {
5692 "op" : "d2b",
5693 "left" : null,
5694 "right" : {
5695 "type" : "field",
5696 "value" : ["ipv4", "$valid$"]
5697 }
5698 }
5699 },
5700 "false_next" : null,
5701 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
5702 },
5703 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005704 "name" : "node_43",
5705 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005706 "expression" : {
5707 "type" : "expression",
5708 "value" : {
5709 "op" : "d2b",
5710 "left" : null,
5711 "right" : {
5712 "type" : "field",
5713 "value" : ["scalars", "bng_ingress_downstream_tmp"]
5714 }
5715 }
5716 },
5717 "false_next" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005718 "true_next" : "node_44"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005719 },
5720 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005721 "name" : "node_44",
5722 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005723 "source_info" : {
5724 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005725 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005726 "column" : 16,
5727 "source_fragment" : "hdr.ipv4.isValid()"
5728 },
5729 "expression" : {
5730 "type" : "expression",
5731 "value" : {
5732 "op" : "d2b",
5733 "left" : null,
5734 "right" : {
5735 "type" : "field",
5736 "value" : ["ipv4", "$valid$"]
5737 }
5738 }
5739 },
5740 "false_next" : null,
5741 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005742 }
5743 ]
5744 },
5745 {
5746 "name" : "egress",
5747 "id" : 1,
5748 "source_info" : {
5749 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07005750 "line" : 91,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005751 "column" : 8,
5752 "source_fragment" : "FabricEgress"
5753 },
Daniele Morob3d199b2019-11-01 14:01:46 -07005754 "init_table" : "node_50",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005755 "tables" : [
5756 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005757 "name" : "tbl_act_14",
5758 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005759 "source_info" : {
5760 "filename" : "include/control/packetio.p4",
5761 "line" : 41,
5762 "column" : 12,
5763 "source_fragment" : "exit"
5764 },
5765 "key" : [],
5766 "match_type" : "exact",
5767 "type" : "simple",
5768 "max_size" : 1024,
5769 "with_counters" : false,
5770 "support_timeout" : false,
5771 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005772 "action_ids" : [58],
5773 "actions" : ["act_14"],
5774 "base_default_next" : "node_52",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005775 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005776 "act_14" : "node_52"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005777 },
5778 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005779 "action_id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005780 "action_const" : true,
5781 "action_data" : [],
5782 "action_entry_const" : true
5783 }
5784 },
5785 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005786 "name" : "tbl_act_15",
5787 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005788 "source_info" : {
5789 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005790 "line" : 44,
5791 "column" : 12,
5792 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005793 },
5794 "key" : [],
5795 "match_type" : "exact",
5796 "type" : "simple",
5797 "max_size" : 1024,
5798 "with_counters" : false,
5799 "support_timeout" : false,
5800 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005801 "action_ids" : [59],
5802 "actions" : ["act_15"],
5803 "base_default_next" : "node_54",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005804 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005805 "act_15" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005806 },
5807 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005808 "action_id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005809 "action_const" : true,
5810 "action_data" : [],
5811 "action_entry_const" : true
5812 }
5813 },
5814 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005815 "name" : "tbl_act_16",
5816 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005817 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005818 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005819 "line" : 337,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005820 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005821 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005822 },
5823 "key" : [],
5824 "match_type" : "exact",
5825 "type" : "simple",
5826 "max_size" : 1024,
5827 "with_counters" : false,
5828 "support_timeout" : false,
5829 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005830 "action_ids" : [60],
5831 "actions" : ["act_16"],
5832 "base_default_next" : "node_56",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005833 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005834 "act_16" : "node_56"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005835 },
5836 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005837 "action_id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005838 "action_const" : true,
5839 "action_data" : [],
5840 "action_entry_const" : true
5841 }
5842 },
5843 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005844 "name" : "tbl_egress_next_pop_mpls_if_present",
Daniele Morob3d199b2019-11-01 14:01:46 -07005845 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005846 "source_info" : {
5847 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005848 "line" : 341,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005849 "column" : 36,
5850 "source_fragment" : "pop_mpls_if_present()"
5851 },
5852 "key" : [],
5853 "match_type" : "exact",
5854 "type" : "simple",
5855 "max_size" : 1024,
5856 "with_counters" : false,
5857 "support_timeout" : false,
5858 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005859 "action_ids" : [52],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005860 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Daniele Morob3d199b2019-11-01 14:01:46 -07005861 "base_default_next" : "node_60",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005862 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005863 "FabricEgress.egress_next.pop_mpls_if_present" : "node_60"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005864 },
5865 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005866 "action_id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005867 "action_const" : true,
5868 "action_data" : [],
5869 "action_entry_const" : true
5870 }
5871 },
5872 {
5873 "name" : "tbl_egress_next_set_mpls",
Daniele Morob3d199b2019-11-01 14:01:46 -07005874 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005875 "source_info" : {
5876 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005877 "line" : 343,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005878 "column" : 12,
5879 "source_fragment" : "set_mpls()"
5880 },
5881 "key" : [],
5882 "match_type" : "exact",
5883 "type" : "simple",
5884 "max_size" : 1024,
5885 "with_counters" : false,
5886 "support_timeout" : false,
5887 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005888 "action_ids" : [53],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005889 "actions" : ["FabricEgress.egress_next.set_mpls"],
Daniele Morob3d199b2019-11-01 14:01:46 -07005890 "base_default_next" : "node_60",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005891 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005892 "FabricEgress.egress_next.set_mpls" : "node_60"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005893 },
5894 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005895 "action_id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005896 "action_const" : true,
5897 "action_data" : [],
5898 "action_entry_const" : true
5899 }
5900 },
5901 {
5902 "name" : "tbl_egress_next_push_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07005903 "id" : 34,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005904 "source_info" : {
5905 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005906 "line" : 349,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005907 "column" : 12,
5908 "source_fragment" : "push_vlan()"
5909 },
5910 "key" : [],
5911 "match_type" : "exact",
5912 "type" : "simple",
5913 "max_size" : 1024,
5914 "with_counters" : false,
5915 "support_timeout" : false,
5916 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005917 "action_ids" : [54],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005918 "actions" : ["FabricEgress.egress_next.push_vlan"],
5919 "base_default_next" : "tbl_egress_next_push_inner_vlan",
5920 "next_tables" : {
5921 "FabricEgress.egress_next.push_vlan" : "tbl_egress_next_push_inner_vlan"
5922 },
5923 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005924 "action_id" : 54,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005925 "action_const" : true,
5926 "action_data" : [],
5927 "action_entry_const" : true
5928 }
5929 },
5930 {
5931 "name" : "tbl_egress_next_push_inner_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07005932 "id" : 35,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005933 "source_info" : {
5934 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005935 "line" : 350,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005936 "column" : 12,
5937 "source_fragment" : "push_inner_vlan()"
5938 },
5939 "key" : [],
5940 "match_type" : "exact",
5941 "type" : "simple",
5942 "max_size" : 1024,
5943 "with_counters" : false,
5944 "support_timeout" : false,
5945 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005946 "action_ids" : [56],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005947 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
Daniele Morob3d199b2019-11-01 14:01:46 -07005948 "base_default_next" : "node_70",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005949 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005950 "FabricEgress.egress_next.push_inner_vlan" : "node_70"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005951 },
5952 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005953 "action_id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005954 "action_const" : true,
5955 "action_data" : [],
5956 "action_entry_const" : true
5957 }
5958 },
5959 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005960 "name" : "tbl_act_17",
5961 "id" : 36,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005962 "source_info" : {
5963 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005964 "line" : 353,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005965 "column" : 12,
5966 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
5967 },
5968 "key" : [],
5969 "match_type" : "exact",
5970 "type" : "simple",
5971 "max_size" : 1024,
5972 "with_counters" : false,
5973 "support_timeout" : false,
5974 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005975 "action_ids" : [63],
5976 "actions" : ["act_19"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005977 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
5978 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005979 "act_19" : "FabricEgress.egress_next.egress_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005980 },
5981 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005982 "action_id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005983 "action_const" : true,
5984 "action_data" : [],
5985 "action_entry_const" : true
5986 }
5987 },
5988 {
5989 "name" : "FabricEgress.egress_next.egress_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07005990 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005991 "source_info" : {
5992 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005993 "line" : 320,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005994 "column" : 10,
5995 "source_fragment" : "egress_vlan"
5996 },
5997 "key" : [
5998 {
5999 "match_type" : "exact",
6000 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07006001 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006002 "mask" : null
6003 },
6004 {
6005 "match_type" : "exact",
6006 "name" : "eg_port",
6007 "target" : ["standard_metadata", "egress_port"],
6008 "mask" : null
6009 }
6010 ],
6011 "match_type" : "exact",
6012 "type" : "simple",
6013 "max_size" : 1024,
6014 "with_counters" : true,
6015 "support_timeout" : false,
6016 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006017 "action_ids" : [57, 50],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006018 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
6019 "base_default_next" : null,
6020 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006021 "__HIT__" : "tbl_act_18",
6022 "__MISS__" : "tbl_act_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006023 },
6024 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006025 "action_id" : 50,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006026 "action_const" : true,
6027 "action_data" : [],
6028 "action_entry_const" : true
6029 }
6030 },
6031 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006032 "name" : "tbl_act_18",
6033 "id" : 38,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006034 "key" : [],
6035 "match_type" : "exact",
6036 "type" : "simple",
6037 "max_size" : 1024,
6038 "with_counters" : false,
6039 "support_timeout" : false,
6040 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006041 "action_ids" : [61],
6042 "actions" : ["act_17"],
6043 "base_default_next" : "node_67",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006044 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006045 "act_17" : "node_67"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006046 },
6047 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006048 "action_id" : 61,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006049 "action_const" : true,
6050 "action_data" : [],
6051 "action_entry_const" : true
6052 }
6053 },
6054 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006055 "name" : "tbl_act_19",
6056 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006057 "key" : [],
6058 "match_type" : "exact",
6059 "type" : "simple",
6060 "max_size" : 1024,
6061 "with_counters" : false,
6062 "support_timeout" : false,
6063 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006064 "action_ids" : [62],
6065 "actions" : ["act_18"],
6066 "base_default_next" : "node_67",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006067 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006068 "act_18" : "node_67"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006069 },
6070 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006071 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006072 "action_const" : true,
6073 "action_data" : [],
6074 "action_entry_const" : true
6075 }
6076 },
6077 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006078 "name" : "tbl_egress_next_push_vlan_0",
Daniele Morob3d199b2019-11-01 14:01:46 -07006079 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006080 "source_info" : {
6081 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006082 "line" : 360,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006083 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006084 "source_fragment" : "push_vlan()"
6085 },
6086 "key" : [],
6087 "match_type" : "exact",
6088 "type" : "simple",
6089 "max_size" : 1024,
6090 "with_counters" : false,
6091 "support_timeout" : false,
6092 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006093 "action_ids" : [55],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006094 "actions" : ["FabricEgress.egress_next.push_vlan"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006095 "base_default_next" : "node_70",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006096 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006097 "FabricEgress.egress_next.push_vlan" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006098 },
6099 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006100 "action_id" : 55,
6101 "action_const" : true,
6102 "action_data" : [],
6103 "action_entry_const" : true
6104 }
6105 },
6106 {
6107 "name" : "tbl_act_20",
6108 "id" : 41,
6109 "source_info" : {
6110 "filename" : "include/control/next.p4",
6111 "line" : 369,
6112 "column" : 25,
6113 "source_fragment" : "="
6114 },
6115 "key" : [],
6116 "match_type" : "exact",
6117 "type" : "simple",
6118 "max_size" : 1024,
6119 "with_counters" : false,
6120 "support_timeout" : false,
6121 "direct_meters" : null,
6122 "action_ids" : [65],
6123 "actions" : ["act_21"],
6124 "base_default_next" : "node_72",
6125 "next_tables" : {
6126 "act_21" : "node_72"
6127 },
6128 "default_entry" : {
6129 "action_id" : 65,
6130 "action_const" : true,
6131 "action_data" : [],
6132 "action_entry_const" : true
6133 }
6134 },
6135 {
6136 "name" : "tbl_act_21",
6137 "id" : 42,
6138 "source_info" : {
6139 "filename" : "include/control/next.p4",
6140 "line" : 370,
6141 "column" : 35,
6142 "source_fragment" : "mark_to_drop(standard_metadata)"
6143 },
6144 "key" : [],
6145 "match_type" : "exact",
6146 "type" : "simple",
6147 "max_size" : 1024,
6148 "with_counters" : false,
6149 "support_timeout" : false,
6150 "direct_meters" : null,
6151 "action_ids" : [64],
6152 "actions" : ["act_20"],
6153 "base_default_next" : "node_78",
6154 "next_tables" : {
6155 "act_20" : "node_78"
6156 },
6157 "default_entry" : {
6158 "action_id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006159 "action_const" : true,
6160 "action_data" : [],
6161 "action_entry_const" : true
6162 }
6163 },
6164 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006165 "name" : "tbl_act_22",
6166 "id" : 43,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006167 "source_info" : {
6168 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006169 "line" : 373,
6170 "column" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006171 "source_fragment" : "="
6172 },
6173 "key" : [],
6174 "match_type" : "exact",
6175 "type" : "simple",
6176 "max_size" : 1024,
6177 "with_counters" : false,
6178 "support_timeout" : false,
6179 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006180 "action_ids" : [67],
6181 "actions" : ["act_23"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006182 "base_default_next" : "node_76",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006183 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006184 "act_23" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006185 },
6186 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006187 "action_id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006188 "action_const" : true,
6189 "action_data" : [],
6190 "action_entry_const" : true
6191 }
6192 },
6193 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006194 "name" : "tbl_act_23",
6195 "id" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006196 "source_info" : {
6197 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006198 "line" : 374,
6199 "column" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006200 "source_fragment" : "mark_to_drop(standard_metadata)"
6201 },
6202 "key" : [],
6203 "match_type" : "exact",
6204 "type" : "simple",
6205 "max_size" : 1024,
6206 "with_counters" : false,
6207 "support_timeout" : false,
6208 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006209 "action_ids" : [66],
6210 "actions" : ["act_22"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006211 "base_default_next" : "node_78",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006212 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006213 "act_22" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006214 },
6215 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006216 "action_id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006217 "action_const" : true,
6218 "action_data" : [],
6219 "action_entry_const" : true
6220 }
6221 },
6222 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006223 "name" : "tbl_bng_egress_downstream_encap_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006224 "id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006225 "source_info" : {
6226 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006227 "line" : 297,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006228 "column" : 12,
6229 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006230 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006231 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006232 "match_type" : "exact",
6233 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006234 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006235 "with_counters" : false,
6236 "support_timeout" : false,
6237 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006238 "action_ids" : [51],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006239 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006240 "base_default_next" : null,
6241 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006242 "FabricEgress.bng_egress.downstream.encap_v4" : null
6243 },
6244 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006245 "action_id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006246 "action_const" : true,
6247 "action_data" : [],
6248 "action_entry_const" : true
6249 }
6250 }
6251 ],
6252 "action_profiles" : [],
6253 "conditionals" : [
6254 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006255 "name" : "node_50",
6256 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006257 "source_info" : {
6258 "filename" : "include/control/packetio.p4",
6259 "line" : 39,
6260 "column" : 12,
6261 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
6262 },
6263 "expression" : {
6264 "type" : "expression",
6265 "value" : {
6266 "op" : "==",
6267 "left" : {
6268 "type" : "expression",
6269 "value" : {
6270 "op" : "d2b",
6271 "left" : null,
6272 "right" : {
6273 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006274 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006275 }
6276 }
6277 },
6278 "right" : {
6279 "type" : "bool",
6280 "value" : true
6281 }
6282 }
6283 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006284 "true_next" : "tbl_act_14",
6285 "false_next" : "node_52"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006286 },
6287 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006288 "name" : "node_52",
6289 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006290 "source_info" : {
6291 "filename" : "include/control/packetio.p4",
6292 "line" : 43,
6293 "column" : 12,
6294 "source_fragment" : "standard_metadata.egress_port == 255"
6295 },
6296 "expression" : {
6297 "type" : "expression",
6298 "value" : {
6299 "op" : "==",
6300 "left" : {
6301 "type" : "field",
6302 "value" : ["standard_metadata", "egress_port"]
6303 },
6304 "right" : {
6305 "type" : "hexstr",
6306 "value" : "0x00ff"
6307 }
6308 }
6309 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006310 "true_next" : "tbl_act_15",
6311 "false_next" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006312 },
6313 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006314 "name" : "node_54",
6315 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006316 "source_info" : {
6317 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006318 "line" : 335,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006319 "column" : 12,
6320 "source_fragment" : "fabric_metadata.is_multicast == true ..."
6321 },
6322 "expression" : {
6323 "type" : "expression",
6324 "value" : {
6325 "op" : "and",
6326 "left" : {
6327 "type" : "expression",
6328 "value" : {
6329 "op" : "==",
6330 "left" : {
6331 "type" : "expression",
6332 "value" : {
6333 "op" : "d2b",
6334 "left" : null,
6335 "right" : {
6336 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006337 "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006338 }
6339 }
6340 },
6341 "right" : {
6342 "type" : "bool",
6343 "value" : true
6344 }
6345 }
6346 },
6347 "right" : {
6348 "type" : "expression",
6349 "value" : {
6350 "op" : "==",
6351 "left" : {
6352 "type" : "field",
6353 "value" : ["standard_metadata", "ingress_port"]
6354 },
6355 "right" : {
6356 "type" : "field",
6357 "value" : ["standard_metadata", "egress_port"]
6358 }
6359 }
6360 }
6361 }
6362 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006363 "true_next" : "tbl_act_16",
6364 "false_next" : "node_56"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006365 },
6366 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006367 "name" : "node_56",
6368 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006369 "source_info" : {
6370 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006371 "line" : 340,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006372 "column" : 12,
6373 "source_fragment" : "fabric_metadata.mpls_label == 0"
6374 },
6375 "expression" : {
6376 "type" : "expression",
6377 "value" : {
6378 "op" : "==",
6379 "left" : {
6380 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006381 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006382 },
6383 "right" : {
6384 "type" : "hexstr",
6385 "value" : "0x000000"
6386 }
6387 }
6388 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006389 "true_next" : "node_57",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006390 "false_next" : "tbl_egress_next_set_mpls"
6391 },
6392 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006393 "name" : "node_57",
6394 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006395 "source_info" : {
6396 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006397 "line" : 341,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006398 "column" : 16,
6399 "source_fragment" : "hdr.mpls.isValid()"
6400 },
6401 "expression" : {
6402 "type" : "expression",
6403 "value" : {
6404 "op" : "d2b",
6405 "left" : null,
6406 "right" : {
6407 "type" : "field",
6408 "value" : ["mpls", "$valid$"]
6409 }
6410 }
6411 },
6412 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Daniele Morob3d199b2019-11-01 14:01:46 -07006413 "false_next" : "node_60"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006414 },
6415 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006416 "name" : "node_60",
6417 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006418 "source_info" : {
6419 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006420 "line" : 347,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006421 "column" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006422 "source_fragment" : "fabric_metadata.push_double_vlan == true"
6423 },
6424 "expression" : {
6425 "type" : "expression",
6426 "value" : {
6427 "op" : "==",
6428 "left" : {
6429 "type" : "expression",
6430 "value" : {
6431 "op" : "d2b",
6432 "left" : null,
6433 "right" : {
6434 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006435 "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07006436 }
6437 }
6438 },
6439 "right" : {
6440 "type" : "bool",
6441 "value" : true
6442 }
6443 }
6444 },
6445 "true_next" : "tbl_egress_next_push_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07006446 "false_next" : "tbl_act_17"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006447 },
6448 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006449 "name" : "node_67",
6450 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006451 "source_info" : {
6452 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006453 "line" : 357,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006454 "column" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006455 "source_fragment" : "!egress_vlan.apply().hit"
6456 },
6457 "expression" : {
6458 "type" : "expression",
6459 "value" : {
6460 "op" : "not",
6461 "left" : null,
6462 "right" : {
6463 "type" : "expression",
6464 "value" : {
6465 "op" : "d2b",
6466 "left" : null,
6467 "right" : {
6468 "type" : "field",
6469 "value" : ["scalars", "egress_next_tmp"]
6470 }
6471 }
6472 }
6473 }
6474 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006475 "true_next" : "node_68",
6476 "false_next" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006477 },
6478 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006479 "name" : "node_68",
6480 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006481 "source_info" : {
6482 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006483 "line" : 359,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006484 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006485 "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
6486 },
6487 "expression" : {
6488 "type" : "expression",
6489 "value" : {
6490 "op" : "!=",
6491 "left" : {
6492 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006493 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006494 },
6495 "right" : {
6496 "type" : "hexstr",
6497 "value" : "0x0ffe"
6498 }
6499 }
6500 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006501 "true_next" : "tbl_egress_next_push_vlan_0",
Daniele Morob3d199b2019-11-01 14:01:46 -07006502 "false_next" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006503 },
6504 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006505 "name" : "node_70",
6506 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006507 "source_info" : {
6508 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006509 "line" : 368,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006510 "column" : 12,
6511 "source_fragment" : "hdr.mpls.isValid()"
6512 },
6513 "expression" : {
6514 "type" : "expression",
6515 "value" : {
6516 "op" : "d2b",
6517 "left" : null,
6518 "right" : {
6519 "type" : "field",
6520 "value" : ["mpls", "$valid$"]
6521 }
6522 }
6523 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006524 "true_next" : "tbl_act_20",
6525 "false_next" : "node_74"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006526 },
6527 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006528 "name" : "node_72",
6529 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006530 "source_info" : {
6531 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006532 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006533 "column" : 16,
6534 "source_fragment" : "hdr.mpls.ttl == 0"
6535 },
6536 "expression" : {
6537 "type" : "expression",
6538 "value" : {
6539 "op" : "==",
6540 "left" : {
6541 "type" : "field",
6542 "value" : ["mpls", "ttl"]
6543 },
6544 "right" : {
6545 "type" : "hexstr",
6546 "value" : "0x00"
6547 }
6548 }
6549 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006550 "true_next" : "tbl_act_21",
6551 "false_next" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006552 },
6553 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006554 "name" : "node_74",
6555 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006556 "source_info" : {
6557 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006558 "line" : 372,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006559 "column" : 15,
6560 "source_fragment" : "hdr.ipv4.isValid()"
6561 },
6562 "expression" : {
6563 "type" : "expression",
6564 "value" : {
6565 "op" : "d2b",
6566 "left" : null,
6567 "right" : {
6568 "type" : "field",
6569 "value" : ["ipv4", "$valid$"]
6570 }
6571 }
6572 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006573 "true_next" : "tbl_act_22",
6574 "false_next" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006575 },
6576 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006577 "name" : "node_76",
6578 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006579 "source_info" : {
6580 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006581 "line" : 374,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006582 "column" : 20,
6583 "source_fragment" : "hdr.ipv4.ttl == 0"
6584 },
6585 "expression" : {
6586 "type" : "expression",
6587 "value" : {
6588 "op" : "==",
6589 "left" : {
6590 "type" : "field",
6591 "value" : ["ipv4", "ttl"]
6592 },
6593 "right" : {
6594 "type" : "hexstr",
6595 "value" : "0x00"
6596 }
6597 }
6598 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006599 "true_next" : "tbl_act_23",
6600 "false_next" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006601 },
6602 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006603 "name" : "node_78",
6604 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006605 "source_info" : {
6606 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006607 "line" : 358,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006608 "column" : 12,
6609 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
6610 },
6611 "expression" : {
6612 "type" : "expression",
6613 "value" : {
6614 "op" : "==",
6615 "left" : {
6616 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006617 "value" : ["scalars", "fabric_metadata_t._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006618 },
6619 "right" : {
6620 "type" : "hexstr",
6621 "value" : "0x02"
6622 }
6623 }
6624 },
6625 "false_next" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006626 "true_next" : "node_79"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006627 },
6628 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006629 "name" : "node_79",
6630 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006631 "source_info" : {
6632 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006633 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006634 "column" : 12,
6635 "source_fragment" : "hdr.ipv4.isValid()"
6636 },
6637 "expression" : {
6638 "type" : "expression",
6639 "value" : {
6640 "op" : "d2b",
6641 "left" : null,
6642 "right" : {
6643 "type" : "field",
6644 "value" : ["ipv4", "$valid$"]
6645 }
6646 }
6647 },
6648 "false_next" : null,
6649 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006650 }
6651 ]
6652 }
6653 ],
6654 "checksums" : [
6655 {
6656 "name" : "cksum",
6657 "id" : 0,
6658 "source_info" : {
6659 "filename" : "include/checksum.p4",
6660 "line" : 28,
6661 "column" : 8,
6662 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
6663 },
6664 "target" : ["ipv4", "hdr_checksum"],
6665 "type" : "generic",
6666 "calculation" : "calc",
6667 "verify" : false,
6668 "update" : true,
6669 "if_cond" : {
6670 "type" : "expression",
6671 "value" : {
6672 "op" : "d2b",
6673 "left" : null,
6674 "right" : {
6675 "type" : "field",
6676 "value" : ["ipv4", "$valid$"]
6677 }
6678 }
6679 }
6680 },
6681 {
6682 "name" : "cksum_0",
6683 "id" : 1,
6684 "source_info" : {
6685 "filename" : "include/checksum.p4",
6686 "line" : 57,
6687 "column" : 8,
6688 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
6689 },
6690 "target" : ["ipv4", "hdr_checksum"],
6691 "type" : "generic",
6692 "calculation" : "calc_0",
6693 "verify" : true,
6694 "update" : false,
6695 "if_cond" : {
6696 "type" : "expression",
6697 "value" : {
6698 "op" : "d2b",
6699 "left" : null,
6700 "right" : {
6701 "type" : "field",
6702 "value" : ["ipv4", "$valid$"]
6703 }
6704 }
6705 }
6706 }
6707 ],
6708 "force_arith" : [],
6709 "extern_instances" : [],
6710 "field_aliases" : [
6711 [
6712 "queueing_metadata.enq_timestamp",
6713 ["standard_metadata", "enq_timestamp"]
6714 ],
6715 [
6716 "queueing_metadata.enq_qdepth",
6717 ["standard_metadata", "enq_qdepth"]
6718 ],
6719 [
6720 "queueing_metadata.deq_timedelta",
6721 ["standard_metadata", "deq_timedelta"]
6722 ],
6723 [
6724 "queueing_metadata.deq_qdepth",
6725 ["standard_metadata", "deq_qdepth"]
6726 ],
6727 [
6728 "intrinsic_metadata.ingress_global_timestamp",
6729 ["standard_metadata", "ingress_global_timestamp"]
6730 ],
6731 [
6732 "intrinsic_metadata.egress_global_timestamp",
6733 ["standard_metadata", "egress_global_timestamp"]
6734 ],
6735 [
6736 "intrinsic_metadata.lf_field_list",
6737 ["standard_metadata", "lf_field_list"]
6738 ],
6739 [
6740 "intrinsic_metadata.mcast_grp",
6741 ["standard_metadata", "mcast_grp"]
6742 ],
6743 [
6744 "intrinsic_metadata.resubmit_flag",
6745 ["standard_metadata", "resubmit_flag"]
6746 ],
6747 [
6748 "intrinsic_metadata.egress_rid",
6749 ["standard_metadata", "egress_rid"]
6750 ],
6751 [
6752 "intrinsic_metadata.recirculate_flag",
6753 ["standard_metadata", "recirculate_flag"]
6754 ],
6755 [
6756 "intrinsic_metadata.priority",
6757 ["standard_metadata", "priority"]
6758 ]
6759 ],
6760 "program" : "fabric.p4",
6761 "__meta__" : {
6762 "version" : [2, 18],
6763 "compiler" : "https://github.com/p4lang/p4c"
6764 }
6765}