blob: 75f64654e003406512ffaad562c29759f4cd8ee1 [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],
Daniele Moro7c3a0022019-07-12 13:38:34 -070012 ["bng_ingress_s_tag", 12, false],
13 ["bng_ingress_c_tag", 12, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070014 ["bng_ingress_upstream_tmp", 1, false],
15 ["bng_ingress_downstream_tmp", 1, false],
16 ["bng_ingress_upstream_hasReturned", 1, false],
17 ["egress_next_tmp", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070018 ["fabric_metadata_t._ip_eth_type0", 16, false],
19 ["fabric_metadata_t._vlan_id1", 12, false],
20 ["fabric_metadata_t._vlan_pri2", 3, false],
21 ["fabric_metadata_t._vlan_cfi3", 1, false],
22 ["fabric_metadata_t._push_double_vlan4", 1, false],
23 ["fabric_metadata_t._inner_vlan_id5", 12, false],
24 ["fabric_metadata_t._inner_vlan_pri6", 3, false],
25 ["fabric_metadata_t._inner_vlan_cfi7", 1, false],
26 ["fabric_metadata_t._mpls_label8", 20, false],
27 ["fabric_metadata_t._mpls_ttl9", 8, false],
28 ["fabric_metadata_t._skip_forwarding10", 1, false],
29 ["fabric_metadata_t._skip_next11", 1, false],
30 ["fabric_metadata_t._fwd_type12", 3, false],
31 ["fabric_metadata_t._next_id13", 32, false],
32 ["fabric_metadata_t._is_multicast14", 1, false],
33 ["fabric_metadata_t._is_controller_packet_out15", 1, false],
34 ["fabric_metadata_t._ip_proto16", 8, false],
35 ["fabric_metadata_t._l4_sport17", 16, false],
36 ["fabric_metadata_t._l4_dport18", 16, false],
37 ["fabric_metadata_t._bng_type19", 2, false],
38 ["fabric_metadata_t._bng_line_id20", 32, false],
39 ["fabric_metadata_t._bng_pppoe_session_id21", 16, false],
40 ["fabric_metadata_t._bng_ds_meter_result22", 32, false],
41 ["_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,
336 "parser_ops" : [],
337 "transitions" : [
338 {
339 "type" : "hexstr",
340 "value" : "0x00ff",
341 "mask" : null,
342 "next_state" : "parse_packet_out"
343 },
344 {
345 "value" : "default",
346 "mask" : null,
347 "next_state" : "parse_ethernet"
348 }
349 ],
350 "transition_key" : [
351 {
352 "type" : "field",
353 "value" : ["standard_metadata", "ingress_port"]
354 }
355 ]
356 },
357 {
358 "name" : "parse_packet_out",
359 "id" : 1,
360 "parser_ops" : [
361 {
362 "parameters" : [
363 {
364 "type" : "regular",
365 "value" : "packet_out"
366 }
367 ],
368 "op" : "extract"
369 }
370 ],
371 "transitions" : [
372 {
373 "value" : "default",
374 "mask" : null,
375 "next_state" : "parse_ethernet"
376 }
377 ],
378 "transition_key" : []
379 },
380 {
381 "name" : "parse_ethernet",
382 "id" : 2,
383 "parser_ops" : [
384 {
385 "parameters" : [
386 {
387 "type" : "regular",
388 "value" : "ethernet"
389 }
390 ],
391 "op" : "extract"
392 },
393 {
394 "parameters" : [
395 {
396 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700397 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700398 },
399 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700400 "type" : "hexstr",
401 "value" : "0x0ffe"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700402 }
403 ],
404 "op" : "set"
405 },
406 {
407 "parameters" : [
408 {
409 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700410 "value" : ["scalars", "tmp_0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700411 },
412 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700413 "type" : "lookahead",
414 "value" : [0, 16]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700415 }
416 ],
417 "op" : "set"
418 }
419 ],
420 "transitions" : [
421 {
422 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700423 "value" : "0x88a8",
424 "mask" : null,
425 "next_state" : "parse_vlan_tag"
426 },
427 {
428 "type" : "hexstr",
429 "value" : "0x9100",
430 "mask" : null,
431 "next_state" : "parse_vlan_tag"
432 },
433 {
434 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700435 "value" : "0x8100",
436 "mask" : null,
437 "next_state" : "parse_vlan_tag"
438 },
439 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700440 "value" : "default",
441 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700442 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700443 }
444 ],
445 "transition_key" : [
446 {
447 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700448 "value" : ["scalars", "tmp_0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700449 }
450 ]
451 },
452 {
453 "name" : "parse_vlan_tag",
454 "id" : 3,
455 "parser_ops" : [
456 {
457 "parameters" : [
458 {
459 "type" : "regular",
460 "value" : "vlan_tag"
461 }
462 ],
463 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700464 },
465 {
466 "parameters" : [
467 {
468 "type" : "field",
469 "value" : ["scalars", "tmp_1"]
470 },
471 {
472 "type" : "lookahead",
473 "value" : [0, 16]
474 }
475 ],
476 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700477 }
478 ],
479 "transitions" : [
480 {
481 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700482 "value" : "0x8100",
483 "mask" : null,
484 "next_state" : "parse_inner_vlan_tag"
485 },
486 {
487 "value" : "default",
488 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700489 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700490 }
491 ],
492 "transition_key" : [
493 {
494 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700495 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700496 }
497 ]
498 },
499 {
500 "name" : "parse_inner_vlan_tag",
501 "id" : 4,
502 "parser_ops" : [
503 {
504 "parameters" : [
505 {
506 "type" : "regular",
507 "value" : "inner_vlan_tag"
508 }
509 ],
510 "op" : "extract"
511 }
512 ],
513 "transitions" : [
514 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700515 "value" : "default",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700516 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700517 "next_state" : "parse_eth_type"
518 }
519 ],
520 "transition_key" : []
521 },
522 {
523 "name" : "parse_eth_type",
524 "id" : 5,
525 "parser_ops" : [
526 {
527 "parameters" : [
528 {
529 "type" : "regular",
530 "value" : "eth_type"
531 }
532 ],
533 "op" : "extract"
534 }
535 ],
536 "transitions" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700537 {
538 "type" : "hexstr",
539 "value" : "0x8847",
540 "mask" : null,
541 "next_state" : "parse_mpls"
542 },
543 {
544 "type" : "hexstr",
Daniele Moro5a2de712019-09-24 14:34:07 -0700545 "value" : "0x0800",
546 "mask" : null,
547 "next_state" : "parse_ipv4"
548 },
549 {
550 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700551 "value" : "0x8863",
552 "mask" : null,
553 "next_state" : "parse_pppoe"
554 },
555 {
556 "type" : "hexstr",
557 "value" : "0x8864",
558 "mask" : null,
559 "next_state" : "parse_pppoe"
560 },
561 {
562 "value" : "default",
563 "mask" : null,
564 "next_state" : null
565 }
566 ],
567 "transition_key" : [
568 {
569 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700570 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700571 }
572 ]
573 },
574 {
575 "name" : "parse_pppoe",
Daniele Moro5a2de712019-09-24 14:34:07 -0700576 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700577 "parser_ops" : [
578 {
579 "parameters" : [
580 {
581 "type" : "regular",
582 "value" : "pppoe"
583 }
584 ],
585 "op" : "extract"
586 }
587 ],
588 "transitions" : [
589 {
590 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700591 "value" : "0x0281",
592 "mask" : null,
593 "next_state" : "parse_mpls"
594 },
595 {
596 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700597 "value" : "0x0021",
598 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700599 "next_state" : "parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700600 },
601 {
602 "value" : "default",
603 "mask" : null,
604 "next_state" : null
605 }
606 ],
607 "transition_key" : [
608 {
609 "type" : "field",
610 "value" : ["pppoe", "protocol"]
611 }
612 ]
613 },
614 {
615 "name" : "parse_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700616 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700617 "parser_ops" : [
618 {
619 "parameters" : [
620 {
621 "type" : "regular",
622 "value" : "mpls"
623 }
624 ],
625 "op" : "extract"
626 },
627 {
628 "parameters" : [
629 {
630 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700631 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700632 },
633 {
634 "type" : "field",
635 "value" : ["mpls", "label"]
636 }
637 ],
638 "op" : "set"
639 },
640 {
641 "parameters" : [
642 {
643 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700644 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700645 },
646 {
647 "type" : "field",
648 "value" : ["mpls", "ttl"]
649 }
650 ],
651 "op" : "set"
652 },
653 {
654 "parameters" : [
655 {
656 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700657 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700658 },
659 {
660 "type" : "lookahead",
661 "value" : [0, 4]
662 }
663 ],
664 "op" : "set"
665 }
666 ],
667 "transitions" : [
668 {
669 "type" : "hexstr",
670 "value" : "0x04",
671 "mask" : null,
672 "next_state" : "parse_ipv4"
673 },
674 {
675 "value" : "default",
676 "mask" : null,
677 "next_state" : "parse_ethernet"
678 }
679 ],
680 "transition_key" : [
681 {
682 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700683 "value" : ["scalars", "tmp_2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700684 }
685 ]
686 },
687 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700688 "name" : "parse_ipv4",
689 "id" : 8,
690 "parser_ops" : [
691 {
692 "parameters" : [
693 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700694 "type" : "regular",
695 "value" : "ipv4"
696 }
697 ],
698 "op" : "extract"
699 },
700 {
701 "parameters" : [
702 {
703 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700704 "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700705 },
706 {
707 "type" : "field",
708 "value" : ["ipv4", "protocol"]
709 }
710 ],
711 "op" : "set"
712 },
713 {
714 "parameters" : [
715 {
716 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700717 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700718 },
719 {
720 "type" : "hexstr",
721 "value" : "0x0800"
722 }
723 ],
724 "op" : "set"
725 }
726 ],
727 "transitions" : [
728 {
729 "type" : "hexstr",
730 "value" : "0x06",
731 "mask" : null,
732 "next_state" : "parse_tcp"
733 },
734 {
735 "type" : "hexstr",
736 "value" : "0x11",
737 "mask" : null,
738 "next_state" : "parse_udp"
739 },
740 {
741 "type" : "hexstr",
742 "value" : "0x01",
743 "mask" : null,
744 "next_state" : "parse_icmp"
745 },
746 {
747 "value" : "default",
748 "mask" : null,
749 "next_state" : null
750 }
751 ],
752 "transition_key" : [
753 {
754 "type" : "field",
755 "value" : ["ipv4", "protocol"]
756 }
757 ]
758 },
759 {
760 "name" : "parse_tcp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700761 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700762 "parser_ops" : [
763 {
764 "parameters" : [
765 {
766 "type" : "regular",
767 "value" : "tcp"
768 }
769 ],
770 "op" : "extract"
771 },
772 {
773 "parameters" : [
774 {
775 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700776 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700777 },
778 {
779 "type" : "field",
780 "value" : ["tcp", "sport"]
781 }
782 ],
783 "op" : "set"
784 },
785 {
786 "parameters" : [
787 {
788 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700789 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700790 },
791 {
792 "type" : "field",
793 "value" : ["tcp", "dport"]
794 }
795 ],
796 "op" : "set"
797 }
798 ],
799 "transitions" : [
800 {
801 "value" : "default",
802 "mask" : null,
803 "next_state" : null
804 }
805 ],
806 "transition_key" : []
807 },
808 {
809 "name" : "parse_udp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700810 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700811 "parser_ops" : [
812 {
813 "parameters" : [
814 {
815 "type" : "regular",
816 "value" : "udp"
817 }
818 ],
819 "op" : "extract"
820 },
821 {
822 "parameters" : [
823 {
824 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700825 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700826 },
827 {
828 "type" : "field",
829 "value" : ["udp", "sport"]
830 }
831 ],
832 "op" : "set"
833 },
834 {
835 "parameters" : [
836 {
837 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700838 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700839 },
840 {
841 "type" : "field",
842 "value" : ["udp", "dport"]
843 }
844 ],
845 "op" : "set"
846 }
847 ],
848 "transitions" : [
849 {
850 "value" : "default",
851 "mask" : null,
852 "next_state" : null
853 }
854 ],
855 "transition_key" : [
856 {
857 "type" : "field",
858 "value" : ["udp", "dport"]
859 }
860 ]
861 },
862 {
863 "name" : "parse_icmp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700864 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700865 "parser_ops" : [
866 {
867 "parameters" : [
868 {
869 "type" : "regular",
870 "value" : "icmp"
871 }
872 ],
873 "op" : "extract"
874 }
875 ],
876 "transitions" : [
877 {
878 "value" : "default",
879 "mask" : null,
880 "next_state" : null
881 }
882 ],
883 "transition_key" : []
884 }
885 ]
886 }
887 ],
888 "parse_vsets" : [],
889 "deparsers" : [
890 {
891 "name" : "deparser",
892 "id" : 0,
893 "source_info" : {
894 "filename" : "include/parser.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700895 "line" : 259,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700896 "column" : 8,
897 "source_fragment" : "FabricDeparser"
898 },
Daniele Moro5a2de712019-09-24 14:34:07 -0700899 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700900 }
901 ],
902 "meter_arrays" : [
903 {
904 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
905 "id" : 0,
906 "source_info" : {
907 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700908 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700909 "column" : 33,
910 "source_fragment" : "m_besteff"
911 },
912 "is_direct" : false,
913 "size" : 8192,
914 "rate_count" : 2,
915 "type" : "bytes"
916 },
917 {
918 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
919 "id" : 1,
920 "source_info" : {
921 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700922 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700923 "column" : 33,
924 "source_fragment" : "m_prio"
925 },
926 "is_direct" : false,
927 "size" : 8192,
928 "rate_count" : 2,
929 "type" : "bytes"
930 }
931 ],
932 "counter_arrays" : [
933 {
934 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
935 "id" : 0,
936 "source_info" : {
937 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700938 "line" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700939 "column" : 39,
940 "source_fragment" : "c_terminated"
941 },
942 "size" : 8192,
943 "is_direct" : false
944 },
945 {
946 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
947 "id" : 1,
948 "source_info" : {
949 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700950 "line" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700951 "column" : 39,
952 "source_fragment" : "c_dropped"
953 },
954 "size" : 8192,
955 "is_direct" : false
956 },
957 {
958 "name" : "FabricIngress.bng_ingress.upstream.c_control",
959 "id" : 2,
960 "source_info" : {
961 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700962 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700963 "column" : 39,
964 "source_fragment" : "c_control"
965 },
966 "size" : 8192,
967 "is_direct" : false
968 },
969 {
970 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
971 "id" : 3,
972 "source_info" : {
973 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700974 "line" : 149,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700975 "column" : 49,
976 "source_fragment" : "c_line_rx"
977 },
978 "size" : 8192,
979 "is_direct" : false
980 },
981 {
982 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
983 "id" : 4,
984 "is_direct" : true,
985 "binding" : "FabricIngress.filtering.ingress_port_vlan",
986 "source_info" : {
987 "filename" : "include/control/filtering.p4",
988 "line" : 31,
989 "column" : 50,
990 "source_fragment" : "ingress_port_vlan_counter"
991 }
992 },
993 {
994 "name" : "FabricIngress.filtering.fwd_classifier_counter",
995 "id" : 5,
996 "is_direct" : true,
997 "binding" : "FabricIngress.filtering.fwd_classifier",
998 "source_info" : {
999 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001000 "line" : 83,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001001 "column" : 50,
1002 "source_fragment" : "fwd_classifier_counter"
1003 }
1004 },
1005 {
1006 "name" : "FabricIngress.forwarding.bridging_counter",
1007 "id" : 6,
1008 "is_direct" : true,
1009 "binding" : "FabricIngress.forwarding.bridging",
1010 "source_info" : {
1011 "filename" : "include/control/forwarding.p4",
1012 "line" : 36,
1013 "column" : 50,
1014 "source_fragment" : "bridging_counter"
1015 }
1016 },
1017 {
1018 "name" : "FabricIngress.forwarding.mpls_counter",
1019 "id" : 7,
1020 "is_direct" : true,
1021 "binding" : "FabricIngress.forwarding.mpls",
1022 "source_info" : {
1023 "filename" : "include/control/forwarding.p4",
1024 "line" : 63,
1025 "column" : 50,
1026 "source_fragment" : "mpls_counter"
1027 }
1028 },
1029 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001030 "name" : "FabricIngress.acl.acl_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001031 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001032 "is_direct" : true,
1033 "binding" : "FabricIngress.acl.acl",
1034 "source_info" : {
1035 "filename" : "include/control/acl.p4",
1036 "line" : 30,
1037 "column" : 50,
1038 "source_fragment" : "acl_counter"
1039 }
1040 },
1041 {
1042 "name" : "FabricIngress.next.next_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001043 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001044 "is_direct" : true,
1045 "binding" : "FabricIngress.next.next_vlan",
1046 "source_info" : {
1047 "filename" : "include/control/next.p4",
1048 "line" : 67,
1049 "column" : 50,
1050 "source_fragment" : "next_vlan_counter"
1051 }
1052 },
1053 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001054 "name" : "FabricIngress.next.hashed_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001055 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001056 "is_direct" : true,
1057 "binding" : "FabricIngress.next.hashed",
1058 "source_info" : {
1059 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001060 "line" : 180,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001061 "column" : 50,
1062 "source_fragment" : "hashed_counter"
1063 }
1064 },
1065 {
1066 "name" : "FabricIngress.next.multicast_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001067 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001068 "is_direct" : true,
1069 "binding" : "FabricIngress.next.multicast",
1070 "source_info" : {
1071 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001072 "line" : 224,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001073 "column" : 50,
1074 "source_fragment" : "multicast_counter"
1075 }
1076 },
1077 {
1078 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001079 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001080 "source_info" : {
1081 "filename" : "include/control/port_counter.p4",
1082 "line" : 26,
1083 "column" : 48,
1084 "source_fragment" : "egress_port_counter"
1085 },
1086 "size" : 511,
1087 "is_direct" : false
1088 },
1089 {
1090 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001091 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001092 "source_info" : {
1093 "filename" : "include/control/port_counter.p4",
1094 "line" : 27,
1095 "column" : 48,
1096 "source_fragment" : "ingress_port_counter"
1097 },
1098 "size" : 511,
1099 "is_direct" : false
1100 },
1101 {
1102 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Daniele Moro5a2de712019-09-24 14:34:07 -07001103 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001104 "source_info" : {
1105 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001106 "line" : 264,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001107 "column" : 49,
1108 "source_fragment" : "c_line_tx"
1109 },
1110 "size" : 8192,
1111 "is_direct" : false
1112 },
1113 {
1114 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07001115 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001116 "is_direct" : true,
1117 "binding" : "FabricEgress.egress_next.egress_vlan",
1118 "source_info" : {
1119 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001120 "line" : 309,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001121 "column" : 50,
1122 "source_fragment" : "egress_vlan_counter"
1123 }
1124 }
1125 ],
1126 "register_arrays" : [],
1127 "calculations" : [
1128 {
1129 "name" : "calc",
1130 "id" : 0,
1131 "source_info" : {
1132 "filename" : "include/checksum.p4",
1133 "line" : 28,
1134 "column" : 8,
1135 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1136 },
1137 "algo" : "csum16",
1138 "input" : [
1139 {
1140 "type" : "field",
1141 "value" : ["ipv4", "version"]
1142 },
1143 {
1144 "type" : "field",
1145 "value" : ["ipv4", "ihl"]
1146 },
1147 {
1148 "type" : "field",
1149 "value" : ["ipv4", "dscp"]
1150 },
1151 {
1152 "type" : "field",
1153 "value" : ["ipv4", "ecn"]
1154 },
1155 {
1156 "type" : "field",
1157 "value" : ["ipv4", "total_len"]
1158 },
1159 {
1160 "type" : "field",
1161 "value" : ["ipv4", "identification"]
1162 },
1163 {
1164 "type" : "field",
1165 "value" : ["ipv4", "flags"]
1166 },
1167 {
1168 "type" : "field",
1169 "value" : ["ipv4", "frag_offset"]
1170 },
1171 {
1172 "type" : "field",
1173 "value" : ["ipv4", "ttl"]
1174 },
1175 {
1176 "type" : "field",
1177 "value" : ["ipv4", "protocol"]
1178 },
1179 {
1180 "type" : "field",
1181 "value" : ["ipv4", "src_addr"]
1182 },
1183 {
1184 "type" : "field",
1185 "value" : ["ipv4", "dst_addr"]
1186 }
1187 ]
1188 },
1189 {
1190 "name" : "calc_0",
1191 "id" : 1,
1192 "source_info" : {
1193 "filename" : "include/checksum.p4",
1194 "line" : 57,
1195 "column" : 8,
1196 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1197 },
1198 "algo" : "csum16",
1199 "input" : [
1200 {
1201 "type" : "field",
1202 "value" : ["ipv4", "version"]
1203 },
1204 {
1205 "type" : "field",
1206 "value" : ["ipv4", "ihl"]
1207 },
1208 {
1209 "type" : "field",
1210 "value" : ["ipv4", "dscp"]
1211 },
1212 {
1213 "type" : "field",
1214 "value" : ["ipv4", "ecn"]
1215 },
1216 {
1217 "type" : "field",
1218 "value" : ["ipv4", "total_len"]
1219 },
1220 {
1221 "type" : "field",
1222 "value" : ["ipv4", "identification"]
1223 },
1224 {
1225 "type" : "field",
1226 "value" : ["ipv4", "flags"]
1227 },
1228 {
1229 "type" : "field",
1230 "value" : ["ipv4", "frag_offset"]
1231 },
1232 {
1233 "type" : "field",
1234 "value" : ["ipv4", "ttl"]
1235 },
1236 {
1237 "type" : "field",
1238 "value" : ["ipv4", "protocol"]
1239 },
1240 {
1241 "type" : "field",
1242 "value" : ["ipv4", "src_addr"]
1243 },
1244 {
1245 "type" : "field",
1246 "value" : ["ipv4", "dst_addr"]
1247 }
1248 ]
1249 }
1250 ],
1251 "learn_lists" : [],
1252 "actions" : [
1253 {
1254 "name" : "nop",
1255 "id" : 0,
1256 "runtime_data" : [],
1257 "primitives" : []
1258 },
1259 {
1260 "name" : "nop",
1261 "id" : 1,
1262 "runtime_data" : [],
1263 "primitives" : []
1264 },
1265 {
1266 "name" : "nop",
1267 "id" : 2,
1268 "runtime_data" : [],
1269 "primitives" : []
1270 },
1271 {
1272 "name" : "nop",
1273 "id" : 3,
1274 "runtime_data" : [],
1275 "primitives" : []
1276 },
1277 {
1278 "name" : "nop",
1279 "id" : 4,
1280 "runtime_data" : [],
1281 "primitives" : []
1282 },
1283 {
1284 "name" : "nop",
1285 "id" : 5,
1286 "runtime_data" : [],
1287 "primitives" : []
1288 },
1289 {
1290 "name" : "nop",
1291 "id" : 6,
1292 "runtime_data" : [],
1293 "primitives" : []
1294 },
1295 {
1296 "name" : "nop",
1297 "id" : 7,
1298 "runtime_data" : [],
1299 "primitives" : []
1300 },
1301 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001302 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07001303 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001304 "runtime_data" : [],
1305 "primitives" : [
1306 {
1307 "op" : "assign",
1308 "parameters" : [
1309 {
1310 "type" : "field",
1311 "value" : ["standard_metadata", "egress_spec"]
1312 },
1313 {
1314 "type" : "hexstr",
1315 "value" : "0x00ff"
1316 }
1317 ],
1318 "source_info" : {
1319 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001320 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001321 "column" : 8,
1322 "source_fragment" : "smeta.egress_spec = 255"
1323 }
1324 },
1325 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001326 "op" : "count",
1327 "parameters" : [
1328 {
1329 "type" : "counter_array",
1330 "value" : "FabricIngress.bng_ingress.upstream.c_control"
1331 },
1332 {
1333 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001334 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001335 }
1336 ],
1337 "source_info" : {
1338 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001339 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001340 "column" : 8,
1341 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
1342 }
1343 }
1344 ]
1345 },
1346 {
1347 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Daniele Moro5a2de712019-09-24 14:34:07 -07001348 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001349 "runtime_data" : [],
1350 "primitives" : [
1351 {
1352 "op" : "assign",
1353 "parameters" : [
1354 {
1355 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001356 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001357 },
1358 {
1359 "type" : "hexstr",
1360 "value" : "0x00"
1361 }
1362 ],
1363 "source_info" : {
1364 "filename" : "include/control/../header.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001365 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001366 "column" : 36,
1367 "source_fragment" : "2w0x0; ..."
1368 }
1369 },
1370 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001371 "op" : "mark_to_drop",
1372 "parameters" : [
1373 {
1374 "type" : "header",
1375 "value" : "standard_metadata"
1376 }
1377 ],
1378 "source_info" : {
1379 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001380 "line" : 74,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001381 "column" : 8,
1382 "source_fragment" : "mark_to_drop(smeta)"
1383 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001384 }
1385 ]
1386 },
1387 {
1388 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001389 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001390 "runtime_data" : [],
1391 "primitives" : [
1392 {
1393 "op" : "assign",
1394 "parameters" : [
1395 {
1396 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001397 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001398 },
1399 {
1400 "type" : "hexstr",
1401 "value" : "0x0800"
1402 }
1403 ],
1404 "source_info" : {
1405 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001406 "line" : 114,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001407 "column" : 31,
1408 "source_fragment" : "0x0800; ..."
1409 }
1410 },
1411 {
1412 "op" : "remove_header",
1413 "parameters" : [
1414 {
1415 "type" : "header",
1416 "value" : "pppoe"
1417 }
1418 ],
1419 "source_info" : {
1420 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001421 "line" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001422 "column" : 8,
1423 "source_fragment" : "hdr.pppoe.setInvalid()"
1424 }
1425 },
1426 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001427 "op" : "count",
1428 "parameters" : [
1429 {
1430 "type" : "counter_array",
1431 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
1432 },
1433 {
1434 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001435 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001436 }
1437 ],
1438 "source_info" : {
1439 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001440 "line" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001441 "column" : 8,
1442 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
1443 }
1444 }
1445 ]
1446 },
1447 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001448 "name" : "FabricIngress.bng_ingress.downstream.set_session",
Daniele Moro5a2de712019-09-24 14:34:07 -07001449 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001450 "runtime_data" : [
1451 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001452 "name" : "pppoe_session_id",
1453 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001454 }
1455 ],
1456 "primitives" : [
1457 {
1458 "op" : "assign",
1459 "parameters" : [
1460 {
1461 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001462 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001463 },
1464 {
1465 "type" : "hexstr",
1466 "value" : "0x02"
1467 }
1468 ],
1469 "source_info" : {
1470 "filename" : "include/control/../header.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001471 "line" : 162,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001472 "column" : 39,
1473 "source_fragment" : "2w0x2;; ..."
1474 }
1475 },
1476 {
1477 "op" : "assign",
1478 "parameters" : [
1479 {
1480 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001481 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001482 },
1483 {
1484 "type" : "runtime_data",
1485 "value" : 0
1486 }
1487 ],
1488 "source_info" : {
1489 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001490 "line" : 156,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001491 "column" : 35,
1492 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001493 }
1494 },
1495 {
1496 "op" : "count",
1497 "parameters" : [
1498 {
1499 "type" : "counter_array",
1500 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1501 },
1502 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001503 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001504 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001505 }
1506 ],
1507 "source_info" : {
1508 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001509 "line" : 157,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001510 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001511 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001512 }
1513 }
1514 ]
1515 },
1516 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001517 "name" : "FabricIngress.bng_ingress.downstream.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07001518 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001519 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001520 "primitives" : [
1521 {
1522 "op" : "assign",
1523 "parameters" : [
1524 {
1525 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001526 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001527 },
1528 {
1529 "type" : "hexstr",
1530 "value" : "0x02"
1531 }
1532 ],
1533 "source_info" : {
1534 "filename" : "include/control/../header.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001535 "line" : 162,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001536 "column" : 39,
1537 "source_fragment" : "2w0x2;; ..."
1538 }
1539 },
1540 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001541 "op" : "count",
1542 "parameters" : [
1543 {
1544 "type" : "counter_array",
1545 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1546 },
1547 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001548 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001549 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001550 }
1551 ],
1552 "source_info" : {
1553 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001554 "line" : 162,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001555 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001556 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001557 }
1558 },
1559 {
1560 "op" : "mark_to_drop",
1561 "parameters" : [
1562 {
1563 "type" : "header",
1564 "value" : "standard_metadata"
1565 }
1566 ],
1567 "source_info" : {
1568 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001569 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001570 "column" : 8,
1571 "source_fragment" : "mark_to_drop(smeta)"
1572 }
1573 }
1574 ]
1575 },
1576 {
1577 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro5a2de712019-09-24 14:34:07 -07001578 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001579 "runtime_data" : [],
Daniele Moro7c3a0022019-07-12 13:38:34 -07001580 "primitives" : []
1581 },
1582 {
1583 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
Daniele Moro5a2de712019-09-24 14:34:07 -07001584 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001585 "runtime_data" : [],
1586 "primitives" : []
1587 },
1588 {
1589 "name" : "FabricIngress.bng_ingress.set_line",
Daniele Moro5a2de712019-09-24 14:34:07 -07001590 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001591 "runtime_data" : [
1592 {
1593 "name" : "line_id",
1594 "bitwidth" : 32
1595 }
1596 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001597 "primitives" : [
1598 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001599 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001600 "parameters" : [
1601 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001602 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001603 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001604 },
1605 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001606 "type" : "runtime_data",
1607 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001608 }
1609 ],
1610 "source_info" : {
1611 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001612 "line" : 320,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001613 "column" : 30,
1614 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001615 }
1616 }
1617 ]
1618 },
1619 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001620 "name" : "FabricIngress.filtering.deny",
Daniele Moro5a2de712019-09-24 14:34:07 -07001621 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001622 "runtime_data" : [],
1623 "primitives" : [
1624 {
1625 "op" : "assign",
1626 "parameters" : [
1627 {
1628 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001629 "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001630 },
1631 {
1632 "type" : "expression",
1633 "value" : {
1634 "type" : "expression",
1635 "value" : {
1636 "op" : "b2d",
1637 "left" : null,
1638 "right" : {
1639 "type" : "bool",
1640 "value" : true
1641 }
1642 }
1643 }
1644 }
1645 ],
1646 "source_info" : {
1647 "filename" : "include/control/filtering.p4",
1648 "line" : 36,
1649 "column" : 40,
1650 "source_fragment" : "= true; ..."
1651 }
1652 },
1653 {
1654 "op" : "assign",
1655 "parameters" : [
1656 {
1657 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001658 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001659 },
1660 {
1661 "type" : "expression",
1662 "value" : {
1663 "type" : "expression",
1664 "value" : {
1665 "op" : "b2d",
1666 "left" : null,
1667 "right" : {
1668 "type" : "bool",
1669 "value" : true
1670 }
1671 }
1672 }
1673 }
1674 ],
1675 "source_info" : {
1676 "filename" : "include/control/filtering.p4",
1677 "line" : 37,
1678 "column" : 34,
1679 "source_fragment" : "= true; ..."
1680 }
1681 }
1682 ]
1683 },
1684 {
1685 "name" : "FabricIngress.filtering.permit",
Daniele Moro5a2de712019-09-24 14:34:07 -07001686 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001687 "runtime_data" : [],
1688 "primitives" : []
1689 },
1690 {
1691 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07001692 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001693 "runtime_data" : [
1694 {
1695 "name" : "vlan_id",
1696 "bitwidth" : 12
1697 }
1698 ],
1699 "primitives" : [
1700 {
1701 "op" : "assign",
1702 "parameters" : [
1703 {
1704 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001705 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001706 },
1707 {
1708 "type" : "runtime_data",
1709 "value" : 0
1710 }
1711 ],
1712 "source_info" : {
1713 "filename" : "include/control/filtering.p4",
1714 "line" : 47,
1715 "column" : 32,
1716 "source_fragment" : "= vlan_id; ..."
1717 }
1718 }
1719 ]
1720 },
1721 {
1722 "name" : "FabricIngress.filtering.set_forwarding_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07001723 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001724 "runtime_data" : [
1725 {
1726 "name" : "fwd_type",
1727 "bitwidth" : 3
1728 }
1729 ],
1730 "primitives" : [
1731 {
1732 "op" : "assign",
1733 "parameters" : [
1734 {
1735 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001736 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001737 },
1738 {
1739 "type" : "runtime_data",
1740 "value" : 0
1741 }
1742 ],
1743 "source_info" : {
1744 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001745 "line" : 86,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001746 "column" : 33,
1747 "source_fragment" : "= fwd_type; ..."
1748 }
1749 }
1750 ]
1751 },
1752 {
1753 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07001754 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001755 "runtime_data" : [
1756 {
1757 "name" : "next_id",
1758 "bitwidth" : 32
1759 }
1760 ],
1761 "primitives" : [
1762 {
1763 "op" : "assign",
1764 "parameters" : [
1765 {
1766 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001767 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001768 },
1769 {
1770 "type" : "runtime_data",
1771 "value" : 0
1772 }
1773 ],
1774 "source_info" : {
1775 "filename" : "include/control/forwarding.p4",
1776 "line" : 30,
1777 "column" : 32,
1778 "source_fragment" : "= next_id; ..."
1779 }
1780 }
1781 ]
1782 },
1783 {
1784 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Daniele Moro5a2de712019-09-24 14:34:07 -07001785 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001786 "runtime_data" : [
1787 {
1788 "name" : "next_id",
1789 "bitwidth" : 32
1790 }
1791 ],
1792 "primitives" : [
1793 {
1794 "op" : "assign",
1795 "parameters" : [
1796 {
1797 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001798 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001799 },
1800 {
1801 "type" : "hexstr",
1802 "value" : "0x000000"
1803 }
1804 ],
1805 "source_info" : {
1806 "filename" : "include/control/forwarding.p4",
1807 "line" : 66,
1808 "column" : 35,
1809 "source_fragment" : "= 0; ..."
1810 }
1811 },
1812 {
1813 "op" : "assign",
1814 "parameters" : [
1815 {
1816 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001817 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001818 },
1819 {
1820 "type" : "runtime_data",
1821 "value" : 0
1822 }
1823 ],
1824 "source_info" : {
1825 "filename" : "include/control/forwarding.p4",
1826 "line" : 30,
1827 "column" : 32,
1828 "source_fragment" : "= next_id; ..."
1829 }
1830 }
1831 ]
1832 },
1833 {
1834 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001835 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001836 "runtime_data" : [
1837 {
1838 "name" : "next_id",
1839 "bitwidth" : 32
1840 }
1841 ],
1842 "primitives" : [
1843 {
1844 "op" : "assign",
1845 "parameters" : [
1846 {
1847 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001848 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001849 },
1850 {
1851 "type" : "runtime_data",
1852 "value" : 0
1853 }
1854 ],
1855 "source_info" : {
1856 "filename" : "include/control/forwarding.p4",
1857 "line" : 30,
1858 "column" : 32,
1859 "source_fragment" : "= next_id; ..."
1860 }
1861 }
1862 ]
1863 },
1864 {
1865 "name" : "FabricIngress.forwarding.nop_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07001866 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001867 "runtime_data" : [],
1868 "primitives" : []
1869 },
1870 {
1871 "name" : "FabricIngress.acl.set_next_id_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07001872 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001873 "runtime_data" : [
1874 {
1875 "name" : "next_id",
1876 "bitwidth" : 32
1877 }
1878 ],
1879 "primitives" : [
1880 {
1881 "op" : "assign",
1882 "parameters" : [
1883 {
1884 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001885 "value" : ["scalars", "fabric_metadata_t._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001886 },
1887 {
1888 "type" : "runtime_data",
1889 "value" : 0
1890 }
1891 ],
1892 "source_info" : {
1893 "filename" : "include/control/acl.p4",
1894 "line" : 33,
1895 "column" : 32,
1896 "source_fragment" : "= next_id; ..."
1897 }
1898 }
1899 ]
1900 },
1901 {
1902 "name" : "FabricIngress.acl.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07001903 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001904 "runtime_data" : [],
1905 "primitives" : [
1906 {
1907 "op" : "assign",
1908 "parameters" : [
1909 {
1910 "type" : "field",
1911 "value" : ["standard_metadata", "egress_spec"]
1912 },
1913 {
1914 "type" : "hexstr",
1915 "value" : "0x00ff"
1916 }
1917 ],
1918 "source_info" : {
1919 "filename" : "include/control/acl.p4",
1920 "line" : 39,
1921 "column" : 8,
1922 "source_fragment" : "standard_metadata.egress_spec = 255"
1923 }
1924 },
1925 {
1926 "op" : "assign",
1927 "parameters" : [
1928 {
1929 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001930 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001931 },
1932 {
1933 "type" : "expression",
1934 "value" : {
1935 "type" : "expression",
1936 "value" : {
1937 "op" : "b2d",
1938 "left" : null,
1939 "right" : {
1940 "type" : "bool",
1941 "value" : true
1942 }
1943 }
1944 }
1945 }
1946 ],
1947 "source_info" : {
1948 "filename" : "include/control/acl.p4",
1949 "line" : 40,
1950 "column" : 34,
1951 "source_fragment" : "= true; ..."
1952 }
1953 }
1954 ]
1955 },
1956 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001957 "name" : "FabricIngress.acl.set_clone_session_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07001958 "id" : 26,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001959 "runtime_data" : [
1960 {
1961 "name" : "clone_id",
1962 "bitwidth" : 32
1963 }
1964 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001965 "primitives" : [
1966 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001967 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001968 "parameters" : [
1969 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001970 "type" : "runtime_data",
1971 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001972 },
1973 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001974 "type" : "hexstr",
1975 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001976 }
1977 ],
1978 "source_info" : {
1979 "filename" : "include/control/acl.p4",
1980 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001981 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07001982 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001983 }
1984 }
1985 ]
1986 },
1987 {
1988 "name" : "FabricIngress.acl.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07001989 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001990 "runtime_data" : [],
1991 "primitives" : [
1992 {
1993 "op" : "mark_to_drop",
1994 "parameters" : [
1995 {
1996 "type" : "header",
1997 "value" : "standard_metadata"
1998 }
1999 ],
2000 "source_info" : {
2001 "filename" : "include/control/acl.p4",
2002 "line" : 51,
2003 "column" : 8,
2004 "source_fragment" : "mark_to_drop(standard_metadata)"
2005 }
2006 },
2007 {
2008 "op" : "assign",
2009 "parameters" : [
2010 {
2011 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002012 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002013 },
2014 {
2015 "type" : "expression",
2016 "value" : {
2017 "type" : "expression",
2018 "value" : {
2019 "op" : "b2d",
2020 "left" : null,
2021 "right" : {
2022 "type" : "bool",
2023 "value" : true
2024 }
2025 }
2026 }
2027 }
2028 ],
2029 "source_info" : {
2030 "filename" : "include/control/acl.p4",
2031 "line" : 52,
2032 "column" : 34,
2033 "source_fragment" : "= true; ..."
2034 }
2035 }
2036 ]
2037 },
2038 {
2039 "name" : "FabricIngress.acl.nop_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07002040 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002041 "runtime_data" : [],
2042 "primitives" : []
2043 },
2044 {
2045 "name" : "FabricIngress.next.set_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002046 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002047 "runtime_data" : [
2048 {
2049 "name" : "vlan_id",
2050 "bitwidth" : 12
2051 }
2052 ],
2053 "primitives" : [
2054 {
2055 "op" : "assign",
2056 "parameters" : [
2057 {
2058 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002059 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002060 },
2061 {
2062 "type" : "runtime_data",
2063 "value" : 0
2064 }
2065 ],
2066 "source_info" : {
2067 "filename" : "include/control/next.p4",
2068 "line" : 70,
2069 "column" : 32,
2070 "source_fragment" : "= vlan_id; ..."
2071 }
2072 }
2073 ]
2074 },
2075 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002076 "name" : "FabricIngress.next.set_double_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002077 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002078 "runtime_data" : [
2079 {
2080 "name" : "outer_vlan_id",
2081 "bitwidth" : 12
2082 },
2083 {
2084 "name" : "inner_vlan_id",
2085 "bitwidth" : 12
2086 }
2087 ],
2088 "primitives" : [
2089 {
2090 "op" : "assign",
2091 "parameters" : [
2092 {
2093 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002094 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002095 },
2096 {
2097 "type" : "runtime_data",
2098 "value" : 0
2099 }
2100 ],
2101 "source_info" : {
2102 "filename" : "include/control/next.p4",
2103 "line" : 70,
2104 "column" : 32,
2105 "source_fragment" : "= vlan_id; ..."
2106 }
2107 },
2108 {
2109 "op" : "assign",
2110 "parameters" : [
2111 {
2112 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002113 "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002114 },
2115 {
2116 "type" : "expression",
2117 "value" : {
2118 "type" : "expression",
2119 "value" : {
2120 "op" : "b2d",
2121 "left" : null,
2122 "right" : {
2123 "type" : "bool",
2124 "value" : true
2125 }
2126 }
2127 }
2128 }
2129 ],
2130 "source_info" : {
2131 "filename" : "include/control/next.p4",
2132 "line" : 77,
2133 "column" : 41,
2134 "source_fragment" : "= true; ..."
2135 }
2136 },
2137 {
2138 "op" : "assign",
2139 "parameters" : [
2140 {
2141 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002142 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002143 },
2144 {
2145 "type" : "runtime_data",
2146 "value" : 1
2147 }
2148 ],
2149 "source_info" : {
2150 "filename" : "include/control/next.p4",
2151 "line" : 78,
2152 "column" : 38,
2153 "source_fragment" : "= inner_vlan_id; ..."
2154 }
2155 }
2156 ]
2157 },
2158 {
2159 "name" : "FabricIngress.next.output_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002160 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002161 "runtime_data" : [
2162 {
2163 "name" : "port_num",
2164 "bitwidth" : 9
2165 }
2166 ],
2167 "primitives" : [
2168 {
2169 "op" : "assign",
2170 "parameters" : [
2171 {
2172 "type" : "field",
2173 "value" : ["standard_metadata", "egress_spec"]
2174 },
2175 {
2176 "type" : "runtime_data",
2177 "value" : 0
2178 }
2179 ],
2180 "source_info" : {
2181 "filename" : "include/control/next.p4",
2182 "line" : 31,
2183 "column" : 5,
2184 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2185 }
2186 }
2187 ]
2188 },
2189 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002190 "name" : "FabricIngress.next.routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002191 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002192 "runtime_data" : [
2193 {
2194 "name" : "port_num",
2195 "bitwidth" : 9
2196 },
2197 {
2198 "name" : "smac",
2199 "bitwidth" : 48
2200 },
2201 {
2202 "name" : "dmac",
2203 "bitwidth" : 48
2204 }
2205 ],
2206 "primitives" : [
2207 {
2208 "op" : "assign",
2209 "parameters" : [
2210 {
2211 "type" : "field",
2212 "value" : ["ethernet", "src_addr"]
2213 },
2214 {
2215 "type" : "runtime_data",
2216 "value" : 1
2217 }
2218 ],
2219 "source_info" : {
2220 "filename" : "include/control/next.p4",
2221 "line" : 36,
2222 "column" : 8,
2223 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2224 }
2225 },
2226 {
2227 "op" : "assign",
2228 "parameters" : [
2229 {
2230 "type" : "field",
2231 "value" : ["ethernet", "dst_addr"]
2232 },
2233 {
2234 "type" : "runtime_data",
2235 "value" : 2
2236 }
2237 ],
2238 "source_info" : {
2239 "filename" : "include/control/next.p4",
2240 "line" : 41,
2241 "column" : 8,
2242 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2243 }
2244 },
2245 {
2246 "op" : "assign",
2247 "parameters" : [
2248 {
2249 "type" : "field",
2250 "value" : ["standard_metadata", "egress_spec"]
2251 },
2252 {
2253 "type" : "runtime_data",
2254 "value" : 0
2255 }
2256 ],
2257 "source_info" : {
2258 "filename" : "include/control/next.p4",
2259 "line" : 31,
2260 "column" : 5,
2261 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2262 }
2263 }
2264 ]
2265 },
2266 {
2267 "name" : "FabricIngress.next.mpls_routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07002268 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002269 "runtime_data" : [
2270 {
2271 "name" : "port_num",
2272 "bitwidth" : 9
2273 },
2274 {
2275 "name" : "smac",
2276 "bitwidth" : 48
2277 },
2278 {
2279 "name" : "dmac",
2280 "bitwidth" : 48
2281 },
2282 {
2283 "name" : "label",
2284 "bitwidth" : 20
2285 }
2286 ],
2287 "primitives" : [
2288 {
2289 "op" : "assign",
2290 "parameters" : [
2291 {
2292 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002293 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002294 },
2295 {
2296 "type" : "runtime_data",
2297 "value" : 3
2298 }
2299 ],
2300 "source_info" : {
2301 "filename" : "include/control/next.p4",
2302 "line" : 46,
2303 "column" : 35,
2304 "source_fragment" : "= label; ..."
2305 }
2306 },
2307 {
2308 "op" : "assign",
2309 "parameters" : [
2310 {
2311 "type" : "field",
2312 "value" : ["ethernet", "src_addr"]
2313 },
2314 {
2315 "type" : "runtime_data",
2316 "value" : 1
2317 }
2318 ],
2319 "source_info" : {
2320 "filename" : "include/control/next.p4",
2321 "line" : 36,
2322 "column" : 8,
2323 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2324 }
2325 },
2326 {
2327 "op" : "assign",
2328 "parameters" : [
2329 {
2330 "type" : "field",
2331 "value" : ["ethernet", "dst_addr"]
2332 },
2333 {
2334 "type" : "runtime_data",
2335 "value" : 2
2336 }
2337 ],
2338 "source_info" : {
2339 "filename" : "include/control/next.p4",
2340 "line" : 41,
2341 "column" : 8,
2342 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2343 }
2344 },
2345 {
2346 "op" : "assign",
2347 "parameters" : [
2348 {
2349 "type" : "field",
2350 "value" : ["standard_metadata", "egress_spec"]
2351 },
2352 {
2353 "type" : "runtime_data",
2354 "value" : 0
2355 }
2356 ],
2357 "source_info" : {
2358 "filename" : "include/control/next.p4",
2359 "line" : 31,
2360 "column" : 5,
2361 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2362 }
2363 }
2364 ]
2365 },
2366 {
2367 "name" : "FabricIngress.next.set_mcast_group_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002368 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002369 "runtime_data" : [
2370 {
2371 "name" : "group_id",
2372 "bitwidth" : 16
2373 }
2374 ],
2375 "primitives" : [
2376 {
2377 "op" : "assign",
2378 "parameters" : [
2379 {
2380 "type" : "field",
2381 "value" : ["standard_metadata", "mcast_grp"]
2382 },
2383 {
2384 "type" : "runtime_data",
2385 "value" : 0
2386 }
2387 ],
2388 "source_info" : {
2389 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002390 "line" : 227,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002391 "column" : 8,
2392 "source_fragment" : "standard_metadata.mcast_grp = group_id"
2393 }
2394 },
2395 {
2396 "op" : "assign",
2397 "parameters" : [
2398 {
2399 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002400 "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002401 },
2402 {
2403 "type" : "expression",
2404 "value" : {
2405 "type" : "expression",
2406 "value" : {
2407 "op" : "b2d",
2408 "left" : null,
2409 "right" : {
2410 "type" : "bool",
2411 "value" : true
2412 }
2413 }
2414 }
2415 }
2416 ],
2417 "source_info" : {
2418 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002419 "line" : 228,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002420 "column" : 37,
2421 "source_fragment" : "= true; ..."
2422 }
2423 }
2424 ]
2425 },
2426 {
2427 "name" : "act",
Daniele Moro5a2de712019-09-24 14:34:07 -07002428 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002429 "runtime_data" : [],
2430 "primitives" : [
2431 {
2432 "op" : "assign",
2433 "parameters" : [
2434 {
2435 "type" : "field",
2436 "value" : ["standard_metadata", "egress_spec"]
2437 },
2438 {
2439 "type" : "field",
2440 "value" : ["packet_out", "egress_port"]
2441 }
2442 ],
2443 "source_info" : {
2444 "filename" : "include/control/packetio.p4",
2445 "line" : 25,
2446 "column" : 12,
2447 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
2448 }
2449 },
2450 {
2451 "op" : "remove_header",
2452 "parameters" : [
2453 {
2454 "type" : "header",
2455 "value" : "packet_out"
2456 }
2457 ],
2458 "source_info" : {
2459 "filename" : "include/control/packetio.p4",
2460 "line" : 26,
2461 "column" : 12,
2462 "source_fragment" : "hdr.packet_out.setInvalid()"
2463 }
2464 },
2465 {
2466 "op" : "assign",
2467 "parameters" : [
2468 {
2469 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002470 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002471 },
2472 {
2473 "type" : "expression",
2474 "value" : {
2475 "type" : "expression",
2476 "value" : {
2477 "op" : "b2d",
2478 "left" : null,
2479 "right" : {
2480 "type" : "bool",
2481 "value" : true
2482 }
2483 }
2484 }
2485 }
2486 ],
2487 "source_info" : {
2488 "filename" : "include/control/packetio.p4",
2489 "line" : 27,
2490 "column" : 53,
2491 "source_fragment" : "= true; ..."
2492 }
2493 },
2494 {
2495 "op" : "exit",
2496 "parameters" : [],
2497 "source_info" : {
2498 "filename" : "include/control/packetio.p4",
2499 "line" : 29,
2500 "column" : 12,
2501 "source_fragment" : "exit"
2502 }
2503 }
2504 ]
2505 },
2506 {
2507 "name" : "act_0",
Daniele Moro5a2de712019-09-24 14:34:07 -07002508 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002509 "runtime_data" : [],
2510 "primitives" : [
2511 {
2512 "op" : "assign",
2513 "parameters" : [
2514 {
2515 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002516 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002517 },
2518 {
2519 "type" : "field",
2520 "value" : ["vlan_tag", "vlan_id"]
2521 }
2522 ],
2523 "source_info" : {
2524 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002525 "line" : 109,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002526 "column" : 36,
2527 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
2528 }
2529 },
2530 {
2531 "op" : "assign",
2532 "parameters" : [
2533 {
2534 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002535 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002536 },
2537 {
2538 "type" : "field",
2539 "value" : ["vlan_tag", "pri"]
2540 }
2541 ],
2542 "source_info" : {
2543 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002544 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002545 "column" : 37,
2546 "source_fragment" : "= hdr.vlan_tag.pri; ..."
2547 }
2548 },
2549 {
2550 "op" : "assign",
2551 "parameters" : [
2552 {
2553 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002554 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002555 },
2556 {
2557 "type" : "field",
2558 "value" : ["vlan_tag", "cfi"]
2559 }
2560 ],
2561 "source_info" : {
2562 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002563 "line" : 111,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002564 "column" : 37,
2565 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
2566 }
2567 }
2568 ]
2569 },
2570 {
2571 "name" : "act_1",
Daniele Moro5a2de712019-09-24 14:34:07 -07002572 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002573 "runtime_data" : [],
2574 "primitives" : [
2575 {
2576 "op" : "assign",
2577 "parameters" : [
2578 {
2579 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002580 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002581 },
2582 {
2583 "type" : "field",
2584 "value" : ["inner_vlan_tag", "vlan_id"]
2585 }
2586 ],
2587 "source_info" : {
2588 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002589 "line" : 115,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002590 "column" : 42,
2591 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
2592 }
2593 },
2594 {
2595 "op" : "assign",
2596 "parameters" : [
2597 {
2598 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002599 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002600 },
2601 {
2602 "type" : "field",
2603 "value" : ["inner_vlan_tag", "pri"]
2604 }
2605 ],
2606 "source_info" : {
2607 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002608 "line" : 116,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002609 "column" : 43,
2610 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
2611 }
2612 },
2613 {
2614 "op" : "assign",
2615 "parameters" : [
2616 {
2617 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002618 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002619 },
2620 {
2621 "type" : "field",
2622 "value" : ["inner_vlan_tag", "cfi"]
2623 }
2624 ],
2625 "source_info" : {
2626 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002627 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002628 "column" : 43,
2629 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
2630 }
2631 }
2632 ]
2633 },
2634 {
2635 "name" : "act_2",
Daniele Moro5a2de712019-09-24 14:34:07 -07002636 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002637 "runtime_data" : [],
2638 "primitives" : [
2639 {
2640 "op" : "assign",
2641 "parameters" : [
2642 {
2643 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002644 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002645 },
2646 {
2647 "type" : "hexstr",
2648 "value" : "0x41"
2649 }
2650 ],
2651 "source_info" : {
2652 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002653 "line" : 125,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002654 "column" : 37,
2655 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
2656 }
2657 }
2658 ]
2659 },
2660 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002661 "name" : "act_3",
Daniele Moro5a2de712019-09-24 14:34:07 -07002662 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002663 "runtime_data" : [],
2664 "primitives" : [
2665 {
2666 "op" : "assign",
2667 "parameters" : [
2668 {
2669 "type" : "field",
2670 "value" : ["scalars", "tmp"]
2671 },
2672 {
2673 "type" : "expression",
2674 "value" : {
2675 "type" : "expression",
2676 "value" : {
2677 "op" : "&",
2678 "left" : {
2679 "type" : "field",
2680 "value" : ["standard_metadata", "egress_spec"]
2681 },
2682 "right" : {
2683 "type" : "hexstr",
2684 "value" : "0xffffffff"
2685 }
2686 }
2687 }
2688 }
2689 ],
2690 "source_info" : {
2691 "filename" : "include/control/port_counter.p4",
2692 "line" : 31,
2693 "column" : 38,
2694 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
2695 }
2696 },
2697 {
2698 "op" : "count",
2699 "parameters" : [
2700 {
2701 "type" : "counter_array",
2702 "value" : "FabricIngress.port_counters_control.egress_port_counter"
2703 },
2704 {
2705 "type" : "field",
2706 "value" : ["scalars", "tmp"]
2707 }
2708 ],
2709 "source_info" : {
2710 "filename" : "include/control/port_counter.p4",
2711 "line" : 31,
2712 "column" : 12,
2713 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
2714 }
2715 }
2716 ]
2717 },
2718 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002719 "name" : "act_4",
2720 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002721 "runtime_data" : [],
2722 "primitives" : [
2723 {
2724 "op" : "assign",
2725 "parameters" : [
2726 {
2727 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002728 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002729 },
2730 {
2731 "type" : "expression",
2732 "value" : {
2733 "type" : "expression",
2734 "value" : {
2735 "op" : "&",
2736 "left" : {
2737 "type" : "field",
2738 "value" : ["standard_metadata", "ingress_port"]
2739 },
2740 "right" : {
2741 "type" : "hexstr",
2742 "value" : "0xffffffff"
2743 }
2744 }
2745 }
2746 }
2747 ],
2748 "source_info" : {
2749 "filename" : "include/control/port_counter.p4",
2750 "line" : 34,
2751 "column" : 39,
2752 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
2753 }
2754 },
2755 {
2756 "op" : "count",
2757 "parameters" : [
2758 {
2759 "type" : "counter_array",
2760 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
2761 },
2762 {
2763 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002764 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002765 }
2766 ],
2767 "source_info" : {
2768 "filename" : "include/control/port_counter.p4",
2769 "line" : 34,
2770 "column" : 12,
2771 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
2772 }
2773 }
2774 ]
2775 },
2776 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002777 "name" : "act_5",
2778 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002779 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002780 "primitives" : [
2781 {
2782 "op" : "assign",
2783 "parameters" : [
2784 {
2785 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002786 "value" : ["scalars", "bng_ingress_s_tag"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002787 },
2788 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002789 "type" : "field",
2790 "value" : ["vlan_tag", "vlan_id"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002791 }
2792 ],
2793 "source_info" : {
2794 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002795 "line" : 338,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002796 "column" : 16,
2797 "source_fragment" : "s_tag = hdr.vlan_tag.vlan_id"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002798 }
2799 },
2800 {
2801 "op" : "assign",
2802 "parameters" : [
2803 {
2804 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002805 "value" : ["scalars", "bng_ingress_c_tag"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002806 },
2807 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002808 "type" : "field",
2809 "value" : ["inner_vlan_tag", "vlan_id"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002810 }
2811 ],
2812 "source_info" : {
2813 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002814 "line" : 339,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002815 "column" : 16,
2816 "source_fragment" : "c_tag = hdr.inner_vlan_tag.vlan_id"
2817 }
2818 }
2819 ]
2820 },
2821 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002822 "name" : "act_6",
2823 "id" : 42,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002824 "runtime_data" : [],
2825 "primitives" : [
2826 {
2827 "op" : "assign",
2828 "parameters" : [
2829 {
2830 "type" : "field",
2831 "value" : ["scalars", "bng_ingress_s_tag"]
2832 },
2833 {
2834 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002835 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002836 }
2837 ],
2838 "source_info" : {
2839 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002840 "line" : 343,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002841 "column" : 16,
2842 "source_fragment" : "s_tag = fmeta.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002843 }
2844 },
2845 {
2846 "op" : "assign",
2847 "parameters" : [
2848 {
2849 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002850 "value" : ["scalars", "bng_ingress_c_tag"]
2851 },
2852 {
2853 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002854 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002855 }
2856 ],
2857 "source_info" : {
2858 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002859 "line" : 344,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002860 "column" : 16,
2861 "source_fragment" : "c_tag = fmeta.inner_vlan_id; ..."
2862 }
2863 }
2864 ]
2865 },
2866 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002867 "name" : "act_7",
2868 "id" : 43,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002869 "runtime_data" : [],
2870 "primitives" : [
2871 {
2872 "op" : "assign",
2873 "parameters" : [
2874 {
2875 "type" : "field",
2876 "value" : ["scalars", "bng_ingress_upstream_tmp"]
2877 },
2878 {
2879 "type" : "expression",
2880 "value" : {
2881 "type" : "expression",
2882 "value" : {
2883 "op" : "b2d",
2884 "left" : null,
2885 "right" : {
2886 "type" : "bool",
2887 "value" : true
2888 }
2889 }
2890 }
2891 }
2892 ]
2893 }
2894 ]
2895 },
2896 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002897 "name" : "act_8",
2898 "id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002899 "runtime_data" : [],
2900 "primitives" : [
2901 {
2902 "op" : "assign",
2903 "parameters" : [
2904 {
2905 "type" : "field",
2906 "value" : ["scalars", "bng_ingress_upstream_tmp"]
2907 },
2908 {
2909 "type" : "expression",
2910 "value" : {
2911 "type" : "expression",
2912 "value" : {
2913 "op" : "b2d",
2914 "left" : null,
2915 "right" : {
2916 "type" : "bool",
2917 "value" : false
2918 }
2919 }
2920 }
2921 }
2922 ]
2923 }
2924 ]
2925 },
2926 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002927 "name" : "act_9",
2928 "id" : 45,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002929 "runtime_data" : [],
2930 "primitives" : [
2931 {
2932 "op" : "assign",
2933 "parameters" : [
2934 {
2935 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002936 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07002937 },
2938 {
2939 "type" : "hexstr",
2940 "value" : "0x01"
2941 }
2942 ],
2943 "source_info" : {
2944 "filename" : "include/control/../header.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002945 "line" : 161,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002946 "column" : 37,
2947 "source_fragment" : "2w0x1; ..."
2948 }
2949 },
2950 {
2951 "op" : "assign",
2952 "parameters" : [
2953 {
2954 "type" : "field",
2955 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
2956 },
2957 {
2958 "type" : "expression",
2959 "value" : {
2960 "type" : "expression",
2961 "value" : {
2962 "op" : "b2d",
2963 "left" : null,
2964 "right" : {
2965 "type" : "bool",
2966 "value" : false
2967 }
2968 }
2969 }
2970 }
2971 ]
2972 }
2973 ]
2974 },
2975 {
Daniele Moro5a2de712019-09-24 14:34:07 -07002976 "name" : "act_10",
2977 "id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002978 "runtime_data" : [],
2979 "primitives" : [
2980 {
2981 "op" : "assign",
2982 "parameters" : [
2983 {
2984 "type" : "field",
2985 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
2986 },
2987 {
2988 "type" : "expression",
2989 "value" : {
2990 "type" : "expression",
2991 "value" : {
2992 "op" : "b2d",
2993 "left" : null,
2994 "right" : {
2995 "type" : "bool",
2996 "value" : true
2997 }
2998 }
2999 }
3000 }
3001 ],
3002 "source_info" : {
3003 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003004 "line" : 123,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003005 "column" : 12,
3006 "source_fragment" : "return"
3007 }
3008 }
3009 ]
3010 },
3011 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003012 "name" : "act_11",
3013 "id" : 47,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003014 "runtime_data" : [],
3015 "primitives" : [
3016 {
3017 "op" : "count",
3018 "parameters" : [
3019 {
3020 "type" : "counter_array",
3021 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
3022 },
3023 {
3024 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003025 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003026 }
3027 ],
3028 "source_info" : {
3029 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003030 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003031 "column" : 20,
3032 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
3033 }
3034 }
3035 ]
3036 },
3037 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003038 "name" : "act_12",
3039 "id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003040 "runtime_data" : [],
3041 "primitives" : [
3042 {
3043 "op" : "assign",
3044 "parameters" : [
3045 {
3046 "type" : "field",
3047 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3048 },
3049 {
3050 "type" : "expression",
3051 "value" : {
3052 "type" : "expression",
3053 "value" : {
3054 "op" : "b2d",
3055 "left" : null,
3056 "right" : {
3057 "type" : "bool",
3058 "value" : true
3059 }
3060 }
3061 }
3062 }
3063 ]
3064 }
3065 ]
3066 },
3067 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003068 "name" : "act_13",
3069 "id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003070 "runtime_data" : [],
3071 "primitives" : [
3072 {
3073 "op" : "assign",
3074 "parameters" : [
3075 {
3076 "type" : "field",
3077 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3078 },
3079 {
3080 "type" : "expression",
3081 "value" : {
3082 "type" : "expression",
3083 "value" : {
3084 "op" : "b2d",
3085 "left" : null,
3086 "right" : {
3087 "type" : "bool",
3088 "value" : false
3089 }
3090 }
3091 }
3092 }
3093 ]
3094 }
3095 ]
3096 },
3097 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003098 "name" : "act_14",
3099 "id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003100 "runtime_data" : [],
3101 "primitives" : [
3102 {
3103 "op" : "execute_meter",
3104 "parameters" : [
3105 {
3106 "type" : "meter_array",
3107 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
3108 },
3109 {
3110 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003111 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003112 },
3113 {
3114 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003115 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003116 }
3117 ],
3118 "source_info" : {
3119 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003120 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003121 "column" : 24,
3122 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3123 }
3124 }
3125 ]
3126 },
3127 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003128 "name" : "act_15",
3129 "id" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003130 "runtime_data" : [],
3131 "primitives" : [
3132 {
3133 "op" : "execute_meter",
3134 "parameters" : [
3135 {
3136 "type" : "meter_array",
3137 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
3138 },
3139 {
3140 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003141 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003142 },
3143 {
3144 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003145 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003146 }
3147 ],
3148 "source_info" : {
3149 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003150 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003151 "column" : 24,
3152 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
3153 }
3154 }
3155 ]
3156 },
3157 {
3158 "name" : "nop",
Daniele Moro5a2de712019-09-24 14:34:07 -07003159 "id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003160 "runtime_data" : [],
3161 "primitives" : []
3162 },
3163 {
3164 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003165 "id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003166 "runtime_data" : [],
3167 "primitives" : [
3168 {
3169 "op" : "assign",
3170 "parameters" : [
3171 {
3172 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003173 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003174 },
3175 {
3176 "type" : "hexstr",
3177 "value" : "0x8864"
3178 }
3179 ],
3180 "source_info" : {
3181 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003182 "line" : 118,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003183 "column" : 33,
3184 "source_fragment" : "0x8864; ..."
3185 }
3186 },
3187 {
3188 "op" : "add_header",
3189 "parameters" : [
3190 {
3191 "type" : "header",
3192 "value" : "pppoe"
3193 }
3194 ],
3195 "source_info" : {
3196 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003197 "line" : 270,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003198 "column" : 8,
3199 "source_fragment" : "hdr.pppoe.setValid()"
3200 }
3201 },
3202 {
3203 "op" : "assign",
3204 "parameters" : [
3205 {
3206 "type" : "field",
3207 "value" : ["pppoe", "version"]
3208 },
3209 {
3210 "type" : "hexstr",
3211 "value" : "0x01"
3212 }
3213 ],
3214 "source_info" : {
3215 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003216 "line" : 271,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003217 "column" : 8,
3218 "source_fragment" : "hdr.pppoe.version = 4w1"
3219 }
3220 },
3221 {
3222 "op" : "assign",
3223 "parameters" : [
3224 {
3225 "type" : "field",
3226 "value" : ["pppoe", "type_id"]
3227 },
3228 {
3229 "type" : "hexstr",
3230 "value" : "0x01"
3231 }
3232 ],
3233 "source_info" : {
3234 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003235 "line" : 272,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003236 "column" : 8,
3237 "source_fragment" : "hdr.pppoe.type_id = 4w1"
3238 }
3239 },
3240 {
3241 "op" : "assign",
3242 "parameters" : [
3243 {
3244 "type" : "field",
3245 "value" : ["pppoe", "code"]
3246 },
3247 {
3248 "type" : "hexstr",
3249 "value" : "0x00"
3250 }
3251 ],
3252 "source_info" : {
3253 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003254 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003255 "column" : 8,
3256 "source_fragment" : "hdr.pppoe.code = 8w0"
3257 }
3258 },
3259 {
3260 "op" : "assign",
3261 "parameters" : [
3262 {
3263 "type" : "field",
3264 "value" : ["pppoe", "session_id"]
3265 },
3266 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003267 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003268 "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003269 }
3270 ],
3271 "source_info" : {
3272 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003273 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003274 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003275 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003276 }
3277 },
3278 {
3279 "op" : "count",
3280 "parameters" : [
3281 {
3282 "type" : "counter_array",
3283 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
3284 },
3285 {
3286 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003287 "value" : ["scalars", "fabric_metadata_t._bng_line_id20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003288 }
3289 ],
3290 "source_info" : {
3291 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003292 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003293 "column" : 8,
3294 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
3295 }
3296 },
3297 {
3298 "op" : "assign",
3299 "parameters" : [
3300 {
3301 "type" : "field",
3302 "value" : ["pppoe", "length"]
3303 },
3304 {
3305 "type" : "expression",
3306 "value" : {
3307 "type" : "expression",
3308 "value" : {
3309 "op" : "&",
3310 "left" : {
3311 "type" : "expression",
3312 "value" : {
3313 "op" : "+",
3314 "left" : {
3315 "type" : "field",
3316 "value" : ["ipv4", "total_len"]
3317 },
3318 "right" : {
3319 "type" : "hexstr",
3320 "value" : "0x0002"
3321 }
3322 }
3323 },
3324 "right" : {
3325 "type" : "hexstr",
3326 "value" : "0xffff"
3327 }
3328 }
3329 }
3330 }
3331 ],
3332 "source_info" : {
3333 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003334 "line" : 280,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003335 "column" : 8,
3336 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
3337 }
3338 },
3339 {
3340 "op" : "assign",
3341 "parameters" : [
3342 {
3343 "type" : "field",
3344 "value" : ["pppoe", "protocol"]
3345 },
3346 {
3347 "type" : "hexstr",
3348 "value" : "0x0021"
3349 }
3350 ],
3351 "source_info" : {
3352 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003353 "line" : 120,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003354 "column" : 35,
3355 "source_fragment" : "0x0021; ..."
3356 }
3357 }
3358 ]
3359 },
3360 {
3361 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Daniele Moro5a2de712019-09-24 14:34:07 -07003362 "id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003363 "runtime_data" : [],
3364 "primitives" : [
3365 {
3366 "op" : "remove_header",
3367 "parameters" : [
3368 {
3369 "type" : "header",
3370 "value" : "mpls"
3371 }
3372 ],
3373 "source_info" : {
3374 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003375 "line" : 266,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003376 "column" : 8,
3377 "source_fragment" : "hdr.mpls.setInvalid()"
3378 }
3379 },
3380 {
3381 "op" : "assign",
3382 "parameters" : [
3383 {
3384 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003385 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003386 },
3387 {
3388 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003389 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003390 }
3391 ],
3392 "source_info" : {
3393 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003394 "line" : 268,
3395 "column" : 8,
3396 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003397 }
3398 }
3399 ]
3400 },
3401 {
3402 "name" : "FabricEgress.egress_next.set_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07003403 "id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003404 "runtime_data" : [],
3405 "primitives" : [
3406 {
3407 "op" : "add_header",
3408 "parameters" : [
3409 {
3410 "type" : "header",
3411 "value" : "mpls"
3412 }
3413 ],
3414 "source_info" : {
3415 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003416 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003417 "column" : 8,
3418 "source_fragment" : "hdr.mpls.setValid()"
3419 }
3420 },
3421 {
3422 "op" : "assign",
3423 "parameters" : [
3424 {
3425 "type" : "field",
3426 "value" : ["mpls", "label"]
3427 },
3428 {
3429 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003430 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003431 }
3432 ],
3433 "source_info" : {
3434 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003435 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003436 "column" : 8,
3437 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
3438 }
3439 },
3440 {
3441 "op" : "assign",
3442 "parameters" : [
3443 {
3444 "type" : "field",
3445 "value" : ["mpls", "tc"]
3446 },
3447 {
3448 "type" : "hexstr",
3449 "value" : "0x00"
3450 }
3451 ],
3452 "source_info" : {
3453 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003454 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003455 "column" : 8,
3456 "source_fragment" : "hdr.mpls.tc = 3w0"
3457 }
3458 },
3459 {
3460 "op" : "assign",
3461 "parameters" : [
3462 {
3463 "type" : "field",
3464 "value" : ["mpls", "bos"]
3465 },
3466 {
3467 "type" : "hexstr",
3468 "value" : "0x01"
3469 }
3470 ],
3471 "source_info" : {
3472 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003473 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003474 "column" : 8,
3475 "source_fragment" : "hdr.mpls.bos = 1w1"
3476 }
3477 },
3478 {
3479 "op" : "assign",
3480 "parameters" : [
3481 {
3482 "type" : "field",
3483 "value" : ["mpls", "ttl"]
3484 },
3485 {
3486 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003487 "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003488 }
3489 ],
3490 "source_info" : {
3491 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003492 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003493 "column" : 8,
3494 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
3495 }
3496 },
3497 {
3498 "op" : "assign",
3499 "parameters" : [
3500 {
3501 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003502 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003503 },
3504 {
3505 "type" : "hexstr",
3506 "value" : "0x8847"
3507 }
3508 ],
3509 "source_info" : {
3510 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003511 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003512 "column" : 31,
3513 "source_fragment" : "0x8847; ..."
3514 }
3515 }
3516 ]
3517 },
3518 {
3519 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07003520 "id" : 56,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003521 "runtime_data" : [],
3522 "primitives" : [
3523 {
3524 "op" : "add_header",
3525 "parameters" : [
3526 {
3527 "type" : "header",
3528 "value" : "vlan_tag"
3529 }
3530 ],
3531 "source_info" : {
3532 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003533 "line" : 285,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003534 "column" : 8,
3535 "source_fragment" : "hdr.vlan_tag.setValid()"
3536 }
3537 },
3538 {
3539 "op" : "assign",
3540 "parameters" : [
3541 {
3542 "type" : "field",
3543 "value" : ["vlan_tag", "cfi"]
3544 },
3545 {
3546 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003547 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003548 }
3549 ],
3550 "source_info" : {
3551 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003552 "line" : 286,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003553 "column" : 8,
3554 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3555 }
3556 },
3557 {
3558 "op" : "assign",
3559 "parameters" : [
3560 {
3561 "type" : "field",
3562 "value" : ["vlan_tag", "pri"]
3563 },
3564 {
3565 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003566 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003567 }
3568 ],
3569 "source_info" : {
3570 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003571 "line" : 287,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003572 "column" : 8,
3573 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3574 }
3575 },
3576 {
3577 "op" : "assign",
3578 "parameters" : [
3579 {
3580 "type" : "field",
3581 "value" : ["vlan_tag", "eth_type"]
3582 },
3583 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003584 "type" : "hexstr",
3585 "value" : "0x8100"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003586 }
3587 ],
3588 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003589 "filename" : "include/control/../define.p4",
3590 "line" : 111,
3591 "column" : 31,
3592 "source_fragment" : "0x8100; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003593 }
3594 },
3595 {
3596 "op" : "assign",
3597 "parameters" : [
3598 {
3599 "type" : "field",
3600 "value" : ["vlan_tag", "vlan_id"]
3601 },
3602 {
3603 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003604 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003605 }
3606 ],
3607 "source_info" : {
3608 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003609 "line" : 289,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003610 "column" : 8,
3611 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3612 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003613 }
3614 ]
3615 },
3616 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003617 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07003618 "id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003619 "runtime_data" : [],
3620 "primitives" : [
3621 {
3622 "op" : "add_header",
3623 "parameters" : [
3624 {
3625 "type" : "header",
3626 "value" : "vlan_tag"
3627 }
3628 ],
3629 "source_info" : {
3630 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003631 "line" : 285,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003632 "column" : 8,
3633 "source_fragment" : "hdr.vlan_tag.setValid()"
3634 }
3635 },
3636 {
3637 "op" : "assign",
3638 "parameters" : [
3639 {
3640 "type" : "field",
3641 "value" : ["vlan_tag", "cfi"]
3642 },
3643 {
3644 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003645 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003646 }
3647 ],
3648 "source_info" : {
3649 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003650 "line" : 286,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003651 "column" : 8,
3652 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3653 }
3654 },
3655 {
3656 "op" : "assign",
3657 "parameters" : [
3658 {
3659 "type" : "field",
3660 "value" : ["vlan_tag", "pri"]
3661 },
3662 {
3663 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003664 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003665 }
3666 ],
3667 "source_info" : {
3668 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003669 "line" : 287,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003670 "column" : 8,
3671 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3672 }
3673 },
3674 {
3675 "op" : "assign",
3676 "parameters" : [
3677 {
3678 "type" : "field",
3679 "value" : ["vlan_tag", "eth_type"]
3680 },
3681 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003682 "type" : "hexstr",
3683 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003684 }
3685 ],
3686 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003687 "filename" : "include/control/../define.p4",
3688 "line" : 111,
3689 "column" : 31,
3690 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003691 }
3692 },
3693 {
3694 "op" : "assign",
3695 "parameters" : [
3696 {
3697 "type" : "field",
3698 "value" : ["vlan_tag", "vlan_id"]
3699 },
3700 {
3701 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003702 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003703 }
3704 ],
3705 "source_info" : {
3706 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003707 "line" : 289,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003708 "column" : 8,
3709 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3710 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07003711 }
3712 ]
3713 },
3714 {
3715 "name" : "FabricEgress.egress_next.push_inner_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07003716 "id" : 58,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003717 "runtime_data" : [],
3718 "primitives" : [
3719 {
3720 "op" : "add_header",
3721 "parameters" : [
3722 {
3723 "type" : "header",
3724 "value" : "inner_vlan_tag"
3725 }
3726 ],
3727 "source_info" : {
3728 "filename" : "include/control/next.p4",
3729 "line" : 296,
3730 "column" : 8,
3731 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
3732 }
3733 },
3734 {
3735 "op" : "assign",
3736 "parameters" : [
3737 {
3738 "type" : "field",
3739 "value" : ["inner_vlan_tag", "cfi"]
3740 },
3741 {
3742 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003743 "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003744 }
3745 ],
3746 "source_info" : {
3747 "filename" : "include/control/next.p4",
3748 "line" : 297,
3749 "column" : 8,
3750 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
3751 }
3752 },
3753 {
3754 "op" : "assign",
3755 "parameters" : [
3756 {
3757 "type" : "field",
3758 "value" : ["inner_vlan_tag", "pri"]
3759 },
3760 {
3761 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003762 "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003763 }
3764 ],
3765 "source_info" : {
3766 "filename" : "include/control/next.p4",
3767 "line" : 298,
3768 "column" : 8,
3769 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
3770 }
3771 },
3772 {
3773 "op" : "assign",
3774 "parameters" : [
3775 {
3776 "type" : "field",
3777 "value" : ["inner_vlan_tag", "vlan_id"]
3778 },
3779 {
3780 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003781 "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003782 }
3783 ],
3784 "source_info" : {
3785 "filename" : "include/control/next.p4",
3786 "line" : 299,
3787 "column" : 8,
3788 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
3789 }
3790 },
3791 {
3792 "op" : "assign",
3793 "parameters" : [
3794 {
3795 "type" : "field",
3796 "value" : ["inner_vlan_tag", "eth_type"]
3797 },
3798 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003799 "type" : "hexstr",
3800 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07003801 }
3802 ],
3803 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07003804 "filename" : "include/control/../define.p4",
3805 "line" : 111,
3806 "column" : 31,
3807 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07003808 }
3809 },
3810 {
3811 "op" : "assign",
3812 "parameters" : [
3813 {
3814 "type" : "field",
3815 "value" : ["vlan_tag", "eth_type"]
3816 },
3817 {
3818 "type" : "hexstr",
3819 "value" : "0x8100"
3820 }
3821 ],
3822 "source_info" : {
3823 "filename" : "include/control/../define.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003824 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003825 "column" : 31,
3826 "source_fragment" : "0x8100; ..."
3827 }
3828 }
3829 ]
3830 },
3831 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003832 "name" : "FabricEgress.egress_next.pop_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07003833 "id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003834 "runtime_data" : [],
3835 "primitives" : [
3836 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003837 "op" : "remove_header",
3838 "parameters" : [
3839 {
3840 "type" : "header",
3841 "value" : "vlan_tag"
3842 }
3843 ],
3844 "source_info" : {
3845 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003846 "line" : 312,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003847 "column" : 8,
3848 "source_fragment" : "hdr.vlan_tag.setInvalid()"
3849 }
3850 }
3851 ]
3852 },
3853 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003854 "name" : "act_16",
3855 "id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003856 "runtime_data" : [],
3857 "primitives" : [
3858 {
3859 "op" : "exit",
3860 "parameters" : [],
3861 "source_info" : {
3862 "filename" : "include/control/packetio.p4",
3863 "line" : 41,
3864 "column" : 12,
3865 "source_fragment" : "exit"
3866 }
3867 }
3868 ]
3869 },
3870 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003871 "name" : "act_17",
3872 "id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003873 "runtime_data" : [],
3874 "primitives" : [
3875 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003876 "op" : "add_header",
3877 "parameters" : [
3878 {
3879 "type" : "header",
3880 "value" : "packet_in"
3881 }
3882 ],
3883 "source_info" : {
3884 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003885 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003886 "column" : 12,
3887 "source_fragment" : "hdr.packet_in.setValid()"
3888 }
3889 },
3890 {
3891 "op" : "assign",
3892 "parameters" : [
3893 {
3894 "type" : "field",
3895 "value" : ["packet_in", "ingress_port"]
3896 },
3897 {
3898 "type" : "field",
3899 "value" : ["standard_metadata", "ingress_port"]
3900 }
3901 ],
3902 "source_info" : {
3903 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003904 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003905 "column" : 12,
3906 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
3907 }
3908 },
3909 {
3910 "op" : "exit",
3911 "parameters" : [],
3912 "source_info" : {
3913 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003914 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003915 "column" : 12,
3916 "source_fragment" : "exit"
3917 }
3918 }
3919 ]
3920 },
3921 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003922 "name" : "act_18",
3923 "id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003924 "runtime_data" : [],
3925 "primitives" : [
3926 {
3927 "op" : "mark_to_drop",
3928 "parameters" : [
3929 {
3930 "type" : "header",
3931 "value" : "standard_metadata"
3932 }
3933 ],
3934 "source_info" : {
3935 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07003936 "line" : 333,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003937 "column" : 12,
3938 "source_fragment" : "mark_to_drop(standard_metadata)"
3939 }
3940 }
3941 ]
3942 },
3943 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003944 "name" : "act_19",
3945 "id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003946 "runtime_data" : [],
3947 "primitives" : [
3948 {
3949 "op" : "assign",
3950 "parameters" : [
3951 {
3952 "type" : "field",
3953 "value" : ["scalars", "egress_next_tmp"]
3954 },
3955 {
3956 "type" : "expression",
3957 "value" : {
3958 "type" : "expression",
3959 "value" : {
3960 "op" : "b2d",
3961 "left" : null,
3962 "right" : {
3963 "type" : "bool",
3964 "value" : true
3965 }
3966 }
3967 }
3968 }
3969 ]
3970 }
3971 ]
3972 },
3973 {
Daniele Moro5a2de712019-09-24 14:34:07 -07003974 "name" : "act_20",
3975 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003976 "runtime_data" : [],
3977 "primitives" : [
3978 {
3979 "op" : "assign",
3980 "parameters" : [
3981 {
3982 "type" : "field",
3983 "value" : ["scalars", "egress_next_tmp"]
3984 },
3985 {
3986 "type" : "expression",
3987 "value" : {
3988 "type" : "expression",
3989 "value" : {
3990 "op" : "b2d",
3991 "left" : null,
3992 "right" : {
3993 "type" : "bool",
3994 "value" : false
3995 }
3996 }
3997 }
3998 }
3999 ]
4000 }
4001 ]
4002 },
4003 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004004 "name" : "act_21",
4005 "id" : 65,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004006 "runtime_data" : [],
4007 "primitives" : [
4008 {
4009 "op" : "remove_header",
4010 "parameters" : [
4011 {
4012 "type" : "header",
4013 "value" : "inner_vlan_tag"
4014 }
4015 ],
4016 "source_info" : {
4017 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004018 "line" : 349,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004019 "column" : 12,
4020 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
4021 }
4022 }
4023 ]
4024 },
4025 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004026 "name" : "act_22",
4027 "id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004028 "runtime_data" : [],
4029 "primitives" : [
4030 {
4031 "op" : "mark_to_drop",
4032 "parameters" : [
4033 {
4034 "type" : "header",
4035 "value" : "standard_metadata"
4036 }
4037 ],
4038 "source_info" : {
4039 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004040 "line" : 366,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004041 "column" : 35,
4042 "source_fragment" : "mark_to_drop(standard_metadata)"
4043 }
4044 }
4045 ]
4046 },
4047 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004048 "name" : "act_23",
4049 "id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004050 "runtime_data" : [],
4051 "primitives" : [
4052 {
4053 "op" : "assign",
4054 "parameters" : [
4055 {
4056 "type" : "field",
4057 "value" : ["mpls", "ttl"]
4058 },
4059 {
4060 "type" : "expression",
4061 "value" : {
4062 "type" : "expression",
4063 "value" : {
4064 "op" : "&",
4065 "left" : {
4066 "type" : "expression",
4067 "value" : {
4068 "op" : "+",
4069 "left" : {
4070 "type" : "field",
4071 "value" : ["mpls", "ttl"]
4072 },
4073 "right" : {
4074 "type" : "hexstr",
4075 "value" : "0xff"
4076 }
4077 }
4078 },
4079 "right" : {
4080 "type" : "hexstr",
4081 "value" : "0xff"
4082 }
4083 }
4084 }
4085 }
4086 ],
4087 "source_info" : {
4088 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004089 "line" : 365,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004090 "column" : 12,
4091 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
4092 }
4093 }
4094 ]
4095 },
4096 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004097 "name" : "act_24",
4098 "id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004099 "runtime_data" : [],
4100 "primitives" : [
4101 {
4102 "op" : "mark_to_drop",
4103 "parameters" : [
4104 {
4105 "type" : "header",
4106 "value" : "standard_metadata"
4107 }
4108 ],
4109 "source_info" : {
4110 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004111 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004112 "column" : 39,
4113 "source_fragment" : "mark_to_drop(standard_metadata)"
4114 }
4115 }
4116 ]
4117 },
4118 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004119 "name" : "act_25",
4120 "id" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004121 "runtime_data" : [],
4122 "primitives" : [
4123 {
4124 "op" : "assign",
4125 "parameters" : [
4126 {
4127 "type" : "field",
4128 "value" : ["ipv4", "ttl"]
4129 },
4130 {
4131 "type" : "expression",
4132 "value" : {
4133 "type" : "expression",
4134 "value" : {
4135 "op" : "&",
4136 "left" : {
4137 "type" : "expression",
4138 "value" : {
4139 "op" : "+",
4140 "left" : {
4141 "type" : "field",
4142 "value" : ["ipv4", "ttl"]
4143 },
4144 "right" : {
4145 "type" : "hexstr",
4146 "value" : "0xff"
4147 }
4148 }
4149 },
4150 "right" : {
4151 "type" : "hexstr",
4152 "value" : "0xff"
4153 }
4154 }
4155 }
4156 }
4157 ],
4158 "source_info" : {
4159 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004160 "line" : 369,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004161 "column" : 16,
4162 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4163 }
4164 }
4165 ]
4166 }
4167 ],
4168 "pipelines" : [
4169 {
4170 "name" : "ingress",
4171 "id" : 0,
4172 "source_info" : {
4173 "filename" : "fabric.p4",
4174 "line" : 46,
4175 "column" : 8,
4176 "source_fragment" : "FabricIngress"
4177 },
4178 "init_table" : "node_2",
4179 "tables" : [
4180 {
4181 "name" : "tbl_act",
4182 "id" : 0,
4183 "source_info" : {
4184 "filename" : "include/control/packetio.p4",
4185 "line" : 25,
4186 "column" : 42,
4187 "source_fragment" : "= hdr.packet_out.egress_port; ..."
4188 },
4189 "key" : [],
4190 "match_type" : "exact",
4191 "type" : "simple",
4192 "max_size" : 1024,
4193 "with_counters" : false,
4194 "support_timeout" : false,
4195 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004196 "action_ids" : [35],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004197 "actions" : ["act"],
4198 "base_default_next" : "node_4",
4199 "next_tables" : {
4200 "act" : "node_4"
4201 },
4202 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004203 "action_id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004204 "action_const" : true,
4205 "action_data" : [],
4206 "action_entry_const" : true
4207 }
4208 },
4209 {
4210 "name" : "tbl_act_0",
4211 "id" : 1,
4212 "source_info" : {
4213 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004214 "line" : 109,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004215 "column" : 36,
4216 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004217 },
4218 "key" : [],
4219 "match_type" : "exact",
4220 "type" : "simple",
4221 "max_size" : 1024,
4222 "with_counters" : false,
4223 "support_timeout" : false,
4224 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004225 "action_ids" : [36],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004226 "actions" : ["act_0"],
4227 "base_default_next" : "node_6",
4228 "next_tables" : {
4229 "act_0" : "node_6"
4230 },
4231 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004232 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004233 "action_const" : true,
4234 "action_data" : [],
4235 "action_entry_const" : true
4236 }
4237 },
4238 {
4239 "name" : "tbl_act_1",
4240 "id" : 2,
4241 "source_info" : {
4242 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004243 "line" : 115,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004244 "column" : 42,
4245 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
4246 },
4247 "key" : [],
4248 "match_type" : "exact",
4249 "type" : "simple",
4250 "max_size" : 1024,
4251 "with_counters" : false,
4252 "support_timeout" : false,
4253 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004254 "action_ids" : [37],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004255 "actions" : ["act_1"],
4256 "base_default_next" : "node_8",
4257 "next_tables" : {
4258 "act_1" : "node_8"
4259 },
4260 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004261 "action_id" : 37,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004262 "action_const" : true,
4263 "action_data" : [],
4264 "action_entry_const" : true
4265 }
4266 },
4267 {
4268 "name" : "tbl_act_2",
4269 "id" : 3,
4270 "source_info" : {
4271 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004272 "line" : 125,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004273 "column" : 37,
4274 "source_fragment" : "="
4275 },
4276 "key" : [],
4277 "match_type" : "exact",
4278 "type" : "simple",
4279 "max_size" : 1024,
4280 "with_counters" : false,
4281 "support_timeout" : false,
4282 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004283 "action_ids" : [38],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004284 "actions" : ["act_2"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004285 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4286 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004287 "act_2" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004288 },
4289 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004290 "action_id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004291 "action_const" : true,
4292 "action_data" : [],
4293 "action_entry_const" : true
4294 }
4295 },
4296 {
4297 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004298 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004299 "source_info" : {
4300 "filename" : "include/control/filtering.p4",
4301 "line" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004302 "column" : 10,
4303 "source_fragment" : "ingress_port_vlan"
4304 },
4305 "key" : [
4306 {
4307 "match_type" : "exact",
4308 "name" : "ig_port",
4309 "target" : ["standard_metadata", "ingress_port"],
4310 "mask" : null
4311 },
4312 {
4313 "match_type" : "exact",
4314 "name" : "vlan_is_valid",
4315 "target" : ["vlan_tag", "$valid$"],
4316 "mask" : null
4317 },
4318 {
4319 "match_type" : "ternary",
4320 "name" : "vlan_id",
4321 "target" : ["vlan_tag", "vlan_id"],
4322 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07004323 },
4324 {
4325 "match_type" : "ternary",
4326 "name" : "inner_vlan_id",
4327 "target" : ["inner_vlan_tag", "vlan_id"],
4328 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004329 }
4330 ],
4331 "match_type" : "ternary",
4332 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004333 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004334 "with_counters" : true,
4335 "support_timeout" : false,
4336 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004337 "action_ids" : [16, 17, 18],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004338 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
4339 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
4340 "next_tables" : {
4341 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
4342 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
4343 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
4344 },
4345 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004346 "action_id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004347 "action_const" : true,
4348 "action_data" : [],
4349 "action_entry_const" : true
4350 }
4351 },
4352 {
4353 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro5a2de712019-09-24 14:34:07 -07004354 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004355 "source_info" : {
4356 "filename" : "include/control/filtering.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004357 "line" : 90,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004358 "column" : 10,
4359 "source_fragment" : "fwd_classifier"
4360 },
4361 "key" : [
4362 {
4363 "match_type" : "exact",
4364 "name" : "ig_port",
4365 "target" : ["standard_metadata", "ingress_port"],
4366 "mask" : null
4367 },
4368 {
4369 "match_type" : "ternary",
4370 "name" : "eth_dst",
4371 "target" : ["ethernet", "dst_addr"],
4372 "mask" : null
4373 },
4374 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004375 "match_type" : "ternary",
4376 "name" : "eth_type",
4377 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004378 "mask" : null
4379 },
4380 {
4381 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07004382 "name" : "ip_eth_type",
4383 "target" : ["scalars", "fabric_metadata_t._ip_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004384 "mask" : null
4385 }
4386 ],
4387 "match_type" : "ternary",
4388 "type" : "simple",
4389 "max_size" : 1024,
4390 "with_counters" : true,
4391 "support_timeout" : false,
4392 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004393 "action_ids" : [19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004394 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004395 "base_default_next" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004396 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004397 "FabricIngress.filtering.set_forwarding_type" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004398 },
4399 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004400 "action_id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004401 "action_const" : true,
4402 "action_data" : ["0x0"],
4403 "action_entry_const" : true
4404 }
4405 },
4406 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004407 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07004408 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004409 "source_info" : {
4410 "filename" : "include/control/forwarding.p4",
4411 "line" : 46,
4412 "column" : 10,
4413 "source_fragment" : "bridging"
4414 },
4415 "key" : [
4416 {
4417 "match_type" : "exact",
4418 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004419 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004420 "mask" : null
4421 },
4422 {
4423 "match_type" : "ternary",
4424 "name" : "eth_dst",
4425 "target" : ["ethernet", "dst_addr"],
4426 "mask" : null
4427 }
4428 ],
4429 "match_type" : "ternary",
4430 "type" : "simple",
4431 "max_size" : 1024,
4432 "with_counters" : true,
4433 "support_timeout" : false,
4434 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004435 "action_ids" : [20, 2],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004436 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
4437 "base_default_next" : "FabricIngress.acl.acl",
4438 "next_tables" : {
4439 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
4440 "nop" : "FabricIngress.acl.acl"
4441 },
4442 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004443 "action_id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004444 "action_const" : true,
4445 "action_data" : [],
4446 "action_entry_const" : true
4447 }
4448 },
4449 {
4450 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07004451 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004452 "source_info" : {
4453 "filename" : "include/control/forwarding.p4",
4454 "line" : 71,
4455 "column" : 10,
4456 "source_fragment" : "mpls"
4457 },
4458 "key" : [
4459 {
4460 "match_type" : "exact",
4461 "name" : "mpls_label",
Daniele Moro5a2de712019-09-24 14:34:07 -07004462 "target" : ["scalars", "fabric_metadata_t._mpls_label8"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004463 "mask" : null
4464 }
4465 ],
4466 "match_type" : "exact",
4467 "type" : "simple",
4468 "max_size" : 1024,
4469 "with_counters" : true,
4470 "support_timeout" : false,
4471 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004472 "action_ids" : [21, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004473 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
4474 "base_default_next" : "FabricIngress.acl.acl",
4475 "next_tables" : {
4476 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
4477 "nop" : "FabricIngress.acl.acl"
4478 },
4479 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004480 "action_id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004481 "action_const" : true,
4482 "action_data" : [],
4483 "action_entry_const" : true
4484 }
4485 },
4486 {
4487 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004488 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004489 "source_info" : {
4490 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004491 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004492 "column" : 10,
4493 "source_fragment" : "routing_v4"
4494 },
4495 "key" : [
4496 {
4497 "match_type" : "lpm",
4498 "name" : "ipv4_dst",
4499 "target" : ["ipv4", "dst_addr"],
4500 "mask" : null
4501 }
4502 ],
4503 "match_type" : "lpm",
4504 "type" : "simple",
4505 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07004506 "with_counters" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004507 "support_timeout" : false,
4508 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004509 "action_ids" : [22, 23, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004510 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
4511 "base_default_next" : "FabricIngress.acl.acl",
4512 "next_tables" : {
4513 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
4514 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
4515 "nop" : "FabricIngress.acl.acl"
4516 },
4517 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004518 "action_id" : 4,
CyberHasHe9ba39c2019-10-11 05:59:12 +08004519 "action_const" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004520 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08004521 "action_entry_const" : false
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004522 }
4523 },
4524 {
4525 "name" : "FabricIngress.acl.acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07004526 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004527 "source_info" : {
4528 "filename" : "include/control/acl.p4",
4529 "line" : 60,
4530 "column" : 10,
4531 "source_fragment" : "acl"
4532 },
4533 "key" : [
4534 {
4535 "match_type" : "ternary",
4536 "name" : "ig_port",
4537 "target" : ["standard_metadata", "ingress_port"],
4538 "mask" : null
4539 },
4540 {
4541 "match_type" : "ternary",
4542 "name" : "ip_proto",
Daniele Moro5a2de712019-09-24 14:34:07 -07004543 "target" : ["scalars", "fabric_metadata_t._ip_proto16"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004544 "mask" : null
4545 },
4546 {
4547 "match_type" : "ternary",
4548 "name" : "l4_sport",
Daniele Moro5a2de712019-09-24 14:34:07 -07004549 "target" : ["scalars", "fabric_metadata_t._l4_sport17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004550 "mask" : null
4551 },
4552 {
4553 "match_type" : "ternary",
4554 "name" : "l4_dport",
Daniele Moro5a2de712019-09-24 14:34:07 -07004555 "target" : ["scalars", "fabric_metadata_t._l4_dport18"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004556 "mask" : null
4557 },
4558 {
4559 "match_type" : "ternary",
4560 "name" : "eth_src",
4561 "target" : ["ethernet", "dst_addr"],
4562 "mask" : null
4563 },
4564 {
4565 "match_type" : "ternary",
4566 "name" : "eth_dst",
4567 "target" : ["ethernet", "src_addr"],
4568 "mask" : null
4569 },
4570 {
4571 "match_type" : "ternary",
4572 "name" : "vlan_id",
4573 "target" : ["vlan_tag", "vlan_id"],
4574 "mask" : null
4575 },
4576 {
4577 "match_type" : "ternary",
4578 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07004579 "target" : ["eth_type", "value"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004580 "mask" : null
4581 },
4582 {
4583 "match_type" : "ternary",
4584 "name" : "ipv4_src",
4585 "target" : ["ipv4", "src_addr"],
4586 "mask" : null
4587 },
4588 {
4589 "match_type" : "ternary",
4590 "name" : "ipv4_dst",
4591 "target" : ["ipv4", "dst_addr"],
4592 "mask" : null
4593 },
4594 {
4595 "match_type" : "ternary",
4596 "name" : "icmp_type",
4597 "target" : ["icmp", "icmp_type"],
4598 "mask" : null
4599 },
4600 {
4601 "match_type" : "ternary",
4602 "name" : "icmp_code",
4603 "target" : ["icmp", "icmp_code"],
4604 "mask" : null
4605 }
4606 ],
4607 "match_type" : "ternary",
4608 "type" : "simple",
4609 "max_size" : 1024,
4610 "with_counters" : true,
4611 "support_timeout" : false,
4612 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004613 "action_ids" : [24, 25, 26, 27, 28],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004614 "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 -07004615 "base_default_next" : "node_20",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004616 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004617 "FabricIngress.acl.set_next_id_acl" : "node_20",
4618 "FabricIngress.acl.punt_to_cpu" : "node_20",
4619 "FabricIngress.acl.set_clone_session_id" : "node_20",
4620 "FabricIngress.acl.drop" : "node_20",
4621 "FabricIngress.acl.nop_acl" : "node_20"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004622 },
4623 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004624 "action_id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004625 "action_const" : true,
4626 "action_data" : [],
4627 "action_entry_const" : true
4628 }
4629 },
4630 {
4631 "name" : "FabricIngress.next.hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07004632 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004633 "source_info" : {
4634 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004635 "line" : 198,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004636 "column" : 10,
4637 "source_fragment" : "hashed"
4638 },
4639 "key" : [
4640 {
4641 "match_type" : "exact",
4642 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004643 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004644 "mask" : null
4645 }
4646 ],
4647 "match_type" : "exact",
4648 "type" : "indirect_ws",
4649 "action_profile" : "FabricIngress.next.hashed_selector",
4650 "max_size" : 1024,
4651 "with_counters" : true,
4652 "support_timeout" : false,
4653 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004654 "action_ids" : [31, 32, 33, 6],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004655 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
4656 "base_default_next" : "FabricIngress.next.multicast",
4657 "next_tables" : {
4658 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
4659 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
4660 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
4661 "nop" : "FabricIngress.next.multicast"
4662 }
4663 },
4664 {
4665 "name" : "FabricIngress.next.multicast",
Daniele Moro5a2de712019-09-24 14:34:07 -07004666 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004667 "source_info" : {
4668 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004669 "line" : 232,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004670 "column" : 10,
4671 "source_fragment" : "multicast"
4672 },
4673 "key" : [
4674 {
4675 "match_type" : "exact",
4676 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004677 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004678 "mask" : null
4679 }
4680 ],
4681 "match_type" : "exact",
4682 "type" : "simple",
4683 "max_size" : 1024,
4684 "with_counters" : true,
4685 "support_timeout" : false,
4686 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004687 "action_ids" : [34, 7],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004688 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
4689 "base_default_next" : "FabricIngress.next.next_vlan",
4690 "next_tables" : {
4691 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
4692 "nop" : "FabricIngress.next.next_vlan"
4693 },
4694 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004695 "action_id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004696 "action_const" : true,
4697 "action_data" : [],
4698 "action_entry_const" : true
4699 }
4700 },
4701 {
4702 "name" : "FabricIngress.next.next_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07004703 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004704 "source_info" : {
4705 "filename" : "include/control/next.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004706 "line" : 82,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004707 "column" : 10,
4708 "source_fragment" : "next_vlan"
4709 },
4710 "key" : [
4711 {
4712 "match_type" : "exact",
4713 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07004714 "target" : ["scalars", "fabric_metadata_t._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004715 "mask" : null
4716 }
4717 ],
4718 "match_type" : "exact",
4719 "type" : "simple",
4720 "max_size" : 1024,
4721 "with_counters" : true,
4722 "support_timeout" : false,
4723 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004724 "action_ids" : [29, 30, 5],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004725 "actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
Daniele Moro5a2de712019-09-24 14:34:07 -07004726 "base_default_next" : "node_24",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004727 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004728 "FabricIngress.next.set_vlan" : "node_24",
4729 "FabricIngress.next.set_double_vlan" : "node_24",
4730 "nop" : "node_24"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004731 },
4732 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004733 "action_id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004734 "action_const" : true,
4735 "action_data" : [],
4736 "action_entry_const" : true
4737 }
4738 },
4739 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004740 "name" : "tbl_act_3",
4741 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004742 "source_info" : {
4743 "filename" : "include/control/port_counter.p4",
4744 "line" : 31,
4745 "column" : 12,
4746 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4747 },
4748 "key" : [],
4749 "match_type" : "exact",
4750 "type" : "simple",
4751 "max_size" : 1024,
4752 "with_counters" : false,
4753 "support_timeout" : false,
4754 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004755 "action_ids" : [39],
4756 "actions" : ["act_3"],
4757 "base_default_next" : "node_26",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004758 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004759 "act_3" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004760 },
4761 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004762 "action_id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004763 "action_const" : true,
4764 "action_data" : [],
4765 "action_entry_const" : true
4766 }
4767 },
4768 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004769 "name" : "tbl_act_4",
4770 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004771 "source_info" : {
4772 "filename" : "include/control/port_counter.p4",
4773 "line" : 34,
4774 "column" : 12,
4775 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4776 },
4777 "key" : [],
4778 "match_type" : "exact",
4779 "type" : "simple",
4780 "max_size" : 1024,
4781 "with_counters" : false,
4782 "support_timeout" : false,
4783 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004784 "action_ids" : [40],
4785 "actions" : ["act_4"],
4786 "base_default_next" : "node_28",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004787 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004788 "act_4" : "node_28"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004789 },
4790 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004791 "action_id" : 40,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004792 "action_const" : true,
4793 "action_data" : [],
4794 "action_entry_const" : true
4795 }
4796 },
4797 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004798 "name" : "tbl_act_5",
4799 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004800 "source_info" : {
4801 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004802 "line" : 338,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004803 "column" : 22,
4804 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
4805 },
4806 "key" : [],
4807 "match_type" : "exact",
4808 "type" : "simple",
4809 "max_size" : 1024,
4810 "with_counters" : false,
4811 "support_timeout" : false,
4812 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004813 "action_ids" : [41],
4814 "actions" : ["act_5"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004815 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
4816 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004817 "act_5" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004818 },
4819 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004820 "action_id" : 41,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004821 "action_const" : true,
4822 "action_data" : [],
4823 "action_entry_const" : true
4824 }
4825 },
4826 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004827 "name" : "tbl_act_6",
4828 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004829 "source_info" : {
4830 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004831 "line" : 343,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004832 "column" : 22,
4833 "source_fragment" : "= fmeta.vlan_id; ..."
4834 },
4835 "key" : [],
4836 "match_type" : "exact",
4837 "type" : "simple",
4838 "max_size" : 1024,
4839 "with_counters" : false,
4840 "support_timeout" : false,
4841 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004842 "action_ids" : [42],
4843 "actions" : ["act_6"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004844 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
4845 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004846 "act_6" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004847 },
4848 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004849 "action_id" : 42,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004850 "action_const" : true,
4851 "action_data" : [],
4852 "action_entry_const" : true
4853 }
4854 },
4855 {
4856 "name" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro5a2de712019-09-24 14:34:07 -07004857 "id" : 17,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004858 "source_info" : {
4859 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004860 "line" : 323,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004861 "column" : 14,
4862 "source_fragment" : "t_line_map"
4863 },
4864 "key" : [
4865 {
4866 "match_type" : "exact",
4867 "name" : "s_tag",
4868 "target" : ["scalars", "bng_ingress_s_tag"],
4869 "mask" : null
4870 },
4871 {
4872 "match_type" : "exact",
4873 "name" : "c_tag",
4874 "target" : ["scalars", "bng_ingress_c_tag"],
4875 "mask" : null
4876 }
4877 ],
4878 "match_type" : "exact",
4879 "type" : "simple",
4880 "max_size" : 8192,
4881 "with_counters" : false,
4882 "support_timeout" : false,
4883 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004884 "action_ids" : [15],
4885 "actions" : ["FabricIngress.bng_ingress.set_line"],
4886 "base_default_next" : "node_32",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004887 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004888 "FabricIngress.bng_ingress.set_line" : "node_32"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004889 },
4890 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004891 "action_id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004892 "action_const" : true,
Daniele Moro5a2de712019-09-24 14:34:07 -07004893 "action_data" : ["0x0"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004894 "action_entry_const" : true
4895 }
4896 },
4897 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004898 "name" : "tbl_act_7",
4899 "id" : 18,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004900 "source_info" : {
4901 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07004902 "line" : 352,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004903 "column" : 31,
4904 "source_fragment" : "="
4905 },
4906 "key" : [],
4907 "match_type" : "exact",
4908 "type" : "simple",
4909 "max_size" : 1024,
4910 "with_counters" : false,
4911 "support_timeout" : false,
4912 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004913 "action_ids" : [45],
4914 "actions" : ["act_9"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004915 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
4916 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004917 "act_9" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004918 },
4919 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004920 "action_id" : 45,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004921 "action_const" : true,
4922 "action_data" : [],
4923 "action_entry_const" : true
4924 }
4925 },
4926 {
4927 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
Daniele Moro5a2de712019-09-24 14:34:07 -07004928 "id" : 19,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004929 "source_info" : {
4930 "filename" : "include/bng.p4",
4931 "line" : 48,
4932 "column" : 10,
4933 "source_fragment" : "t_pppoe_cp"
4934 },
4935 "key" : [
4936 {
4937 "match_type" : "exact",
4938 "name" : "pppoe_code",
4939 "target" : ["pppoe", "code"],
4940 "mask" : null
4941 },
4942 {
4943 "match_type" : "ternary",
4944 "name" : "pppoe_protocol",
4945 "target" : ["pppoe", "protocol"],
4946 "mask" : null
4947 }
4948 ],
4949 "match_type" : "ternary",
4950 "type" : "simple",
4951 "max_size" : 16,
4952 "with_counters" : false,
4953 "support_timeout" : false,
4954 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004955 "action_ids" : [8, 0],
Daniele Moro7c3a0022019-07-12 13:38:34 -07004956 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004957 "base_default_next" : null,
4958 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004959 "__HIT__" : "tbl_act_8",
4960 "__MISS__" : "tbl_act_9"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004961 },
4962 "default_entry" : {
4963 "action_id" : 0,
4964 "action_const" : true,
4965 "action_data" : [],
4966 "action_entry_const" : true
4967 }
4968 },
4969 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004970 "name" : "tbl_act_8",
4971 "id" : 20,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004972 "key" : [],
4973 "match_type" : "exact",
4974 "type" : "simple",
4975 "max_size" : 1024,
4976 "with_counters" : false,
4977 "support_timeout" : false,
4978 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07004979 "action_ids" : [43],
4980 "actions" : ["act_7"],
4981 "base_default_next" : "node_37",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004982 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004983 "act_7" : "node_37"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004984 },
4985 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004986 "action_id" : 43,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004987 "action_const" : true,
4988 "action_data" : [],
4989 "action_entry_const" : true
4990 }
4991 },
4992 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004993 "name" : "tbl_act_9",
4994 "id" : 21,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004995 "key" : [],
4996 "match_type" : "exact",
4997 "type" : "simple",
4998 "max_size" : 1024,
4999 "with_counters" : false,
5000 "support_timeout" : false,
5001 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005002 "action_ids" : [44],
5003 "actions" : ["act_8"],
5004 "base_default_next" : "node_37",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005005 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005006 "act_8" : "node_37"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005007 },
5008 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005009 "action_id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005010 "action_const" : true,
5011 "action_data" : [],
5012 "action_entry_const" : true
5013 }
5014 },
5015 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005016 "name" : "tbl_act_10",
5017 "id" : 22,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005018 "source_info" : {
5019 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005020 "line" : 123,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005021 "column" : 12,
5022 "source_fragment" : "return"
5023 },
5024 "key" : [],
5025 "match_type" : "exact",
5026 "type" : "simple",
5027 "max_size" : 1024,
5028 "with_counters" : false,
5029 "support_timeout" : false,
5030 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005031 "action_ids" : [46],
5032 "actions" : ["act_10"],
5033 "base_default_next" : "node_39",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005034 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005035 "act_10" : "node_39"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005036 },
5037 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005038 "action_id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005039 "action_const" : true,
5040 "action_data" : [],
5041 "action_entry_const" : true
5042 }
5043 },
5044 {
5045 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005046 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005047 "source_info" : {
5048 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005049 "line" : 84,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005050 "column" : 10,
5051 "source_fragment" : "t_pppoe_term_v4"
5052 },
5053 "key" : [
5054 {
5055 "match_type" : "exact",
5056 "name" : "line_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07005057 "target" : ["scalars", "fabric_metadata_t._bng_line_id20"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005058 "mask" : null
5059 },
5060 {
5061 "match_type" : "exact",
5062 "name" : "ipv4_src",
5063 "target" : ["ipv4", "src_addr"],
5064 "mask" : null
5065 },
5066 {
5067 "match_type" : "exact",
5068 "name" : "pppoe_session_id",
5069 "target" : ["pppoe", "session_id"],
5070 "mask" : null
5071 }
5072 ],
5073 "match_type" : "exact",
5074 "type" : "simple",
5075 "max_size" : 32768,
5076 "with_counters" : false,
5077 "support_timeout" : false,
5078 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005079 "action_ids" : [10, 9],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005080 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
5081 "base_default_next" : null,
5082 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005083 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_act_11",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005084 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
5085 },
5086 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005087 "action_id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005088 "action_const" : true,
5089 "action_data" : [],
5090 "action_entry_const" : true
5091 }
5092 },
5093 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005094 "name" : "tbl_act_11",
5095 "id" : 24,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005096 "source_info" : {
5097 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005098 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005099 "column" : 20,
5100 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
5101 },
5102 "key" : [],
5103 "match_type" : "exact",
5104 "type" : "simple",
5105 "max_size" : 1024,
5106 "with_counters" : false,
5107 "support_timeout" : false,
5108 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005109 "action_ids" : [47],
5110 "actions" : ["act_11"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005111 "base_default_next" : null,
5112 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005113 "act_11" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005114 },
5115 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005116 "action_id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005117 "action_const" : true,
5118 "action_data" : [],
5119 "action_entry_const" : true
5120 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07005121 },
5122 {
5123 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
Daniele Moro5a2de712019-09-24 14:34:07 -07005124 "id" : 25,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005125 "source_info" : {
5126 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005127 "line" : 166,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005128 "column" : 10,
5129 "source_fragment" : "t_line_session_map"
5130 },
5131 "key" : [
5132 {
5133 "match_type" : "exact",
5134 "name" : "line_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07005135 "target" : ["scalars", "fabric_metadata_t._bng_line_id20"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005136 "mask" : null
5137 }
5138 ],
5139 "match_type" : "exact",
5140 "type" : "simple",
5141 "max_size" : 8192,
5142 "with_counters" : false,
5143 "support_timeout" : false,
5144 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005145 "action_ids" : [1, 11, 12],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005146 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
5147 "base_default_next" : null,
5148 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005149 "__HIT__" : "tbl_act_12",
5150 "__MISS__" : "tbl_act_13"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005151 },
5152 "default_entry" : {
5153 "action_id" : 1,
5154 "action_const" : true,
5155 "action_data" : [],
5156 "action_entry_const" : true
5157 }
5158 },
5159 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005160 "name" : "tbl_act_12",
5161 "id" : 26,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005162 "key" : [],
5163 "match_type" : "exact",
5164 "type" : "simple",
5165 "max_size" : 1024,
5166 "with_counters" : false,
5167 "support_timeout" : false,
5168 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005169 "action_ids" : [48],
5170 "actions" : ["act_12"],
5171 "base_default_next" : "node_46",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005172 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005173 "act_12" : "node_46"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005174 },
5175 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005176 "action_id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005177 "action_const" : true,
5178 "action_data" : [],
5179 "action_entry_const" : true
5180 }
5181 },
5182 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005183 "name" : "tbl_act_13",
5184 "id" : 27,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005185 "key" : [],
5186 "match_type" : "exact",
5187 "type" : "simple",
5188 "max_size" : 1024,
5189 "with_counters" : false,
5190 "support_timeout" : false,
5191 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005192 "action_ids" : [49],
5193 "actions" : ["act_13"],
5194 "base_default_next" : "node_46",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005195 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005196 "act_13" : "node_46"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005197 },
5198 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005199 "action_id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005200 "action_const" : true,
5201 "action_data" : [],
5202 "action_entry_const" : true
5203 }
5204 },
5205 {
5206 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005207 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005208 "source_info" : {
5209 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005210 "line" : 191,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005211 "column" : 10,
5212 "source_fragment" : "t_qos_v4"
5213 },
5214 "key" : [
5215 {
5216 "match_type" : "ternary",
5217 "name" : "line_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07005218 "target" : ["scalars", "fabric_metadata_t._bng_line_id20"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005219 "mask" : null
5220 },
5221 {
5222 "match_type" : "lpm",
5223 "name" : "ipv4_src",
5224 "target" : ["ipv4", "src_addr"],
5225 "mask" : null
5226 },
5227 {
5228 "match_type" : "ternary",
5229 "name" : "ipv4_dscp",
5230 "target" : ["ipv4", "dscp"],
5231 "mask" : null
5232 },
5233 {
5234 "match_type" : "ternary",
5235 "name" : "ipv4_ecn",
5236 "target" : ["ipv4", "ecn"],
5237 "mask" : null
5238 }
5239 ],
5240 "match_type" : "ternary",
5241 "type" : "simple",
5242 "max_size" : 256,
5243 "with_counters" : false,
5244 "support_timeout" : false,
5245 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005246 "action_ids" : [13, 14],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005247 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
5248 "base_default_next" : null,
5249 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005250 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_act_14",
5251 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_act_15"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005252 },
5253 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005254 "action_id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005255 "action_const" : true,
5256 "action_data" : [],
5257 "action_entry_const" : true
5258 }
5259 },
5260 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005261 "name" : "tbl_act_14",
5262 "id" : 29,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005263 "source_info" : {
5264 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005265 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005266 "column" : 24,
5267 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5268 },
5269 "key" : [],
5270 "match_type" : "exact",
5271 "type" : "simple",
5272 "max_size" : 1024,
5273 "with_counters" : false,
5274 "support_timeout" : false,
5275 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005276 "action_ids" : [50],
5277 "actions" : ["act_14"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005278 "base_default_next" : null,
5279 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005280 "act_14" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005281 },
5282 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005283 "action_id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005284 "action_const" : true,
5285 "action_data" : [],
5286 "action_entry_const" : true
5287 }
5288 },
5289 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005290 "name" : "tbl_act_15",
5291 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005292 "source_info" : {
5293 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005294 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005295 "column" : 24,
5296 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5297 },
5298 "key" : [],
5299 "match_type" : "exact",
5300 "type" : "simple",
5301 "max_size" : 1024,
5302 "with_counters" : false,
5303 "support_timeout" : false,
5304 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005305 "action_ids" : [51],
5306 "actions" : ["act_15"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005307 "base_default_next" : null,
5308 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005309 "act_15" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005310 },
5311 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005312 "action_id" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005313 "action_const" : true,
5314 "action_data" : [],
5315 "action_entry_const" : true
5316 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005317 }
5318 ],
5319 "action_profiles" : [
5320 {
5321 "name" : "FabricIngress.next.hashed_selector",
5322 "id" : 0,
5323 "source_info" : {
5324 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005325 "line" : 179,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005326 "column" : 57,
5327 "source_fragment" : "hashed_selector"
5328 },
5329 "max_size" : 1024,
5330 "selector" : {
5331 "algo" : "crc16",
5332 "input" : [
5333 {
5334 "type" : "field",
5335 "value" : ["ipv4", "dst_addr"]
5336 },
5337 {
5338 "type" : "field",
5339 "value" : ["ipv4", "src_addr"]
5340 },
5341 {
5342 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005343 "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005344 },
5345 {
5346 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005347 "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005348 },
5349 {
5350 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005351 "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005352 }
5353 ]
5354 }
5355 }
5356 ],
5357 "conditionals" : [
5358 {
5359 "name" : "node_2",
5360 "id" : 0,
5361 "source_info" : {
5362 "filename" : "include/control/packetio.p4",
5363 "line" : 24,
5364 "column" : 12,
5365 "source_fragment" : "hdr.packet_out.isValid()"
5366 },
5367 "expression" : {
5368 "type" : "expression",
5369 "value" : {
5370 "op" : "d2b",
5371 "left" : null,
5372 "right" : {
5373 "type" : "field",
5374 "value" : ["packet_out", "$valid$"]
5375 }
5376 }
5377 },
5378 "true_next" : "tbl_act",
5379 "false_next" : "node_4"
5380 },
5381 {
5382 "name" : "node_4",
5383 "id" : 1,
5384 "source_info" : {
5385 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005386 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005387 "column" : 12,
5388 "source_fragment" : "hdr.vlan_tag.isValid()"
5389 },
5390 "expression" : {
5391 "type" : "expression",
5392 "value" : {
5393 "op" : "d2b",
5394 "left" : null,
5395 "right" : {
5396 "type" : "field",
5397 "value" : ["vlan_tag", "$valid$"]
5398 }
5399 }
5400 },
5401 "true_next" : "tbl_act_0",
5402 "false_next" : "node_6"
5403 },
5404 {
5405 "name" : "node_6",
5406 "id" : 2,
5407 "source_info" : {
5408 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005409 "line" : 114,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005410 "column" : 12,
5411 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
5412 },
5413 "expression" : {
5414 "type" : "expression",
5415 "value" : {
5416 "op" : "d2b",
5417 "left" : null,
5418 "right" : {
5419 "type" : "field",
5420 "value" : ["inner_vlan_tag", "$valid$"]
5421 }
5422 }
5423 },
5424 "true_next" : "tbl_act_1",
5425 "false_next" : "node_8"
5426 },
5427 {
5428 "name" : "node_8",
5429 "id" : 3,
5430 "source_info" : {
5431 "filename" : "include/control/filtering.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005432 "line" : 120,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005433 "column" : 12,
5434 "source_fragment" : "!hdr.mpls.isValid()"
5435 },
5436 "expression" : {
5437 "type" : "expression",
5438 "value" : {
5439 "op" : "not",
5440 "left" : null,
5441 "right" : {
5442 "type" : "expression",
5443 "value" : {
5444 "op" : "d2b",
5445 "left" : null,
5446 "right" : {
5447 "type" : "field",
5448 "value" : ["mpls", "$valid$"]
5449 }
5450 }
5451 }
5452 }
5453 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005454 "true_next" : "tbl_act_2",
Daniele Moro5a2de712019-09-24 14:34:07 -07005455 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005456 },
5457 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005458 "name" : "node_12",
Daniele Moro5a2de712019-09-24 14:34:07 -07005459 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005460 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005461 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005462 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005463 "column" : 12,
5464 "source_fragment" : "fabric_metadata.skip_forwarding == false"
5465 },
5466 "expression" : {
5467 "type" : "expression",
5468 "value" : {
5469 "op" : "==",
5470 "left" : {
5471 "type" : "expression",
5472 "value" : {
5473 "op" : "d2b",
5474 "left" : null,
5475 "right" : {
5476 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005477 "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005478 }
5479 }
5480 },
5481 "right" : {
5482 "type" : "bool",
5483 "value" : false
5484 }
5485 }
5486 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005487 "true_next" : "node_13",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005488 "false_next" : "FabricIngress.acl.acl"
5489 },
5490 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005491 "name" : "node_13",
5492 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005493 "source_info" : {
5494 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005495 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005496 "column" : 12,
5497 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
5498 },
5499 "expression" : {
5500 "type" : "expression",
5501 "value" : {
5502 "op" : "==",
5503 "left" : {
5504 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005505 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005506 },
5507 "right" : {
5508 "type" : "hexstr",
5509 "value" : "0x00"
5510 }
5511 }
5512 },
5513 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07005514 "false_next" : "node_15"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005515 },
5516 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005517 "name" : "node_15",
5518 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005519 "source_info" : {
5520 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005521 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005522 "column" : 17,
5523 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
5524 },
5525 "expression" : {
5526 "type" : "expression",
5527 "value" : {
5528 "op" : "==",
5529 "left" : {
5530 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005531 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005532 },
5533 "right" : {
5534 "type" : "hexstr",
5535 "value" : "0x01"
5536 }
5537 }
5538 },
5539 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005540 "false_next" : "node_17"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005541 },
5542 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005543 "name" : "node_17",
5544 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005545 "source_info" : {
5546 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005547 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005548 "column" : 17,
5549 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
5550 },
5551 "expression" : {
5552 "type" : "expression",
5553 "value" : {
5554 "op" : "==",
5555 "left" : {
5556 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005557 "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005558 },
5559 "right" : {
5560 "type" : "hexstr",
5561 "value" : "0x02"
5562 }
5563 }
5564 },
5565 "true_next" : "FabricIngress.forwarding.routing_v4",
5566 "false_next" : "FabricIngress.acl.acl"
5567 },
5568 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005569 "name" : "node_20",
5570 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005571 "source_info" : {
5572 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005573 "line" : 75,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005574 "column" : 12,
5575 "source_fragment" : "fabric_metadata.skip_next == false"
5576 },
5577 "expression" : {
5578 "type" : "expression",
5579 "value" : {
5580 "op" : "==",
5581 "left" : {
5582 "type" : "expression",
5583 "value" : {
5584 "op" : "d2b",
5585 "left" : null,
5586 "right" : {
5587 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005588 "value" : ["scalars", "fabric_metadata_t._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005589 }
5590 }
5591 },
5592 "right" : {
5593 "type" : "bool",
5594 "value" : false
5595 }
5596 }
5597 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07005598 "true_next" : "FabricIngress.next.hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07005599 "false_next" : "node_28"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005600 },
5601 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005602 "name" : "node_24",
5603 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005604 "source_info" : {
5605 "filename" : "include/control/port_counter.p4",
5606 "line" : 30,
5607 "column" : 12,
5608 "source_fragment" : "standard_metadata.egress_spec < 511"
5609 },
5610 "expression" : {
5611 "type" : "expression",
5612 "value" : {
5613 "op" : "<",
5614 "left" : {
5615 "type" : "field",
5616 "value" : ["standard_metadata", "egress_spec"]
5617 },
5618 "right" : {
5619 "type" : "hexstr",
5620 "value" : "0x01ff"
5621 }
5622 }
5623 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005624 "true_next" : "tbl_act_3",
5625 "false_next" : "node_26"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005626 },
5627 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005628 "name" : "node_26",
5629 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005630 "source_info" : {
5631 "filename" : "include/control/port_counter.p4",
5632 "line" : 33,
5633 "column" : 12,
5634 "source_fragment" : "standard_metadata.ingress_port < 511"
5635 },
5636 "expression" : {
5637 "type" : "expression",
5638 "value" : {
5639 "op" : "<",
5640 "left" : {
5641 "type" : "field",
5642 "value" : ["standard_metadata", "ingress_port"]
5643 },
5644 "right" : {
5645 "type" : "hexstr",
5646 "value" : "0x01ff"
5647 }
5648 }
5649 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005650 "true_next" : "tbl_act_4",
5651 "false_next" : "node_28"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005652 },
5653 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005654 "name" : "node_28",
5655 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005656 "source_info" : {
5657 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005658 "line" : 337,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005659 "column" : 15,
5660 "source_fragment" : "hdr.pppoe.isValid()"
5661 },
5662 "expression" : {
5663 "type" : "expression",
5664 "value" : {
5665 "op" : "d2b",
5666 "left" : null,
5667 "right" : {
5668 "type" : "field",
5669 "value" : ["pppoe", "$valid$"]
5670 }
5671 }
5672 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005673 "true_next" : "tbl_act_5",
5674 "false_next" : "tbl_act_6"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005675 },
5676 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005677 "name" : "node_32",
5678 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005679 "source_info" : {
5680 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005681 "line" : 351,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005682 "column" : 16,
5683 "source_fragment" : "hdr.pppoe.isValid()"
5684 },
5685 "expression" : {
5686 "type" : "expression",
5687 "value" : {
5688 "op" : "d2b",
5689 "left" : null,
5690 "right" : {
5691 "type" : "field",
5692 "value" : ["pppoe", "$valid$"]
5693 }
5694 }
5695 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005696 "true_next" : "tbl_act_7",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005697 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
5698 },
5699 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005700 "name" : "node_37",
5701 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005702 "expression" : {
5703 "type" : "expression",
5704 "value" : {
5705 "op" : "d2b",
5706 "left" : null,
5707 "right" : {
5708 "type" : "field",
5709 "value" : ["scalars", "bng_ingress_upstream_tmp"]
5710 }
5711 }
5712 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005713 "true_next" : "tbl_act_10",
5714 "false_next" : "node_39"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005715 },
5716 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005717 "name" : "node_39",
5718 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005719 "expression" : {
5720 "type" : "expression",
5721 "value" : {
5722 "op" : "not",
5723 "left" : null,
5724 "right" : {
5725 "type" : "expression",
5726 "value" : {
5727 "op" : "d2b",
5728 "left" : null,
5729 "right" : {
5730 "type" : "field",
5731 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
5732 }
5733 }
5734 }
5735 }
5736 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005737 "false_next" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005738 "true_next" : "node_40"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005739 },
5740 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005741 "name" : "node_40",
5742 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005743 "source_info" : {
5744 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005745 "line" : 125,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005746 "column" : 12,
5747 "source_fragment" : "hdr.ipv4.isValid()"
5748 },
5749 "expression" : {
5750 "type" : "expression",
5751 "value" : {
5752 "op" : "d2b",
5753 "left" : null,
5754 "right" : {
5755 "type" : "field",
5756 "value" : ["ipv4", "$valid$"]
5757 }
5758 }
5759 },
5760 "false_next" : null,
5761 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
5762 },
5763 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005764 "name" : "node_46",
5765 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005766 "expression" : {
5767 "type" : "expression",
5768 "value" : {
5769 "op" : "d2b",
5770 "left" : null,
5771 "right" : {
5772 "type" : "field",
5773 "value" : ["scalars", "bng_ingress_downstream_tmp"]
5774 }
5775 }
5776 },
5777 "false_next" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005778 "true_next" : "node_47"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005779 },
5780 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005781 "name" : "node_47",
5782 "id" : 17,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005783 "source_info" : {
5784 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005785 "line" : 232,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005786 "column" : 16,
5787 "source_fragment" : "hdr.ipv4.isValid()"
5788 },
5789 "expression" : {
5790 "type" : "expression",
5791 "value" : {
5792 "op" : "d2b",
5793 "left" : null,
5794 "right" : {
5795 "type" : "field",
5796 "value" : ["ipv4", "$valid$"]
5797 }
5798 }
5799 },
5800 "false_next" : null,
5801 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005802 }
5803 ]
5804 },
5805 {
5806 "name" : "egress",
5807 "id" : 1,
5808 "source_info" : {
5809 "filename" : "fabric.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005810 "line" : 93,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005811 "column" : 8,
5812 "source_fragment" : "FabricEgress"
5813 },
Daniele Moro5a2de712019-09-24 14:34:07 -07005814 "init_table" : "node_53",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005815 "tables" : [
5816 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005817 "name" : "tbl_act_16",
5818 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005819 "source_info" : {
5820 "filename" : "include/control/packetio.p4",
5821 "line" : 41,
5822 "column" : 12,
5823 "source_fragment" : "exit"
5824 },
5825 "key" : [],
5826 "match_type" : "exact",
5827 "type" : "simple",
5828 "max_size" : 1024,
5829 "with_counters" : false,
5830 "support_timeout" : false,
5831 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005832 "action_ids" : [60],
5833 "actions" : ["act_16"],
5834 "base_default_next" : "node_55",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005835 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005836 "act_16" : "node_55"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005837 },
5838 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005839 "action_id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005840 "action_const" : true,
5841 "action_data" : [],
5842 "action_entry_const" : true
5843 }
5844 },
5845 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005846 "name" : "tbl_act_17",
5847 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005848 "source_info" : {
5849 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005850 "line" : 44,
5851 "column" : 12,
5852 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005853 },
5854 "key" : [],
5855 "match_type" : "exact",
5856 "type" : "simple",
5857 "max_size" : 1024,
5858 "with_counters" : false,
5859 "support_timeout" : false,
5860 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005861 "action_ids" : [61],
5862 "actions" : ["act_17"],
5863 "base_default_next" : "node_57",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005864 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005865 "act_17" : "node_57"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005866 },
5867 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005868 "action_id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005869 "action_const" : true,
5870 "action_data" : [],
5871 "action_entry_const" : true
5872 }
5873 },
5874 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005875 "name" : "tbl_act_18",
5876 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005877 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005878 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005879 "line" : 333,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005880 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005881 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005882 },
5883 "key" : [],
5884 "match_type" : "exact",
5885 "type" : "simple",
5886 "max_size" : 1024,
5887 "with_counters" : false,
5888 "support_timeout" : false,
5889 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005890 "action_ids" : [62],
5891 "actions" : ["act_18"],
5892 "base_default_next" : "node_59",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005893 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005894 "act_18" : "node_59"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005895 },
5896 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005897 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005898 "action_const" : true,
5899 "action_data" : [],
5900 "action_entry_const" : true
5901 }
5902 },
5903 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005904 "name" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moro5a2de712019-09-24 14:34:07 -07005905 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005906 "source_info" : {
5907 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005908 "line" : 337,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005909 "column" : 36,
5910 "source_fragment" : "pop_mpls_if_present()"
5911 },
5912 "key" : [],
5913 "match_type" : "exact",
5914 "type" : "simple",
5915 "max_size" : 1024,
5916 "with_counters" : false,
5917 "support_timeout" : false,
5918 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005919 "action_ids" : [54],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005920 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Daniele Moro5a2de712019-09-24 14:34:07 -07005921 "base_default_next" : "node_63",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005922 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005923 "FabricEgress.egress_next.pop_mpls_if_present" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005924 },
5925 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005926 "action_id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005927 "action_const" : true,
5928 "action_data" : [],
5929 "action_entry_const" : true
5930 }
5931 },
5932 {
5933 "name" : "tbl_egress_next_set_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005934 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005935 "source_info" : {
5936 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005937 "line" : 339,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005938 "column" : 12,
5939 "source_fragment" : "set_mpls()"
5940 },
5941 "key" : [],
5942 "match_type" : "exact",
5943 "type" : "simple",
5944 "max_size" : 1024,
5945 "with_counters" : false,
5946 "support_timeout" : false,
5947 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005948 "action_ids" : [55],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005949 "actions" : ["FabricEgress.egress_next.set_mpls"],
Daniele Moro5a2de712019-09-24 14:34:07 -07005950 "base_default_next" : "node_63",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005951 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005952 "FabricEgress.egress_next.set_mpls" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005953 },
5954 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005955 "action_id" : 55,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005956 "action_const" : true,
5957 "action_data" : [],
5958 "action_entry_const" : true
5959 }
5960 },
5961 {
5962 "name" : "tbl_egress_next_push_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07005963 "id" : 36,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005964 "source_info" : {
5965 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005966 "line" : 345,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005967 "column" : 12,
5968 "source_fragment" : "push_vlan()"
5969 },
5970 "key" : [],
5971 "match_type" : "exact",
5972 "type" : "simple",
5973 "max_size" : 1024,
5974 "with_counters" : false,
5975 "support_timeout" : false,
5976 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005977 "action_ids" : [56],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005978 "actions" : ["FabricEgress.egress_next.push_vlan"],
5979 "base_default_next" : "tbl_egress_next_push_inner_vlan",
5980 "next_tables" : {
5981 "FabricEgress.egress_next.push_vlan" : "tbl_egress_next_push_inner_vlan"
5982 },
5983 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005984 "action_id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005985 "action_const" : true,
5986 "action_data" : [],
5987 "action_entry_const" : true
5988 }
5989 },
5990 {
5991 "name" : "tbl_egress_next_push_inner_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07005992 "id" : 37,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005993 "source_info" : {
5994 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005995 "line" : 346,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005996 "column" : 12,
5997 "source_fragment" : "push_inner_vlan()"
5998 },
5999 "key" : [],
6000 "match_type" : "exact",
6001 "type" : "simple",
6002 "max_size" : 1024,
6003 "with_counters" : false,
6004 "support_timeout" : false,
6005 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006006 "action_ids" : [58],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006007 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
Daniele Moro5a2de712019-09-24 14:34:07 -07006008 "base_default_next" : "node_73",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006009 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006010 "FabricEgress.egress_next.push_inner_vlan" : "node_73"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006011 },
6012 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006013 "action_id" : 58,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006014 "action_const" : true,
6015 "action_data" : [],
6016 "action_entry_const" : true
6017 }
6018 },
6019 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006020 "name" : "tbl_act_19",
6021 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006022 "source_info" : {
6023 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006024 "line" : 349,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006025 "column" : 12,
6026 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
6027 },
6028 "key" : [],
6029 "match_type" : "exact",
6030 "type" : "simple",
6031 "max_size" : 1024,
6032 "with_counters" : false,
6033 "support_timeout" : false,
6034 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006035 "action_ids" : [65],
6036 "actions" : ["act_21"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006037 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
6038 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006039 "act_21" : "FabricEgress.egress_next.egress_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006040 },
6041 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006042 "action_id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006043 "action_const" : true,
6044 "action_data" : [],
6045 "action_entry_const" : true
6046 }
6047 },
6048 {
6049 "name" : "FabricEgress.egress_next.egress_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07006050 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006051 "source_info" : {
6052 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006053 "line" : 316,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006054 "column" : 10,
6055 "source_fragment" : "egress_vlan"
6056 },
6057 "key" : [
6058 {
6059 "match_type" : "exact",
6060 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07006061 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006062 "mask" : null
6063 },
6064 {
6065 "match_type" : "exact",
6066 "name" : "eg_port",
6067 "target" : ["standard_metadata", "egress_port"],
6068 "mask" : null
6069 }
6070 ],
6071 "match_type" : "exact",
6072 "type" : "simple",
6073 "max_size" : 1024,
6074 "with_counters" : true,
6075 "support_timeout" : false,
6076 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006077 "action_ids" : [59, 52],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006078 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
6079 "base_default_next" : null,
6080 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006081 "__HIT__" : "tbl_act_20",
6082 "__MISS__" : "tbl_act_21"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006083 },
6084 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006085 "action_id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006086 "action_const" : true,
6087 "action_data" : [],
6088 "action_entry_const" : true
6089 }
6090 },
6091 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006092 "name" : "tbl_act_20",
6093 "id" : 40,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006094 "key" : [],
6095 "match_type" : "exact",
6096 "type" : "simple",
6097 "max_size" : 1024,
6098 "with_counters" : false,
6099 "support_timeout" : false,
6100 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006101 "action_ids" : [63],
6102 "actions" : ["act_19"],
6103 "base_default_next" : "node_70",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006104 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006105 "act_19" : "node_70"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006106 },
6107 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006108 "action_id" : 63,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006109 "action_const" : true,
6110 "action_data" : [],
6111 "action_entry_const" : true
6112 }
6113 },
6114 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006115 "name" : "tbl_act_21",
6116 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006117 "key" : [],
6118 "match_type" : "exact",
6119 "type" : "simple",
6120 "max_size" : 1024,
6121 "with_counters" : false,
6122 "support_timeout" : false,
6123 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006124 "action_ids" : [64],
6125 "actions" : ["act_20"],
6126 "base_default_next" : "node_70",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006127 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006128 "act_20" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006129 },
6130 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006131 "action_id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006132 "action_const" : true,
6133 "action_data" : [],
6134 "action_entry_const" : true
6135 }
6136 },
6137 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006138 "name" : "tbl_egress_next_push_vlan_0",
Daniele Moro5a2de712019-09-24 14:34:07 -07006139 "id" : 42,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006140 "source_info" : {
6141 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006142 "line" : 356,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006143 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006144 "source_fragment" : "push_vlan()"
6145 },
6146 "key" : [],
6147 "match_type" : "exact",
6148 "type" : "simple",
6149 "max_size" : 1024,
6150 "with_counters" : false,
6151 "support_timeout" : false,
6152 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006153 "action_ids" : [57],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006154 "actions" : ["FabricEgress.egress_next.push_vlan"],
Daniele Moro5a2de712019-09-24 14:34:07 -07006155 "base_default_next" : "node_73",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006156 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006157 "FabricEgress.egress_next.push_vlan" : "node_73"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006158 },
6159 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006160 "action_id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006161 "action_const" : true,
6162 "action_data" : [],
6163 "action_entry_const" : true
6164 }
6165 },
6166 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006167 "name" : "tbl_act_22",
6168 "id" : 43,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006169 "source_info" : {
6170 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006171 "line" : 365,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006172 "column" : 25,
6173 "source_fragment" : "="
6174 },
6175 "key" : [],
6176 "match_type" : "exact",
6177 "type" : "simple",
6178 "max_size" : 1024,
6179 "with_counters" : false,
6180 "support_timeout" : false,
6181 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006182 "action_ids" : [67],
6183 "actions" : ["act_23"],
6184 "base_default_next" : "node_75",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006185 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006186 "act_23" : "node_75"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006187 },
6188 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006189 "action_id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006190 "action_const" : true,
6191 "action_data" : [],
6192 "action_entry_const" : true
6193 }
6194 },
6195 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006196 "name" : "tbl_act_23",
6197 "id" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006198 "source_info" : {
6199 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006200 "line" : 366,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006201 "column" : 35,
6202 "source_fragment" : "mark_to_drop(standard_metadata)"
6203 },
6204 "key" : [],
6205 "match_type" : "exact",
6206 "type" : "simple",
6207 "max_size" : 1024,
6208 "with_counters" : false,
6209 "support_timeout" : false,
6210 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006211 "action_ids" : [66],
6212 "actions" : ["act_22"],
6213 "base_default_next" : "node_81",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006214 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006215 "act_22" : "node_81"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006216 },
6217 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006218 "action_id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006219 "action_const" : true,
6220 "action_data" : [],
6221 "action_entry_const" : true
6222 }
6223 },
6224 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006225 "name" : "tbl_act_24",
6226 "id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006227 "source_info" : {
6228 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006229 "line" : 369,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006230 "column" : 29,
6231 "source_fragment" : "="
6232 },
6233 "key" : [],
6234 "match_type" : "exact",
6235 "type" : "simple",
6236 "max_size" : 1024,
6237 "with_counters" : false,
6238 "support_timeout" : false,
6239 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006240 "action_ids" : [69],
6241 "actions" : ["act_25"],
6242 "base_default_next" : "node_79",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006243 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006244 "act_25" : "node_79"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006245 },
6246 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006247 "action_id" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006248 "action_const" : true,
6249 "action_data" : [],
6250 "action_entry_const" : true
6251 }
6252 },
6253 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006254 "name" : "tbl_act_25",
6255 "id" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006256 "source_info" : {
6257 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006258 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006259 "column" : 39,
6260 "source_fragment" : "mark_to_drop(standard_metadata)"
6261 },
6262 "key" : [],
6263 "match_type" : "exact",
6264 "type" : "simple",
6265 "max_size" : 1024,
6266 "with_counters" : false,
6267 "support_timeout" : false,
6268 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006269 "action_ids" : [68],
6270 "actions" : ["act_24"],
6271 "base_default_next" : "node_81",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006272 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006273 "act_24" : "node_81"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006274 },
6275 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006276 "action_id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006277 "action_const" : true,
6278 "action_data" : [],
6279 "action_entry_const" : true
6280 }
6281 },
6282 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006283 "name" : "tbl_bng_egress_downstream_encap_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006284 "id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006285 "source_info" : {
6286 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006287 "line" : 294,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006288 "column" : 12,
6289 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006290 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006291 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006292 "match_type" : "exact",
6293 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006294 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006295 "with_counters" : false,
6296 "support_timeout" : false,
6297 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006298 "action_ids" : [53],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006299 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006300 "base_default_next" : null,
6301 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006302 "FabricEgress.bng_egress.downstream.encap_v4" : null
6303 },
6304 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006305 "action_id" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006306 "action_const" : true,
6307 "action_data" : [],
6308 "action_entry_const" : true
6309 }
6310 }
6311 ],
6312 "action_profiles" : [],
6313 "conditionals" : [
6314 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006315 "name" : "node_53",
6316 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006317 "source_info" : {
6318 "filename" : "include/control/packetio.p4",
6319 "line" : 39,
6320 "column" : 12,
6321 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
6322 },
6323 "expression" : {
6324 "type" : "expression",
6325 "value" : {
6326 "op" : "==",
6327 "left" : {
6328 "type" : "expression",
6329 "value" : {
6330 "op" : "d2b",
6331 "left" : null,
6332 "right" : {
6333 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006334 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006335 }
6336 }
6337 },
6338 "right" : {
6339 "type" : "bool",
6340 "value" : true
6341 }
6342 }
6343 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006344 "true_next" : "tbl_act_16",
6345 "false_next" : "node_55"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006346 },
6347 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006348 "name" : "node_55",
6349 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006350 "source_info" : {
6351 "filename" : "include/control/packetio.p4",
6352 "line" : 43,
6353 "column" : 12,
6354 "source_fragment" : "standard_metadata.egress_port == 255"
6355 },
6356 "expression" : {
6357 "type" : "expression",
6358 "value" : {
6359 "op" : "==",
6360 "left" : {
6361 "type" : "field",
6362 "value" : ["standard_metadata", "egress_port"]
6363 },
6364 "right" : {
6365 "type" : "hexstr",
6366 "value" : "0x00ff"
6367 }
6368 }
6369 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006370 "true_next" : "tbl_act_17",
6371 "false_next" : "node_57"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006372 },
6373 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006374 "name" : "node_57",
6375 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006376 "source_info" : {
6377 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006378 "line" : 331,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006379 "column" : 12,
6380 "source_fragment" : "fabric_metadata.is_multicast == true ..."
6381 },
6382 "expression" : {
6383 "type" : "expression",
6384 "value" : {
6385 "op" : "and",
6386 "left" : {
6387 "type" : "expression",
6388 "value" : {
6389 "op" : "==",
6390 "left" : {
6391 "type" : "expression",
6392 "value" : {
6393 "op" : "d2b",
6394 "left" : null,
6395 "right" : {
6396 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006397 "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006398 }
6399 }
6400 },
6401 "right" : {
6402 "type" : "bool",
6403 "value" : true
6404 }
6405 }
6406 },
6407 "right" : {
6408 "type" : "expression",
6409 "value" : {
6410 "op" : "==",
6411 "left" : {
6412 "type" : "field",
6413 "value" : ["standard_metadata", "ingress_port"]
6414 },
6415 "right" : {
6416 "type" : "field",
6417 "value" : ["standard_metadata", "egress_port"]
6418 }
6419 }
6420 }
6421 }
6422 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006423 "true_next" : "tbl_act_18",
6424 "false_next" : "node_59"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006425 },
6426 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006427 "name" : "node_59",
6428 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006429 "source_info" : {
6430 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006431 "line" : 336,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006432 "column" : 12,
6433 "source_fragment" : "fabric_metadata.mpls_label == 0"
6434 },
6435 "expression" : {
6436 "type" : "expression",
6437 "value" : {
6438 "op" : "==",
6439 "left" : {
6440 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006441 "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006442 },
6443 "right" : {
6444 "type" : "hexstr",
6445 "value" : "0x000000"
6446 }
6447 }
6448 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006449 "true_next" : "node_60",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006450 "false_next" : "tbl_egress_next_set_mpls"
6451 },
6452 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006453 "name" : "node_60",
6454 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006455 "source_info" : {
6456 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006457 "line" : 337,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006458 "column" : 16,
6459 "source_fragment" : "hdr.mpls.isValid()"
6460 },
6461 "expression" : {
6462 "type" : "expression",
6463 "value" : {
6464 "op" : "d2b",
6465 "left" : null,
6466 "right" : {
6467 "type" : "field",
6468 "value" : ["mpls", "$valid$"]
6469 }
6470 }
6471 },
6472 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moro5a2de712019-09-24 14:34:07 -07006473 "false_next" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006474 },
6475 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006476 "name" : "node_63",
6477 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006478 "source_info" : {
6479 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006480 "line" : 343,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006481 "column" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006482 "source_fragment" : "fabric_metadata.push_double_vlan == true"
6483 },
6484 "expression" : {
6485 "type" : "expression",
6486 "value" : {
6487 "op" : "==",
6488 "left" : {
6489 "type" : "expression",
6490 "value" : {
6491 "op" : "d2b",
6492 "left" : null,
6493 "right" : {
6494 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006495 "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07006496 }
6497 }
6498 },
6499 "right" : {
6500 "type" : "bool",
6501 "value" : true
6502 }
6503 }
6504 },
6505 "true_next" : "tbl_egress_next_push_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07006506 "false_next" : "tbl_act_19"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006507 },
6508 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006509 "name" : "node_70",
6510 "id" : 24,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006511 "source_info" : {
6512 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006513 "line" : 353,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006514 "column" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006515 "source_fragment" : "!egress_vlan.apply().hit"
6516 },
6517 "expression" : {
6518 "type" : "expression",
6519 "value" : {
6520 "op" : "not",
6521 "left" : null,
6522 "right" : {
6523 "type" : "expression",
6524 "value" : {
6525 "op" : "d2b",
6526 "left" : null,
6527 "right" : {
6528 "type" : "field",
6529 "value" : ["scalars", "egress_next_tmp"]
6530 }
6531 }
6532 }
6533 }
6534 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006535 "true_next" : "node_71",
6536 "false_next" : "node_73"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006537 },
6538 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006539 "name" : "node_71",
6540 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006541 "source_info" : {
6542 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006543 "line" : 355,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006544 "column" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006545 "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
6546 },
6547 "expression" : {
6548 "type" : "expression",
6549 "value" : {
6550 "op" : "!=",
6551 "left" : {
6552 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006553 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006554 },
6555 "right" : {
6556 "type" : "hexstr",
6557 "value" : "0x0ffe"
6558 }
6559 }
6560 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006561 "true_next" : "tbl_egress_next_push_vlan_0",
Daniele Moro5a2de712019-09-24 14:34:07 -07006562 "false_next" : "node_73"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006563 },
6564 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006565 "name" : "node_73",
6566 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006567 "source_info" : {
6568 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006569 "line" : 364,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006570 "column" : 12,
6571 "source_fragment" : "hdr.mpls.isValid()"
6572 },
6573 "expression" : {
6574 "type" : "expression",
6575 "value" : {
6576 "op" : "d2b",
6577 "left" : null,
6578 "right" : {
6579 "type" : "field",
6580 "value" : ["mpls", "$valid$"]
6581 }
6582 }
6583 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006584 "true_next" : "tbl_act_22",
6585 "false_next" : "node_77"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006586 },
6587 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006588 "name" : "node_75",
6589 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006590 "source_info" : {
6591 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006592 "line" : 366,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006593 "column" : 16,
6594 "source_fragment" : "hdr.mpls.ttl == 0"
6595 },
6596 "expression" : {
6597 "type" : "expression",
6598 "value" : {
6599 "op" : "==",
6600 "left" : {
6601 "type" : "field",
6602 "value" : ["mpls", "ttl"]
6603 },
6604 "right" : {
6605 "type" : "hexstr",
6606 "value" : "0x00"
6607 }
6608 }
6609 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006610 "true_next" : "tbl_act_23",
6611 "false_next" : "node_81"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006612 },
6613 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006614 "name" : "node_77",
6615 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006616 "source_info" : {
6617 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006618 "line" : 368,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006619 "column" : 15,
6620 "source_fragment" : "hdr.ipv4.isValid()"
6621 },
6622 "expression" : {
6623 "type" : "expression",
6624 "value" : {
6625 "op" : "d2b",
6626 "left" : null,
6627 "right" : {
6628 "type" : "field",
6629 "value" : ["ipv4", "$valid$"]
6630 }
6631 }
6632 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006633 "true_next" : "tbl_act_24",
6634 "false_next" : "node_81"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006635 },
6636 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006637 "name" : "node_79",
6638 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006639 "source_info" : {
6640 "filename" : "include/control/next.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006641 "line" : 370,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006642 "column" : 20,
6643 "source_fragment" : "hdr.ipv4.ttl == 0"
6644 },
6645 "expression" : {
6646 "type" : "expression",
6647 "value" : {
6648 "op" : "==",
6649 "left" : {
6650 "type" : "field",
6651 "value" : ["ipv4", "ttl"]
6652 },
6653 "right" : {
6654 "type" : "hexstr",
6655 "value" : "0x00"
6656 }
6657 }
6658 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006659 "true_next" : "tbl_act_25",
6660 "false_next" : "node_81"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006661 },
6662 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006663 "name" : "node_81",
6664 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006665 "source_info" : {
6666 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006667 "line" : 368,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006668 "column" : 12,
6669 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
6670 },
6671 "expression" : {
6672 "type" : "expression",
6673 "value" : {
6674 "op" : "==",
6675 "left" : {
6676 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006677 "value" : ["scalars", "fabric_metadata_t._bng_type19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006678 },
6679 "right" : {
6680 "type" : "hexstr",
6681 "value" : "0x02"
6682 }
6683 }
6684 },
6685 "false_next" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006686 "true_next" : "node_82"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006687 },
6688 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006689 "name" : "node_82",
6690 "id" : 31,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006691 "source_info" : {
6692 "filename" : "include/bng.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006693 "line" : 293,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006694 "column" : 12,
6695 "source_fragment" : "hdr.ipv4.isValid()"
6696 },
6697 "expression" : {
6698 "type" : "expression",
6699 "value" : {
6700 "op" : "d2b",
6701 "left" : null,
6702 "right" : {
6703 "type" : "field",
6704 "value" : ["ipv4", "$valid$"]
6705 }
6706 }
6707 },
6708 "false_next" : null,
6709 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006710 }
6711 ]
6712 }
6713 ],
6714 "checksums" : [
6715 {
6716 "name" : "cksum",
6717 "id" : 0,
6718 "source_info" : {
6719 "filename" : "include/checksum.p4",
6720 "line" : 28,
6721 "column" : 8,
6722 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
6723 },
6724 "target" : ["ipv4", "hdr_checksum"],
6725 "type" : "generic",
6726 "calculation" : "calc",
6727 "verify" : false,
6728 "update" : true,
6729 "if_cond" : {
6730 "type" : "expression",
6731 "value" : {
6732 "op" : "d2b",
6733 "left" : null,
6734 "right" : {
6735 "type" : "field",
6736 "value" : ["ipv4", "$valid$"]
6737 }
6738 }
6739 }
6740 },
6741 {
6742 "name" : "cksum_0",
6743 "id" : 1,
6744 "source_info" : {
6745 "filename" : "include/checksum.p4",
6746 "line" : 57,
6747 "column" : 8,
6748 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
6749 },
6750 "target" : ["ipv4", "hdr_checksum"],
6751 "type" : "generic",
6752 "calculation" : "calc_0",
6753 "verify" : true,
6754 "update" : false,
6755 "if_cond" : {
6756 "type" : "expression",
6757 "value" : {
6758 "op" : "d2b",
6759 "left" : null,
6760 "right" : {
6761 "type" : "field",
6762 "value" : ["ipv4", "$valid$"]
6763 }
6764 }
6765 }
6766 }
6767 ],
6768 "force_arith" : [],
6769 "extern_instances" : [],
6770 "field_aliases" : [
6771 [
6772 "queueing_metadata.enq_timestamp",
6773 ["standard_metadata", "enq_timestamp"]
6774 ],
6775 [
6776 "queueing_metadata.enq_qdepth",
6777 ["standard_metadata", "enq_qdepth"]
6778 ],
6779 [
6780 "queueing_metadata.deq_timedelta",
6781 ["standard_metadata", "deq_timedelta"]
6782 ],
6783 [
6784 "queueing_metadata.deq_qdepth",
6785 ["standard_metadata", "deq_qdepth"]
6786 ],
6787 [
6788 "intrinsic_metadata.ingress_global_timestamp",
6789 ["standard_metadata", "ingress_global_timestamp"]
6790 ],
6791 [
6792 "intrinsic_metadata.egress_global_timestamp",
6793 ["standard_metadata", "egress_global_timestamp"]
6794 ],
6795 [
6796 "intrinsic_metadata.lf_field_list",
6797 ["standard_metadata", "lf_field_list"]
6798 ],
6799 [
6800 "intrinsic_metadata.mcast_grp",
6801 ["standard_metadata", "mcast_grp"]
6802 ],
6803 [
6804 "intrinsic_metadata.resubmit_flag",
6805 ["standard_metadata", "resubmit_flag"]
6806 ],
6807 [
6808 "intrinsic_metadata.egress_rid",
6809 ["standard_metadata", "egress_rid"]
6810 ],
6811 [
6812 "intrinsic_metadata.recirculate_flag",
6813 ["standard_metadata", "recirculate_flag"]
6814 ],
6815 [
6816 "intrinsic_metadata.priority",
6817 ["standard_metadata", "priority"]
6818 ]
6819 ],
6820 "program" : "fabric.p4",
6821 "__meta__" : {
6822 "version" : [2, 18],
6823 "compiler" : "https://github.com/p4lang/p4c"
6824 }
6825}