blob: 4a5d8bcf57d3d33ec30eb1f3a416cc75d0000752 [file] [log] [blame]
Carmelo Cascone700648c2018-04-11 12:02:16 -07001{
Carmelo Cascone700648c2018-04-11 12:02:16 -07002 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007 ["tmp_0", 32, false],
Carmelo Cascone700648c2018-04-11 12:02:16 -07008 ["tmp_1", 32, false],
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009 ["tmp", 1, false],
10 ["hasReturned", 1, false],
11 ["_padding_1", 6, false]
Carmelo Cascone700648c2018-04-11 12:02:16 -070012 ]
13 },
14 {
Carmelo Cascone700648c2018-04-11 12:02:16 -070015 "name" : "standard_metadata",
Carmelo Cascone4bf427f2018-06-19 23:23:32 +020016 "id" : 1,
Carmelo Cascone700648c2018-04-11 12:02:16 -070017 "fields" : [
18 ["ingress_port", 9, false],
19 ["egress_spec", 9, false],
20 ["egress_port", 9, false],
21 ["clone_spec", 32, false],
22 ["instance_type", 32, false],
23 ["drop", 1, false],
24 ["recirculate_port", 16, false],
25 ["packet_length", 32, false],
26 ["enq_timestamp", 32, false],
27 ["enq_qdepth", 19, false],
28 ["deq_timedelta", 32, false],
29 ["deq_qdepth", 19, false],
30 ["ingress_global_timestamp", 48, false],
31 ["egress_global_timestamp", 48, false],
32 ["lf_field_list", 32, false],
33 ["mcast_grp", 16, false],
34 ["resubmit_flag", 32, false],
35 ["egress_rid", 16, false],
Carmelo Cascone700648c2018-04-11 12:02:16 -070036 ["recirculate_flag", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070037 ["checksum_error", 1, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070038 ["parser_error", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070039 ["priority", 3, false],
40 ["_padding_0", 2, false]
Carmelo Cascone4bf427f2018-06-19 23:23:32 +020041 ]
42 },
43 {
44 "name" : "ethernet_t",
45 "id" : 2,
46 "fields" : [
47 ["dst_addr", 48, false],
48 ["src_addr", 48, false],
49 ["ether_type", 16, false]
50 ]
51 },
52 {
53 "name" : "my_tunnel_t",
54 "id" : 3,
55 "fields" : [
56 ["proto_id", 16, false],
57 ["tun_id", 32, false]
58 ]
59 },
60 {
61 "name" : "ipv4_t",
62 "id" : 4,
63 "fields" : [
64 ["version", 4, false],
65 ["ihl", 4, false],
66 ["diffserv", 8, false],
67 ["len", 16, false],
68 ["identification", 16, false],
69 ["flags", 3, false],
70 ["frag_offset", 13, false],
71 ["ttl", 8, false],
72 ["protocol", 8, false],
73 ["hdr_checksum", 16, false],
74 ["src_addr", 32, false],
75 ["dst_addr", 32, false]
76 ]
77 },
78 {
79 "name" : "packet_out_header_t",
80 "id" : 5,
81 "fields" : [
82 ["egress_port", 9, false],
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080083 ["_padding", 7, false]
Carmelo Cascone4bf427f2018-06-19 23:23:32 +020084 ]
85 },
86 {
87 "name" : "packet_in_header_t",
88 "id" : 6,
89 "fields" : [
90 ["ingress_port", 9, false],
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080091 ["_padding", 7, false]
Carmelo Cascone700648c2018-04-11 12:02:16 -070092 ]
93 }
94 ],
95 "headers" : [
96 {
97 "name" : "scalars",
98 "id" : 0,
99 "header_type" : "scalars_0",
100 "metadata" : true,
101 "pi_omit" : true
102 },
103 {
104 "name" : "standard_metadata",
105 "id" : 1,
106 "header_type" : "standard_metadata",
107 "metadata" : true,
108 "pi_omit" : true
109 },
110 {
111 "name" : "ethernet",
112 "id" : 2,
113 "header_type" : "ethernet_t",
114 "metadata" : false,
115 "pi_omit" : true
116 },
117 {
118 "name" : "my_tunnel",
119 "id" : 3,
120 "header_type" : "my_tunnel_t",
121 "metadata" : false,
122 "pi_omit" : true
123 },
124 {
125 "name" : "ipv4",
126 "id" : 4,
127 "header_type" : "ipv4_t",
128 "metadata" : false,
129 "pi_omit" : true
130 },
131 {
132 "name" : "packet_out",
133 "id" : 5,
134 "header_type" : "packet_out_header_t",
135 "metadata" : false,
136 "pi_omit" : true
137 },
138 {
139 "name" : "packet_in",
140 "id" : 6,
141 "header_type" : "packet_in_header_t",
142 "metadata" : false,
143 "pi_omit" : true
144 }
145 ],
146 "header_stacks" : [],
147 "header_union_types" : [],
148 "header_unions" : [],
149 "header_union_stacks" : [],
150 "field_lists" : [],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700151 "errors" : [
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700152 ["NoError", 0],
153 ["PacketTooShort", 1],
154 ["NoMatch", 2],
155 ["StackOutOfBounds", 3],
156 ["HeaderTooShort", 4],
157 ["ParserTimeout", 5],
158 ["ParserInvalidArgument", 6]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700159 ],
Carmelo Cascone700648c2018-04-11 12:02:16 -0700160 "enums" : [],
161 "parsers" : [
162 {
163 "name" : "parser",
164 "id" : 0,
165 "init_state" : "start",
166 "parse_states" : [
167 {
168 "name" : "start",
169 "id" : 0,
170 "parser_ops" : [],
171 "transitions" : [
172 {
173 "type" : "hexstr",
174 "value" : "0x00ff",
175 "mask" : null,
176 "next_state" : "parse_packet_out"
177 },
178 {
179 "value" : "default",
180 "mask" : null,
181 "next_state" : "parse_ethernet"
182 }
183 ],
184 "transition_key" : [
185 {
186 "type" : "field",
187 "value" : ["standard_metadata", "ingress_port"]
188 }
189 ]
190 },
191 {
192 "name" : "parse_packet_out",
193 "id" : 1,
194 "parser_ops" : [
195 {
196 "parameters" : [
197 {
198 "type" : "regular",
199 "value" : "packet_out"
200 }
201 ],
202 "op" : "extract"
203 }
204 ],
205 "transitions" : [
206 {
207 "value" : "default",
208 "mask" : null,
209 "next_state" : "parse_ethernet"
210 }
211 ],
212 "transition_key" : []
213 },
214 {
215 "name" : "parse_ethernet",
216 "id" : 2,
217 "parser_ops" : [
218 {
219 "parameters" : [
220 {
221 "type" : "regular",
222 "value" : "ethernet"
223 }
224 ],
225 "op" : "extract"
226 }
227 ],
228 "transitions" : [
229 {
230 "type" : "hexstr",
231 "value" : "0x1212",
232 "mask" : null,
233 "next_state" : "parse_my_tunnel"
234 },
235 {
236 "type" : "hexstr",
237 "value" : "0x0800",
238 "mask" : null,
239 "next_state" : "parse_ipv4"
240 },
241 {
242 "value" : "default",
243 "mask" : null,
244 "next_state" : null
245 }
246 ],
247 "transition_key" : [
248 {
249 "type" : "field",
250 "value" : ["ethernet", "ether_type"]
251 }
252 ]
253 },
254 {
255 "name" : "parse_my_tunnel",
256 "id" : 3,
257 "parser_ops" : [
258 {
259 "parameters" : [
260 {
261 "type" : "regular",
262 "value" : "my_tunnel"
263 }
264 ],
265 "op" : "extract"
266 }
267 ],
268 "transitions" : [
269 {
270 "type" : "hexstr",
271 "value" : "0x0800",
272 "mask" : null,
273 "next_state" : "parse_ipv4"
274 },
275 {
276 "value" : "default",
277 "mask" : null,
278 "next_state" : null
279 }
280 ],
281 "transition_key" : [
282 {
283 "type" : "field",
284 "value" : ["my_tunnel", "proto_id"]
285 }
286 ]
287 },
288 {
289 "name" : "parse_ipv4",
290 "id" : 4,
291 "parser_ops" : [
292 {
293 "parameters" : [
294 {
295 "type" : "regular",
296 "value" : "ipv4"
297 }
298 ],
299 "op" : "extract"
300 }
301 ],
302 "transitions" : [
303 {
304 "value" : "default",
305 "mask" : null,
306 "next_state" : null
307 }
308 ],
309 "transition_key" : []
310 }
311 ]
312 }
313 ],
314 "parse_vsets" : [],
315 "deparsers" : [
316 {
317 "name" : "deparser",
318 "id" : 0,
319 "source_info" : {
320 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800321 "line" : 306,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700322 "column" : 8,
323 "source_fragment" : "c_deparser"
324 },
325 "order" : ["packet_in", "ethernet", "my_tunnel", "ipv4"]
326 }
327 ],
328 "meter_arrays" : [],
329 "counter_arrays" : [
330 {
331 "name" : "c_ingress.tx_port_counter",
332 "id" : 0,
333 "source_info" : {
334 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800335 "line" : 154,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700336 "column" : 48,
337 "source_fragment" : "tx_port_counter"
338 },
339 "size" : 255,
340 "is_direct" : false
341 },
342 {
343 "name" : "c_ingress.rx_port_counter",
344 "id" : 1,
345 "source_info" : {
346 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800347 "line" : 155,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700348 "column" : 48,
349 "source_fragment" : "rx_port_counter"
350 },
351 "size" : 255,
352 "is_direct" : false
353 },
354 {
355 "name" : "c_ingress.l2_fwd_counter",
356 "id" : 2,
357 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700358 "binding" : "c_ingress.t_l2_fwd",
359 "source_info" : {
360 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800361 "line" : 191,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700362 "column" : 50,
363 "source_fragment" : "l2_fwd_counter"
364 }
Carmelo Cascone700648c2018-04-11 12:02:16 -0700365 }
366 ],
367 "register_arrays" : [],
368 "calculations" : [],
369 "learn_lists" : [],
370 "actions" : [
371 {
372 "name" : "NoAction",
373 "id" : 0,
374 "runtime_data" : [],
375 "primitives" : []
376 },
377 {
378 "name" : "c_ingress.send_to_cpu",
379 "id" : 1,
380 "runtime_data" : [],
381 "primitives" : [
382 {
383 "op" : "assign",
384 "parameters" : [
385 {
386 "type" : "field",
387 "value" : ["standard_metadata", "egress_spec"]
388 },
389 {
390 "type" : "hexstr",
391 "value" : "0x00ff"
392 }
393 ],
394 "source_info" : {
395 "filename" : "mytunnel.p4",
Carmelo Cascone4bf427f2018-06-19 23:23:32 +0200396 "line" : 35,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700397 "column" : 24,
398 "source_fragment" : "255; ..."
399 }
400 },
401 {
402 "op" : "add_header",
403 "parameters" : [
404 {
405 "type" : "header",
406 "value" : "packet_in"
407 }
408 ],
409 "source_info" : {
410 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800411 "line" : 162,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700412 "column" : 8,
413 "source_fragment" : "hdr.packet_in.setValid()"
414 }
415 },
416 {
417 "op" : "assign",
418 "parameters" : [
419 {
420 "type" : "field",
421 "value" : ["packet_in", "ingress_port"]
422 },
423 {
424 "type" : "field",
425 "value" : ["standard_metadata", "ingress_port"]
426 }
427 ],
428 "source_info" : {
429 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800430 "line" : 163,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700431 "column" : 8,
432 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
433 }
434 }
435 ]
436 },
437 {
438 "name" : "c_ingress.set_out_port",
439 "id" : 2,
440 "runtime_data" : [
441 {
442 "name" : "port",
443 "bitwidth" : 9
444 }
445 ],
446 "primitives" : [
447 {
448 "op" : "assign",
449 "parameters" : [
450 {
451 "type" : "field",
452 "value" : ["standard_metadata", "egress_spec"]
453 },
454 {
455 "type" : "runtime_data",
456 "value" : 0
457 }
458 ],
459 "source_info" : {
460 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800461 "line" : 169,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700462 "column" : 8,
463 "source_fragment" : "standard_metadata.egress_spec = port"
464 }
465 }
466 ]
467 },
468 {
469 "name" : "c_ingress.set_out_port",
470 "id" : 3,
471 "runtime_data" : [
472 {
473 "name" : "port",
474 "bitwidth" : 9
475 }
476 ],
477 "primitives" : [
478 {
479 "op" : "assign",
480 "parameters" : [
481 {
482 "type" : "field",
483 "value" : ["standard_metadata", "egress_spec"]
484 },
485 {
486 "type" : "runtime_data",
487 "value" : 0
488 }
489 ],
490 "source_info" : {
491 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800492 "line" : 169,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700493 "column" : 8,
494 "source_fragment" : "standard_metadata.egress_spec = port"
495 }
496 }
497 ]
498 },
499 {
500 "name" : "c_ingress._drop",
501 "id" : 4,
502 "runtime_data" : [],
503 "primitives" : [
504 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700505 "op" : "mark_to_drop",
506 "parameters" : [
507 {
508 "type" : "header",
509 "value" : "standard_metadata"
510 }
511 ],
Carmelo Cascone700648c2018-04-11 12:02:16 -0700512 "source_info" : {
513 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800514 "line" : 173,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700515 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700516 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone700648c2018-04-11 12:02:16 -0700517 }
518 }
519 ]
520 },
521 {
522 "name" : "c_ingress._drop",
523 "id" : 5,
524 "runtime_data" : [],
525 "primitives" : [
526 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700527 "op" : "mark_to_drop",
528 "parameters" : [
529 {
530 "type" : "header",
531 "value" : "standard_metadata"
532 }
533 ],
Carmelo Cascone700648c2018-04-11 12:02:16 -0700534 "source_info" : {
535 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800536 "line" : 173,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700537 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700538 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone700648c2018-04-11 12:02:16 -0700539 }
540 }
541 ]
542 },
543 {
544 "name" : "c_ingress._drop",
545 "id" : 6,
546 "runtime_data" : [],
547 "primitives" : [
548 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700549 "op" : "mark_to_drop",
550 "parameters" : [
551 {
552 "type" : "header",
553 "value" : "standard_metadata"
554 }
555 ],
Carmelo Cascone700648c2018-04-11 12:02:16 -0700556 "source_info" : {
557 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800558 "line" : 173,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700559 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700560 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone700648c2018-04-11 12:02:16 -0700561 }
562 }
563 ]
564 },
565 {
566 "name" : "c_ingress.my_tunnel_ingress",
567 "id" : 7,
568 "runtime_data" : [
569 {
570 "name" : "tun_id",
571 "bitwidth" : 32
572 }
573 ],
574 "primitives" : [
575 {
576 "op" : "add_header",
577 "parameters" : [
578 {
579 "type" : "header",
580 "value" : "my_tunnel"
581 }
582 ],
583 "source_info" : {
584 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800585 "line" : 177,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700586 "column" : 8,
587 "source_fragment" : "hdr.my_tunnel.setValid()"
588 }
589 },
590 {
591 "op" : "assign",
592 "parameters" : [
593 {
594 "type" : "field",
595 "value" : ["my_tunnel", "tun_id"]
596 },
597 {
598 "type" : "runtime_data",
599 "value" : 0
600 }
601 ],
602 "source_info" : {
603 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800604 "line" : 178,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700605 "column" : 8,
606 "source_fragment" : "hdr.my_tunnel.tun_id = tun_id"
607 }
608 },
609 {
610 "op" : "assign",
611 "parameters" : [
612 {
613 "type" : "field",
614 "value" : ["my_tunnel", "proto_id"]
615 },
616 {
617 "type" : "field",
618 "value" : ["ethernet", "ether_type"]
619 }
620 ],
621 "source_info" : {
622 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800623 "line" : 179,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700624 "column" : 8,
625 "source_fragment" : "hdr.my_tunnel.proto_id = hdr.ethernet.ether_type"
626 }
627 },
628 {
629 "op" : "assign",
630 "parameters" : [
631 {
632 "type" : "field",
633 "value" : ["ethernet", "ether_type"]
634 },
635 {
636 "type" : "hexstr",
637 "value" : "0x1212"
638 }
639 ],
640 "source_info" : {
641 "filename" : "mytunnel.p4",
Carmelo Cascone4bf427f2018-06-19 23:23:32 +0200642 "line" : 31,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700643 "column" : 34,
644 "source_fragment" : "0x1212; ..."
645 }
646 }
647 ]
648 },
649 {
650 "name" : "c_ingress.my_tunnel_egress",
651 "id" : 8,
652 "runtime_data" : [
653 {
654 "name" : "port",
655 "bitwidth" : 9
656 }
657 ],
658 "primitives" : [
659 {
660 "op" : "assign",
661 "parameters" : [
662 {
663 "type" : "field",
664 "value" : ["standard_metadata", "egress_spec"]
665 },
666 {
667 "type" : "runtime_data",
668 "value" : 0
669 }
670 ],
671 "source_info" : {
672 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800673 "line" : 184,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700674 "column" : 8,
675 "source_fragment" : "standard_metadata.egress_spec = port"
676 }
677 },
678 {
679 "op" : "assign",
680 "parameters" : [
681 {
682 "type" : "field",
683 "value" : ["ethernet", "ether_type"]
684 },
685 {
686 "type" : "field",
687 "value" : ["my_tunnel", "proto_id"]
688 }
689 ],
690 "source_info" : {
691 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800692 "line" : 185,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700693 "column" : 8,
694 "source_fragment" : "hdr.ethernet.ether_type = hdr.my_tunnel.proto_id"
695 }
696 },
697 {
698 "op" : "remove_header",
699 "parameters" : [
700 {
701 "type" : "header",
702 "value" : "my_tunnel"
703 }
704 ],
705 "source_info" : {
706 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800707 "line" : 186,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700708 "column" : 8,
709 "source_fragment" : "hdr.my_tunnel.setInvalid()"
710 }
711 }
712 ]
713 },
714 {
715 "name" : "act",
716 "id" : 9,
717 "runtime_data" : [],
718 "primitives" : [
719 {
720 "op" : "assign",
721 "parameters" : [
722 {
723 "type" : "field",
724 "value" : ["standard_metadata", "egress_spec"]
725 },
726 {
727 "type" : "field",
728 "value" : ["packet_out", "egress_port"]
729 }
730 ],
731 "source_info" : {
732 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800733 "line" : 241,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700734 "column" : 12,
735 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
736 }
737 },
738 {
739 "op" : "remove_header",
740 "parameters" : [
741 {
742 "type" : "header",
743 "value" : "packet_out"
744 }
745 ],
746 "source_info" : {
747 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800748 "line" : 242,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700749 "column" : 12,
750 "source_fragment" : "hdr.packet_out.setInvalid()"
751 }
752 }
753 ]
754 },
755 {
756 "name" : "act_0",
757 "id" : 10,
758 "runtime_data" : [],
759 "primitives" : [
760 {
761 "op" : "assign",
762 "parameters" : [
763 {
764 "type" : "field",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800765 "value" : ["scalars", "tmp"]
Carmelo Cascone700648c2018-04-11 12:02:16 -0700766 },
767 {
768 "type" : "expression",
769 "value" : {
770 "type" : "expression",
771 "value" : {
772 "op" : "b2d",
773 "left" : null,
774 "right" : {
775 "type" : "bool",
776 "value" : true
777 }
778 }
779 }
780 }
781 ]
782 }
783 ]
784 },
785 {
786 "name" : "act_1",
787 "id" : 11,
788 "runtime_data" : [],
789 "primitives" : [
790 {
791 "op" : "assign",
792 "parameters" : [
793 {
794 "type" : "field",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800795 "value" : ["scalars", "tmp"]
Carmelo Cascone700648c2018-04-11 12:02:16 -0700796 },
797 {
798 "type" : "expression",
799 "value" : {
800 "type" : "expression",
801 "value" : {
802 "op" : "b2d",
803 "left" : null,
804 "right" : {
805 "type" : "bool",
806 "value" : false
807 }
808 }
809 }
810 }
811 ]
812 }
813 ]
814 },
815 {
816 "name" : "act_2",
817 "id" : 12,
818 "runtime_data" : [],
819 "primitives" : [
820 {
821 "op" : "assign",
822 "parameters" : [
823 {
824 "type" : "field",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800825 "value" : ["scalars", "hasReturned"]
Carmelo Cascone700648c2018-04-11 12:02:16 -0700826 },
827 {
828 "type" : "expression",
829 "value" : {
830 "type" : "expression",
831 "value" : {
832 "op" : "b2d",
833 "left" : null,
834 "right" : {
835 "type" : "bool",
836 "value" : true
837 }
838 }
839 }
840 }
841 ],
842 "source_info" : {
843 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800844 "line" : 250,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700845 "column" : 16,
846 "source_fragment" : "return"
847 }
848 }
849 ]
850 },
851 {
852 "name" : "act_3",
853 "id" : 13,
854 "runtime_data" : [],
855 "primitives" : [
856 {
857 "op" : "assign",
858 "parameters" : [
859 {
860 "type" : "field",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800861 "value" : ["scalars", "hasReturned"]
Carmelo Cascone700648c2018-04-11 12:02:16 -0700862 },
863 {
864 "type" : "expression",
865 "value" : {
866 "type" : "expression",
867 "value" : {
868 "op" : "b2d",
869 "left" : null,
870 "right" : {
871 "type" : "bool",
872 "value" : false
873 }
874 }
875 }
876 }
877 ]
878 }
879 ]
880 },
881 {
882 "name" : "act_4",
883 "id" : 14,
884 "runtime_data" : [],
885 "primitives" : [
886 {
887 "op" : "assign",
888 "parameters" : [
889 {
890 "type" : "field",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800891 "value" : ["scalars", "tmp_0"]
Carmelo Cascone700648c2018-04-11 12:02:16 -0700892 },
893 {
894 "type" : "expression",
895 "value" : {
896 "type" : "expression",
897 "value" : {
898 "op" : "&",
899 "left" : {
900 "type" : "field",
901 "value" : ["standard_metadata", "egress_spec"]
902 },
903 "right" : {
904 "type" : "hexstr",
905 "value" : "0xffffffff"
906 }
907 }
908 }
909 }
Carmelo Cascone4bf427f2018-06-19 23:23:32 +0200910 ],
911 "source_info" : {
912 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800913 "line" : 266,
Carmelo Cascone4bf427f2018-06-19 23:23:32 +0200914 "column" : 34,
915 "source_fragment" : "(bit<32>) standard_metadata.egress_spec"
916 }
Carmelo Cascone700648c2018-04-11 12:02:16 -0700917 },
918 {
919 "op" : "count",
920 "parameters" : [
921 {
922 "type" : "counter_array",
923 "value" : "c_ingress.tx_port_counter"
924 },
925 {
926 "type" : "field",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800927 "value" : ["scalars", "tmp_0"]
Carmelo Cascone700648c2018-04-11 12:02:16 -0700928 }
929 ],
930 "source_info" : {
931 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800932 "line" : 266,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700933 "column" : 12,
934 "source_fragment" : "tx_port_counter.count((bit<32>) standard_metadata.egress_spec)"
935 }
936 }
937 ]
938 },
939 {
940 "name" : "act_5",
941 "id" : 15,
942 "runtime_data" : [],
943 "primitives" : [
944 {
945 "op" : "assign",
946 "parameters" : [
947 {
948 "type" : "field",
949 "value" : ["scalars", "tmp_1"]
950 },
951 {
952 "type" : "expression",
953 "value" : {
954 "type" : "expression",
955 "value" : {
956 "op" : "&",
957 "left" : {
958 "type" : "field",
959 "value" : ["standard_metadata", "ingress_port"]
960 },
961 "right" : {
962 "type" : "hexstr",
963 "value" : "0xffffffff"
964 }
965 }
966 }
967 }
Carmelo Cascone4bf427f2018-06-19 23:23:32 +0200968 ],
969 "source_info" : {
970 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800971 "line" : 269,
Carmelo Cascone4bf427f2018-06-19 23:23:32 +0200972 "column" : 34,
973 "source_fragment" : "(bit<32>) standard_metadata.ingress_port"
974 }
Carmelo Cascone700648c2018-04-11 12:02:16 -0700975 },
976 {
977 "op" : "count",
978 "parameters" : [
979 {
980 "type" : "counter_array",
981 "value" : "c_ingress.rx_port_counter"
982 },
983 {
984 "type" : "field",
985 "value" : ["scalars", "tmp_1"]
986 }
987 ],
988 "source_info" : {
989 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800990 "line" : 269,
Carmelo Cascone700648c2018-04-11 12:02:16 -0700991 "column" : 12,
992 "source_fragment" : "rx_port_counter.count((bit<32>) standard_metadata.ingress_port)"
993 }
994 }
995 ]
996 }
997 ],
998 "pipelines" : [
999 {
1000 "name" : "ingress",
1001 "id" : 0,
1002 "source_info" : {
1003 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001004 "line" : 148,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001005 "column" : 8,
1006 "source_fragment" : "c_ingress"
1007 },
1008 "init_table" : "tbl_act",
1009 "tables" : [
1010 {
1011 "name" : "tbl_act",
1012 "id" : 0,
1013 "key" : [],
1014 "match_type" : "exact",
1015 "type" : "simple",
1016 "max_size" : 1024,
1017 "with_counters" : false,
1018 "support_timeout" : false,
1019 "direct_meters" : null,
1020 "action_ids" : [13],
1021 "actions" : ["act_3"],
1022 "base_default_next" : "node_3",
1023 "next_tables" : {
1024 "act_3" : "node_3"
1025 },
1026 "default_entry" : {
1027 "action_id" : 13,
1028 "action_const" : true,
1029 "action_data" : [],
1030 "action_entry_const" : true
1031 }
1032 },
1033 {
1034 "name" : "tbl_act_0",
1035 "id" : 1,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001036 "source_info" : {
1037 "filename" : "mytunnel.p4",
1038 "line" : 241,
1039 "column" : 42,
1040 "source_fragment" : "= hdr.packet_out.egress_port; ..."
1041 },
Carmelo Cascone700648c2018-04-11 12:02:16 -07001042 "key" : [],
1043 "match_type" : "exact",
1044 "type" : "simple",
1045 "max_size" : 1024,
1046 "with_counters" : false,
1047 "support_timeout" : false,
1048 "direct_meters" : null,
1049 "action_ids" : [9],
1050 "actions" : ["act"],
1051 "base_default_next" : "node_15",
1052 "next_tables" : {
1053 "act" : "node_15"
1054 },
1055 "default_entry" : {
1056 "action_id" : 9,
1057 "action_const" : true,
1058 "action_data" : [],
1059 "action_entry_const" : true
1060 }
1061 },
1062 {
1063 "name" : "c_ingress.t_l2_fwd",
1064 "id" : 2,
1065 "source_info" : {
1066 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001067 "line" : 193,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001068 "column" : 10,
1069 "source_fragment" : "t_l2_fwd"
1070 },
1071 "key" : [
1072 {
1073 "match_type" : "ternary",
1074 "name" : "standard_metadata.ingress_port",
1075 "target" : ["standard_metadata", "ingress_port"],
1076 "mask" : null
1077 },
1078 {
1079 "match_type" : "ternary",
1080 "name" : "hdr.ethernet.dst_addr",
1081 "target" : ["ethernet", "dst_addr"],
1082 "mask" : null
1083 },
1084 {
1085 "match_type" : "ternary",
1086 "name" : "hdr.ethernet.src_addr",
1087 "target" : ["ethernet", "src_addr"],
1088 "mask" : null
1089 },
1090 {
1091 "match_type" : "ternary",
1092 "name" : "hdr.ethernet.ether_type",
1093 "target" : ["ethernet", "ether_type"],
1094 "mask" : null
1095 }
1096 ],
1097 "match_type" : "ternary",
1098 "type" : "simple",
1099 "max_size" : 1024,
1100 "with_counters" : true,
1101 "support_timeout" : false,
1102 "direct_meters" : null,
1103 "action_ids" : [2, 1, 4, 0],
1104 "actions" : ["c_ingress.set_out_port", "c_ingress.send_to_cpu", "c_ingress._drop", "NoAction"],
1105 "base_default_next" : null,
1106 "next_tables" : {
1107 "__HIT__" : "tbl_act_1",
1108 "__MISS__" : "tbl_act_2"
1109 },
1110 "default_entry" : {
1111 "action_id" : 0,
1112 "action_const" : false,
1113 "action_data" : [],
1114 "action_entry_const" : false
1115 }
1116 },
1117 {
1118 "name" : "tbl_act_1",
1119 "id" : 3,
1120 "key" : [],
1121 "match_type" : "exact",
1122 "type" : "simple",
1123 "max_size" : 1024,
1124 "with_counters" : false,
1125 "support_timeout" : false,
1126 "direct_meters" : null,
1127 "action_ids" : [10],
1128 "actions" : ["act_0"],
1129 "base_default_next" : "node_8",
1130 "next_tables" : {
1131 "act_0" : "node_8"
1132 },
1133 "default_entry" : {
1134 "action_id" : 10,
1135 "action_const" : true,
1136 "action_data" : [],
1137 "action_entry_const" : true
1138 }
1139 },
1140 {
1141 "name" : "tbl_act_2",
1142 "id" : 4,
1143 "key" : [],
1144 "match_type" : "exact",
1145 "type" : "simple",
1146 "max_size" : 1024,
1147 "with_counters" : false,
1148 "support_timeout" : false,
1149 "direct_meters" : null,
1150 "action_ids" : [11],
1151 "actions" : ["act_1"],
1152 "base_default_next" : "node_8",
1153 "next_tables" : {
1154 "act_1" : "node_8"
1155 },
1156 "default_entry" : {
1157 "action_id" : 11,
1158 "action_const" : true,
1159 "action_data" : [],
1160 "action_entry_const" : true
1161 }
1162 },
1163 {
1164 "name" : "tbl_act_3",
1165 "id" : 5,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001166 "source_info" : {
1167 "filename" : "mytunnel.p4",
1168 "line" : 250,
1169 "column" : 16,
1170 "source_fragment" : "return"
1171 },
Carmelo Cascone700648c2018-04-11 12:02:16 -07001172 "key" : [],
1173 "match_type" : "exact",
1174 "type" : "simple",
1175 "max_size" : 1024,
1176 "with_counters" : false,
1177 "support_timeout" : false,
1178 "direct_meters" : null,
1179 "action_ids" : [12],
1180 "actions" : ["act_2"],
1181 "base_default_next" : "node_10",
1182 "next_tables" : {
1183 "act_2" : "node_10"
1184 },
1185 "default_entry" : {
1186 "action_id" : 12,
1187 "action_const" : true,
1188 "action_data" : [],
1189 "action_entry_const" : true
1190 }
1191 },
1192 {
1193 "name" : "c_ingress.t_tunnel_ingress",
1194 "id" : 6,
1195 "source_info" : {
1196 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001197 "line" : 210,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001198 "column" : 10,
1199 "source_fragment" : "t_tunnel_ingress"
1200 },
1201 "key" : [
1202 {
1203 "match_type" : "lpm",
1204 "name" : "hdr.ipv4.dst_addr",
1205 "target" : ["ipv4", "dst_addr"],
1206 "mask" : null
1207 }
1208 ],
1209 "match_type" : "lpm",
1210 "type" : "simple",
1211 "max_size" : 1024,
1212 "with_counters" : false,
1213 "support_timeout" : false,
1214 "direct_meters" : null,
1215 "action_ids" : [7, 5],
1216 "actions" : ["c_ingress.my_tunnel_ingress", "c_ingress._drop"],
1217 "base_default_next" : "node_13",
1218 "next_tables" : {
1219 "c_ingress.my_tunnel_ingress" : "node_13",
1220 "c_ingress._drop" : "node_13"
1221 },
1222 "default_entry" : {
1223 "action_id" : 5,
1224 "action_const" : false,
1225 "action_data" : [],
1226 "action_entry_const" : false
1227 }
1228 },
1229 {
1230 "name" : "c_ingress.t_tunnel_fwd",
1231 "id" : 7,
1232 "source_info" : {
1233 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001234 "line" : 221,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001235 "column" : 10,
1236 "source_fragment" : "t_tunnel_fwd"
1237 },
1238 "key" : [
1239 {
1240 "match_type" : "exact",
1241 "name" : "hdr.my_tunnel.tun_id",
1242 "target" : ["my_tunnel", "tun_id"],
1243 "mask" : null
1244 }
1245 ],
1246 "match_type" : "exact",
1247 "type" : "simple",
1248 "max_size" : 1024,
1249 "with_counters" : false,
1250 "support_timeout" : false,
1251 "direct_meters" : null,
1252 "action_ids" : [3, 8, 6],
1253 "actions" : ["c_ingress.set_out_port", "c_ingress.my_tunnel_egress", "c_ingress._drop"],
1254 "base_default_next" : "node_15",
1255 "next_tables" : {
1256 "c_ingress.set_out_port" : "node_15",
1257 "c_ingress.my_tunnel_egress" : "node_15",
1258 "c_ingress._drop" : "node_15"
1259 },
1260 "default_entry" : {
1261 "action_id" : 6,
1262 "action_const" : false,
1263 "action_data" : [],
1264 "action_entry_const" : false
1265 }
1266 },
1267 {
1268 "name" : "tbl_act_4",
1269 "id" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001270 "source_info" : {
1271 "filename" : "mytunnel.p4",
1272 "line" : 266,
1273 "column" : 12,
1274 "source_fragment" : "tx_port_counter.count((bit<32>) standard_metadata.egress_spec)"
1275 },
Carmelo Cascone700648c2018-04-11 12:02:16 -07001276 "key" : [],
1277 "match_type" : "exact",
1278 "type" : "simple",
1279 "max_size" : 1024,
1280 "with_counters" : false,
1281 "support_timeout" : false,
1282 "direct_meters" : null,
1283 "action_ids" : [14],
1284 "actions" : ["act_4"],
1285 "base_default_next" : "node_18",
1286 "next_tables" : {
1287 "act_4" : "node_18"
1288 },
1289 "default_entry" : {
1290 "action_id" : 14,
1291 "action_const" : true,
1292 "action_data" : [],
1293 "action_entry_const" : true
1294 }
1295 },
1296 {
1297 "name" : "tbl_act_5",
1298 "id" : 9,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001299 "source_info" : {
1300 "filename" : "mytunnel.p4",
1301 "line" : 269,
1302 "column" : 12,
1303 "source_fragment" : "rx_port_counter.count((bit<32>) standard_metadata.ingress_port)"
1304 },
Carmelo Cascone700648c2018-04-11 12:02:16 -07001305 "key" : [],
1306 "match_type" : "exact",
1307 "type" : "simple",
1308 "max_size" : 1024,
1309 "with_counters" : false,
1310 "support_timeout" : false,
1311 "direct_meters" : null,
1312 "action_ids" : [15],
1313 "actions" : ["act_5"],
1314 "base_default_next" : null,
1315 "next_tables" : {
1316 "act_5" : null
1317 },
1318 "default_entry" : {
1319 "action_id" : 15,
1320 "action_const" : true,
1321 "action_data" : [],
1322 "action_entry_const" : true
1323 }
1324 }
1325 ],
1326 "action_profiles" : [],
1327 "conditionals" : [
1328 {
1329 "name" : "node_3",
1330 "id" : 0,
1331 "source_info" : {
1332 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001333 "line" : 236,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001334 "column" : 12,
1335 "source_fragment" : "standard_metadata.ingress_port == CPU_PORT"
1336 },
1337 "expression" : {
1338 "type" : "expression",
1339 "value" : {
1340 "op" : "==",
1341 "left" : {
1342 "type" : "field",
1343 "value" : ["standard_metadata", "ingress_port"]
1344 },
1345 "right" : {
1346 "type" : "hexstr",
1347 "value" : "0x00ff"
1348 }
1349 }
1350 },
1351 "true_next" : "tbl_act_0",
1352 "false_next" : "c_ingress.t_l2_fwd"
1353 },
1354 {
1355 "name" : "node_8",
1356 "id" : 1,
1357 "expression" : {
1358 "type" : "expression",
1359 "value" : {
1360 "op" : "d2b",
1361 "left" : null,
1362 "right" : {
1363 "type" : "field",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001364 "value" : ["scalars", "tmp"]
Carmelo Cascone700648c2018-04-11 12:02:16 -07001365 }
1366 }
1367 },
1368 "true_next" : "tbl_act_3",
1369 "false_next" : "node_10"
1370 },
1371 {
1372 "name" : "node_10",
1373 "id" : 2,
1374 "expression" : {
1375 "type" : "expression",
1376 "value" : {
1377 "op" : "not",
1378 "left" : null,
1379 "right" : {
1380 "type" : "expression",
1381 "value" : {
1382 "op" : "d2b",
1383 "left" : null,
1384 "right" : {
1385 "type" : "field",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001386 "value" : ["scalars", "hasReturned"]
Carmelo Cascone700648c2018-04-11 12:02:16 -07001387 }
1388 }
1389 }
1390 }
1391 },
1392 "true_next" : "node_11",
1393 "false_next" : "node_15"
1394 },
1395 {
1396 "name" : "node_11",
1397 "id" : 3,
1398 "source_info" : {
1399 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001400 "line" : 253,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001401 "column" : 16,
1402 "source_fragment" : "hdr.ipv4.isValid() && !hdr.my_tunnel.isValid()"
1403 },
1404 "expression" : {
1405 "type" : "expression",
1406 "value" : {
1407 "op" : "and",
1408 "left" : {
1409 "type" : "expression",
1410 "value" : {
1411 "op" : "d2b",
1412 "left" : null,
1413 "right" : {
1414 "type" : "field",
1415 "value" : ["ipv4", "$valid$"]
1416 }
1417 }
1418 },
1419 "right" : {
1420 "type" : "expression",
1421 "value" : {
1422 "op" : "not",
1423 "left" : null,
1424 "right" : {
1425 "type" : "expression",
1426 "value" : {
1427 "op" : "d2b",
1428 "left" : null,
1429 "right" : {
1430 "type" : "field",
1431 "value" : ["my_tunnel", "$valid$"]
1432 }
1433 }
1434 }
1435 }
1436 }
1437 }
1438 },
1439 "true_next" : "c_ingress.t_tunnel_ingress",
1440 "false_next" : "node_13"
1441 },
1442 {
1443 "name" : "node_13",
1444 "id" : 4,
1445 "source_info" : {
1446 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001447 "line" : 258,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001448 "column" : 16,
1449 "source_fragment" : "hdr.my_tunnel.isValid()"
1450 },
1451 "expression" : {
1452 "type" : "expression",
1453 "value" : {
1454 "op" : "d2b",
1455 "left" : null,
1456 "right" : {
1457 "type" : "field",
1458 "value" : ["my_tunnel", "$valid$"]
1459 }
1460 }
1461 },
1462 "true_next" : "c_ingress.t_tunnel_fwd",
1463 "false_next" : "node_15"
1464 },
1465 {
1466 "name" : "node_15",
1467 "id" : 5,
1468 "expression" : {
1469 "type" : "expression",
1470 "value" : {
1471 "op" : "not",
1472 "left" : null,
1473 "right" : {
1474 "type" : "expression",
1475 "value" : {
1476 "op" : "d2b",
1477 "left" : null,
1478 "right" : {
1479 "type" : "field",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001480 "value" : ["scalars", "hasReturned"]
Carmelo Cascone700648c2018-04-11 12:02:16 -07001481 }
1482 }
1483 }
1484 }
1485 },
1486 "false_next" : null,
1487 "true_next" : "node_16"
1488 },
1489 {
1490 "name" : "node_16",
1491 "id" : 6,
1492 "source_info" : {
1493 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001494 "line" : 265,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001495 "column" : 12,
1496 "source_fragment" : "standard_metadata.egress_spec < 255"
1497 },
1498 "expression" : {
1499 "type" : "expression",
1500 "value" : {
1501 "op" : "<",
1502 "left" : {
1503 "type" : "field",
1504 "value" : ["standard_metadata", "egress_spec"]
1505 },
1506 "right" : {
1507 "type" : "hexstr",
1508 "value" : "0x00ff"
1509 }
1510 }
1511 },
1512 "true_next" : "tbl_act_4",
1513 "false_next" : "node_18"
1514 },
1515 {
1516 "name" : "node_18",
1517 "id" : 7,
1518 "source_info" : {
1519 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001520 "line" : 268,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001521 "column" : 12,
1522 "source_fragment" : "standard_metadata.ingress_port < 255"
1523 },
1524 "expression" : {
1525 "type" : "expression",
1526 "value" : {
1527 "op" : "<",
1528 "left" : {
1529 "type" : "field",
1530 "value" : ["standard_metadata", "ingress_port"]
1531 },
1532 "right" : {
1533 "type" : "hexstr",
1534 "value" : "0x00ff"
1535 }
1536 }
1537 },
1538 "false_next" : null,
1539 "true_next" : "tbl_act_5"
1540 }
1541 ]
1542 },
1543 {
1544 "name" : "egress",
1545 "id" : 1,
1546 "source_info" : {
1547 "filename" : "mytunnel.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001548 "line" : 278,
Carmelo Cascone700648c2018-04-11 12:02:16 -07001549 "column" : 8,
1550 "source_fragment" : "c_egress"
1551 },
1552 "init_table" : null,
1553 "tables" : [],
1554 "action_profiles" : [],
1555 "conditionals" : []
1556 }
1557 ],
1558 "checksums" : [],
1559 "force_arith" : [],
1560 "extern_instances" : [],
1561 "field_aliases" : [
1562 [
1563 "queueing_metadata.enq_timestamp",
1564 ["standard_metadata", "enq_timestamp"]
1565 ],
1566 [
1567 "queueing_metadata.enq_qdepth",
1568 ["standard_metadata", "enq_qdepth"]
1569 ],
1570 [
1571 "queueing_metadata.deq_timedelta",
1572 ["standard_metadata", "deq_timedelta"]
1573 ],
1574 [
1575 "queueing_metadata.deq_qdepth",
1576 ["standard_metadata", "deq_qdepth"]
1577 ],
1578 [
1579 "intrinsic_metadata.ingress_global_timestamp",
1580 ["standard_metadata", "ingress_global_timestamp"]
1581 ],
1582 [
1583 "intrinsic_metadata.egress_global_timestamp",
1584 ["standard_metadata", "egress_global_timestamp"]
1585 ],
1586 [
1587 "intrinsic_metadata.lf_field_list",
1588 ["standard_metadata", "lf_field_list"]
1589 ],
1590 [
1591 "intrinsic_metadata.mcast_grp",
1592 ["standard_metadata", "mcast_grp"]
1593 ],
1594 [
1595 "intrinsic_metadata.resubmit_flag",
1596 ["standard_metadata", "resubmit_flag"]
1597 ],
1598 [
1599 "intrinsic_metadata.egress_rid",
1600 ["standard_metadata", "egress_rid"]
1601 ],
1602 [
1603 "intrinsic_metadata.recirculate_flag",
1604 ["standard_metadata", "recirculate_flag"]
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001605 ],
1606 [
1607 "intrinsic_metadata.priority",
1608 ["standard_metadata", "priority"]
Carmelo Cascone700648c2018-04-11 12:02:16 -07001609 ]
Carmelo Cascone4bf427f2018-06-19 23:23:32 +02001610 ],
1611 "program" : "mytunnel.p4",
1612 "__meta__" : {
1613 "version" : [2, 18],
1614 "compiler" : "https://github.com/p4lang/p4c"
1615 }
Carmelo Cascone25243d62019-02-21 15:37:31 -08001616}