blob: 7620adc4b393531d3132e0938b766af2ee52cf64 [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],
35 ["fabric_metadata_t._bng_type19", 2, false],
36 ["fabric_metadata_t._bng_line_id20", 32, false],
37 ["fabric_metadata_t._bng_pppoe_session_id21", 16, false],
38 ["fabric_metadata_t._bng_ds_meter_result22", 32, false],
Daniele Morob3d199b2019-11-01 14:01:46 -070039 ["fabric_metadata_t._bng_s_tag23", 12, false],
40 ["fabric_metadata_t._bng_c_tag24", 12, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070041 ["_padding_0", 2, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070042 ]
43 },
44 {
45 "name" : "standard_metadata",
46 "id" : 1,
47 "fields" : [
48 ["ingress_port", 9, false],
49 ["egress_spec", 9, false],
50 ["egress_port", 9, false],
51 ["clone_spec", 32, false],
52 ["instance_type", 32, false],
53 ["drop", 1, false],
54 ["recirculate_port", 16, false],
55 ["packet_length", 32, false],
56 ["enq_timestamp", 32, false],
57 ["enq_qdepth", 19, false],
58 ["deq_timedelta", 32, false],
59 ["deq_qdepth", 19, false],
60 ["ingress_global_timestamp", 48, false],
61 ["egress_global_timestamp", 48, false],
62 ["lf_field_list", 32, false],
63 ["mcast_grp", 16, false],
64 ["resubmit_flag", 32, false],
65 ["egress_rid", 16, false],
66 ["recirculate_flag", 32, false],
67 ["checksum_error", 1, false],
68 ["parser_error", 32, false],
69 ["priority", 3, false],
70 ["_padding", 2, false]
71 ]
72 },
73 {
74 "name" : "ethernet_t",
75 "id" : 2,
76 "fields" : [
77 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070078 ["src_addr", 48, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070079 ]
80 },
81 {
82 "name" : "vlan_tag_t",
83 "id" : 3,
84 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -070085 ["eth_type", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070086 ["pri", 3, false],
87 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070088 ["vlan_id", 12, false]
89 ]
90 },
91 {
92 "name" : "eth_type_t",
93 "id" : 4,
94 "fields" : [
95 ["value", 16, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070096 ]
97 },
98 {
99 "name" : "pppoe_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700100 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700101 "fields" : [
102 ["version", 4, false],
103 ["type_id", 4, false],
104 ["code", 8, false],
105 ["session_id", 16, false],
106 ["length", 16, false],
107 ["protocol", 16, false]
108 ]
109 },
110 {
111 "name" : "mpls_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700112 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700113 "fields" : [
114 ["label", 20, false],
115 ["tc", 3, false],
116 ["bos", 1, false],
117 ["ttl", 8, false]
118 ]
119 },
120 {
121 "name" : "ipv4_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700122 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700123 "fields" : [
124 ["version", 4, false],
125 ["ihl", 4, false],
126 ["dscp", 6, false],
127 ["ecn", 2, false],
128 ["total_len", 16, false],
129 ["identification", 16, false],
130 ["flags", 3, false],
131 ["frag_offset", 13, false],
132 ["ttl", 8, false],
133 ["protocol", 8, false],
134 ["hdr_checksum", 16, false],
135 ["src_addr", 32, false],
136 ["dst_addr", 32, false]
137 ]
138 },
139 {
140 "name" : "tcp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700141 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700142 "fields" : [
143 ["sport", 16, false],
144 ["dport", 16, false],
145 ["seq_no", 32, false],
146 ["ack_no", 32, false],
147 ["data_offset", 4, false],
148 ["res", 3, false],
149 ["ecn", 3, false],
150 ["ctrl", 6, false],
151 ["window", 16, false],
152 ["checksum", 16, false],
153 ["urgent_ptr", 16, false]
154 ]
155 },
156 {
157 "name" : "udp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700158 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700159 "fields" : [
160 ["sport", 16, false],
161 ["dport", 16, false],
162 ["len", 16, false],
163 ["checksum", 16, false]
164 ]
165 },
166 {
167 "name" : "icmp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700168 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700169 "fields" : [
170 ["icmp_type", 8, false],
171 ["icmp_code", 8, false],
172 ["checksum", 16, false],
173 ["identifier", 16, false],
174 ["sequence_number", 16, false],
175 ["timestamp", 64, false]
176 ]
177 },
178 {
179 "name" : "packet_out_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700180 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700181 "fields" : [
182 ["egress_port", 9, false],
183 ["_pad", 7, false]
184 ]
185 },
186 {
187 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700188 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700189 "fields" : [
190 ["ingress_port", 9, false],
191 ["_pad", 7, false]
192 ]
193 }
194 ],
195 "headers" : [
196 {
197 "name" : "scalars",
198 "id" : 0,
199 "header_type" : "scalars_0",
200 "metadata" : true,
201 "pi_omit" : true
202 },
203 {
204 "name" : "standard_metadata",
205 "id" : 1,
206 "header_type" : "standard_metadata",
207 "metadata" : true,
208 "pi_omit" : true
209 },
210 {
211 "name" : "ethernet",
212 "id" : 2,
213 "header_type" : "ethernet_t",
214 "metadata" : false,
215 "pi_omit" : true
216 },
217 {
218 "name" : "vlan_tag",
219 "id" : 3,
220 "header_type" : "vlan_tag_t",
221 "metadata" : false,
222 "pi_omit" : true
223 },
224 {
225 "name" : "inner_vlan_tag",
226 "id" : 4,
227 "header_type" : "vlan_tag_t",
228 "metadata" : false,
229 "pi_omit" : true
230 },
231 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700232 "name" : "eth_type",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700233 "id" : 5,
Daniele Moro5a2de712019-09-24 14:34:07 -0700234 "header_type" : "eth_type_t",
235 "metadata" : false,
236 "pi_omit" : true
237 },
238 {
239 "name" : "pppoe",
240 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700241 "header_type" : "pppoe_t",
242 "metadata" : false,
243 "pi_omit" : true
244 },
245 {
246 "name" : "mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700247 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700248 "header_type" : "mpls_t",
249 "metadata" : false,
250 "pi_omit" : true
251 },
252 {
253 "name" : "ipv4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700254 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700255 "header_type" : "ipv4_t",
256 "metadata" : false,
257 "pi_omit" : true
258 },
259 {
260 "name" : "tcp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700261 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700262 "header_type" : "tcp_t",
263 "metadata" : false,
264 "pi_omit" : true
265 },
266 {
267 "name" : "udp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700268 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700269 "header_type" : "udp_t",
270 "metadata" : false,
271 "pi_omit" : true
272 },
273 {
274 "name" : "icmp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700275 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700276 "header_type" : "icmp_t",
277 "metadata" : false,
278 "pi_omit" : true
279 },
280 {
281 "name" : "packet_out",
Daniele Moro5a2de712019-09-24 14:34:07 -0700282 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700283 "header_type" : "packet_out_header_t",
284 "metadata" : false,
285 "pi_omit" : true
286 },
287 {
288 "name" : "packet_in",
Daniele Moro5a2de712019-09-24 14:34:07 -0700289 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700290 "header_type" : "packet_in_header_t",
291 "metadata" : false,
292 "pi_omit" : true
293 }
294 ],
295 "header_stacks" : [],
296 "header_union_types" : [],
297 "header_unions" : [],
298 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700299 "field_lists" : [
300 {
301 "id" : 1,
302 "name" : "fl",
303 "source_info" : {
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700304 "filename" : "include/control/acl.p4",
305 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700306 "column" : 40,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700307 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700308 },
309 "elements" : [
310 {
311 "type" : "field",
312 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700313 }
314 ]
315 }
316 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700317 "errors" : [
318 ["NoError", 1],
319 ["PacketTooShort", 2],
320 ["NoMatch", 3],
321 ["StackOutOfBounds", 4],
322 ["HeaderTooShort", 5],
323 ["ParserTimeout", 6],
324 ["ParserInvalidArgument", 7]
325 ],
326 "enums" : [],
327 "parsers" : [
328 {
329 "name" : "parser",
330 "id" : 0,
331 "init_state" : "start",
332 "parse_states" : [
333 {
334 "name" : "start",
335 "id" : 0,
Daniele Moro0cecfe12019-12-13 17:24:33 -0800336 "parser_ops" : [
337 {
338 "parameters" : [
339 {
340 "type" : "field",
341 "value" : ["scalars", "fabric_metadata_t._bng_s_tag23"]
342 },
343 {
344 "type" : "hexstr",
345 "value" : "0x0000"
346 }
347 ],
348 "op" : "set"
349 },
350 {
351 "parameters" : [
352 {
353 "type" : "field",
354 "value" : ["scalars", "fabric_metadata_t._bng_c_tag24"]
355 },
356 {
357 "type" : "hexstr",
358 "value" : "0x0000"
359 }
360 ],
361 "op" : "set"
362 }
363 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700364 "transitions" : [
365 {
366 "type" : "hexstr",
367 "value" : "0x00ff",
368 "mask" : null,
369 "next_state" : "parse_packet_out"
370 },
371 {
372 "value" : "default",
373 "mask" : null,
374 "next_state" : "parse_ethernet"
375 }
376 ],
377 "transition_key" : [
378 {
379 "type" : "field",
380 "value" : ["standard_metadata", "ingress_port"]
381 }
382 ]
383 },
384 {
385 "name" : "parse_packet_out",
386 "id" : 1,
387 "parser_ops" : [
388 {
389 "parameters" : [
390 {
391 "type" : "regular",
392 "value" : "packet_out"
393 }
394 ],
395 "op" : "extract"
396 }
397 ],
398 "transitions" : [
399 {
400 "value" : "default",
401 "mask" : null,
402 "next_state" : "parse_ethernet"
403 }
404 ],
405 "transition_key" : []
406 },
407 {
408 "name" : "parse_ethernet",
409 "id" : 2,
410 "parser_ops" : [
411 {
412 "parameters" : [
413 {
414 "type" : "regular",
415 "value" : "ethernet"
416 }
417 ],
418 "op" : "extract"
419 },
420 {
421 "parameters" : [
422 {
423 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700424 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700425 },
426 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700427 "type" : "hexstr",
428 "value" : "0x0ffe"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700429 }
430 ],
431 "op" : "set"
432 },
433 {
434 "parameters" : [
435 {
436 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700437 "value" : ["scalars", "tmp_0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700438 },
439 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700440 "type" : "lookahead",
441 "value" : [0, 16]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700442 }
443 ],
444 "op" : "set"
445 }
446 ],
447 "transitions" : [
448 {
449 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700450 "value" : "0x88a8",
451 "mask" : null,
452 "next_state" : "parse_vlan_tag"
453 },
454 {
455 "type" : "hexstr",
456 "value" : "0x9100",
457 "mask" : null,
458 "next_state" : "parse_vlan_tag"
459 },
460 {
461 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700462 "value" : "0x8100",
463 "mask" : null,
464 "next_state" : "parse_vlan_tag"
465 },
466 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700467 "value" : "default",
468 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700469 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700470 }
471 ],
472 "transition_key" : [
473 {
474 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700475 "value" : ["scalars", "tmp_0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700476 }
477 ]
478 },
479 {
480 "name" : "parse_vlan_tag",
481 "id" : 3,
482 "parser_ops" : [
483 {
484 "parameters" : [
485 {
486 "type" : "regular",
487 "value" : "vlan_tag"
488 }
489 ],
490 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700491 },
492 {
493 "parameters" : [
494 {
495 "type" : "field",
Daniele Morob3d199b2019-11-01 14:01:46 -0700496 "value" : ["scalars", "fabric_metadata_t._bng_s_tag23"]
497 },
498 {
499 "type" : "field",
500 "value" : ["vlan_tag", "vlan_id"]
501 }
502 ],
503 "op" : "set"
504 },
505 {
506 "parameters" : [
507 {
508 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700509 "value" : ["scalars", "tmp_1"]
510 },
511 {
512 "type" : "lookahead",
513 "value" : [0, 16]
514 }
515 ],
516 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700517 }
518 ],
519 "transitions" : [
520 {
521 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700522 "value" : "0x8100",
523 "mask" : null,
524 "next_state" : "parse_inner_vlan_tag"
525 },
526 {
527 "value" : "default",
528 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700529 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700530 }
531 ],
532 "transition_key" : [
533 {
534 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700535 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700536 }
537 ]
538 },
539 {
540 "name" : "parse_inner_vlan_tag",
541 "id" : 4,
542 "parser_ops" : [
543 {
544 "parameters" : [
545 {
546 "type" : "regular",
547 "value" : "inner_vlan_tag"
548 }
549 ],
550 "op" : "extract"
Daniele Morob3d199b2019-11-01 14:01:46 -0700551 },
552 {
553 "parameters" : [
554 {
555 "type" : "field",
556 "value" : ["scalars", "fabric_metadata_t._bng_c_tag24"]
557 },
558 {
559 "type" : "field",
560 "value" : ["inner_vlan_tag", "vlan_id"]
561 }
562 ],
563 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700564 }
565 ],
566 "transitions" : [
567 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700568 "value" : "default",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700569 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700570 "next_state" : "parse_eth_type"
571 }
572 ],
573 "transition_key" : []
574 },
575 {
576 "name" : "parse_eth_type",
577 "id" : 5,
578 "parser_ops" : [
579 {
580 "parameters" : [
581 {
582 "type" : "regular",
583 "value" : "eth_type"
584 }
585 ],
586 "op" : "extract"
587 }
588 ],
589 "transitions" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700590 {
591 "type" : "hexstr",
592 "value" : "0x8847",
593 "mask" : null,
594 "next_state" : "parse_mpls"
595 },
596 {
597 "type" : "hexstr",
Daniele Moro5a2de712019-09-24 14:34:07 -0700598 "value" : "0x0800",
599 "mask" : null,
600 "next_state" : "parse_ipv4"
601 },
602 {
603 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700604 "value" : "0x8863",
605 "mask" : null,
606 "next_state" : "parse_pppoe"
607 },
608 {
609 "type" : "hexstr",
610 "value" : "0x8864",
611 "mask" : null,
612 "next_state" : "parse_pppoe"
613 },
614 {
615 "value" : "default",
616 "mask" : null,
617 "next_state" : null
618 }
619 ],
620 "transition_key" : [
621 {
622 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700623 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700624 }
625 ]
626 },
627 {
628 "name" : "parse_pppoe",
Daniele Moro5a2de712019-09-24 14:34:07 -0700629 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700630 "parser_ops" : [
631 {
632 "parameters" : [
633 {
634 "type" : "regular",
635 "value" : "pppoe"
636 }
637 ],
638 "op" : "extract"
639 }
640 ],
641 "transitions" : [
642 {
643 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700644 "value" : "0x0281",
645 "mask" : null,
646 "next_state" : "parse_mpls"
647 },
648 {
649 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700650 "value" : "0x0021",
651 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700652 "next_state" : "parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700653 },
654 {
655 "value" : "default",
656 "mask" : null,
657 "next_state" : null
658 }
659 ],
660 "transition_key" : [
661 {
662 "type" : "field",
663 "value" : ["pppoe", "protocol"]
664 }
665 ]
666 },
667 {
668 "name" : "parse_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700669 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700670 "parser_ops" : [
671 {
672 "parameters" : [
673 {
674 "type" : "regular",
675 "value" : "mpls"
676 }
677 ],
678 "op" : "extract"
679 },
680 {
681 "parameters" : [
682 {
683 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700684 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700685 },
686 {
687 "type" : "field",
688 "value" : ["mpls", "label"]
689 }
690 ],
691 "op" : "set"
692 },
693 {
694 "parameters" : [
695 {
696 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700697 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700698 },
699 {
700 "type" : "field",
701 "value" : ["mpls", "ttl"]
702 }
703 ],
704 "op" : "set"
705 },
706 {
707 "parameters" : [
708 {
709 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700710 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700711 },
712 {
713 "type" : "lookahead",
714 "value" : [0, 4]
715 }
716 ],
717 "op" : "set"
718 }
719 ],
720 "transitions" : [
721 {
722 "type" : "hexstr",
723 "value" : "0x04",
724 "mask" : null,
725 "next_state" : "parse_ipv4"
726 },
727 {
728 "value" : "default",
729 "mask" : null,
730 "next_state" : "parse_ethernet"
731 }
732 ],
733 "transition_key" : [
734 {
735 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700736 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700737 }
738 ]
739 },
740 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700741 "name" : "parse_ipv4",
742 "id" : 8,
743 "parser_ops" : [
744 {
745 "parameters" : [
746 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700747 "type" : "regular",
748 "value" : "ipv4"
749 }
750 ],
751 "op" : "extract"
752 },
753 {
754 "parameters" : [
755 {
756 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700757 "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700758 },
759 {
760 "type" : "field",
761 "value" : ["ipv4", "protocol"]
762 }
763 ],
764 "op" : "set"
765 },
766 {
767 "parameters" : [
768 {
769 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700770 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700771 },
772 {
773 "type" : "hexstr",
774 "value" : "0x0800"
775 }
776 ],
777 "op" : "set"
778 }
779 ],
780 "transitions" : [
781 {
782 "type" : "hexstr",
783 "value" : "0x06",
784 "mask" : null,
785 "next_state" : "parse_tcp"
786 },
787 {
788 "type" : "hexstr",
789 "value" : "0x11",
790 "mask" : null,
791 "next_state" : "parse_udp"
792 },
793 {
794 "type" : "hexstr",
795 "value" : "0x01",
796 "mask" : null,
797 "next_state" : "parse_icmp"
798 },
799 {
800 "value" : "default",
801 "mask" : null,
802 "next_state" : null
803 }
804 ],
805 "transition_key" : [
806 {
807 "type" : "field",
808 "value" : ["ipv4", "protocol"]
809 }
810 ]
811 },
812 {
813 "name" : "parse_tcp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700814 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700815 "parser_ops" : [
816 {
817 "parameters" : [
818 {
819 "type" : "regular",
820 "value" : "tcp"
821 }
822 ],
823 "op" : "extract"
824 },
825 {
826 "parameters" : [
827 {
828 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700829 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700830 },
831 {
832 "type" : "field",
833 "value" : ["tcp", "sport"]
834 }
835 ],
836 "op" : "set"
837 },
838 {
839 "parameters" : [
840 {
841 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700842 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700843 },
844 {
845 "type" : "field",
846 "value" : ["tcp", "dport"]
847 }
848 ],
849 "op" : "set"
850 }
851 ],
852 "transitions" : [
853 {
854 "value" : "default",
855 "mask" : null,
856 "next_state" : null
857 }
858 ],
859 "transition_key" : []
860 },
861 {
862 "name" : "parse_udp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700863 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700864 "parser_ops" : [
865 {
866 "parameters" : [
867 {
868 "type" : "regular",
869 "value" : "udp"
870 }
871 ],
872 "op" : "extract"
873 },
874 {
875 "parameters" : [
876 {
877 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700878 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700879 },
880 {
881 "type" : "field",
882 "value" : ["udp", "sport"]
883 }
884 ],
885 "op" : "set"
886 },
887 {
888 "parameters" : [
889 {
890 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700891 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700892 },
893 {
894 "type" : "field",
895 "value" : ["udp", "dport"]
896 }
897 ],
898 "op" : "set"
899 }
900 ],
901 "transitions" : [
902 {
903 "value" : "default",
904 "mask" : null,
905 "next_state" : null
906 }
907 ],
908 "transition_key" : [
909 {
910 "type" : "field",
911 "value" : ["udp", "dport"]
912 }
913 ]
914 },
915 {
916 "name" : "parse_icmp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700917 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700918 "parser_ops" : [
919 {
920 "parameters" : [
921 {
922 "type" : "regular",
923 "value" : "icmp"
924 }
925 ],
926 "op" : "extract"
927 }
928 ],
929 "transitions" : [
930 {
931 "value" : "default",
932 "mask" : null,
933 "next_state" : null
934 }
935 ],
936 "transition_key" : []
937 }
938 ]
939 }
940 ],
941 "parse_vsets" : [],
942 "deparsers" : [
943 {
944 "name" : "deparser",
945 "id" : 0,
946 "source_info" : {
947 "filename" : "include/parser.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -0800948 "line" : 269,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700949 "column" : 8,
950 "source_fragment" : "FabricDeparser"
951 },
Daniele Moro5a2de712019-09-24 14:34:07 -0700952 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700953 }
954 ],
955 "meter_arrays" : [
956 {
957 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
958 "id" : 0,
959 "source_info" : {
960 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -0800961 "line" : 154,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700962 "column" : 33,
963 "source_fragment" : "m_besteff"
964 },
965 "is_direct" : false,
966 "size" : 8192,
967 "rate_count" : 2,
968 "type" : "bytes"
969 },
970 {
971 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
972 "id" : 1,
973 "source_info" : {
974 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -0800975 "line" : 155,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700976 "column" : 33,
977 "source_fragment" : "m_prio"
978 },
979 "is_direct" : false,
980 "size" : 8192,
981 "rate_count" : 2,
982 "type" : "bytes"
983 }
984 ],
985 "counter_arrays" : [
986 {
987 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
988 "id" : 0,
989 "source_info" : {
990 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700991 "line" : 36,
Daniele Moroce424ca2019-10-03 16:44:33 -0700992 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700993 "source_fragment" : "c_terminated"
994 },
995 "size" : 8192,
996 "is_direct" : false
997 },
998 {
999 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
1000 "id" : 1,
1001 "source_info" : {
1002 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001003 "line" : 37,
Daniele Moroce424ca2019-10-03 16:44:33 -07001004 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001005 "source_fragment" : "c_dropped"
1006 },
1007 "size" : 8192,
1008 "is_direct" : false
1009 },
1010 {
1011 "name" : "FabricIngress.bng_ingress.upstream.c_control",
1012 "id" : 2,
1013 "source_info" : {
1014 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001015 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001016 "column" : 39,
1017 "source_fragment" : "c_control"
1018 },
1019 "size" : 8192,
1020 "is_direct" : false
1021 },
1022 {
1023 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
1024 "id" : 3,
1025 "source_info" : {
1026 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001027 "line" : 152,
Daniele Moroce424ca2019-10-03 16:44:33 -07001028 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001029 "source_fragment" : "c_line_rx"
1030 },
1031 "size" : 8192,
1032 "is_direct" : false
1033 },
1034 {
1035 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1036 "id" : 4,
1037 "is_direct" : true,
1038 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1039 "source_info" : {
1040 "filename" : "include/control/filtering.p4",
1041 "line" : 31,
1042 "column" : 50,
1043 "source_fragment" : "ingress_port_vlan_counter"
1044 }
1045 },
1046 {
1047 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1048 "id" : 5,
1049 "is_direct" : true,
1050 "binding" : "FabricIngress.filtering.fwd_classifier",
1051 "source_info" : {
1052 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001053 "line" : 85,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001054 "column" : 50,
1055 "source_fragment" : "fwd_classifier_counter"
1056 }
1057 },
1058 {
1059 "name" : "FabricIngress.forwarding.bridging_counter",
1060 "id" : 6,
1061 "is_direct" : true,
1062 "binding" : "FabricIngress.forwarding.bridging",
1063 "source_info" : {
1064 "filename" : "include/control/forwarding.p4",
1065 "line" : 36,
1066 "column" : 50,
1067 "source_fragment" : "bridging_counter"
1068 }
1069 },
1070 {
1071 "name" : "FabricIngress.forwarding.mpls_counter",
1072 "id" : 7,
1073 "is_direct" : true,
1074 "binding" : "FabricIngress.forwarding.mpls",
1075 "source_info" : {
1076 "filename" : "include/control/forwarding.p4",
1077 "line" : 63,
1078 "column" : 50,
1079 "source_fragment" : "mpls_counter"
1080 }
1081 },
1082 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001083 "name" : "FabricIngress.acl.acl_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001084 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001085 "is_direct" : true,
1086 "binding" : "FabricIngress.acl.acl",
1087 "source_info" : {
1088 "filename" : "include/control/acl.p4",
1089 "line" : 30,
1090 "column" : 50,
1091 "source_fragment" : "acl_counter"
1092 }
1093 },
1094 {
1095 "name" : "FabricIngress.next.next_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001096 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001097 "is_direct" : true,
1098 "binding" : "FabricIngress.next.next_vlan",
1099 "source_info" : {
1100 "filename" : "include/control/next.p4",
1101 "line" : 67,
1102 "column" : 50,
1103 "source_fragment" : "next_vlan_counter"
1104 }
1105 },
1106 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001107 "name" : "FabricIngress.next.hashed_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001108 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001109 "is_direct" : true,
1110 "binding" : "FabricIngress.next.hashed",
1111 "source_info" : {
1112 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001113 "line" : 184,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001114 "column" : 50,
1115 "source_fragment" : "hashed_counter"
1116 }
1117 },
1118 {
1119 "name" : "FabricIngress.next.multicast_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001120 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001121 "is_direct" : true,
1122 "binding" : "FabricIngress.next.multicast",
1123 "source_info" : {
1124 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001125 "line" : 228,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001126 "column" : 50,
1127 "source_fragment" : "multicast_counter"
1128 }
1129 },
1130 {
1131 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001132 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001133 "source_info" : {
1134 "filename" : "include/control/port_counter.p4",
1135 "line" : 26,
1136 "column" : 48,
1137 "source_fragment" : "egress_port_counter"
1138 },
1139 "size" : 511,
1140 "is_direct" : false
1141 },
1142 {
1143 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001144 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001145 "source_info" : {
1146 "filename" : "include/control/port_counter.p4",
1147 "line" : 27,
1148 "column" : 48,
1149 "source_fragment" : "ingress_port_counter"
1150 },
1151 "size" : 511,
1152 "is_direct" : false
1153 },
1154 {
1155 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Daniele Moro5a2de712019-09-24 14:34:07 -07001156 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001157 "source_info" : {
1158 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001159 "line" : 267,
Daniele Moroce424ca2019-10-03 16:44:33 -07001160 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001161 "source_fragment" : "c_line_tx"
1162 },
1163 "size" : 8192,
1164 "is_direct" : false
1165 },
1166 {
1167 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001168 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001169 "is_direct" : true,
1170 "binding" : "FabricEgress.egress_next.egress_vlan",
1171 "source_info" : {
1172 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001173 "line" : 313,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001174 "column" : 50,
1175 "source_fragment" : "egress_vlan_counter"
1176 }
1177 }
1178 ],
1179 "register_arrays" : [],
1180 "calculations" : [
1181 {
1182 "name" : "calc",
1183 "id" : 0,
1184 "source_info" : {
1185 "filename" : "include/checksum.p4",
1186 "line" : 28,
1187 "column" : 8,
1188 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1189 },
1190 "algo" : "csum16",
1191 "input" : [
1192 {
1193 "type" : "field",
1194 "value" : ["ipv4", "version"]
1195 },
1196 {
1197 "type" : "field",
1198 "value" : ["ipv4", "ihl"]
1199 },
1200 {
1201 "type" : "field",
1202 "value" : ["ipv4", "dscp"]
1203 },
1204 {
1205 "type" : "field",
1206 "value" : ["ipv4", "ecn"]
1207 },
1208 {
1209 "type" : "field",
1210 "value" : ["ipv4", "total_len"]
1211 },
1212 {
1213 "type" : "field",
1214 "value" : ["ipv4", "identification"]
1215 },
1216 {
1217 "type" : "field",
1218 "value" : ["ipv4", "flags"]
1219 },
1220 {
1221 "type" : "field",
1222 "value" : ["ipv4", "frag_offset"]
1223 },
1224 {
1225 "type" : "field",
1226 "value" : ["ipv4", "ttl"]
1227 },
1228 {
1229 "type" : "field",
1230 "value" : ["ipv4", "protocol"]
1231 },
1232 {
1233 "type" : "field",
1234 "value" : ["ipv4", "src_addr"]
1235 },
1236 {
1237 "type" : "field",
1238 "value" : ["ipv4", "dst_addr"]
1239 }
1240 ]
1241 },
1242 {
1243 "name" : "calc_0",
1244 "id" : 1,
1245 "source_info" : {
1246 "filename" : "include/checksum.p4",
1247 "line" : 57,
1248 "column" : 8,
1249 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1250 },
1251 "algo" : "csum16",
1252 "input" : [
1253 {
1254 "type" : "field",
1255 "value" : ["ipv4", "version"]
1256 },
1257 {
1258 "type" : "field",
1259 "value" : ["ipv4", "ihl"]
1260 },
1261 {
1262 "type" : "field",
1263 "value" : ["ipv4", "dscp"]
1264 },
1265 {
1266 "type" : "field",
1267 "value" : ["ipv4", "ecn"]
1268 },
1269 {
1270 "type" : "field",
1271 "value" : ["ipv4", "total_len"]
1272 },
1273 {
1274 "type" : "field",
1275 "value" : ["ipv4", "identification"]
1276 },
1277 {
1278 "type" : "field",
1279 "value" : ["ipv4", "flags"]
1280 },
1281 {
1282 "type" : "field",
1283 "value" : ["ipv4", "frag_offset"]
1284 },
1285 {
1286 "type" : "field",
1287 "value" : ["ipv4", "ttl"]
1288 },
1289 {
1290 "type" : "field",
1291 "value" : ["ipv4", "protocol"]
1292 },
1293 {
1294 "type" : "field",
1295 "value" : ["ipv4", "src_addr"]
1296 },
1297 {
1298 "type" : "field",
1299 "value" : ["ipv4", "dst_addr"]
1300 }
1301 ]
1302 }
1303 ],
1304 "learn_lists" : [],
1305 "actions" : [
1306 {
1307 "name" : "nop",
1308 "id" : 0,
1309 "runtime_data" : [],
1310 "primitives" : []
1311 },
1312 {
1313 "name" : "nop",
1314 "id" : 1,
1315 "runtime_data" : [],
1316 "primitives" : []
1317 },
1318 {
1319 "name" : "nop",
1320 "id" : 2,
1321 "runtime_data" : [],
1322 "primitives" : []
1323 },
1324 {
1325 "name" : "nop",
1326 "id" : 3,
1327 "runtime_data" : [],
1328 "primitives" : []
1329 },
1330 {
1331 "name" : "nop",
1332 "id" : 4,
1333 "runtime_data" : [],
1334 "primitives" : []
1335 },
1336 {
1337 "name" : "nop",
1338 "id" : 5,
1339 "runtime_data" : [],
1340 "primitives" : []
1341 },
1342 {
1343 "name" : "nop",
1344 "id" : 6,
1345 "runtime_data" : [],
1346 "primitives" : []
1347 },
1348 {
1349 "name" : "nop",
1350 "id" : 7,
1351 "runtime_data" : [],
1352 "primitives" : []
1353 },
1354 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001355 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07001356 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001357 "runtime_data" : [],
1358 "primitives" : [
1359 {
1360 "op" : "assign",
1361 "parameters" : [
1362 {
1363 "type" : "field",
1364 "value" : ["standard_metadata", "egress_spec"]
1365 },
1366 {
1367 "type" : "hexstr",
1368 "value" : "0x00ff"
1369 }
1370 ],
1371 "source_info" : {
1372 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001373 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001374 "column" : 8,
1375 "source_fragment" : "smeta.egress_spec = 255"
1376 }
1377 },
1378 {
Daniele Moro0cecfe12019-12-13 17:24:33 -08001379 "op" : "assign",
1380 "parameters" : [
1381 {
1382 "type" : "field",
1383 "value" : ["standard_metadata", "mcast_grp"]
1384 },
1385 {
1386 "type" : "hexstr",
1387 "value" : "0x0000"
1388 }
1389 ],
1390 "source_info" : {
1391 "filename" : "include/bng.p4",
1392 "line" : 47,
1393 "column" : 8,
1394 "source_fragment" : "smeta.mcast_grp = 0"
1395 }
1396 },
1397 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001398 "op" : "count",
1399 "parameters" : [
1400 {
1401 "type" : "counter_array",
1402 "value" : "FabricIngress.bng_ingress.upstream.c_control"
1403 },
1404 {
1405 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001406 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001407 }
1408 ],
1409 "source_info" : {
1410 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001411 "line" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001412 "column" : 8,
1413 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
1414 }
1415 }
1416 ]
1417 },
1418 {
1419 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Daniele Moro5a2de712019-09-24 14:34:07 -07001420 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001421 "runtime_data" : [],
1422 "primitives" : [
1423 {
1424 "op" : "assign",
1425 "parameters" : [
1426 {
1427 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001428 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001429 },
1430 {
1431 "type" : "hexstr",
1432 "value" : "0x00"
1433 }
1434 ],
1435 "source_info" : {
1436 "filename" : "include/control/../header.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001437 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001438 "column" : 36,
1439 "source_fragment" : "2w0x0; ..."
1440 }
1441 },
1442 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001443 "op" : "mark_to_drop",
1444 "parameters" : [
1445 {
1446 "type" : "header",
1447 "value" : "standard_metadata"
1448 }
1449 ],
1450 "source_info" : {
1451 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001452 "line" : 77,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001453 "column" : 8,
1454 "source_fragment" : "mark_to_drop(smeta)"
1455 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001456 }
1457 ]
1458 },
1459 {
1460 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001461 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001462 "runtime_data" : [],
1463 "primitives" : [
1464 {
1465 "op" : "assign",
1466 "parameters" : [
1467 {
1468 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001469 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001470 },
1471 {
1472 "type" : "hexstr",
1473 "value" : "0x0800"
1474 }
1475 ],
1476 "source_info" : {
1477 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001478 "line" : 114,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001479 "column" : 31,
1480 "source_fragment" : "0x0800; ..."
1481 }
1482 },
1483 {
1484 "op" : "remove_header",
1485 "parameters" : [
1486 {
1487 "type" : "header",
1488 "value" : "pppoe"
1489 }
1490 ],
1491 "source_info" : {
1492 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001493 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001494 "column" : 8,
1495 "source_fragment" : "hdr.pppoe.setInvalid()"
1496 }
1497 },
1498 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001499 "op" : "count",
1500 "parameters" : [
1501 {
1502 "type" : "counter_array",
1503 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
1504 },
1505 {
1506 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001507 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001508 }
1509 ],
1510 "source_info" : {
1511 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001512 "line" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001513 "column" : 8,
1514 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
1515 }
1516 }
1517 ]
1518 },
1519 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001520 "name" : "FabricIngress.bng_ingress.downstream.set_session",
Daniele Moro5a2de712019-09-24 14:34:07 -07001521 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001522 "runtime_data" : [
1523 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001524 "name" : "pppoe_session_id",
1525 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001526 }
1527 ],
1528 "primitives" : [
1529 {
1530 "op" : "assign",
1531 "parameters" : [
1532 {
1533 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001534 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001535 },
1536 {
1537 "type" : "hexstr",
1538 "value" : "0x02"
1539 }
1540 ],
1541 "source_info" : {
1542 "filename" : "include/control/../header.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001543 "line" : 162,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001544 "column" : 39,
1545 "source_fragment" : "2w0x2;; ..."
1546 }
1547 },
1548 {
1549 "op" : "assign",
1550 "parameters" : [
1551 {
1552 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001553 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001554 },
1555 {
1556 "type" : "runtime_data",
1557 "value" : 0
1558 }
1559 ],
1560 "source_info" : {
1561 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001562 "line" : 159,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001563 "column" : 35,
1564 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001565 }
1566 },
1567 {
1568 "op" : "count",
1569 "parameters" : [
1570 {
1571 "type" : "counter_array",
1572 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1573 },
1574 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001575 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001576 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001577 }
1578 ],
1579 "source_info" : {
1580 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001581 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001582 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001583 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001584 }
1585 }
1586 ]
1587 },
1588 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001589 "name" : "FabricIngress.bng_ingress.downstream.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07001590 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001591 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001592 "primitives" : [
1593 {
1594 "op" : "assign",
1595 "parameters" : [
1596 {
1597 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001598 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001599 },
1600 {
1601 "type" : "hexstr",
1602 "value" : "0x02"
1603 }
1604 ],
1605 "source_info" : {
1606 "filename" : "include/control/../header.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001607 "line" : 162,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001608 "column" : 39,
1609 "source_fragment" : "2w0x2;; ..."
1610 }
1611 },
1612 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001613 "op" : "count",
1614 "parameters" : [
1615 {
1616 "type" : "counter_array",
1617 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1618 },
1619 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001620 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001621 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001622 }
1623 ],
1624 "source_info" : {
1625 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001626 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001627 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001628 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001629 }
1630 },
1631 {
1632 "op" : "mark_to_drop",
1633 "parameters" : [
1634 {
1635 "type" : "header",
1636 "value" : "standard_metadata"
1637 }
1638 ],
1639 "source_info" : {
1640 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001641 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001642 "column" : 8,
1643 "source_fragment" : "mark_to_drop(smeta)"
1644 }
1645 }
1646 ]
1647 },
1648 {
1649 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro5a2de712019-09-24 14:34:07 -07001650 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001651 "runtime_data" : [],
Daniele Moro7c3a0022019-07-12 13:38:34 -07001652 "primitives" : []
1653 },
1654 {
1655 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
Daniele Moro5a2de712019-09-24 14:34:07 -07001656 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001657 "runtime_data" : [],
1658 "primitives" : []
1659 },
1660 {
1661 "name" : "FabricIngress.bng_ingress.set_line",
Daniele Moro5a2de712019-09-24 14:34:07 -07001662 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001663 "runtime_data" : [
1664 {
1665 "name" : "line_id",
1666 "bitwidth" : 32
1667 }
1668 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001669 "primitives" : [
1670 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001671 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001672 "parameters" : [
1673 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001674 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001675 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001676 },
1677 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001678 "type" : "runtime_data",
1679 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001680 }
1681 ],
1682 "source_info" : {
1683 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001684 "line" : 320,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001685 "column" : 30,
1686 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001687 }
1688 }
1689 ]
1690 },
1691 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001692 "name" : "FabricIngress.filtering.deny",
Daniele Moro5a2de712019-09-24 14:34:07 -07001693 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001694 "runtime_data" : [],
1695 "primitives" : [
1696 {
1697 "op" : "assign",
1698 "parameters" : [
1699 {
1700 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001701 "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001702 },
1703 {
1704 "type" : "expression",
1705 "value" : {
1706 "type" : "expression",
1707 "value" : {
1708 "op" : "b2d",
1709 "left" : null,
1710 "right" : {
1711 "type" : "bool",
1712 "value" : true
1713 }
1714 }
1715 }
1716 }
1717 ],
1718 "source_info" : {
1719 "filename" : "include/control/filtering.p4",
1720 "line" : 36,
1721 "column" : 40,
1722 "source_fragment" : "= true; ..."
1723 }
1724 },
1725 {
1726 "op" : "assign",
1727 "parameters" : [
1728 {
1729 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001730 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001731 },
1732 {
1733 "type" : "expression",
1734 "value" : {
1735 "type" : "expression",
1736 "value" : {
1737 "op" : "b2d",
1738 "left" : null,
1739 "right" : {
1740 "type" : "bool",
1741 "value" : true
1742 }
1743 }
1744 }
1745 }
1746 ],
1747 "source_info" : {
1748 "filename" : "include/control/filtering.p4",
1749 "line" : 37,
1750 "column" : 34,
1751 "source_fragment" : "= true; ..."
1752 }
1753 }
1754 ]
1755 },
1756 {
1757 "name" : "FabricIngress.filtering.permit",
Daniele Moro5a2de712019-09-24 14:34:07 -07001758 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001759 "runtime_data" : [],
1760 "primitives" : []
1761 },
1762 {
1763 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07001764 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001765 "runtime_data" : [
1766 {
1767 "name" : "vlan_id",
1768 "bitwidth" : 12
1769 }
1770 ],
1771 "primitives" : [
1772 {
1773 "op" : "assign",
1774 "parameters" : [
1775 {
1776 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001777 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001778 },
1779 {
1780 "type" : "runtime_data",
1781 "value" : 0
1782 }
1783 ],
1784 "source_info" : {
1785 "filename" : "include/control/filtering.p4",
1786 "line" : 47,
1787 "column" : 32,
1788 "source_fragment" : "= vlan_id; ..."
1789 }
1790 }
1791 ]
1792 },
1793 {
1794 "name" : "FabricIngress.filtering.set_forwarding_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07001795 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001796 "runtime_data" : [
1797 {
1798 "name" : "fwd_type",
1799 "bitwidth" : 3
1800 }
1801 ],
1802 "primitives" : [
1803 {
1804 "op" : "assign",
1805 "parameters" : [
1806 {
1807 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001808 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001809 },
1810 {
1811 "type" : "runtime_data",
1812 "value" : 0
1813 }
1814 ],
1815 "source_info" : {
1816 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001817 "line" : 88,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001818 "column" : 33,
1819 "source_fragment" : "= fwd_type; ..."
1820 }
1821 }
1822 ]
1823 },
1824 {
1825 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07001826 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001827 "runtime_data" : [
1828 {
1829 "name" : "next_id",
1830 "bitwidth" : 32
1831 }
1832 ],
1833 "primitives" : [
1834 {
1835 "op" : "assign",
1836 "parameters" : [
1837 {
1838 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001839 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001840 },
1841 {
1842 "type" : "runtime_data",
1843 "value" : 0
1844 }
1845 ],
1846 "source_info" : {
1847 "filename" : "include/control/forwarding.p4",
1848 "line" : 30,
1849 "column" : 32,
1850 "source_fragment" : "= next_id; ..."
1851 }
1852 }
1853 ]
1854 },
1855 {
1856 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Daniele Moro5a2de712019-09-24 14:34:07 -07001857 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001858 "runtime_data" : [
1859 {
1860 "name" : "next_id",
1861 "bitwidth" : 32
1862 }
1863 ],
1864 "primitives" : [
1865 {
1866 "op" : "assign",
1867 "parameters" : [
1868 {
1869 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001870 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001871 },
1872 {
1873 "type" : "hexstr",
1874 "value" : "0x000000"
1875 }
1876 ],
1877 "source_info" : {
1878 "filename" : "include/control/forwarding.p4",
1879 "line" : 66,
1880 "column" : 35,
1881 "source_fragment" : "= 0; ..."
1882 }
1883 },
1884 {
1885 "op" : "assign",
1886 "parameters" : [
1887 {
1888 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001889 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001890 },
1891 {
1892 "type" : "runtime_data",
1893 "value" : 0
1894 }
1895 ],
1896 "source_info" : {
1897 "filename" : "include/control/forwarding.p4",
1898 "line" : 30,
1899 "column" : 32,
1900 "source_fragment" : "= next_id; ..."
1901 }
1902 }
1903 ]
1904 },
1905 {
1906 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001907 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001908 "runtime_data" : [
1909 {
1910 "name" : "next_id",
1911 "bitwidth" : 32
1912 }
1913 ],
1914 "primitives" : [
1915 {
1916 "op" : "assign",
1917 "parameters" : [
1918 {
1919 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001920 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001921 },
1922 {
1923 "type" : "runtime_data",
1924 "value" : 0
1925 }
1926 ],
1927 "source_info" : {
1928 "filename" : "include/control/forwarding.p4",
1929 "line" : 30,
1930 "column" : 32,
1931 "source_fragment" : "= next_id; ..."
1932 }
1933 }
1934 ]
1935 },
1936 {
1937 "name" : "FabricIngress.forwarding.nop_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001938 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001939 "runtime_data" : [],
1940 "primitives" : []
1941 },
1942 {
1943 "name" : "FabricIngress.acl.set_next_id_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07001944 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001945 "runtime_data" : [
1946 {
1947 "name" : "next_id",
1948 "bitwidth" : 32
1949 }
1950 ],
1951 "primitives" : [
1952 {
1953 "op" : "assign",
1954 "parameters" : [
1955 {
1956 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001957 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001958 },
1959 {
1960 "type" : "runtime_data",
1961 "value" : 0
1962 }
1963 ],
1964 "source_info" : {
1965 "filename" : "include/control/acl.p4",
1966 "line" : 33,
1967 "column" : 32,
1968 "source_fragment" : "= next_id; ..."
1969 }
1970 }
1971 ]
1972 },
1973 {
1974 "name" : "FabricIngress.acl.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07001975 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001976 "runtime_data" : [],
1977 "primitives" : [
1978 {
1979 "op" : "assign",
1980 "parameters" : [
1981 {
1982 "type" : "field",
1983 "value" : ["standard_metadata", "egress_spec"]
1984 },
1985 {
1986 "type" : "hexstr",
1987 "value" : "0x00ff"
1988 }
1989 ],
1990 "source_info" : {
1991 "filename" : "include/control/acl.p4",
1992 "line" : 39,
1993 "column" : 8,
1994 "source_fragment" : "standard_metadata.egress_spec = 255"
1995 }
1996 },
1997 {
1998 "op" : "assign",
1999 "parameters" : [
2000 {
2001 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002002 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002003 },
2004 {
2005 "type" : "expression",
2006 "value" : {
2007 "type" : "expression",
2008 "value" : {
2009 "op" : "b2d",
2010 "left" : null,
2011 "right" : {
2012 "type" : "bool",
2013 "value" : true
2014 }
2015 }
2016 }
2017 }
2018 ],
2019 "source_info" : {
2020 "filename" : "include/control/acl.p4",
2021 "line" : 40,
2022 "column" : 34,
2023 "source_fragment" : "= true; ..."
2024 }
2025 }
2026 ]
2027 },
2028 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002029 "name" : "FabricIngress.acl.set_clone_session_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002030 "id" : 26,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002031 "runtime_data" : [
2032 {
2033 "name" : "clone_id",
2034 "bitwidth" : 32
2035 }
2036 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002037 "primitives" : [
2038 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002039 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002040 "parameters" : [
2041 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002042 "type" : "runtime_data",
2043 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002044 },
2045 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002046 "type" : "hexstr",
2047 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002048 }
2049 ],
2050 "source_info" : {
2051 "filename" : "include/control/acl.p4",
2052 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002053 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07002054 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002055 }
2056 }
2057 ]
2058 },
2059 {
2060 "name" : "FabricIngress.acl.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07002061 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002062 "runtime_data" : [],
2063 "primitives" : [
2064 {
2065 "op" : "mark_to_drop",
2066 "parameters" : [
2067 {
2068 "type" : "header",
2069 "value" : "standard_metadata"
2070 }
2071 ],
2072 "source_info" : {
2073 "filename" : "include/control/acl.p4",
2074 "line" : 51,
2075 "column" : 8,
2076 "source_fragment" : "mark_to_drop(standard_metadata)"
2077 }
2078 },
2079 {
2080 "op" : "assign",
2081 "parameters" : [
2082 {
2083 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002084 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002085 },
2086 {
2087 "type" : "expression",
2088 "value" : {
2089 "type" : "expression",
2090 "value" : {
2091 "op" : "b2d",
2092 "left" : null,
2093 "right" : {
2094 "type" : "bool",
2095 "value" : true
2096 }
2097 }
2098 }
2099 }
2100 ],
2101 "source_info" : {
2102 "filename" : "include/control/acl.p4",
2103 "line" : 52,
2104 "column" : 34,
2105 "source_fragment" : "= true; ..."
2106 }
2107 }
2108 ]
2109 },
2110 {
2111 "name" : "FabricIngress.acl.nop_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07002112 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002113 "runtime_data" : [],
2114 "primitives" : []
2115 },
2116 {
2117 "name" : "FabricIngress.next.set_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002118 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002119 "runtime_data" : [
2120 {
2121 "name" : "vlan_id",
2122 "bitwidth" : 12
2123 }
2124 ],
2125 "primitives" : [
2126 {
2127 "op" : "assign",
2128 "parameters" : [
2129 {
2130 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002131 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002132 },
2133 {
2134 "type" : "runtime_data",
2135 "value" : 0
2136 }
2137 ],
2138 "source_info" : {
2139 "filename" : "include/control/next.p4",
2140 "line" : 70,
2141 "column" : 32,
2142 "source_fragment" : "= vlan_id; ..."
2143 }
2144 }
2145 ]
2146 },
2147 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002148 "name" : "FabricIngress.next.set_double_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002149 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002150 "runtime_data" : [
2151 {
2152 "name" : "outer_vlan_id",
2153 "bitwidth" : 12
2154 },
2155 {
2156 "name" : "inner_vlan_id",
2157 "bitwidth" : 12
2158 }
2159 ],
2160 "primitives" : [
2161 {
2162 "op" : "assign",
2163 "parameters" : [
2164 {
2165 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002166 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002167 },
2168 {
2169 "type" : "runtime_data",
2170 "value" : 0
2171 }
2172 ],
2173 "source_info" : {
2174 "filename" : "include/control/next.p4",
2175 "line" : 70,
2176 "column" : 32,
2177 "source_fragment" : "= vlan_id; ..."
2178 }
2179 },
2180 {
2181 "op" : "assign",
2182 "parameters" : [
2183 {
2184 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002185 "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002186 },
2187 {
2188 "type" : "expression",
2189 "value" : {
2190 "type" : "expression",
2191 "value" : {
2192 "op" : "b2d",
2193 "left" : null,
2194 "right" : {
2195 "type" : "bool",
2196 "value" : true
2197 }
2198 }
2199 }
2200 }
2201 ],
2202 "source_info" : {
2203 "filename" : "include/control/next.p4",
2204 "line" : 77,
2205 "column" : 41,
2206 "source_fragment" : "= true; ..."
2207 }
2208 },
2209 {
2210 "op" : "assign",
2211 "parameters" : [
2212 {
2213 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002214 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002215 },
2216 {
2217 "type" : "runtime_data",
2218 "value" : 1
2219 }
2220 ],
2221 "source_info" : {
2222 "filename" : "include/control/next.p4",
2223 "line" : 78,
2224 "column" : 38,
2225 "source_fragment" : "= inner_vlan_id; ..."
2226 }
Daniele Morob3d199b2019-11-01 14:01:46 -07002227 },
2228 {
2229 "op" : "assign",
2230 "parameters" : [
2231 {
2232 "type" : "field",
2233 "value" : ["scalars", "fabric_metadata_t._bng_s_tag23"]
2234 },
2235 {
2236 "type" : "runtime_data",
2237 "value" : 0
2238 }
2239 ],
2240 "source_info" : {
2241 "filename" : "include/control/next.p4",
2242 "line" : 80,
2243 "column" : 34,
2244 "source_fragment" : "= outer_vlan_id; ..."
2245 }
2246 },
2247 {
2248 "op" : "assign",
2249 "parameters" : [
2250 {
2251 "type" : "field",
2252 "value" : ["scalars", "fabric_metadata_t._bng_c_tag24"]
2253 },
2254 {
2255 "type" : "runtime_data",
2256 "value" : 1
2257 }
2258 ],
2259 "source_info" : {
2260 "filename" : "include/control/next.p4",
2261 "line" : 81,
2262 "column" : 34,
2263 "source_fragment" : "= inner_vlan_id; ..."
2264 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07002265 }
2266 ]
2267 },
2268 {
2269 "name" : "FabricIngress.next.output_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002270 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002271 "runtime_data" : [
2272 {
2273 "name" : "port_num",
2274 "bitwidth" : 9
2275 }
2276 ],
2277 "primitives" : [
2278 {
2279 "op" : "assign",
2280 "parameters" : [
2281 {
2282 "type" : "field",
2283 "value" : ["standard_metadata", "egress_spec"]
2284 },
2285 {
2286 "type" : "runtime_data",
2287 "value" : 0
2288 }
2289 ],
2290 "source_info" : {
2291 "filename" : "include/control/next.p4",
2292 "line" : 31,
2293 "column" : 5,
2294 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2295 }
2296 }
2297 ]
2298 },
2299 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002300 "name" : "FabricIngress.next.routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002301 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002302 "runtime_data" : [
2303 {
2304 "name" : "port_num",
2305 "bitwidth" : 9
2306 },
2307 {
2308 "name" : "smac",
2309 "bitwidth" : 48
2310 },
2311 {
2312 "name" : "dmac",
2313 "bitwidth" : 48
2314 }
2315 ],
2316 "primitives" : [
2317 {
2318 "op" : "assign",
2319 "parameters" : [
2320 {
2321 "type" : "field",
2322 "value" : ["ethernet", "src_addr"]
2323 },
2324 {
2325 "type" : "runtime_data",
2326 "value" : 1
2327 }
2328 ],
2329 "source_info" : {
2330 "filename" : "include/control/next.p4",
2331 "line" : 36,
2332 "column" : 8,
2333 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2334 }
2335 },
2336 {
2337 "op" : "assign",
2338 "parameters" : [
2339 {
2340 "type" : "field",
2341 "value" : ["ethernet", "dst_addr"]
2342 },
2343 {
2344 "type" : "runtime_data",
2345 "value" : 2
2346 }
2347 ],
2348 "source_info" : {
2349 "filename" : "include/control/next.p4",
2350 "line" : 41,
2351 "column" : 8,
2352 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2353 }
2354 },
2355 {
2356 "op" : "assign",
2357 "parameters" : [
2358 {
2359 "type" : "field",
2360 "value" : ["standard_metadata", "egress_spec"]
2361 },
2362 {
2363 "type" : "runtime_data",
2364 "value" : 0
2365 }
2366 ],
2367 "source_info" : {
2368 "filename" : "include/control/next.p4",
2369 "line" : 31,
2370 "column" : 5,
2371 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2372 }
2373 }
2374 ]
2375 },
2376 {
2377 "name" : "FabricIngress.next.mpls_routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002378 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002379 "runtime_data" : [
2380 {
2381 "name" : "port_num",
2382 "bitwidth" : 9
2383 },
2384 {
2385 "name" : "smac",
2386 "bitwidth" : 48
2387 },
2388 {
2389 "name" : "dmac",
2390 "bitwidth" : 48
2391 },
2392 {
2393 "name" : "label",
2394 "bitwidth" : 20
2395 }
2396 ],
2397 "primitives" : [
2398 {
2399 "op" : "assign",
2400 "parameters" : [
2401 {
2402 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002403 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002404 },
2405 {
2406 "type" : "runtime_data",
2407 "value" : 3
2408 }
2409 ],
2410 "source_info" : {
2411 "filename" : "include/control/next.p4",
2412 "line" : 46,
2413 "column" : 35,
2414 "source_fragment" : "= label; ..."
2415 }
2416 },
2417 {
2418 "op" : "assign",
2419 "parameters" : [
2420 {
2421 "type" : "field",
2422 "value" : ["ethernet", "src_addr"]
2423 },
2424 {
2425 "type" : "runtime_data",
2426 "value" : 1
2427 }
2428 ],
2429 "source_info" : {
2430 "filename" : "include/control/next.p4",
2431 "line" : 36,
2432 "column" : 8,
2433 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2434 }
2435 },
2436 {
2437 "op" : "assign",
2438 "parameters" : [
2439 {
2440 "type" : "field",
2441 "value" : ["ethernet", "dst_addr"]
2442 },
2443 {
2444 "type" : "runtime_data",
2445 "value" : 2
2446 }
2447 ],
2448 "source_info" : {
2449 "filename" : "include/control/next.p4",
2450 "line" : 41,
2451 "column" : 8,
2452 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2453 }
2454 },
2455 {
2456 "op" : "assign",
2457 "parameters" : [
2458 {
2459 "type" : "field",
2460 "value" : ["standard_metadata", "egress_spec"]
2461 },
2462 {
2463 "type" : "runtime_data",
2464 "value" : 0
2465 }
2466 ],
2467 "source_info" : {
2468 "filename" : "include/control/next.p4",
2469 "line" : 31,
2470 "column" : 5,
2471 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2472 }
2473 }
2474 ]
2475 },
2476 {
2477 "name" : "FabricIngress.next.set_mcast_group_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002478 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002479 "runtime_data" : [
2480 {
2481 "name" : "group_id",
2482 "bitwidth" : 16
2483 }
2484 ],
2485 "primitives" : [
2486 {
2487 "op" : "assign",
2488 "parameters" : [
2489 {
2490 "type" : "field",
2491 "value" : ["standard_metadata", "mcast_grp"]
2492 },
2493 {
2494 "type" : "runtime_data",
2495 "value" : 0
2496 }
2497 ],
2498 "source_info" : {
2499 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002500 "line" : 231,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002501 "column" : 8,
2502 "source_fragment" : "standard_metadata.mcast_grp = group_id"
2503 }
2504 },
2505 {
2506 "op" : "assign",
2507 "parameters" : [
2508 {
2509 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002510 "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002511 },
2512 {
2513 "type" : "expression",
2514 "value" : {
2515 "type" : "expression",
2516 "value" : {
2517 "op" : "b2d",
2518 "left" : null,
2519 "right" : {
2520 "type" : "bool",
2521 "value" : true
2522 }
2523 }
2524 }
2525 }
2526 ],
2527 "source_info" : {
2528 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002529 "line" : 232,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002530 "column" : 37,
2531 "source_fragment" : "= true; ..."
2532 }
2533 }
2534 ]
2535 },
2536 {
2537 "name" : "act",
Daniele Moro5a2de712019-09-24 14:34:07 -07002538 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002539 "runtime_data" : [],
2540 "primitives" : [
2541 {
2542 "op" : "assign",
2543 "parameters" : [
2544 {
2545 "type" : "field",
2546 "value" : ["standard_metadata", "egress_spec"]
2547 },
2548 {
2549 "type" : "field",
2550 "value" : ["packet_out", "egress_port"]
2551 }
2552 ],
2553 "source_info" : {
2554 "filename" : "include/control/packetio.p4",
2555 "line" : 25,
2556 "column" : 12,
2557 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
2558 }
2559 },
2560 {
2561 "op" : "remove_header",
2562 "parameters" : [
2563 {
2564 "type" : "header",
2565 "value" : "packet_out"
2566 }
2567 ],
2568 "source_info" : {
2569 "filename" : "include/control/packetio.p4",
2570 "line" : 26,
2571 "column" : 12,
2572 "source_fragment" : "hdr.packet_out.setInvalid()"
2573 }
2574 },
2575 {
2576 "op" : "assign",
2577 "parameters" : [
2578 {
2579 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002580 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002581 },
2582 {
2583 "type" : "expression",
2584 "value" : {
2585 "type" : "expression",
2586 "value" : {
2587 "op" : "b2d",
2588 "left" : null,
2589 "right" : {
2590 "type" : "bool",
2591 "value" : true
2592 }
2593 }
2594 }
2595 }
2596 ],
2597 "source_info" : {
2598 "filename" : "include/control/packetio.p4",
2599 "line" : 27,
2600 "column" : 53,
2601 "source_fragment" : "= true; ..."
2602 }
2603 },
2604 {
2605 "op" : "exit",
2606 "parameters" : [],
2607 "source_info" : {
2608 "filename" : "include/control/packetio.p4",
2609 "line" : 29,
2610 "column" : 12,
2611 "source_fragment" : "exit"
2612 }
2613 }
2614 ]
2615 },
2616 {
2617 "name" : "act_0",
Daniele Moro5a2de712019-09-24 14:34:07 -07002618 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002619 "runtime_data" : [],
2620 "primitives" : [
2621 {
2622 "op" : "assign",
2623 "parameters" : [
2624 {
2625 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002626 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002627 },
2628 {
2629 "type" : "field",
2630 "value" : ["vlan_tag", "vlan_id"]
2631 }
2632 ],
2633 "source_info" : {
2634 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002635 "line" : 111,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002636 "column" : 36,
2637 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
2638 }
2639 },
2640 {
2641 "op" : "assign",
2642 "parameters" : [
2643 {
2644 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002645 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002646 },
2647 {
2648 "type" : "field",
2649 "value" : ["vlan_tag", "pri"]
2650 }
2651 ],
2652 "source_info" : {
2653 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002654 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002655 "column" : 37,
2656 "source_fragment" : "= hdr.vlan_tag.pri; ..."
2657 }
2658 },
2659 {
2660 "op" : "assign",
2661 "parameters" : [
2662 {
2663 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002664 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002665 },
2666 {
2667 "type" : "field",
2668 "value" : ["vlan_tag", "cfi"]
2669 }
2670 ],
2671 "source_info" : {
2672 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002673 "line" : 113,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002674 "column" : 37,
2675 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
2676 }
2677 }
2678 ]
2679 },
2680 {
2681 "name" : "act_1",
Daniele Moro5a2de712019-09-24 14:34:07 -07002682 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002683 "runtime_data" : [],
2684 "primitives" : [
2685 {
2686 "op" : "assign",
2687 "parameters" : [
2688 {
2689 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002690 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002691 },
2692 {
2693 "type" : "field",
2694 "value" : ["inner_vlan_tag", "vlan_id"]
2695 }
2696 ],
2697 "source_info" : {
2698 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002699 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002700 "column" : 42,
2701 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
2702 }
2703 },
2704 {
2705 "op" : "assign",
2706 "parameters" : [
2707 {
2708 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002709 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002710 },
2711 {
2712 "type" : "field",
2713 "value" : ["inner_vlan_tag", "pri"]
2714 }
2715 ],
2716 "source_info" : {
2717 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002718 "line" : 118,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002719 "column" : 43,
2720 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
2721 }
2722 },
2723 {
2724 "op" : "assign",
2725 "parameters" : [
2726 {
2727 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002728 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002729 },
2730 {
2731 "type" : "field",
2732 "value" : ["inner_vlan_tag", "cfi"]
2733 }
2734 ],
2735 "source_info" : {
2736 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002737 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002738 "column" : 43,
2739 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
2740 }
2741 }
2742 ]
2743 },
2744 {
2745 "name" : "act_2",
Daniele Moro5a2de712019-09-24 14:34:07 -07002746 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002747 "runtime_data" : [],
2748 "primitives" : [
2749 {
2750 "op" : "assign",
2751 "parameters" : [
2752 {
2753 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002754 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002755 },
2756 {
2757 "type" : "hexstr",
2758 "value" : "0x41"
2759 }
2760 ],
2761 "source_info" : {
2762 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002763 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002764 "column" : 37,
2765 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
2766 }
2767 }
2768 ]
2769 },
2770 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002771 "name" : "act_3",
Daniele Moro5a2de712019-09-24 14:34:07 -07002772 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002773 "runtime_data" : [],
2774 "primitives" : [
2775 {
2776 "op" : "assign",
2777 "parameters" : [
2778 {
2779 "type" : "field",
2780 "value" : ["scalars", "tmp"]
2781 },
2782 {
2783 "type" : "expression",
2784 "value" : {
2785 "type" : "expression",
2786 "value" : {
2787 "op" : "&",
2788 "left" : {
2789 "type" : "field",
2790 "value" : ["standard_metadata", "egress_spec"]
2791 },
2792 "right" : {
2793 "type" : "hexstr",
2794 "value" : "0xffffffff"
2795 }
2796 }
2797 }
2798 }
2799 ],
2800 "source_info" : {
2801 "filename" : "include/control/port_counter.p4",
2802 "line" : 31,
2803 "column" : 38,
2804 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
2805 }
2806 },
2807 {
2808 "op" : "count",
2809 "parameters" : [
2810 {
2811 "type" : "counter_array",
2812 "value" : "FabricIngress.port_counters_control.egress_port_counter"
2813 },
2814 {
2815 "type" : "field",
2816 "value" : ["scalars", "tmp"]
2817 }
2818 ],
2819 "source_info" : {
2820 "filename" : "include/control/port_counter.p4",
2821 "line" : 31,
2822 "column" : 12,
2823 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
2824 }
2825 }
2826 ]
2827 },
2828 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002829 "name" : "act_4",
2830 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002831 "runtime_data" : [],
2832 "primitives" : [
2833 {
2834 "op" : "assign",
2835 "parameters" : [
2836 {
2837 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002838 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002839 },
2840 {
2841 "type" : "expression",
2842 "value" : {
2843 "type" : "expression",
2844 "value" : {
2845 "op" : "&",
2846 "left" : {
2847 "type" : "field",
2848 "value" : ["standard_metadata", "ingress_port"]
2849 },
2850 "right" : {
2851 "type" : "hexstr",
2852 "value" : "0xffffffff"
2853 }
2854 }
2855 }
2856 }
2857 ],
2858 "source_info" : {
2859 "filename" : "include/control/port_counter.p4",
2860 "line" : 34,
2861 "column" : 39,
2862 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
2863 }
2864 },
2865 {
2866 "op" : "count",
2867 "parameters" : [
2868 {
2869 "type" : "counter_array",
2870 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
2871 },
2872 {
2873 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002874 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002875 }
2876 ],
2877 "source_info" : {
2878 "filename" : "include/control/port_counter.p4",
2879 "line" : 34,
2880 "column" : 12,
2881 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
2882 }
2883 }
2884 ]
2885 },
2886 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002887 "name" : "act_5",
2888 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002889 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002890 "primitives" : [
2891 {
2892 "op" : "assign",
2893 "parameters" : [
2894 {
2895 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002896 "value" : ["scalars", "bng_ingress_upstream_tmp"]
2897 },
2898 {
2899 "type" : "expression",
2900 "value" : {
2901 "type" : "expression",
2902 "value" : {
2903 "op" : "b2d",
2904 "left" : null,
2905 "right" : {
2906 "type" : "bool",
2907 "value" : true
2908 }
2909 }
2910 }
2911 }
2912 ]
2913 }
2914 ]
2915 },
2916 {
Daniele Morob3d199b2019-11-01 14:01:46 -07002917 "name" : "act_6",
2918 "id" : 42,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002919 "runtime_data" : [],
2920 "primitives" : [
2921 {
2922 "op" : "assign",
2923 "parameters" : [
2924 {
2925 "type" : "field",
2926 "value" : ["scalars", "bng_ingress_upstream_tmp"]
2927 },
2928 {
2929 "type" : "expression",
2930 "value" : {
2931 "type" : "expression",
2932 "value" : {
2933 "op" : "b2d",
2934 "left" : null,
2935 "right" : {
2936 "type" : "bool",
2937 "value" : false
2938 }
2939 }
2940 }
2941 }
2942 ]
2943 }
2944 ]
2945 },
2946 {
Daniele Morob3d199b2019-11-01 14:01:46 -07002947 "name" : "act_7",
2948 "id" : 43,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002949 "runtime_data" : [],
2950 "primitives" : [
2951 {
2952 "op" : "assign",
2953 "parameters" : [
2954 {
2955 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002956 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002957 },
2958 {
2959 "type" : "hexstr",
2960 "value" : "0x01"
2961 }
2962 ],
2963 "source_info" : {
2964 "filename" : "include/control/../header.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002965 "line" : 161,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002966 "column" : 37,
2967 "source_fragment" : "2w0x1; ..."
2968 }
2969 },
2970 {
2971 "op" : "assign",
2972 "parameters" : [
2973 {
2974 "type" : "field",
2975 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
2976 },
2977 {
2978 "type" : "expression",
2979 "value" : {
2980 "type" : "expression",
2981 "value" : {
2982 "op" : "b2d",
2983 "left" : null,
2984 "right" : {
2985 "type" : "bool",
2986 "value" : false
2987 }
2988 }
2989 }
2990 }
2991 ]
2992 }
2993 ]
2994 },
2995 {
Daniele Morob3d199b2019-11-01 14:01:46 -07002996 "name" : "act_8",
2997 "id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002998 "runtime_data" : [],
2999 "primitives" : [
3000 {
3001 "op" : "assign",
3002 "parameters" : [
3003 {
3004 "type" : "field",
3005 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
3006 },
3007 {
3008 "type" : "expression",
3009 "value" : {
3010 "type" : "expression",
3011 "value" : {
3012 "op" : "b2d",
3013 "left" : null,
3014 "right" : {
3015 "type" : "bool",
3016 "value" : true
3017 }
3018 }
3019 }
3020 }
3021 ],
3022 "source_info" : {
3023 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003024 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003025 "column" : 12,
3026 "source_fragment" : "return"
3027 }
3028 }
3029 ]
3030 },
3031 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003032 "name" : "act_9",
3033 "id" : 45,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003034 "runtime_data" : [],
3035 "primitives" : [
3036 {
3037 "op" : "count",
3038 "parameters" : [
3039 {
3040 "type" : "counter_array",
3041 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
3042 },
3043 {
3044 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003045 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003046 }
3047 ],
3048 "source_info" : {
3049 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003050 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003051 "column" : 20,
3052 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
3053 }
3054 }
3055 ]
3056 },
3057 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003058 "name" : "act_10",
3059 "id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003060 "runtime_data" : [],
3061 "primitives" : [
3062 {
3063 "op" : "assign",
3064 "parameters" : [
3065 {
3066 "type" : "field",
3067 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3068 },
3069 {
3070 "type" : "expression",
3071 "value" : {
3072 "type" : "expression",
3073 "value" : {
3074 "op" : "b2d",
3075 "left" : null,
3076 "right" : {
3077 "type" : "bool",
3078 "value" : true
3079 }
3080 }
3081 }
3082 }
3083 ]
3084 }
3085 ]
3086 },
3087 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003088 "name" : "act_11",
3089 "id" : 47,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003090 "runtime_data" : [],
3091 "primitives" : [
3092 {
3093 "op" : "assign",
3094 "parameters" : [
3095 {
3096 "type" : "field",
3097 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3098 },
3099 {
3100 "type" : "expression",
3101 "value" : {
3102 "type" : "expression",
3103 "value" : {
3104 "op" : "b2d",
3105 "left" : null,
3106 "right" : {
3107 "type" : "bool",
3108 "value" : false
3109 }
3110 }
3111 }
3112 }
3113 ]
3114 }
3115 ]
3116 },
3117 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003118 "name" : "act_12",
3119 "id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003120 "runtime_data" : [],
3121 "primitives" : [
3122 {
3123 "op" : "execute_meter",
3124 "parameters" : [
3125 {
3126 "type" : "meter_array",
3127 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
3128 },
3129 {
3130 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003131 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003132 },
3133 {
3134 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003135 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003136 }
3137 ],
3138 "source_info" : {
3139 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003140 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003141 "column" : 24,
3142 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3143 }
3144 }
3145 ]
3146 },
3147 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003148 "name" : "act_13",
3149 "id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003150 "runtime_data" : [],
3151 "primitives" : [
3152 {
3153 "op" : "execute_meter",
3154 "parameters" : [
3155 {
3156 "type" : "meter_array",
3157 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
3158 },
3159 {
3160 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003161 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003162 },
3163 {
3164 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003165 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003166 }
3167 ],
3168 "source_info" : {
3169 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003170 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003171 "column" : 24,
3172 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3173 }
3174 }
3175 ]
3176 },
3177 {
3178 "name" : "nop",
Daniele Morob3d199b2019-11-01 14:01:46 -07003179 "id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003180 "runtime_data" : [],
3181 "primitives" : []
3182 },
3183 {
3184 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003185 "id" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003186 "runtime_data" : [],
3187 "primitives" : [
3188 {
3189 "op" : "assign",
3190 "parameters" : [
3191 {
3192 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003193 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003194 },
3195 {
3196 "type" : "hexstr",
3197 "value" : "0x8864"
3198 }
3199 ],
3200 "source_info" : {
3201 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003202 "line" : 118,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003203 "column" : 33,
3204 "source_fragment" : "0x8864; ..."
3205 }
3206 },
3207 {
3208 "op" : "add_header",
3209 "parameters" : [
3210 {
3211 "type" : "header",
3212 "value" : "pppoe"
3213 }
3214 ],
3215 "source_info" : {
3216 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003217 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003218 "column" : 8,
3219 "source_fragment" : "hdr.pppoe.setValid()"
3220 }
3221 },
3222 {
3223 "op" : "assign",
3224 "parameters" : [
3225 {
3226 "type" : "field",
3227 "value" : ["pppoe", "version"]
3228 },
3229 {
3230 "type" : "hexstr",
3231 "value" : "0x01"
3232 }
3233 ],
3234 "source_info" : {
3235 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003236 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003237 "column" : 8,
3238 "source_fragment" : "hdr.pppoe.version = 4w1"
3239 }
3240 },
3241 {
3242 "op" : "assign",
3243 "parameters" : [
3244 {
3245 "type" : "field",
3246 "value" : ["pppoe", "type_id"]
3247 },
3248 {
3249 "type" : "hexstr",
3250 "value" : "0x01"
3251 }
3252 ],
3253 "source_info" : {
3254 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003255 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003256 "column" : 8,
3257 "source_fragment" : "hdr.pppoe.type_id = 4w1"
3258 }
3259 },
3260 {
3261 "op" : "assign",
3262 "parameters" : [
3263 {
3264 "type" : "field",
3265 "value" : ["pppoe", "code"]
3266 },
3267 {
3268 "type" : "hexstr",
3269 "value" : "0x00"
3270 }
3271 ],
3272 "source_info" : {
3273 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003274 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003275 "column" : 8,
3276 "source_fragment" : "hdr.pppoe.code = 8w0"
3277 }
3278 },
3279 {
3280 "op" : "assign",
3281 "parameters" : [
3282 {
3283 "type" : "field",
3284 "value" : ["pppoe", "session_id"]
3285 },
3286 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003287 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003288 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003289 }
3290 ],
3291 "source_info" : {
3292 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003293 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003294 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003295 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003296 }
3297 },
3298 {
3299 "op" : "count",
3300 "parameters" : [
3301 {
3302 "type" : "counter_array",
3303 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
3304 },
3305 {
3306 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003307 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003308 }
3309 ],
3310 "source_info" : {
3311 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003312 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003313 "column" : 8,
3314 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
3315 }
3316 },
3317 {
3318 "op" : "assign",
3319 "parameters" : [
3320 {
3321 "type" : "field",
3322 "value" : ["pppoe", "length"]
3323 },
3324 {
3325 "type" : "expression",
3326 "value" : {
3327 "type" : "expression",
3328 "value" : {
3329 "op" : "&",
3330 "left" : {
3331 "type" : "expression",
3332 "value" : {
3333 "op" : "+",
3334 "left" : {
3335 "type" : "field",
3336 "value" : ["ipv4", "total_len"]
3337 },
3338 "right" : {
3339 "type" : "hexstr",
3340 "value" : "0x0002"
3341 }
3342 }
3343 },
3344 "right" : {
3345 "type" : "hexstr",
3346 "value" : "0xffff"
3347 }
3348 }
3349 }
3350 }
3351 ],
3352 "source_info" : {
3353 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08003354 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003355 "column" : 8,
3356 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
3357 }
3358 },
3359 {
3360 "op" : "assign",
3361 "parameters" : [
3362 {
3363 "type" : "field",
3364 "value" : ["pppoe", "protocol"]
3365 },
3366 {
3367 "type" : "hexstr",
3368 "value" : "0x0021"
3369 }
3370 ],
3371 "source_info" : {
3372 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003373 "line" : 120,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003374 "column" : 35,
3375 "source_fragment" : "0x0021; ..."
3376 }
3377 }
3378 ]
3379 },
3380 {
3381 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Daniele Morob3d199b2019-11-01 14:01:46 -07003382 "id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003383 "runtime_data" : [],
3384 "primitives" : [
3385 {
3386 "op" : "remove_header",
3387 "parameters" : [
3388 {
3389 "type" : "header",
3390 "value" : "mpls"
3391 }
3392 ],
3393 "source_info" : {
3394 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003395 "line" : 270,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003396 "column" : 8,
3397 "source_fragment" : "hdr.mpls.setInvalid()"
3398 }
3399 },
3400 {
3401 "op" : "assign",
3402 "parameters" : [
3403 {
3404 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003405 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003406 },
3407 {
3408 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003409 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003410 }
3411 ],
3412 "source_info" : {
3413 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003414 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07003415 "column" : 8,
3416 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003417 }
3418 }
3419 ]
3420 },
3421 {
3422 "name" : "FabricEgress.egress_next.set_mpls",
Daniele Morob3d199b2019-11-01 14:01:46 -07003423 "id" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003424 "runtime_data" : [],
3425 "primitives" : [
3426 {
3427 "op" : "add_header",
3428 "parameters" : [
3429 {
3430 "type" : "header",
3431 "value" : "mpls"
3432 }
3433 ],
3434 "source_info" : {
3435 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003436 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003437 "column" : 8,
3438 "source_fragment" : "hdr.mpls.setValid()"
3439 }
3440 },
3441 {
3442 "op" : "assign",
3443 "parameters" : [
3444 {
3445 "type" : "field",
3446 "value" : ["mpls", "label"]
3447 },
3448 {
3449 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003450 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003451 }
3452 ],
3453 "source_info" : {
3454 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003455 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003456 "column" : 8,
3457 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
3458 }
3459 },
3460 {
3461 "op" : "assign",
3462 "parameters" : [
3463 {
3464 "type" : "field",
3465 "value" : ["mpls", "tc"]
3466 },
3467 {
3468 "type" : "hexstr",
3469 "value" : "0x00"
3470 }
3471 ],
3472 "source_info" : {
3473 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003474 "line" : 279,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003475 "column" : 8,
3476 "source_fragment" : "hdr.mpls.tc = 3w0"
3477 }
3478 },
3479 {
3480 "op" : "assign",
3481 "parameters" : [
3482 {
3483 "type" : "field",
3484 "value" : ["mpls", "bos"]
3485 },
3486 {
3487 "type" : "hexstr",
3488 "value" : "0x01"
3489 }
3490 ],
3491 "source_info" : {
3492 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003493 "line" : 280,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003494 "column" : 8,
3495 "source_fragment" : "hdr.mpls.bos = 1w1"
3496 }
3497 },
3498 {
3499 "op" : "assign",
3500 "parameters" : [
3501 {
3502 "type" : "field",
3503 "value" : ["mpls", "ttl"]
3504 },
3505 {
3506 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003507 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003508 }
3509 ],
3510 "source_info" : {
3511 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003512 "line" : 281,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003513 "column" : 8,
3514 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
3515 }
3516 },
3517 {
3518 "op" : "assign",
3519 "parameters" : [
3520 {
3521 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003522 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003523 },
3524 {
3525 "type" : "hexstr",
3526 "value" : "0x8847"
3527 }
3528 ],
3529 "source_info" : {
3530 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003531 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003532 "column" : 31,
3533 "source_fragment" : "0x8847; ..."
3534 }
3535 }
3536 ]
3537 },
3538 {
3539 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07003540 "id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003541 "runtime_data" : [],
3542 "primitives" : [
3543 {
3544 "op" : "add_header",
3545 "parameters" : [
3546 {
3547 "type" : "header",
3548 "value" : "vlan_tag"
3549 }
3550 ],
3551 "source_info" : {
3552 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003553 "line" : 289,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003554 "column" : 8,
3555 "source_fragment" : "hdr.vlan_tag.setValid()"
3556 }
3557 },
3558 {
3559 "op" : "assign",
3560 "parameters" : [
3561 {
3562 "type" : "field",
3563 "value" : ["vlan_tag", "cfi"]
3564 },
3565 {
3566 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003567 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003568 }
3569 ],
3570 "source_info" : {
3571 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003572 "line" : 290,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003573 "column" : 8,
3574 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3575 }
3576 },
3577 {
3578 "op" : "assign",
3579 "parameters" : [
3580 {
3581 "type" : "field",
3582 "value" : ["vlan_tag", "pri"]
3583 },
3584 {
3585 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003586 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003587 }
3588 ],
3589 "source_info" : {
3590 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003591 "line" : 291,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003592 "column" : 8,
3593 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3594 }
3595 },
3596 {
3597 "op" : "assign",
3598 "parameters" : [
3599 {
3600 "type" : "field",
3601 "value" : ["vlan_tag", "eth_type"]
3602 },
3603 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003604 "type" : "hexstr",
3605 "value" : "0x8100"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003606 }
3607 ],
3608 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003609 "filename" : "include/control/../define.p4",
3610 "line" : 111,
3611 "column" : 31,
3612 "source_fragment" : "0x8100; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003613 }
3614 },
3615 {
3616 "op" : "assign",
3617 "parameters" : [
3618 {
3619 "type" : "field",
3620 "value" : ["vlan_tag", "vlan_id"]
3621 },
3622 {
3623 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003624 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003625 }
3626 ],
3627 "source_info" : {
3628 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003629 "line" : 293,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003630 "column" : 8,
3631 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3632 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003633 }
3634 ]
3635 },
3636 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003637 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07003638 "id" : 55,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003639 "runtime_data" : [],
3640 "primitives" : [
3641 {
3642 "op" : "add_header",
3643 "parameters" : [
3644 {
3645 "type" : "header",
3646 "value" : "vlan_tag"
3647 }
3648 ],
3649 "source_info" : {
3650 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003651 "line" : 289,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003652 "column" : 8,
3653 "source_fragment" : "hdr.vlan_tag.setValid()"
3654 }
3655 },
3656 {
3657 "op" : "assign",
3658 "parameters" : [
3659 {
3660 "type" : "field",
3661 "value" : ["vlan_tag", "cfi"]
3662 },
3663 {
3664 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003665 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003666 }
3667 ],
3668 "source_info" : {
3669 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003670 "line" : 290,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003671 "column" : 8,
3672 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3673 }
3674 },
3675 {
3676 "op" : "assign",
3677 "parameters" : [
3678 {
3679 "type" : "field",
3680 "value" : ["vlan_tag", "pri"]
3681 },
3682 {
3683 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003684 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003685 }
3686 ],
3687 "source_info" : {
3688 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003689 "line" : 291,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003690 "column" : 8,
3691 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3692 }
3693 },
3694 {
3695 "op" : "assign",
3696 "parameters" : [
3697 {
3698 "type" : "field",
3699 "value" : ["vlan_tag", "eth_type"]
3700 },
3701 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003702 "type" : "hexstr",
3703 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003704 }
3705 ],
3706 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003707 "filename" : "include/control/../define.p4",
3708 "line" : 111,
3709 "column" : 31,
3710 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003711 }
3712 },
3713 {
3714 "op" : "assign",
3715 "parameters" : [
3716 {
3717 "type" : "field",
3718 "value" : ["vlan_tag", "vlan_id"]
3719 },
3720 {
3721 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003722 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003723 }
3724 ],
3725 "source_info" : {
3726 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003727 "line" : 293,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003728 "column" : 8,
3729 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3730 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07003731 }
3732 ]
3733 },
3734 {
3735 "name" : "FabricEgress.egress_next.push_inner_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07003736 "id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003737 "runtime_data" : [],
3738 "primitives" : [
3739 {
3740 "op" : "add_header",
3741 "parameters" : [
3742 {
3743 "type" : "header",
3744 "value" : "inner_vlan_tag"
3745 }
3746 ],
3747 "source_info" : {
3748 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003749 "line" : 300,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003750 "column" : 8,
3751 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
3752 }
3753 },
3754 {
3755 "op" : "assign",
3756 "parameters" : [
3757 {
3758 "type" : "field",
3759 "value" : ["inner_vlan_tag", "cfi"]
3760 },
3761 {
3762 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003763 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003764 }
3765 ],
3766 "source_info" : {
3767 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003768 "line" : 301,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003769 "column" : 8,
3770 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
3771 }
3772 },
3773 {
3774 "op" : "assign",
3775 "parameters" : [
3776 {
3777 "type" : "field",
3778 "value" : ["inner_vlan_tag", "pri"]
3779 },
3780 {
3781 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003782 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003783 }
3784 ],
3785 "source_info" : {
3786 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003787 "line" : 302,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003788 "column" : 8,
3789 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
3790 }
3791 },
3792 {
3793 "op" : "assign",
3794 "parameters" : [
3795 {
3796 "type" : "field",
3797 "value" : ["inner_vlan_tag", "vlan_id"]
3798 },
3799 {
3800 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003801 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003802 }
3803 ],
3804 "source_info" : {
3805 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003806 "line" : 303,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003807 "column" : 8,
3808 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
3809 }
3810 },
3811 {
3812 "op" : "assign",
3813 "parameters" : [
3814 {
3815 "type" : "field",
3816 "value" : ["inner_vlan_tag", "eth_type"]
3817 },
3818 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003819 "type" : "hexstr",
3820 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003821 }
3822 ],
3823 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003824 "filename" : "include/control/../define.p4",
3825 "line" : 111,
3826 "column" : 31,
3827 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003828 }
3829 },
3830 {
3831 "op" : "assign",
3832 "parameters" : [
3833 {
3834 "type" : "field",
3835 "value" : ["vlan_tag", "eth_type"]
3836 },
3837 {
3838 "type" : "hexstr",
3839 "value" : "0x8100"
3840 }
3841 ],
3842 "source_info" : {
3843 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003844 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003845 "column" : 31,
3846 "source_fragment" : "0x8100; ..."
3847 }
3848 }
3849 ]
3850 },
3851 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003852 "name" : "FabricEgress.egress_next.pop_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07003853 "id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003854 "runtime_data" : [],
3855 "primitives" : [
3856 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003857 "op" : "remove_header",
3858 "parameters" : [
3859 {
3860 "type" : "header",
3861 "value" : "vlan_tag"
3862 }
3863 ],
3864 "source_info" : {
3865 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003866 "line" : 316,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003867 "column" : 8,
3868 "source_fragment" : "hdr.vlan_tag.setInvalid()"
3869 }
3870 }
3871 ]
3872 },
3873 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003874 "name" : "act_14",
3875 "id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003876 "runtime_data" : [],
3877 "primitives" : [
3878 {
3879 "op" : "exit",
3880 "parameters" : [],
3881 "source_info" : {
3882 "filename" : "include/control/packetio.p4",
3883 "line" : 41,
3884 "column" : 12,
3885 "source_fragment" : "exit"
3886 }
3887 }
3888 ]
3889 },
3890 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003891 "name" : "act_15",
3892 "id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003893 "runtime_data" : [],
3894 "primitives" : [
3895 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003896 "op" : "add_header",
3897 "parameters" : [
3898 {
3899 "type" : "header",
3900 "value" : "packet_in"
3901 }
3902 ],
3903 "source_info" : {
3904 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003905 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003906 "column" : 12,
3907 "source_fragment" : "hdr.packet_in.setValid()"
3908 }
3909 },
3910 {
3911 "op" : "assign",
3912 "parameters" : [
3913 {
3914 "type" : "field",
3915 "value" : ["packet_in", "ingress_port"]
3916 },
3917 {
3918 "type" : "field",
3919 "value" : ["standard_metadata", "ingress_port"]
3920 }
3921 ],
3922 "source_info" : {
3923 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003924 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003925 "column" : 12,
3926 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
3927 }
3928 },
3929 {
3930 "op" : "exit",
3931 "parameters" : [],
3932 "source_info" : {
3933 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003934 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003935 "column" : 12,
3936 "source_fragment" : "exit"
3937 }
3938 }
3939 ]
3940 },
3941 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003942 "name" : "act_16",
3943 "id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003944 "runtime_data" : [],
3945 "primitives" : [
3946 {
3947 "op" : "mark_to_drop",
3948 "parameters" : [
3949 {
3950 "type" : "header",
3951 "value" : "standard_metadata"
3952 }
3953 ],
3954 "source_info" : {
3955 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003956 "line" : 337,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003957 "column" : 12,
3958 "source_fragment" : "mark_to_drop(standard_metadata)"
3959 }
3960 }
3961 ]
3962 },
3963 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003964 "name" : "act_17",
3965 "id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003966 "runtime_data" : [],
3967 "primitives" : [
3968 {
3969 "op" : "assign",
3970 "parameters" : [
3971 {
3972 "type" : "field",
3973 "value" : ["scalars", "egress_next_tmp"]
3974 },
3975 {
3976 "type" : "expression",
3977 "value" : {
3978 "type" : "expression",
3979 "value" : {
3980 "op" : "b2d",
3981 "left" : null,
3982 "right" : {
3983 "type" : "bool",
3984 "value" : true
3985 }
3986 }
3987 }
3988 }
3989 ]
3990 }
3991 ]
3992 },
3993 {
Daniele Morob3d199b2019-11-01 14:01:46 -07003994 "name" : "act_18",
3995 "id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003996 "runtime_data" : [],
3997 "primitives" : [
3998 {
3999 "op" : "assign",
4000 "parameters" : [
4001 {
4002 "type" : "field",
4003 "value" : ["scalars", "egress_next_tmp"]
4004 },
4005 {
4006 "type" : "expression",
4007 "value" : {
4008 "type" : "expression",
4009 "value" : {
4010 "op" : "b2d",
4011 "left" : null,
4012 "right" : {
4013 "type" : "bool",
4014 "value" : false
4015 }
4016 }
4017 }
4018 }
4019 ]
4020 }
4021 ]
4022 },
4023 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004024 "name" : "act_19",
4025 "id" : 63,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004026 "runtime_data" : [],
4027 "primitives" : [
4028 {
4029 "op" : "remove_header",
4030 "parameters" : [
4031 {
4032 "type" : "header",
4033 "value" : "inner_vlan_tag"
4034 }
4035 ],
4036 "source_info" : {
4037 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004038 "line" : 353,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004039 "column" : 12,
4040 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
4041 }
4042 }
4043 ]
4044 },
4045 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004046 "name" : "act_20",
4047 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004048 "runtime_data" : [],
4049 "primitives" : [
4050 {
4051 "op" : "mark_to_drop",
4052 "parameters" : [
4053 {
4054 "type" : "header",
4055 "value" : "standard_metadata"
4056 }
4057 ],
4058 "source_info" : {
4059 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004060 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004061 "column" : 35,
4062 "source_fragment" : "mark_to_drop(standard_metadata)"
4063 }
4064 }
4065 ]
4066 },
4067 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004068 "name" : "act_21",
4069 "id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004070 "runtime_data" : [],
4071 "primitives" : [
4072 {
4073 "op" : "assign",
4074 "parameters" : [
4075 {
4076 "type" : "field",
4077 "value" : ["mpls", "ttl"]
4078 },
4079 {
4080 "type" : "expression",
4081 "value" : {
4082 "type" : "expression",
4083 "value" : {
4084 "op" : "&",
4085 "left" : {
4086 "type" : "expression",
4087 "value" : {
4088 "op" : "+",
4089 "left" : {
4090 "type" : "field",
4091 "value" : ["mpls", "ttl"]
4092 },
4093 "right" : {
4094 "type" : "hexstr",
4095 "value" : "0xff"
4096 }
4097 }
4098 },
4099 "right" : {
4100 "type" : "hexstr",
4101 "value" : "0xff"
4102 }
4103 }
4104 }
4105 }
4106 ],
4107 "source_info" : {
4108 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004109 "line" : 369,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004110 "column" : 12,
4111 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
4112 }
4113 }
4114 ]
4115 },
4116 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004117 "name" : "act_22",
4118 "id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004119 "runtime_data" : [],
4120 "primitives" : [
4121 {
4122 "op" : "mark_to_drop",
4123 "parameters" : [
4124 {
4125 "type" : "header",
4126 "value" : "standard_metadata"
4127 }
4128 ],
4129 "source_info" : {
4130 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004131 "line" : 374,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004132 "column" : 39,
4133 "source_fragment" : "mark_to_drop(standard_metadata)"
4134 }
4135 }
4136 ]
4137 },
4138 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004139 "name" : "act_23",
4140 "id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004141 "runtime_data" : [],
4142 "primitives" : [
4143 {
4144 "op" : "assign",
4145 "parameters" : [
4146 {
4147 "type" : "field",
4148 "value" : ["ipv4", "ttl"]
4149 },
4150 {
4151 "type" : "expression",
4152 "value" : {
4153 "type" : "expression",
4154 "value" : {
4155 "op" : "&",
4156 "left" : {
4157 "type" : "expression",
4158 "value" : {
4159 "op" : "+",
4160 "left" : {
4161 "type" : "field",
4162 "value" : ["ipv4", "ttl"]
4163 },
4164 "right" : {
4165 "type" : "hexstr",
4166 "value" : "0xff"
4167 }
4168 }
4169 },
4170 "right" : {
4171 "type" : "hexstr",
4172 "value" : "0xff"
4173 }
4174 }
4175 }
4176 }
4177 ],
4178 "source_info" : {
4179 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004180 "line" : 373,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004181 "column" : 16,
4182 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4183 }
4184 }
4185 ]
4186 }
4187 ],
4188 "pipelines" : [
4189 {
4190 "name" : "ingress",
4191 "id" : 0,
4192 "source_info" : {
4193 "filename" : "fabric.p4",
4194 "line" : 46,
4195 "column" : 8,
4196 "source_fragment" : "FabricIngress"
4197 },
4198 "init_table" : "node_2",
4199 "tables" : [
4200 {
4201 "name" : "tbl_act",
4202 "id" : 0,
4203 "source_info" : {
4204 "filename" : "include/control/packetio.p4",
4205 "line" : 25,
4206 "column" : 42,
4207 "source_fragment" : "= hdr.packet_out.egress_port; ..."
4208 },
4209 "key" : [],
4210 "match_type" : "exact",
4211 "type" : "simple",
4212 "max_size" : 1024,
4213 "with_counters" : false,
4214 "support_timeout" : false,
4215 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004216 "action_ids" : [35],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004217 "actions" : ["act"],
4218 "base_default_next" : "node_4",
4219 "next_tables" : {
4220 "act" : "node_4"
4221 },
4222 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004223 "action_id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004224 "action_const" : true,
4225 "action_data" : [],
4226 "action_entry_const" : true
4227 }
4228 },
4229 {
4230 "name" : "tbl_act_0",
4231 "id" : 1,
4232 "source_info" : {
4233 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004234 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004235 "column" : 36,
4236 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004237 },
4238 "key" : [],
4239 "match_type" : "exact",
4240 "type" : "simple",
4241 "max_size" : 1024,
4242 "with_counters" : false,
4243 "support_timeout" : false,
4244 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004245 "action_ids" : [36],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004246 "actions" : ["act_0"],
4247 "base_default_next" : "node_6",
4248 "next_tables" : {
4249 "act_0" : "node_6"
4250 },
4251 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004252 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004253 "action_const" : true,
4254 "action_data" : [],
4255 "action_entry_const" : true
4256 }
4257 },
4258 {
4259 "name" : "tbl_act_1",
4260 "id" : 2,
4261 "source_info" : {
4262 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004263 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004264 "column" : 42,
4265 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
4266 },
4267 "key" : [],
4268 "match_type" : "exact",
4269 "type" : "simple",
4270 "max_size" : 1024,
4271 "with_counters" : false,
4272 "support_timeout" : false,
4273 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004274 "action_ids" : [37],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004275 "actions" : ["act_1"],
4276 "base_default_next" : "node_8",
4277 "next_tables" : {
4278 "act_1" : "node_8"
4279 },
4280 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004281 "action_id" : 37,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004282 "action_const" : true,
4283 "action_data" : [],
4284 "action_entry_const" : true
4285 }
4286 },
4287 {
4288 "name" : "tbl_act_2",
4289 "id" : 3,
4290 "source_info" : {
4291 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004292 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004293 "column" : 37,
4294 "source_fragment" : "="
4295 },
4296 "key" : [],
4297 "match_type" : "exact",
4298 "type" : "simple",
4299 "max_size" : 1024,
4300 "with_counters" : false,
4301 "support_timeout" : false,
4302 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004303 "action_ids" : [38],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004304 "actions" : ["act_2"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004305 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4306 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004307 "act_2" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004308 },
4309 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004310 "action_id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004311 "action_const" : true,
4312 "action_data" : [],
4313 "action_entry_const" : true
4314 }
4315 },
4316 {
4317 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004318 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004319 "source_info" : {
4320 "filename" : "include/control/filtering.p4",
4321 "line" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004322 "column" : 10,
4323 "source_fragment" : "ingress_port_vlan"
4324 },
4325 "key" : [
4326 {
4327 "match_type" : "exact",
4328 "name" : "ig_port",
4329 "target" : ["standard_metadata", "ingress_port"],
4330 "mask" : null
4331 },
4332 {
4333 "match_type" : "exact",
4334 "name" : "vlan_is_valid",
4335 "target" : ["vlan_tag", "$valid$"],
4336 "mask" : null
4337 },
4338 {
4339 "match_type" : "ternary",
4340 "name" : "vlan_id",
4341 "target" : ["vlan_tag", "vlan_id"],
4342 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07004343 },
4344 {
4345 "match_type" : "ternary",
4346 "name" : "inner_vlan_id",
4347 "target" : ["inner_vlan_tag", "vlan_id"],
4348 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004349 }
4350 ],
4351 "match_type" : "ternary",
4352 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004353 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004354 "with_counters" : true,
4355 "support_timeout" : false,
4356 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004357 "action_ids" : [16, 17, 18],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004358 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
4359 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
4360 "next_tables" : {
4361 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
4362 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
4363 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
4364 },
4365 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004366 "action_id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004367 "action_const" : true,
4368 "action_data" : [],
4369 "action_entry_const" : true
4370 }
4371 },
4372 {
4373 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro5a2de712019-09-24 14:34:07 -07004374 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004375 "source_info" : {
4376 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004377 "line" : 92,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004378 "column" : 10,
4379 "source_fragment" : "fwd_classifier"
4380 },
4381 "key" : [
4382 {
4383 "match_type" : "exact",
4384 "name" : "ig_port",
4385 "target" : ["standard_metadata", "ingress_port"],
4386 "mask" : null
4387 },
4388 {
4389 "match_type" : "ternary",
4390 "name" : "eth_dst",
4391 "target" : ["ethernet", "dst_addr"],
4392 "mask" : null
4393 },
4394 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004395 "match_type" : "ternary",
4396 "name" : "eth_type",
4397 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004398 "mask" : null
4399 },
4400 {
4401 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07004402 "name" : "ip_eth_type",
4403 "target" : ["scalars", "fabric_metadata_t._ip_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004404 "mask" : null
4405 }
4406 ],
4407 "match_type" : "ternary",
4408 "type" : "simple",
4409 "max_size" : 1024,
4410 "with_counters" : true,
4411 "support_timeout" : false,
4412 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004413 "action_ids" : [19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004414 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004415 "base_default_next" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004416 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004417 "FabricIngress.filtering.set_forwarding_type" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004418 },
4419 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004420 "action_id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004421 "action_const" : true,
4422 "action_data" : ["0x0"],
4423 "action_entry_const" : true
4424 }
4425 },
4426 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004427 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07004428 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004429 "source_info" : {
4430 "filename" : "include/control/forwarding.p4",
4431 "line" : 46,
4432 "column" : 10,
4433 "source_fragment" : "bridging"
4434 },
4435 "key" : [
4436 {
4437 "match_type" : "exact",
4438 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004439 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004440 "mask" : null
4441 },
4442 {
4443 "match_type" : "ternary",
4444 "name" : "eth_dst",
4445 "target" : ["ethernet", "dst_addr"],
4446 "mask" : null
4447 }
4448 ],
4449 "match_type" : "ternary",
4450 "type" : "simple",
4451 "max_size" : 1024,
4452 "with_counters" : true,
4453 "support_timeout" : false,
4454 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004455 "action_ids" : [20, 2],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004456 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
4457 "base_default_next" : "FabricIngress.acl.acl",
4458 "next_tables" : {
4459 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
4460 "nop" : "FabricIngress.acl.acl"
4461 },
4462 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004463 "action_id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004464 "action_const" : true,
4465 "action_data" : [],
4466 "action_entry_const" : true
4467 }
4468 },
4469 {
4470 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07004471 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004472 "source_info" : {
4473 "filename" : "include/control/forwarding.p4",
4474 "line" : 71,
4475 "column" : 10,
4476 "source_fragment" : "mpls"
4477 },
4478 "key" : [
4479 {
4480 "match_type" : "exact",
4481 "name" : "mpls_label",
Daniele Moro5a2de712019-09-24 14:34:07 -07004482 "target" : ["scalars", "fabric_metadata_t._mpls_label8"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004483 "mask" : null
4484 }
4485 ],
4486 "match_type" : "exact",
4487 "type" : "simple",
4488 "max_size" : 1024,
4489 "with_counters" : true,
4490 "support_timeout" : false,
4491 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004492 "action_ids" : [21, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004493 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
4494 "base_default_next" : "FabricIngress.acl.acl",
4495 "next_tables" : {
4496 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
4497 "nop" : "FabricIngress.acl.acl"
4498 },
4499 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004500 "action_id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004501 "action_const" : true,
4502 "action_data" : [],
4503 "action_entry_const" : true
4504 }
4505 },
4506 {
4507 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004508 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004509 "source_info" : {
4510 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004511 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004512 "column" : 10,
4513 "source_fragment" : "routing_v4"
4514 },
4515 "key" : [
4516 {
4517 "match_type" : "lpm",
4518 "name" : "ipv4_dst",
4519 "target" : ["ipv4", "dst_addr"],
4520 "mask" : null
4521 }
4522 ],
4523 "match_type" : "lpm",
4524 "type" : "simple",
4525 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07004526 "with_counters" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004527 "support_timeout" : false,
4528 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004529 "action_ids" : [22, 23, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004530 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
4531 "base_default_next" : "FabricIngress.acl.acl",
4532 "next_tables" : {
4533 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
4534 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
4535 "nop" : "FabricIngress.acl.acl"
4536 },
4537 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004538 "action_id" : 4,
CyberHasHe9ba39c2019-10-11 05:59:12 +08004539 "action_const" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004540 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08004541 "action_entry_const" : false
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004542 }
4543 },
4544 {
4545 "name" : "FabricIngress.acl.acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07004546 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004547 "source_info" : {
4548 "filename" : "include/control/acl.p4",
4549 "line" : 60,
4550 "column" : 10,
4551 "source_fragment" : "acl"
4552 },
4553 "key" : [
4554 {
4555 "match_type" : "ternary",
4556 "name" : "ig_port",
4557 "target" : ["standard_metadata", "ingress_port"],
4558 "mask" : null
4559 },
4560 {
4561 "match_type" : "ternary",
4562 "name" : "ip_proto",
Daniele Moro5a2de712019-09-24 14:34:07 -07004563 "target" : ["scalars", "fabric_metadata_t._ip_proto16"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004564 "mask" : null
4565 },
4566 {
4567 "match_type" : "ternary",
4568 "name" : "l4_sport",
Daniele Moro5a2de712019-09-24 14:34:07 -07004569 "target" : ["scalars", "fabric_metadata_t._l4_sport17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004570 "mask" : null
4571 },
4572 {
4573 "match_type" : "ternary",
4574 "name" : "l4_dport",
Daniele Moro5a2de712019-09-24 14:34:07 -07004575 "target" : ["scalars", "fabric_metadata_t._l4_dport18"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004576 "mask" : null
4577 },
4578 {
4579 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004580 "name" : "eth_dst",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004581 "target" : ["ethernet", "dst_addr"],
4582 "mask" : null
4583 },
4584 {
4585 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004586 "name" : "eth_src",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004587 "target" : ["ethernet", "src_addr"],
4588 "mask" : null
4589 },
4590 {
4591 "match_type" : "ternary",
4592 "name" : "vlan_id",
4593 "target" : ["vlan_tag", "vlan_id"],
4594 "mask" : null
4595 },
4596 {
4597 "match_type" : "ternary",
4598 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07004599 "target" : ["eth_type", "value"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004600 "mask" : null
4601 },
4602 {
4603 "match_type" : "ternary",
4604 "name" : "ipv4_src",
4605 "target" : ["ipv4", "src_addr"],
4606 "mask" : null
4607 },
4608 {
4609 "match_type" : "ternary",
4610 "name" : "ipv4_dst",
4611 "target" : ["ipv4", "dst_addr"],
4612 "mask" : null
4613 },
4614 {
4615 "match_type" : "ternary",
4616 "name" : "icmp_type",
4617 "target" : ["icmp", "icmp_type"],
4618 "mask" : null
4619 },
4620 {
4621 "match_type" : "ternary",
4622 "name" : "icmp_code",
4623 "target" : ["icmp", "icmp_code"],
4624 "mask" : null
4625 }
4626 ],
4627 "match_type" : "ternary",
4628 "type" : "simple",
4629 "max_size" : 1024,
4630 "with_counters" : true,
4631 "support_timeout" : false,
4632 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004633 "action_ids" : [24, 25, 26, 27, 28],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004634 "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 -07004635 "base_default_next" : "node_20",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004636 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004637 "FabricIngress.acl.set_next_id_acl" : "node_20",
4638 "FabricIngress.acl.punt_to_cpu" : "node_20",
4639 "FabricIngress.acl.set_clone_session_id" : "node_20",
4640 "FabricIngress.acl.drop" : "node_20",
4641 "FabricIngress.acl.nop_acl" : "node_20"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004642 },
4643 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004644 "action_id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004645 "action_const" : true,
4646 "action_data" : [],
4647 "action_entry_const" : true
4648 }
4649 },
4650 {
4651 "name" : "FabricIngress.next.hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07004652 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004653 "source_info" : {
4654 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004655 "line" : 202,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004656 "column" : 10,
4657 "source_fragment" : "hashed"
4658 },
4659 "key" : [
4660 {
4661 "match_type" : "exact",
4662 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004663 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004664 "mask" : null
4665 }
4666 ],
4667 "match_type" : "exact",
4668 "type" : "indirect_ws",
4669 "action_profile" : "FabricIngress.next.hashed_selector",
4670 "max_size" : 1024,
4671 "with_counters" : true,
4672 "support_timeout" : false,
4673 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004674 "action_ids" : [31, 32, 33, 6],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004675 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
4676 "base_default_next" : "FabricIngress.next.multicast",
4677 "next_tables" : {
4678 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
4679 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
4680 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
4681 "nop" : "FabricIngress.next.multicast"
4682 }
4683 },
4684 {
4685 "name" : "FabricIngress.next.multicast",
Daniele Moro5a2de712019-09-24 14:34:07 -07004686 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004687 "source_info" : {
4688 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004689 "line" : 236,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004690 "column" : 10,
4691 "source_fragment" : "multicast"
4692 },
4693 "key" : [
4694 {
4695 "match_type" : "exact",
4696 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004697 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004698 "mask" : null
4699 }
4700 ],
4701 "match_type" : "exact",
4702 "type" : "simple",
4703 "max_size" : 1024,
4704 "with_counters" : true,
4705 "support_timeout" : false,
4706 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004707 "action_ids" : [34, 7],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004708 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
4709 "base_default_next" : "FabricIngress.next.next_vlan",
4710 "next_tables" : {
4711 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
4712 "nop" : "FabricIngress.next.next_vlan"
4713 },
4714 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004715 "action_id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004716 "action_const" : true,
4717 "action_data" : [],
4718 "action_entry_const" : true
4719 }
4720 },
4721 {
4722 "name" : "FabricIngress.next.next_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004723 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004724 "source_info" : {
4725 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004726 "line" : 86,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004727 "column" : 10,
4728 "source_fragment" : "next_vlan"
4729 },
4730 "key" : [
4731 {
4732 "match_type" : "exact",
4733 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004734 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004735 "mask" : null
4736 }
4737 ],
4738 "match_type" : "exact",
4739 "type" : "simple",
4740 "max_size" : 1024,
4741 "with_counters" : true,
4742 "support_timeout" : false,
4743 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004744 "action_ids" : [29, 30, 5],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004745 "actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004746 "base_default_next" : "node_24",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004747 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004748 "FabricIngress.next.set_vlan" : "node_24",
4749 "FabricIngress.next.set_double_vlan" : "node_24",
4750 "nop" : "node_24"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004751 },
4752 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004753 "action_id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004754 "action_const" : true,
4755 "action_data" : [],
4756 "action_entry_const" : true
4757 }
4758 },
4759 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004760 "name" : "tbl_act_3",
4761 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004762 "source_info" : {
4763 "filename" : "include/control/port_counter.p4",
4764 "line" : 31,
4765 "column" : 12,
4766 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4767 },
4768 "key" : [],
4769 "match_type" : "exact",
4770 "type" : "simple",
4771 "max_size" : 1024,
4772 "with_counters" : false,
4773 "support_timeout" : false,
4774 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004775 "action_ids" : [39],
4776 "actions" : ["act_3"],
4777 "base_default_next" : "node_26",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004778 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004779 "act_3" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004780 },
4781 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004782 "action_id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004783 "action_const" : true,
4784 "action_data" : [],
4785 "action_entry_const" : true
4786 }
4787 },
4788 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004789 "name" : "tbl_act_4",
4790 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004791 "source_info" : {
4792 "filename" : "include/control/port_counter.p4",
4793 "line" : 34,
4794 "column" : 12,
4795 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4796 },
4797 "key" : [],
4798 "match_type" : "exact",
4799 "type" : "simple",
4800 "max_size" : 1024,
4801 "with_counters" : false,
4802 "support_timeout" : false,
4803 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004804 "action_ids" : [40],
4805 "actions" : ["act_4"],
Daniele Morob3d199b2019-11-01 14:01:46 -07004806 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004807 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004808 "act_4" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004809 },
4810 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004811 "action_id" : 40,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004812 "action_const" : true,
4813 "action_data" : [],
4814 "action_entry_const" : true
4815 }
4816 },
4817 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004818 "name" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro5a2de712019-09-24 14:34:07 -07004819 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004820 "source_info" : {
4821 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004822 "line" : 323,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004823 "column" : 14,
4824 "source_fragment" : "t_line_map"
4825 },
4826 "key" : [
4827 {
4828 "match_type" : "exact",
4829 "name" : "s_tag",
Daniele Morob3d199b2019-11-01 14:01:46 -07004830 "target" : ["scalars", "fabric_metadata_t._bng_s_tag23"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004831 "mask" : null
4832 },
4833 {
4834 "match_type" : "exact",
4835 "name" : "c_tag",
Daniele Morob3d199b2019-11-01 14:01:46 -07004836 "target" : ["scalars", "fabric_metadata_t._bng_c_tag24"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004837 "mask" : null
4838 }
4839 ],
4840 "match_type" : "exact",
4841 "type" : "simple",
4842 "max_size" : 8192,
4843 "with_counters" : false,
4844 "support_timeout" : false,
4845 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004846 "action_ids" : [15],
4847 "actions" : ["FabricIngress.bng_ingress.set_line"],
Daniele Morob3d199b2019-11-01 14:01:46 -07004848 "base_default_next" : "node_29",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004849 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004850 "FabricIngress.bng_ingress.set_line" : "node_29"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004851 },
4852 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004853 "action_id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004854 "action_const" : true,
Daniele Moro5a2de712019-09-24 14:34:07 -07004855 "action_data" : ["0x0"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004856 "action_entry_const" : true
4857 }
4858 },
4859 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004860 "name" : "tbl_act_5",
4861 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004862 "source_info" : {
4863 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004864 "line" : 342,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004865 "column" : 31,
4866 "source_fragment" : "="
4867 },
4868 "key" : [],
4869 "match_type" : "exact",
4870 "type" : "simple",
4871 "max_size" : 1024,
4872 "with_counters" : false,
4873 "support_timeout" : false,
4874 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07004875 "action_ids" : [43],
4876 "actions" : ["act_7"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004877 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
4878 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004879 "act_7" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004880 },
4881 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004882 "action_id" : 43,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004883 "action_const" : true,
4884 "action_data" : [],
4885 "action_entry_const" : true
4886 }
4887 },
4888 {
4889 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
Daniele Morob3d199b2019-11-01 14:01:46 -07004890 "id" : 17,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004891 "source_info" : {
4892 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004893 "line" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004894 "column" : 10,
4895 "source_fragment" : "t_pppoe_cp"
4896 },
4897 "key" : [
4898 {
4899 "match_type" : "exact",
4900 "name" : "pppoe_code",
4901 "target" : ["pppoe", "code"],
4902 "mask" : null
4903 },
4904 {
4905 "match_type" : "ternary",
4906 "name" : "pppoe_protocol",
4907 "target" : ["pppoe", "protocol"],
4908 "mask" : null
4909 }
4910 ],
4911 "match_type" : "ternary",
4912 "type" : "simple",
4913 "max_size" : 16,
4914 "with_counters" : false,
4915 "support_timeout" : false,
4916 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004917 "action_ids" : [8, 0],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004918 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004919 "base_default_next" : null,
4920 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004921 "__HIT__" : "tbl_act_6",
4922 "__MISS__" : "tbl_act_7"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004923 },
4924 "default_entry" : {
4925 "action_id" : 0,
4926 "action_const" : true,
4927 "action_data" : [],
4928 "action_entry_const" : true
4929 }
4930 },
4931 {
Daniele Morob3d199b2019-11-01 14:01:46 -07004932 "name" : "tbl_act_6",
4933 "id" : 18,
4934 "key" : [],
4935 "match_type" : "exact",
4936 "type" : "simple",
4937 "max_size" : 1024,
4938 "with_counters" : false,
4939 "support_timeout" : false,
4940 "direct_meters" : null,
4941 "action_ids" : [41],
4942 "actions" : ["act_5"],
4943 "base_default_next" : "node_34",
4944 "next_tables" : {
4945 "act_5" : "node_34"
4946 },
4947 "default_entry" : {
4948 "action_id" : 41,
4949 "action_const" : true,
4950 "action_data" : [],
4951 "action_entry_const" : true
4952 }
4953 },
4954 {
4955 "name" : "tbl_act_7",
4956 "id" : 19,
4957 "key" : [],
4958 "match_type" : "exact",
4959 "type" : "simple",
4960 "max_size" : 1024,
4961 "with_counters" : false,
4962 "support_timeout" : false,
4963 "direct_meters" : null,
4964 "action_ids" : [42],
4965 "actions" : ["act_6"],
4966 "base_default_next" : "node_34",
4967 "next_tables" : {
4968 "act_6" : "node_34"
4969 },
4970 "default_entry" : {
4971 "action_id" : 42,
4972 "action_const" : true,
4973 "action_data" : [],
4974 "action_entry_const" : true
4975 }
4976 },
4977 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004978 "name" : "tbl_act_8",
4979 "id" : 20,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004980 "source_info" : {
4981 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004982 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004983 "column" : 12,
4984 "source_fragment" : "return"
4985 },
4986 "key" : [],
4987 "match_type" : "exact",
4988 "type" : "simple",
4989 "max_size" : 1024,
4990 "with_counters" : false,
4991 "support_timeout" : false,
4992 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07004993 "action_ids" : [44],
4994 "actions" : ["act_8"],
4995 "base_default_next" : "node_36",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004996 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07004997 "act_8" : "node_36"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004998 },
4999 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005000 "action_id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005001 "action_const" : true,
5002 "action_data" : [],
5003 "action_entry_const" : true
5004 }
5005 },
5006 {
5007 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005008 "id" : 21,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005009 "source_info" : {
5010 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005011 "line" : 87,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005012 "column" : 10,
5013 "source_fragment" : "t_pppoe_term_v4"
5014 },
5015 "key" : [
5016 {
5017 "match_type" : "exact",
5018 "name" : "line_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07005019 "target" : ["scalars", "fabric_metadata_t._bng_line_id20"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005020 "mask" : null
5021 },
5022 {
5023 "match_type" : "exact",
5024 "name" : "ipv4_src",
5025 "target" : ["ipv4", "src_addr"],
5026 "mask" : null
5027 },
5028 {
5029 "match_type" : "exact",
5030 "name" : "pppoe_session_id",
5031 "target" : ["pppoe", "session_id"],
5032 "mask" : null
5033 }
5034 ],
5035 "match_type" : "exact",
5036 "type" : "simple",
5037 "max_size" : 32768,
5038 "with_counters" : false,
5039 "support_timeout" : false,
5040 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005041 "action_ids" : [10, 9],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005042 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
5043 "base_default_next" : null,
5044 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005045 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_act_9",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005046 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
5047 },
5048 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005049 "action_id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005050 "action_const" : true,
5051 "action_data" : [],
5052 "action_entry_const" : true
5053 }
5054 },
5055 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005056 "name" : "tbl_act_9",
5057 "id" : 22,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005058 "source_info" : {
5059 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005060 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005061 "column" : 20,
5062 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
5063 },
5064 "key" : [],
5065 "match_type" : "exact",
5066 "type" : "simple",
5067 "max_size" : 1024,
5068 "with_counters" : false,
5069 "support_timeout" : false,
5070 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005071 "action_ids" : [45],
5072 "actions" : ["act_9"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005073 "base_default_next" : null,
5074 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005075 "act_9" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005076 },
5077 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005078 "action_id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005079 "action_const" : true,
5080 "action_data" : [],
5081 "action_entry_const" : true
5082 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07005083 },
5084 {
5085 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
Daniele Morob3d199b2019-11-01 14:01:46 -07005086 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005087 "source_info" : {
5088 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005089 "line" : 169,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005090 "column" : 10,
5091 "source_fragment" : "t_line_session_map"
5092 },
5093 "key" : [
5094 {
5095 "match_type" : "exact",
5096 "name" : "line_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07005097 "target" : ["scalars", "fabric_metadata_t._bng_line_id20"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005098 "mask" : null
5099 }
5100 ],
5101 "match_type" : "exact",
5102 "type" : "simple",
5103 "max_size" : 8192,
5104 "with_counters" : false,
5105 "support_timeout" : false,
5106 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005107 "action_ids" : [1, 11, 12],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005108 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
5109 "base_default_next" : null,
5110 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005111 "__HIT__" : "tbl_act_10",
5112 "__MISS__" : "tbl_act_11"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005113 },
5114 "default_entry" : {
5115 "action_id" : 1,
5116 "action_const" : true,
5117 "action_data" : [],
5118 "action_entry_const" : true
5119 }
5120 },
5121 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005122 "name" : "tbl_act_10",
5123 "id" : 24,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005124 "key" : [],
5125 "match_type" : "exact",
5126 "type" : "simple",
5127 "max_size" : 1024,
5128 "with_counters" : false,
5129 "support_timeout" : false,
5130 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005131 "action_ids" : [46],
5132 "actions" : ["act_10"],
5133 "base_default_next" : "node_43",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005134 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005135 "act_10" : "node_43"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005136 },
5137 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005138 "action_id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005139 "action_const" : true,
5140 "action_data" : [],
5141 "action_entry_const" : true
5142 }
5143 },
5144 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005145 "name" : "tbl_act_11",
5146 "id" : 25,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005147 "key" : [],
5148 "match_type" : "exact",
5149 "type" : "simple",
5150 "max_size" : 1024,
5151 "with_counters" : false,
5152 "support_timeout" : false,
5153 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005154 "action_ids" : [47],
5155 "actions" : ["act_11"],
5156 "base_default_next" : "node_43",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005157 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005158 "act_11" : "node_43"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005159 },
5160 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005161 "action_id" : 47,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005162 "action_const" : true,
5163 "action_data" : [],
5164 "action_entry_const" : true
5165 }
5166 },
5167 {
5168 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005169 "id" : 26,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005170 "source_info" : {
5171 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005172 "line" : 194,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005173 "column" : 10,
5174 "source_fragment" : "t_qos_v4"
5175 },
5176 "key" : [
5177 {
5178 "match_type" : "ternary",
5179 "name" : "line_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07005180 "target" : ["scalars", "fabric_metadata_t._bng_line_id20"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005181 "mask" : null
5182 },
5183 {
5184 "match_type" : "lpm",
5185 "name" : "ipv4_src",
5186 "target" : ["ipv4", "src_addr"],
5187 "mask" : null
5188 },
5189 {
5190 "match_type" : "ternary",
5191 "name" : "ipv4_dscp",
5192 "target" : ["ipv4", "dscp"],
5193 "mask" : null
5194 },
5195 {
5196 "match_type" : "ternary",
5197 "name" : "ipv4_ecn",
5198 "target" : ["ipv4", "ecn"],
5199 "mask" : null
5200 }
5201 ],
5202 "match_type" : "ternary",
5203 "type" : "simple",
5204 "max_size" : 256,
5205 "with_counters" : false,
5206 "support_timeout" : false,
5207 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005208 "action_ids" : [13, 14],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005209 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
5210 "base_default_next" : null,
5211 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005212 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_act_12",
5213 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_act_13"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005214 },
5215 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005216 "action_id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005217 "action_const" : true,
5218 "action_data" : [],
5219 "action_entry_const" : true
5220 }
5221 },
5222 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005223 "name" : "tbl_act_12",
5224 "id" : 27,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005225 "source_info" : {
5226 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005227 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005228 "column" : 24,
5229 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5230 },
5231 "key" : [],
5232 "match_type" : "exact",
5233 "type" : "simple",
5234 "max_size" : 1024,
5235 "with_counters" : false,
5236 "support_timeout" : false,
5237 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005238 "action_ids" : [48],
5239 "actions" : ["act_12"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005240 "base_default_next" : null,
5241 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005242 "act_12" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005243 },
5244 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005245 "action_id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005246 "action_const" : true,
5247 "action_data" : [],
5248 "action_entry_const" : true
5249 }
5250 },
5251 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005252 "name" : "tbl_act_13",
5253 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005254 "source_info" : {
5255 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005256 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005257 "column" : 24,
5258 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5259 },
5260 "key" : [],
5261 "match_type" : "exact",
5262 "type" : "simple",
5263 "max_size" : 1024,
5264 "with_counters" : false,
5265 "support_timeout" : false,
5266 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005267 "action_ids" : [49],
5268 "actions" : ["act_13"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005269 "base_default_next" : null,
5270 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005271 "act_13" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005272 },
5273 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005274 "action_id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005275 "action_const" : true,
5276 "action_data" : [],
5277 "action_entry_const" : true
5278 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005279 }
5280 ],
5281 "action_profiles" : [
5282 {
5283 "name" : "FabricIngress.next.hashed_selector",
5284 "id" : 0,
5285 "source_info" : {
5286 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005287 "line" : 183,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005288 "column" : 57,
5289 "source_fragment" : "hashed_selector"
5290 },
5291 "max_size" : 1024,
5292 "selector" : {
5293 "algo" : "crc16",
5294 "input" : [
5295 {
5296 "type" : "field",
5297 "value" : ["ipv4", "dst_addr"]
5298 },
5299 {
5300 "type" : "field",
5301 "value" : ["ipv4", "src_addr"]
5302 },
5303 {
5304 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005305 "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005306 },
5307 {
5308 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005309 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005310 },
5311 {
5312 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005313 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005314 }
5315 ]
5316 }
5317 }
5318 ],
5319 "conditionals" : [
5320 {
5321 "name" : "node_2",
5322 "id" : 0,
5323 "source_info" : {
5324 "filename" : "include/control/packetio.p4",
5325 "line" : 24,
5326 "column" : 12,
5327 "source_fragment" : "hdr.packet_out.isValid()"
5328 },
5329 "expression" : {
5330 "type" : "expression",
5331 "value" : {
5332 "op" : "d2b",
5333 "left" : null,
5334 "right" : {
5335 "type" : "field",
5336 "value" : ["packet_out", "$valid$"]
5337 }
5338 }
5339 },
5340 "true_next" : "tbl_act",
5341 "false_next" : "node_4"
5342 },
5343 {
5344 "name" : "node_4",
5345 "id" : 1,
5346 "source_info" : {
5347 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005348 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005349 "column" : 12,
5350 "source_fragment" : "hdr.vlan_tag.isValid()"
5351 },
5352 "expression" : {
5353 "type" : "expression",
5354 "value" : {
5355 "op" : "d2b",
5356 "left" : null,
5357 "right" : {
5358 "type" : "field",
5359 "value" : ["vlan_tag", "$valid$"]
5360 }
5361 }
5362 },
5363 "true_next" : "tbl_act_0",
5364 "false_next" : "node_6"
5365 },
5366 {
5367 "name" : "node_6",
5368 "id" : 2,
5369 "source_info" : {
5370 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005371 "line" : 116,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005372 "column" : 12,
5373 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
5374 },
5375 "expression" : {
5376 "type" : "expression",
5377 "value" : {
5378 "op" : "d2b",
5379 "left" : null,
5380 "right" : {
5381 "type" : "field",
5382 "value" : ["inner_vlan_tag", "$valid$"]
5383 }
5384 }
5385 },
5386 "true_next" : "tbl_act_1",
5387 "false_next" : "node_8"
5388 },
5389 {
5390 "name" : "node_8",
5391 "id" : 3,
5392 "source_info" : {
5393 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005394 "line" : 122,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005395 "column" : 12,
5396 "source_fragment" : "!hdr.mpls.isValid()"
5397 },
5398 "expression" : {
5399 "type" : "expression",
5400 "value" : {
5401 "op" : "not",
5402 "left" : null,
5403 "right" : {
5404 "type" : "expression",
5405 "value" : {
5406 "op" : "d2b",
5407 "left" : null,
5408 "right" : {
5409 "type" : "field",
5410 "value" : ["mpls", "$valid$"]
5411 }
5412 }
5413 }
5414 }
5415 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005416 "true_next" : "tbl_act_2",
Daniele Moro5a2de712019-09-24 14:34:07 -07005417 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005418 },
5419 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005420 "name" : "node_12",
Daniele Moro5a2de712019-09-24 14:34:07 -07005421 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005422 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005423 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005424 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005425 "column" : 12,
5426 "source_fragment" : "fabric_metadata.skip_forwarding == false"
5427 },
5428 "expression" : {
5429 "type" : "expression",
5430 "value" : {
5431 "op" : "==",
5432 "left" : {
5433 "type" : "expression",
5434 "value" : {
5435 "op" : "d2b",
5436 "left" : null,
5437 "right" : {
5438 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005439 "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005440 }
5441 }
5442 },
5443 "right" : {
5444 "type" : "bool",
5445 "value" : false
5446 }
5447 }
5448 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005449 "true_next" : "node_13",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005450 "false_next" : "FabricIngress.acl.acl"
5451 },
5452 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005453 "name" : "node_13",
5454 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005455 "source_info" : {
5456 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005457 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005458 "column" : 12,
5459 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
5460 },
5461 "expression" : {
5462 "type" : "expression",
5463 "value" : {
5464 "op" : "==",
5465 "left" : {
5466 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005467 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005468 },
5469 "right" : {
5470 "type" : "hexstr",
5471 "value" : "0x00"
5472 }
5473 }
5474 },
5475 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07005476 "false_next" : "node_15"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005477 },
5478 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005479 "name" : "node_15",
5480 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005481 "source_info" : {
5482 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005483 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005484 "column" : 17,
5485 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
5486 },
5487 "expression" : {
5488 "type" : "expression",
5489 "value" : {
5490 "op" : "==",
5491 "left" : {
5492 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005493 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005494 },
5495 "right" : {
5496 "type" : "hexstr",
5497 "value" : "0x01"
5498 }
5499 }
5500 },
5501 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005502 "false_next" : "node_17"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005503 },
5504 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005505 "name" : "node_17",
5506 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005507 "source_info" : {
5508 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005509 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005510 "column" : 17,
5511 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
5512 },
5513 "expression" : {
5514 "type" : "expression",
5515 "value" : {
5516 "op" : "==",
5517 "left" : {
5518 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005519 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005520 },
5521 "right" : {
5522 "type" : "hexstr",
5523 "value" : "0x02"
5524 }
5525 }
5526 },
5527 "true_next" : "FabricIngress.forwarding.routing_v4",
5528 "false_next" : "FabricIngress.acl.acl"
5529 },
5530 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005531 "name" : "node_20",
5532 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005533 "source_info" : {
5534 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005535 "line" : 75,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005536 "column" : 12,
5537 "source_fragment" : "fabric_metadata.skip_next == false"
5538 },
5539 "expression" : {
5540 "type" : "expression",
5541 "value" : {
5542 "op" : "==",
5543 "left" : {
5544 "type" : "expression",
5545 "value" : {
5546 "op" : "d2b",
5547 "left" : null,
5548 "right" : {
5549 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005550 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005551 }
5552 }
5553 },
5554 "right" : {
5555 "type" : "bool",
5556 "value" : false
5557 }
5558 }
5559 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005560 "true_next" : "FabricIngress.next.hashed",
Daniele Morob3d199b2019-11-01 14:01:46 -07005561 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005562 },
5563 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005564 "name" : "node_24",
5565 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005566 "source_info" : {
5567 "filename" : "include/control/port_counter.p4",
5568 "line" : 30,
5569 "column" : 12,
5570 "source_fragment" : "standard_metadata.egress_spec < 511"
5571 },
5572 "expression" : {
5573 "type" : "expression",
5574 "value" : {
5575 "op" : "<",
5576 "left" : {
5577 "type" : "field",
5578 "value" : ["standard_metadata", "egress_spec"]
5579 },
5580 "right" : {
5581 "type" : "hexstr",
5582 "value" : "0x01ff"
5583 }
5584 }
5585 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005586 "true_next" : "tbl_act_3",
5587 "false_next" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005588 },
5589 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005590 "name" : "node_26",
5591 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005592 "source_info" : {
5593 "filename" : "include/control/port_counter.p4",
5594 "line" : 33,
5595 "column" : 12,
5596 "source_fragment" : "standard_metadata.ingress_port < 511"
5597 },
5598 "expression" : {
5599 "type" : "expression",
5600 "value" : {
5601 "op" : "<",
5602 "left" : {
5603 "type" : "field",
5604 "value" : ["standard_metadata", "ingress_port"]
5605 },
5606 "right" : {
5607 "type" : "hexstr",
5608 "value" : "0x01ff"
5609 }
5610 }
5611 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005612 "true_next" : "tbl_act_4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005613 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005614 },
5615 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005616 "name" : "node_29",
Daniele Moro5a2de712019-09-24 14:34:07 -07005617 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005618 "source_info" : {
5619 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005620 "line" : 341,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005621 "column" : 16,
5622 "source_fragment" : "hdr.pppoe.isValid()"
5623 },
5624 "expression" : {
5625 "type" : "expression",
5626 "value" : {
5627 "op" : "d2b",
5628 "left" : null,
5629 "right" : {
5630 "type" : "field",
5631 "value" : ["pppoe", "$valid$"]
5632 }
5633 }
5634 },
Daniele Morob3d199b2019-11-01 14:01:46 -07005635 "true_next" : "tbl_act_5",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005636 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
5637 },
5638 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005639 "name" : "node_34",
5640 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005641 "expression" : {
5642 "type" : "expression",
5643 "value" : {
5644 "op" : "d2b",
5645 "left" : null,
5646 "right" : {
5647 "type" : "field",
5648 "value" : ["scalars", "bng_ingress_upstream_tmp"]
5649 }
5650 }
5651 },
Daniele Morob3d199b2019-11-01 14:01:46 -07005652 "true_next" : "tbl_act_8",
5653 "false_next" : "node_36"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005654 },
5655 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005656 "name" : "node_36",
5657 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005658 "expression" : {
5659 "type" : "expression",
5660 "value" : {
5661 "op" : "not",
5662 "left" : null,
5663 "right" : {
5664 "type" : "expression",
5665 "value" : {
5666 "op" : "d2b",
5667 "left" : null,
5668 "right" : {
5669 "type" : "field",
5670 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
5671 }
5672 }
5673 }
5674 }
5675 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005676 "false_next" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005677 "true_next" : "node_37"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005678 },
5679 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005680 "name" : "node_37",
5681 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005682 "source_info" : {
5683 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005684 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005685 "column" : 12,
5686 "source_fragment" : "hdr.ipv4.isValid()"
5687 },
5688 "expression" : {
5689 "type" : "expression",
5690 "value" : {
5691 "op" : "d2b",
5692 "left" : null,
5693 "right" : {
5694 "type" : "field",
5695 "value" : ["ipv4", "$valid$"]
5696 }
5697 }
5698 },
5699 "false_next" : null,
5700 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
5701 },
5702 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005703 "name" : "node_43",
5704 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005705 "expression" : {
5706 "type" : "expression",
5707 "value" : {
5708 "op" : "d2b",
5709 "left" : null,
5710 "right" : {
5711 "type" : "field",
5712 "value" : ["scalars", "bng_ingress_downstream_tmp"]
5713 }
5714 }
5715 },
5716 "false_next" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005717 "true_next" : "node_44"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005718 },
5719 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005720 "name" : "node_44",
5721 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005722 "source_info" : {
5723 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005724 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005725 "column" : 16,
5726 "source_fragment" : "hdr.ipv4.isValid()"
5727 },
5728 "expression" : {
5729 "type" : "expression",
5730 "value" : {
5731 "op" : "d2b",
5732 "left" : null,
5733 "right" : {
5734 "type" : "field",
5735 "value" : ["ipv4", "$valid$"]
5736 }
5737 }
5738 },
5739 "false_next" : null,
5740 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005741 }
5742 ]
5743 },
5744 {
5745 "name" : "egress",
5746 "id" : 1,
5747 "source_info" : {
5748 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005749 "line" : 93,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005750 "column" : 8,
5751 "source_fragment" : "FabricEgress"
5752 },
Daniele Morob3d199b2019-11-01 14:01:46 -07005753 "init_table" : "node_50",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005754 "tables" : [
5755 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005756 "name" : "tbl_act_14",
5757 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005758 "source_info" : {
5759 "filename" : "include/control/packetio.p4",
5760 "line" : 41,
5761 "column" : 12,
5762 "source_fragment" : "exit"
5763 },
5764 "key" : [],
5765 "match_type" : "exact",
5766 "type" : "simple",
5767 "max_size" : 1024,
5768 "with_counters" : false,
5769 "support_timeout" : false,
5770 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005771 "action_ids" : [58],
5772 "actions" : ["act_14"],
5773 "base_default_next" : "node_52",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005774 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005775 "act_14" : "node_52"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005776 },
5777 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005778 "action_id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005779 "action_const" : true,
5780 "action_data" : [],
5781 "action_entry_const" : true
5782 }
5783 },
5784 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005785 "name" : "tbl_act_15",
5786 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005787 "source_info" : {
5788 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005789 "line" : 44,
5790 "column" : 12,
5791 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005792 },
5793 "key" : [],
5794 "match_type" : "exact",
5795 "type" : "simple",
5796 "max_size" : 1024,
5797 "with_counters" : false,
5798 "support_timeout" : false,
5799 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005800 "action_ids" : [59],
5801 "actions" : ["act_15"],
5802 "base_default_next" : "node_54",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005803 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005804 "act_15" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005805 },
5806 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005807 "action_id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005808 "action_const" : true,
5809 "action_data" : [],
5810 "action_entry_const" : true
5811 }
5812 },
5813 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005814 "name" : "tbl_act_16",
5815 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005816 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005817 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005818 "line" : 337,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005819 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005820 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005821 },
5822 "key" : [],
5823 "match_type" : "exact",
5824 "type" : "simple",
5825 "max_size" : 1024,
5826 "with_counters" : false,
5827 "support_timeout" : false,
5828 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005829 "action_ids" : [60],
5830 "actions" : ["act_16"],
5831 "base_default_next" : "node_56",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005832 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005833 "act_16" : "node_56"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005834 },
5835 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005836 "action_id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005837 "action_const" : true,
5838 "action_data" : [],
5839 "action_entry_const" : true
5840 }
5841 },
5842 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005843 "name" : "tbl_egress_next_pop_mpls_if_present",
Daniele Morob3d199b2019-11-01 14:01:46 -07005844 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005845 "source_info" : {
5846 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005847 "line" : 341,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005848 "column" : 36,
5849 "source_fragment" : "pop_mpls_if_present()"
5850 },
5851 "key" : [],
5852 "match_type" : "exact",
5853 "type" : "simple",
5854 "max_size" : 1024,
5855 "with_counters" : false,
5856 "support_timeout" : false,
5857 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005858 "action_ids" : [52],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005859 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Daniele Morob3d199b2019-11-01 14:01:46 -07005860 "base_default_next" : "node_60",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005861 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005862 "FabricEgress.egress_next.pop_mpls_if_present" : "node_60"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005863 },
5864 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005865 "action_id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005866 "action_const" : true,
5867 "action_data" : [],
5868 "action_entry_const" : true
5869 }
5870 },
5871 {
5872 "name" : "tbl_egress_next_set_mpls",
Daniele Morob3d199b2019-11-01 14:01:46 -07005873 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005874 "source_info" : {
5875 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005876 "line" : 343,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005877 "column" : 12,
5878 "source_fragment" : "set_mpls()"
5879 },
5880 "key" : [],
5881 "match_type" : "exact",
5882 "type" : "simple",
5883 "max_size" : 1024,
5884 "with_counters" : false,
5885 "support_timeout" : false,
5886 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005887 "action_ids" : [53],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005888 "actions" : ["FabricEgress.egress_next.set_mpls"],
Daniele Morob3d199b2019-11-01 14:01:46 -07005889 "base_default_next" : "node_60",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005890 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005891 "FabricEgress.egress_next.set_mpls" : "node_60"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005892 },
5893 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005894 "action_id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005895 "action_const" : true,
5896 "action_data" : [],
5897 "action_entry_const" : true
5898 }
5899 },
5900 {
5901 "name" : "tbl_egress_next_push_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07005902 "id" : 34,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005903 "source_info" : {
5904 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005905 "line" : 349,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005906 "column" : 12,
5907 "source_fragment" : "push_vlan()"
5908 },
5909 "key" : [],
5910 "match_type" : "exact",
5911 "type" : "simple",
5912 "max_size" : 1024,
5913 "with_counters" : false,
5914 "support_timeout" : false,
5915 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005916 "action_ids" : [54],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005917 "actions" : ["FabricEgress.egress_next.push_vlan"],
5918 "base_default_next" : "tbl_egress_next_push_inner_vlan",
5919 "next_tables" : {
5920 "FabricEgress.egress_next.push_vlan" : "tbl_egress_next_push_inner_vlan"
5921 },
5922 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005923 "action_id" : 54,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005924 "action_const" : true,
5925 "action_data" : [],
5926 "action_entry_const" : true
5927 }
5928 },
5929 {
5930 "name" : "tbl_egress_next_push_inner_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07005931 "id" : 35,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005932 "source_info" : {
5933 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005934 "line" : 350,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005935 "column" : 12,
5936 "source_fragment" : "push_inner_vlan()"
5937 },
5938 "key" : [],
5939 "match_type" : "exact",
5940 "type" : "simple",
5941 "max_size" : 1024,
5942 "with_counters" : false,
5943 "support_timeout" : false,
5944 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005945 "action_ids" : [56],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005946 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
Daniele Morob3d199b2019-11-01 14:01:46 -07005947 "base_default_next" : "node_70",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005948 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005949 "FabricEgress.egress_next.push_inner_vlan" : "node_70"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005950 },
5951 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005952 "action_id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005953 "action_const" : true,
5954 "action_data" : [],
5955 "action_entry_const" : true
5956 }
5957 },
5958 {
Daniele Morob3d199b2019-11-01 14:01:46 -07005959 "name" : "tbl_act_17",
5960 "id" : 36,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005961 "source_info" : {
5962 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005963 "line" : 353,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005964 "column" : 12,
5965 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
5966 },
5967 "key" : [],
5968 "match_type" : "exact",
5969 "type" : "simple",
5970 "max_size" : 1024,
5971 "with_counters" : false,
5972 "support_timeout" : false,
5973 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07005974 "action_ids" : [63],
5975 "actions" : ["act_19"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005976 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
5977 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005978 "act_19" : "FabricEgress.egress_next.egress_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005979 },
5980 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07005981 "action_id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005982 "action_const" : true,
5983 "action_data" : [],
5984 "action_entry_const" : true
5985 }
5986 },
5987 {
5988 "name" : "FabricEgress.egress_next.egress_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07005989 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005990 "source_info" : {
5991 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005992 "line" : 320,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005993 "column" : 10,
5994 "source_fragment" : "egress_vlan"
5995 },
5996 "key" : [
5997 {
5998 "match_type" : "exact",
5999 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07006000 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006001 "mask" : null
6002 },
6003 {
6004 "match_type" : "exact",
6005 "name" : "eg_port",
6006 "target" : ["standard_metadata", "egress_port"],
6007 "mask" : null
6008 }
6009 ],
6010 "match_type" : "exact",
6011 "type" : "simple",
6012 "max_size" : 1024,
6013 "with_counters" : true,
6014 "support_timeout" : false,
6015 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006016 "action_ids" : [57, 50],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006017 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
6018 "base_default_next" : null,
6019 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006020 "__HIT__" : "tbl_act_18",
6021 "__MISS__" : "tbl_act_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006022 },
6023 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006024 "action_id" : 50,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006025 "action_const" : true,
6026 "action_data" : [],
6027 "action_entry_const" : true
6028 }
6029 },
6030 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006031 "name" : "tbl_act_18",
6032 "id" : 38,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006033 "key" : [],
6034 "match_type" : "exact",
6035 "type" : "simple",
6036 "max_size" : 1024,
6037 "with_counters" : false,
6038 "support_timeout" : false,
6039 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006040 "action_ids" : [61],
6041 "actions" : ["act_17"],
6042 "base_default_next" : "node_67",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006043 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006044 "act_17" : "node_67"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006045 },
6046 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006047 "action_id" : 61,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006048 "action_const" : true,
6049 "action_data" : [],
6050 "action_entry_const" : true
6051 }
6052 },
6053 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006054 "name" : "tbl_act_19",
6055 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006056 "key" : [],
6057 "match_type" : "exact",
6058 "type" : "simple",
6059 "max_size" : 1024,
6060 "with_counters" : false,
6061 "support_timeout" : false,
6062 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006063 "action_ids" : [62],
6064 "actions" : ["act_18"],
6065 "base_default_next" : "node_67",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006066 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006067 "act_18" : "node_67"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006068 },
6069 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006070 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006071 "action_const" : true,
6072 "action_data" : [],
6073 "action_entry_const" : true
6074 }
6075 },
6076 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006077 "name" : "tbl_egress_next_push_vlan_0",
Daniele Morob3d199b2019-11-01 14:01:46 -07006078 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006079 "source_info" : {
6080 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006081 "line" : 360,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006082 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006083 "source_fragment" : "push_vlan()"
6084 },
6085 "key" : [],
6086 "match_type" : "exact",
6087 "type" : "simple",
6088 "max_size" : 1024,
6089 "with_counters" : false,
6090 "support_timeout" : false,
6091 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006092 "action_ids" : [55],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006093 "actions" : ["FabricEgress.egress_next.push_vlan"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006094 "base_default_next" : "node_70",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006095 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006096 "FabricEgress.egress_next.push_vlan" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006097 },
6098 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006099 "action_id" : 55,
6100 "action_const" : true,
6101 "action_data" : [],
6102 "action_entry_const" : true
6103 }
6104 },
6105 {
6106 "name" : "tbl_act_20",
6107 "id" : 41,
6108 "source_info" : {
6109 "filename" : "include/control/next.p4",
6110 "line" : 369,
6111 "column" : 25,
6112 "source_fragment" : "="
6113 },
6114 "key" : [],
6115 "match_type" : "exact",
6116 "type" : "simple",
6117 "max_size" : 1024,
6118 "with_counters" : false,
6119 "support_timeout" : false,
6120 "direct_meters" : null,
6121 "action_ids" : [65],
6122 "actions" : ["act_21"],
6123 "base_default_next" : "node_72",
6124 "next_tables" : {
6125 "act_21" : "node_72"
6126 },
6127 "default_entry" : {
6128 "action_id" : 65,
6129 "action_const" : true,
6130 "action_data" : [],
6131 "action_entry_const" : true
6132 }
6133 },
6134 {
6135 "name" : "tbl_act_21",
6136 "id" : 42,
6137 "source_info" : {
6138 "filename" : "include/control/next.p4",
6139 "line" : 370,
6140 "column" : 35,
6141 "source_fragment" : "mark_to_drop(standard_metadata)"
6142 },
6143 "key" : [],
6144 "match_type" : "exact",
6145 "type" : "simple",
6146 "max_size" : 1024,
6147 "with_counters" : false,
6148 "support_timeout" : false,
6149 "direct_meters" : null,
6150 "action_ids" : [64],
6151 "actions" : ["act_20"],
6152 "base_default_next" : "node_78",
6153 "next_tables" : {
6154 "act_20" : "node_78"
6155 },
6156 "default_entry" : {
6157 "action_id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006158 "action_const" : true,
6159 "action_data" : [],
6160 "action_entry_const" : true
6161 }
6162 },
6163 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006164 "name" : "tbl_act_22",
6165 "id" : 43,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006166 "source_info" : {
6167 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006168 "line" : 373,
6169 "column" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006170 "source_fragment" : "="
6171 },
6172 "key" : [],
6173 "match_type" : "exact",
6174 "type" : "simple",
6175 "max_size" : 1024,
6176 "with_counters" : false,
6177 "support_timeout" : false,
6178 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006179 "action_ids" : [67],
6180 "actions" : ["act_23"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006181 "base_default_next" : "node_76",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006182 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006183 "act_23" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006184 },
6185 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006186 "action_id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006187 "action_const" : true,
6188 "action_data" : [],
6189 "action_entry_const" : true
6190 }
6191 },
6192 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006193 "name" : "tbl_act_23",
6194 "id" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006195 "source_info" : {
6196 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006197 "line" : 374,
6198 "column" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006199 "source_fragment" : "mark_to_drop(standard_metadata)"
6200 },
6201 "key" : [],
6202 "match_type" : "exact",
6203 "type" : "simple",
6204 "max_size" : 1024,
6205 "with_counters" : false,
6206 "support_timeout" : false,
6207 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006208 "action_ids" : [66],
6209 "actions" : ["act_22"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006210 "base_default_next" : "node_78",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006211 "next_tables" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006212 "act_22" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006213 },
6214 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006215 "action_id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006216 "action_const" : true,
6217 "action_data" : [],
6218 "action_entry_const" : true
6219 }
6220 },
6221 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006222 "name" : "tbl_bng_egress_downstream_encap_v4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006223 "id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006224 "source_info" : {
6225 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006226 "line" : 297,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006227 "column" : 12,
6228 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006229 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006230 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006231 "match_type" : "exact",
6232 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006233 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006234 "with_counters" : false,
6235 "support_timeout" : false,
6236 "direct_meters" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006237 "action_ids" : [51],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006238 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006239 "base_default_next" : null,
6240 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006241 "FabricEgress.bng_egress.downstream.encap_v4" : null
6242 },
6243 "default_entry" : {
Daniele Morob3d199b2019-11-01 14:01:46 -07006244 "action_id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006245 "action_const" : true,
6246 "action_data" : [],
6247 "action_entry_const" : true
6248 }
6249 }
6250 ],
6251 "action_profiles" : [],
6252 "conditionals" : [
6253 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006254 "name" : "node_50",
6255 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006256 "source_info" : {
6257 "filename" : "include/control/packetio.p4",
6258 "line" : 39,
6259 "column" : 12,
6260 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
6261 },
6262 "expression" : {
6263 "type" : "expression",
6264 "value" : {
6265 "op" : "==",
6266 "left" : {
6267 "type" : "expression",
6268 "value" : {
6269 "op" : "d2b",
6270 "left" : null,
6271 "right" : {
6272 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006273 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006274 }
6275 }
6276 },
6277 "right" : {
6278 "type" : "bool",
6279 "value" : true
6280 }
6281 }
6282 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006283 "true_next" : "tbl_act_14",
6284 "false_next" : "node_52"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006285 },
6286 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006287 "name" : "node_52",
6288 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006289 "source_info" : {
6290 "filename" : "include/control/packetio.p4",
6291 "line" : 43,
6292 "column" : 12,
6293 "source_fragment" : "standard_metadata.egress_port == 255"
6294 },
6295 "expression" : {
6296 "type" : "expression",
6297 "value" : {
6298 "op" : "==",
6299 "left" : {
6300 "type" : "field",
6301 "value" : ["standard_metadata", "egress_port"]
6302 },
6303 "right" : {
6304 "type" : "hexstr",
6305 "value" : "0x00ff"
6306 }
6307 }
6308 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006309 "true_next" : "tbl_act_15",
6310 "false_next" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006311 },
6312 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006313 "name" : "node_54",
6314 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006315 "source_info" : {
6316 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006317 "line" : 335,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006318 "column" : 12,
6319 "source_fragment" : "fabric_metadata.is_multicast == true ..."
6320 },
6321 "expression" : {
6322 "type" : "expression",
6323 "value" : {
6324 "op" : "and",
6325 "left" : {
6326 "type" : "expression",
6327 "value" : {
6328 "op" : "==",
6329 "left" : {
6330 "type" : "expression",
6331 "value" : {
6332 "op" : "d2b",
6333 "left" : null,
6334 "right" : {
6335 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006336 "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006337 }
6338 }
6339 },
6340 "right" : {
6341 "type" : "bool",
6342 "value" : true
6343 }
6344 }
6345 },
6346 "right" : {
6347 "type" : "expression",
6348 "value" : {
6349 "op" : "==",
6350 "left" : {
6351 "type" : "field",
6352 "value" : ["standard_metadata", "ingress_port"]
6353 },
6354 "right" : {
6355 "type" : "field",
6356 "value" : ["standard_metadata", "egress_port"]
6357 }
6358 }
6359 }
6360 }
6361 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006362 "true_next" : "tbl_act_16",
6363 "false_next" : "node_56"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006364 },
6365 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006366 "name" : "node_56",
6367 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006368 "source_info" : {
6369 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006370 "line" : 340,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006371 "column" : 12,
6372 "source_fragment" : "fabric_metadata.mpls_label == 0"
6373 },
6374 "expression" : {
6375 "type" : "expression",
6376 "value" : {
6377 "op" : "==",
6378 "left" : {
6379 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006380 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006381 },
6382 "right" : {
6383 "type" : "hexstr",
6384 "value" : "0x000000"
6385 }
6386 }
6387 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006388 "true_next" : "node_57",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006389 "false_next" : "tbl_egress_next_set_mpls"
6390 },
6391 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006392 "name" : "node_57",
6393 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006394 "source_info" : {
6395 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006396 "line" : 341,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006397 "column" : 16,
6398 "source_fragment" : "hdr.mpls.isValid()"
6399 },
6400 "expression" : {
6401 "type" : "expression",
6402 "value" : {
6403 "op" : "d2b",
6404 "left" : null,
6405 "right" : {
6406 "type" : "field",
6407 "value" : ["mpls", "$valid$"]
6408 }
6409 }
6410 },
6411 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Daniele Morob3d199b2019-11-01 14:01:46 -07006412 "false_next" : "node_60"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006413 },
6414 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006415 "name" : "node_60",
6416 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006417 "source_info" : {
6418 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006419 "line" : 347,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006420 "column" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006421 "source_fragment" : "fabric_metadata.push_double_vlan == true"
6422 },
6423 "expression" : {
6424 "type" : "expression",
6425 "value" : {
6426 "op" : "==",
6427 "left" : {
6428 "type" : "expression",
6429 "value" : {
6430 "op" : "d2b",
6431 "left" : null,
6432 "right" : {
6433 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006434 "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07006435 }
6436 }
6437 },
6438 "right" : {
6439 "type" : "bool",
6440 "value" : true
6441 }
6442 }
6443 },
6444 "true_next" : "tbl_egress_next_push_vlan",
Daniele Morob3d199b2019-11-01 14:01:46 -07006445 "false_next" : "tbl_act_17"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006446 },
6447 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006448 "name" : "node_67",
6449 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006450 "source_info" : {
6451 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006452 "line" : 357,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006453 "column" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006454 "source_fragment" : "!egress_vlan.apply().hit"
6455 },
6456 "expression" : {
6457 "type" : "expression",
6458 "value" : {
6459 "op" : "not",
6460 "left" : null,
6461 "right" : {
6462 "type" : "expression",
6463 "value" : {
6464 "op" : "d2b",
6465 "left" : null,
6466 "right" : {
6467 "type" : "field",
6468 "value" : ["scalars", "egress_next_tmp"]
6469 }
6470 }
6471 }
6472 }
6473 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006474 "true_next" : "node_68",
6475 "false_next" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006476 },
6477 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006478 "name" : "node_68",
6479 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006480 "source_info" : {
6481 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006482 "line" : 359,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006483 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006484 "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
6485 },
6486 "expression" : {
6487 "type" : "expression",
6488 "value" : {
6489 "op" : "!=",
6490 "left" : {
6491 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006492 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006493 },
6494 "right" : {
6495 "type" : "hexstr",
6496 "value" : "0x0ffe"
6497 }
6498 }
6499 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006500 "true_next" : "tbl_egress_next_push_vlan_0",
Daniele Morob3d199b2019-11-01 14:01:46 -07006501 "false_next" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006502 },
6503 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006504 "name" : "node_70",
6505 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006506 "source_info" : {
6507 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006508 "line" : 368,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006509 "column" : 12,
6510 "source_fragment" : "hdr.mpls.isValid()"
6511 },
6512 "expression" : {
6513 "type" : "expression",
6514 "value" : {
6515 "op" : "d2b",
6516 "left" : null,
6517 "right" : {
6518 "type" : "field",
6519 "value" : ["mpls", "$valid$"]
6520 }
6521 }
6522 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006523 "true_next" : "tbl_act_20",
6524 "false_next" : "node_74"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006525 },
6526 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006527 "name" : "node_72",
6528 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006529 "source_info" : {
6530 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006531 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006532 "column" : 16,
6533 "source_fragment" : "hdr.mpls.ttl == 0"
6534 },
6535 "expression" : {
6536 "type" : "expression",
6537 "value" : {
6538 "op" : "==",
6539 "left" : {
6540 "type" : "field",
6541 "value" : ["mpls", "ttl"]
6542 },
6543 "right" : {
6544 "type" : "hexstr",
6545 "value" : "0x00"
6546 }
6547 }
6548 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006549 "true_next" : "tbl_act_21",
6550 "false_next" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006551 },
6552 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006553 "name" : "node_74",
6554 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006555 "source_info" : {
6556 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006557 "line" : 372,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006558 "column" : 15,
6559 "source_fragment" : "hdr.ipv4.isValid()"
6560 },
6561 "expression" : {
6562 "type" : "expression",
6563 "value" : {
6564 "op" : "d2b",
6565 "left" : null,
6566 "right" : {
6567 "type" : "field",
6568 "value" : ["ipv4", "$valid$"]
6569 }
6570 }
6571 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006572 "true_next" : "tbl_act_22",
6573 "false_next" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006574 },
6575 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006576 "name" : "node_76",
6577 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006578 "source_info" : {
6579 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006580 "line" : 374,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006581 "column" : 20,
6582 "source_fragment" : "hdr.ipv4.ttl == 0"
6583 },
6584 "expression" : {
6585 "type" : "expression",
6586 "value" : {
6587 "op" : "==",
6588 "left" : {
6589 "type" : "field",
6590 "value" : ["ipv4", "ttl"]
6591 },
6592 "right" : {
6593 "type" : "hexstr",
6594 "value" : "0x00"
6595 }
6596 }
6597 },
Daniele Morob3d199b2019-11-01 14:01:46 -07006598 "true_next" : "tbl_act_23",
6599 "false_next" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006600 },
6601 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006602 "name" : "node_78",
6603 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006604 "source_info" : {
6605 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006606 "line" : 358,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006607 "column" : 12,
6608 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
6609 },
6610 "expression" : {
6611 "type" : "expression",
6612 "value" : {
6613 "op" : "==",
6614 "left" : {
6615 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006616 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006617 },
6618 "right" : {
6619 "type" : "hexstr",
6620 "value" : "0x02"
6621 }
6622 }
6623 },
6624 "false_next" : null,
Daniele Morob3d199b2019-11-01 14:01:46 -07006625 "true_next" : "node_79"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006626 },
6627 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006628 "name" : "node_79",
6629 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006630 "source_info" : {
6631 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006632 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006633 "column" : 12,
6634 "source_fragment" : "hdr.ipv4.isValid()"
6635 },
6636 "expression" : {
6637 "type" : "expression",
6638 "value" : {
6639 "op" : "d2b",
6640 "left" : null,
6641 "right" : {
6642 "type" : "field",
6643 "value" : ["ipv4", "$valid$"]
6644 }
6645 }
6646 },
6647 "false_next" : null,
6648 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006649 }
6650 ]
6651 }
6652 ],
6653 "checksums" : [
6654 {
6655 "name" : "cksum",
6656 "id" : 0,
6657 "source_info" : {
6658 "filename" : "include/checksum.p4",
6659 "line" : 28,
6660 "column" : 8,
6661 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
6662 },
6663 "target" : ["ipv4", "hdr_checksum"],
6664 "type" : "generic",
6665 "calculation" : "calc",
6666 "verify" : false,
6667 "update" : true,
6668 "if_cond" : {
6669 "type" : "expression",
6670 "value" : {
6671 "op" : "d2b",
6672 "left" : null,
6673 "right" : {
6674 "type" : "field",
6675 "value" : ["ipv4", "$valid$"]
6676 }
6677 }
6678 }
6679 },
6680 {
6681 "name" : "cksum_0",
6682 "id" : 1,
6683 "source_info" : {
6684 "filename" : "include/checksum.p4",
6685 "line" : 57,
6686 "column" : 8,
6687 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
6688 },
6689 "target" : ["ipv4", "hdr_checksum"],
6690 "type" : "generic",
6691 "calculation" : "calc_0",
6692 "verify" : true,
6693 "update" : false,
6694 "if_cond" : {
6695 "type" : "expression",
6696 "value" : {
6697 "op" : "d2b",
6698 "left" : null,
6699 "right" : {
6700 "type" : "field",
6701 "value" : ["ipv4", "$valid$"]
6702 }
6703 }
6704 }
6705 }
6706 ],
6707 "force_arith" : [],
6708 "extern_instances" : [],
6709 "field_aliases" : [
6710 [
6711 "queueing_metadata.enq_timestamp",
6712 ["standard_metadata", "enq_timestamp"]
6713 ],
6714 [
6715 "queueing_metadata.enq_qdepth",
6716 ["standard_metadata", "enq_qdepth"]
6717 ],
6718 [
6719 "queueing_metadata.deq_timedelta",
6720 ["standard_metadata", "deq_timedelta"]
6721 ],
6722 [
6723 "queueing_metadata.deq_qdepth",
6724 ["standard_metadata", "deq_qdepth"]
6725 ],
6726 [
6727 "intrinsic_metadata.ingress_global_timestamp",
6728 ["standard_metadata", "ingress_global_timestamp"]
6729 ],
6730 [
6731 "intrinsic_metadata.egress_global_timestamp",
6732 ["standard_metadata", "egress_global_timestamp"]
6733 ],
6734 [
6735 "intrinsic_metadata.lf_field_list",
6736 ["standard_metadata", "lf_field_list"]
6737 ],
6738 [
6739 "intrinsic_metadata.mcast_grp",
6740 ["standard_metadata", "mcast_grp"]
6741 ],
6742 [
6743 "intrinsic_metadata.resubmit_flag",
6744 ["standard_metadata", "resubmit_flag"]
6745 ],
6746 [
6747 "intrinsic_metadata.egress_rid",
6748 ["standard_metadata", "egress_rid"]
6749 ],
6750 [
6751 "intrinsic_metadata.recirculate_flag",
6752 ["standard_metadata", "recirculate_flag"]
6753 ],
6754 [
6755 "intrinsic_metadata.priority",
6756 ["standard_metadata", "priority"]
6757 ]
6758 ],
6759 "program" : "fabric.p4",
6760 "__meta__" : {
6761 "version" : [2, 18],
6762 "compiler" : "https://github.com/p4lang/p4c"
6763 }
6764}