blob: fcc8ce9a1fb904700b92a9405dbea8e81e5e22ed [file] [log] [blame]
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001{
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07002 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
7 ["tmp", 32, false],
8 ["tmp_0", 32, false],
Carmelo Cascone776be382018-12-12 19:03:57 -08009 ["port_meters_ingress_ingress_color", 8, false],
10 ["host_meter_control_meter_tag", 8, false],
Frank Wangd7e3b4b2017-09-24 13:37:54 +090011 ["tmp_1", 32, false],
12 ["tmp_2", 32, false],
Carmelo Cascone776be382018-12-12 19:03:57 -080013 ["port_meters_egress_egress_color", 8, false],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -070014 ["local_metadata_t.l4_src_port", 16, false],
15 ["local_metadata_t.l4_dst_port", 16, false],
Keesjan Karsten23368892018-05-22 10:46:01 +000016 ["local_metadata_t.next_hop_id", 16, false]
Carmelo Casconeca94bcf2017-10-27 14:16:59 -070017 ]
18 },
19 {
Carmelo Casconeca94bcf2017-10-27 14:16:59 -070020 "name" : "standard_metadata",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020021 "id" : 1,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -070022 "fields" : [
23 ["ingress_port", 9, false],
24 ["egress_spec", 9, false],
25 ["egress_port", 9, false],
26 ["clone_spec", 32, false],
27 ["instance_type", 32, false],
28 ["drop", 1, false],
29 ["recirculate_port", 16, false],
30 ["packet_length", 32, false],
31 ["enq_timestamp", 32, false],
32 ["enq_qdepth", 19, false],
33 ["deq_timedelta", 32, false],
34 ["deq_qdepth", 19, false],
35 ["ingress_global_timestamp", 48, false],
Carmelo Cascone81929aa2018-04-07 01:38:55 -070036 ["egress_global_timestamp", 48, false],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -070037 ["lf_field_list", 32, false],
38 ["mcast_grp", 16, false],
Carmelo Cascone81929aa2018-04-07 01:38:55 -070039 ["resubmit_flag", 32, false],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -070040 ["egress_rid", 16, false],
Carmelo Cascone81929aa2018-04-07 01:38:55 -070041 ["recirculate_flag", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070042 ["checksum_error", 1, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070043 ["parser_error", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070044 ["priority", 3, false],
45 ["_padding_0", 2, false]
Carmelo Casconeca94bcf2017-10-27 14:16:59 -070046 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020047 },
48 {
49 "name" : "packet_out_header_t",
50 "id" : 2,
51 "fields" : [
52 ["egress_port", 9, false],
53 ["_padding", 7, false]
54 ]
55 },
56 {
57 "name" : "packet_in_header_t",
58 "id" : 3,
59 "fields" : [
60 ["ingress_port", 9, false],
61 ["_padding", 7, false]
62 ]
63 },
64 {
65 "name" : "ethernet_t",
66 "id" : 4,
67 "fields" : [
68 ["dst_addr", 48, false],
69 ["src_addr", 48, false],
70 ["ether_type", 16, false]
71 ]
72 },
73 {
74 "name" : "ipv4_t",
75 "id" : 5,
76 "fields" : [
77 ["version", 4, false],
78 ["ihl", 4, false],
79 ["dscp", 6, false],
80 ["ecn", 2, false],
81 ["len", 16, false],
82 ["identification", 16, false],
83 ["flags", 3, false],
84 ["frag_offset", 13, false],
85 ["ttl", 8, false],
86 ["protocol", 8, false],
87 ["hdr_checksum", 16, false],
88 ["src_addr", 32, false],
89 ["dst_addr", 32, false]
90 ]
91 },
92 {
93 "name" : "tcp_t",
94 "id" : 6,
95 "fields" : [
96 ["src_port", 16, false],
97 ["dst_port", 16, false],
98 ["seq_no", 32, false],
99 ["ack_no", 32, false],
100 ["data_offset", 4, false],
101 ["res", 3, false],
102 ["ecn", 3, false],
103 ["ctrl", 6, false],
104 ["window", 16, false],
105 ["checksum", 16, false],
106 ["urgent_ptr", 16, false]
107 ]
108 },
109 {
110 "name" : "udp_t",
111 "id" : 7,
112 "fields" : [
113 ["src_port", 16, false],
114 ["dst_port", 16, false],
115 ["length_", 16, false],
116 ["checksum", 16, false]
117 ]
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700118 }
119 ],
120 "headers" : [
121 {
122 "name" : "scalars",
123 "id" : 0,
124 "header_type" : "scalars_0",
125 "metadata" : true,
126 "pi_omit" : true
127 },
128 {
129 "name" : "standard_metadata",
130 "id" : 1,
131 "header_type" : "standard_metadata",
132 "metadata" : true,
133 "pi_omit" : true
134 },
135 {
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700136 "name" : "packet_out",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800137 "id" : 2,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700138 "header_type" : "packet_out_header_t",
139 "metadata" : false,
140 "pi_omit" : true
141 },
142 {
143 "name" : "packet_in",
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800144 "id" : 3,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700145 "header_type" : "packet_in_header_t",
146 "metadata" : false,
147 "pi_omit" : true
Jonghwan Hyun4a9a6712017-11-13 14:43:55 -0800148 },
149 {
150 "name" : "ethernet",
151 "id" : 4,
152 "header_type" : "ethernet_t",
153 "metadata" : false,
154 "pi_omit" : true
155 },
156 {
157 "name" : "ipv4",
158 "id" : 5,
159 "header_type" : "ipv4_t",
160 "metadata" : false,
161 "pi_omit" : true
162 },
163 {
164 "name" : "tcp",
165 "id" : 6,
166 "header_type" : "tcp_t",
167 "metadata" : false,
168 "pi_omit" : true
169 },
170 {
171 "name" : "udp",
172 "id" : 7,
173 "header_type" : "udp_t",
174 "metadata" : false,
175 "pi_omit" : true
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700176 }
177 ],
178 "header_stacks" : [],
179 "header_union_types" : [],
180 "header_unions" : [],
181 "header_union_stacks" : [],
182 "field_lists" : [],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700183 "errors" : [
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700184 ["NoError", 0],
185 ["PacketTooShort", 1],
186 ["NoMatch", 2],
187 ["StackOutOfBounds", 3],
188 ["HeaderTooShort", 4],
189 ["ParserTimeout", 5],
190 ["ParserInvalidArgument", 6]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700191 ],
Keesjan Karsten23368892018-05-22 10:46:01 +0000192 "enums" : [],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700193 "parsers" : [
194 {
195 "name" : "parser",
196 "id" : 0,
197 "init_state" : "start",
198 "parse_states" : [
199 {
200 "name" : "start",
201 "id" : 0,
202 "parser_ops" : [],
203 "transitions" : [
204 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700205 "type" : "hexstr",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700206 "value" : "0x00ff",
207 "mask" : null,
208 "next_state" : "parse_packet_out"
209 },
210 {
211 "value" : "default",
212 "mask" : null,
213 "next_state" : "parse_ethernet"
214 }
215 ],
216 "transition_key" : [
217 {
218 "type" : "field",
219 "value" : ["standard_metadata", "ingress_port"]
220 }
221 ]
222 },
223 {
224 "name" : "parse_packet_out",
225 "id" : 1,
226 "parser_ops" : [
227 {
228 "parameters" : [
229 {
230 "type" : "regular",
231 "value" : "packet_out"
232 }
233 ],
234 "op" : "extract"
235 }
236 ],
237 "transitions" : [
238 {
239 "value" : "default",
240 "mask" : null,
241 "next_state" : "parse_ethernet"
242 }
243 ],
244 "transition_key" : []
245 },
246 {
247 "name" : "parse_ethernet",
248 "id" : 2,
249 "parser_ops" : [
250 {
251 "parameters" : [
252 {
253 "type" : "regular",
254 "value" : "ethernet"
255 }
256 ],
257 "op" : "extract"
258 }
259 ],
260 "transitions" : [
261 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700262 "type" : "hexstr",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700263 "value" : "0x0800",
264 "mask" : null,
265 "next_state" : "parse_ipv4"
266 },
267 {
268 "value" : "default",
269 "mask" : null,
270 "next_state" : null
271 }
272 ],
273 "transition_key" : [
274 {
275 "type" : "field",
276 "value" : ["ethernet", "ether_type"]
277 }
278 ]
279 },
280 {
281 "name" : "parse_ipv4",
282 "id" : 3,
283 "parser_ops" : [
284 {
285 "parameters" : [
286 {
287 "type" : "regular",
288 "value" : "ipv4"
289 }
290 ],
291 "op" : "extract"
292 }
293 ],
294 "transitions" : [
295 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700296 "type" : "hexstr",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700297 "value" : "0x06",
298 "mask" : null,
299 "next_state" : "parse_tcp"
300 },
301 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700302 "type" : "hexstr",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700303 "value" : "0x11",
304 "mask" : null,
305 "next_state" : "parse_udp"
306 },
307 {
308 "value" : "default",
309 "mask" : null,
310 "next_state" : null
311 }
312 ],
313 "transition_key" : [
314 {
315 "type" : "field",
316 "value" : ["ipv4", "protocol"]
317 }
318 ]
319 },
320 {
321 "name" : "parse_tcp",
322 "id" : 4,
323 "parser_ops" : [
324 {
325 "parameters" : [
326 {
327 "type" : "regular",
328 "value" : "tcp"
329 }
330 ],
331 "op" : "extract"
332 },
333 {
334 "parameters" : [
335 {
336 "type" : "field",
337 "value" : ["scalars", "local_metadata_t.l4_src_port"]
338 },
339 {
340 "type" : "field",
341 "value" : ["tcp", "src_port"]
342 }
343 ],
344 "op" : "set"
345 },
346 {
347 "parameters" : [
348 {
349 "type" : "field",
350 "value" : ["scalars", "local_metadata_t.l4_dst_port"]
351 },
352 {
353 "type" : "field",
354 "value" : ["tcp", "dst_port"]
355 }
356 ],
357 "op" : "set"
358 }
359 ],
360 "transitions" : [
361 {
362 "value" : "default",
363 "mask" : null,
364 "next_state" : null
365 }
366 ],
367 "transition_key" : []
368 },
369 {
370 "name" : "parse_udp",
371 "id" : 5,
372 "parser_ops" : [
373 {
374 "parameters" : [
375 {
376 "type" : "regular",
377 "value" : "udp"
378 }
379 ],
380 "op" : "extract"
381 },
382 {
383 "parameters" : [
384 {
385 "type" : "field",
386 "value" : ["scalars", "local_metadata_t.l4_src_port"]
387 },
388 {
389 "type" : "field",
390 "value" : ["udp", "src_port"]
391 }
392 ],
393 "op" : "set"
394 },
395 {
396 "parameters" : [
397 {
398 "type" : "field",
399 "value" : ["scalars", "local_metadata_t.l4_dst_port"]
400 },
401 {
402 "type" : "field",
403 "value" : ["udp", "dst_port"]
404 }
405 ],
406 "op" : "set"
407 }
408 ],
409 "transitions" : [
410 {
411 "value" : "default",
412 "mask" : null,
413 "next_state" : null
414 }
415 ],
416 "transition_key" : []
417 }
418 ]
419 }
420 ],
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700421 "parse_vsets" : [],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700422 "deparsers" : [
423 {
424 "name" : "deparser",
425 "id" : 0,
426 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900427 "filename" : "include/parsers.p4",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700428 "line" : 72,
429 "column" : 8,
430 "source_fragment" : "deparser"
431 },
432 "order" : ["packet_in", "ethernet", "ipv4", "tcp", "udp"]
433 }
434 ],
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900435 "meter_arrays" : [
436 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700437 "name" : "ingress.port_meters_ingress.ingress_port_meter",
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900438 "id" : 0,
439 "source_info" : {
440 "filename" : "include/port_meters.p4",
441 "line" : 23,
442 "column" : 32,
443 "source_fragment" : "ingress_port_meter"
444 },
445 "is_direct" : false,
446 "size" : 511,
447 "rate_count" : 2,
448 "type" : "bytes"
449 },
450 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700451 "name" : "ingress.host_meter_control.host_meter",
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900452 "id" : 1,
453 "source_info" : {
454 "filename" : "include/host_meter_table.p4",
455 "line" : 27,
Keesjan Karsten23368892018-05-22 10:46:01 +0000456 "column" : 46,
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900457 "source_fragment" : "host_meter"
458 },
459 "is_direct" : true,
460 "rate_count" : 2,
461 "type" : "bytes",
462 "size" : 1024,
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700463 "binding" : "ingress.host_meter_control.host_meter_table",
Carmelo Cascone776be382018-12-12 19:03:57 -0800464 "result_target" : ["scalars", "host_meter_control_meter_tag"]
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900465 },
466 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700467 "name" : "egress.port_meters_egress.egress_port_meter",
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900468 "id" : 2,
469 "source_info" : {
470 "filename" : "include/port_meters.p4",
471 "line" : 37,
472 "column" : 32,
473 "source_fragment" : "egress_port_meter"
474 },
475 "is_direct" : false,
476 "size" : 511,
477 "rate_count" : 2,
478 "type" : "bytes"
479 }
480 ],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700481 "counter_arrays" : [
482 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700483 "name" : "ingress.port_counters_ingress.ingress_port_counter",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700484 "id" : 0,
485 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900486 "filename" : "include/port_counters.p4",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700487 "line" : 26,
488 "column" : 38,
489 "source_fragment" : "ingress_port_counter"
490 },
491 "size" : 511,
492 "is_direct" : false
493 },
494 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700495 "name" : "ingress.table0_control.table0_counter",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700496 "id" : 1,
497 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700498 "binding" : "ingress.table0_control.table0",
499 "source_info" : {
500 "filename" : "include/table0.p4",
501 "line" : 27,
502 "column" : 50,
503 "source_fragment" : "table0_counter"
504 }
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700505 },
506 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700507 "name" : "ingress.wcmp_control.wcmp_table_counter",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700508 "id" : 2,
509 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700510 "binding" : "ingress.wcmp_control.wcmp_table",
511 "source_info" : {
512 "filename" : "include/wcmp.p4",
513 "line" : 27,
514 "column" : 50,
515 "source_fragment" : "wcmp_table_counter"
516 }
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700517 },
518 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700519 "name" : "egress.port_counters_egress.egress_port_counter",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700520 "id" : 3,
521 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900522 "filename" : "include/port_counters.p4",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700523 "line" : 36,
524 "column" : 38,
525 "source_fragment" : "egress_port_counter"
526 },
527 "size" : 511,
528 "is_direct" : false
529 }
530 ],
531 "register_arrays" : [],
Jonghwan Hyun6777d532018-11-18 20:50:16 +0900532 "calculations" : [
533 {
534 "name" : "calc",
535 "id" : 0,
536 "source_info" : {
537 "filename" : "include/checksums.p4",
538 "line" : 32,
539 "column" : 8,
540 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
541 },
542 "algo" : "csum16",
543 "input" : [
544 {
545 "type" : "field",
546 "value" : ["ipv4", "version"]
547 },
548 {
549 "type" : "field",
550 "value" : ["ipv4", "ihl"]
551 },
552 {
553 "type" : "field",
554 "value" : ["ipv4", "dscp"]
555 },
556 {
557 "type" : "field",
558 "value" : ["ipv4", "ecn"]
559 },
560 {
561 "type" : "field",
562 "value" : ["ipv4", "len"]
563 },
564 {
565 "type" : "field",
566 "value" : ["ipv4", "identification"]
567 },
568 {
569 "type" : "field",
570 "value" : ["ipv4", "flags"]
571 },
572 {
573 "type" : "field",
574 "value" : ["ipv4", "frag_offset"]
575 },
576 {
577 "type" : "field",
578 "value" : ["ipv4", "ttl"]
579 },
580 {
581 "type" : "field",
582 "value" : ["ipv4", "protocol"]
583 },
584 {
585 "type" : "field",
586 "value" : ["ipv4", "src_addr"]
587 },
588 {
589 "type" : "field",
590 "value" : ["ipv4", "dst_addr"]
591 }
592 ]
593 }
594 ],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700595 "learn_lists" : [],
596 "actions" : [
597 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700598 "name" : "NoAction",
Keesjan Karsten23368892018-05-22 10:46:01 +0000599 "id" : 0,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700600 "runtime_data" : [],
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700601 "primitives" : []
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700602 },
603 {
604 "name" : "NoAction",
Keesjan Karsten23368892018-05-22 10:46:01 +0000605 "id" : 1,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700606 "runtime_data" : [],
607 "primitives" : []
608 },
609 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700610 "name" : "ingress.table0_control.set_next_hop_id",
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700611 "id" : 2,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700612 "runtime_data" : [
613 {
614 "name" : "next_hop_id",
615 "bitwidth" : 16
616 }
617 ],
618 "primitives" : [
619 {
620 "op" : "assign",
621 "parameters" : [
622 {
623 "type" : "field",
624 "value" : ["scalars", "local_metadata_t.next_hop_id"]
625 },
626 {
627 "type" : "runtime_data",
628 "value" : 0
629 }
630 ],
631 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900632 "filename" : "include/table0.p4",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700633 "line" : 30,
634 "column" : 8,
635 "source_fragment" : "local_metadata.next_hop_id = next_hop_id"
636 }
637 }
638 ]
639 },
640 {
Keesjan Karsten23368892018-05-22 10:46:01 +0000641 "name" : "ingress.table0_control.send_to_cpu",
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700642 "id" : 3,
Keesjan Karsten23368892018-05-22 10:46:01 +0000643 "runtime_data" : [],
644 "primitives" : [
645 {
646 "op" : "assign",
647 "parameters" : [
648 {
649 "type" : "field",
650 "value" : ["standard_metadata", "egress_spec"]
651 },
652 {
653 "type" : "hexstr",
654 "value" : "0x00ff"
655 }
656 ],
657 "source_info" : {
658 "filename" : "include/defines.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800659 "line" : 43,
Keesjan Karsten23368892018-05-22 10:46:01 +0000660 "column" : 24,
661 "source_fragment" : "255; ..."
662 }
663 }
664 ]
665 },
666 {
667 "name" : "ingress.table0_control.set_egress_port",
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700668 "id" : 4,
Keesjan Karsten23368892018-05-22 10:46:01 +0000669 "runtime_data" : [
670 {
671 "name" : "port",
672 "bitwidth" : 9
673 }
674 ],
675 "primitives" : [
676 {
677 "op" : "assign",
678 "parameters" : [
679 {
680 "type" : "field",
681 "value" : ["standard_metadata", "egress_spec"]
682 },
683 {
684 "type" : "runtime_data",
685 "value" : 0
686 }
687 ],
688 "source_info" : {
689 "filename" : "include/table0.p4",
690 "line" : 38,
691 "column" : 8,
692 "source_fragment" : "standard_metadata.egress_spec = port"
693 }
694 }
695 ]
696 },
697 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700698 "name" : "ingress.table0_control.drop",
699 "id" : 5,
700 "runtime_data" : [],
701 "primitives" : [
702 {
703 "op" : "mark_to_drop",
704 "parameters" : [
705 {
706 "type" : "header",
707 "value" : "standard_metadata"
708 }
709 ],
710 "source_info" : {
711 "filename" : "include/table0.p4",
712 "line" : 42,
713 "column" : 8,
714 "source_fragment" : "mark_to_drop(standard_metadata)"
715 }
716 }
717 ]
718 },
719 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700720 "name" : "ingress.host_meter_control.read_meter",
Keesjan Karsten23368892018-05-22 10:46:01 +0000721 "id" : 6,
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900722 "runtime_data" : [],
723 "primitives" : []
724 },
725 {
Keesjan Karsten23368892018-05-22 10:46:01 +0000726 "name" : "ingress.wcmp_control.set_egress_port",
727 "id" : 7,
728 "runtime_data" : [
729 {
730 "name" : "port",
731 "bitwidth" : 9
732 }
733 ],
734 "primitives" : [
735 {
736 "op" : "assign",
737 "parameters" : [
738 {
739 "type" : "field",
740 "value" : ["standard_metadata", "egress_spec"]
741 },
742 {
743 "type" : "runtime_data",
744 "value" : 0
745 }
746 ],
747 "source_info" : {
748 "filename" : "include/wcmp.p4",
749 "line" : 31,
750 "column" : 8,
751 "source_fragment" : "standard_metadata.egress_spec = port"
752 }
753 }
754 ]
755 },
756 {
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700757 "name" : "act",
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900758 "id" : 8,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700759 "runtime_data" : [],
760 "primitives" : [
761 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700762 "op" : "mark_to_drop",
763 "parameters" : [
764 {
765 "type" : "header",
766 "value" : "standard_metadata"
767 }
768 ],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700769 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900770 "filename" : "include/port_meters.p4",
771 "line" : 29,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700772 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700773 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700774 }
775 }
776 ]
777 },
778 {
779 "name" : "act_0",
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900780 "id" : 9,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700781 "runtime_data" : [],
782 "primitives" : [
783 {
784 "op" : "assign",
785 "parameters" : [
786 {
787 "type" : "field",
788 "value" : ["scalars", "tmp"]
789 },
790 {
791 "type" : "expression",
792 "value" : {
793 "type" : "expression",
794 "value" : {
795 "op" : "&",
796 "left" : {
797 "type" : "field",
798 "value" : ["standard_metadata", "ingress_port"]
799 },
800 "right" : {
801 "type" : "hexstr",
802 "value" : "0xffffffff"
803 }
804 }
805 }
806 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200807 ],
808 "source_info" : {
809 "filename" : "include/port_counters.p4",
810 "line" : 29,
811 "column" : 35,
812 "source_fragment" : "(bit<32>) standard_metadata.ingress_port"
813 }
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700814 },
815 {
816 "op" : "count",
817 "parameters" : [
818 {
819 "type" : "counter_array",
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700820 "value" : "ingress.port_counters_ingress.ingress_port_counter"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700821 },
822 {
823 "type" : "field",
824 "value" : ["scalars", "tmp"]
825 }
826 ],
827 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900828 "filename" : "include/port_counters.p4",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700829 "line" : 29,
830 "column" : 8,
831 "source_fragment" : "ingress_port_counter.count((bit<32>) standard_metadata.ingress_port)"
832 }
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700833 },
834 {
835 "op" : "assign",
836 "parameters" : [
837 {
838 "type" : "field",
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900839 "value" : ["scalars", "tmp_0"]
840 },
841 {
842 "type" : "expression",
843 "value" : {
844 "type" : "expression",
845 "value" : {
846 "op" : "&",
847 "left" : {
848 "type" : "field",
849 "value" : ["standard_metadata", "ingress_port"]
850 },
851 "right" : {
852 "type" : "hexstr",
853 "value" : "0xffffffff"
854 }
855 }
856 }
857 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200858 ],
859 "source_info" : {
860 "filename" : "include/port_meters.p4",
861 "line" : 27,
862 "column" : 53,
863 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
864 }
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900865 },
866 {
867 "op" : "execute_meter",
868 "parameters" : [
869 {
870 "type" : "meter_array",
Carmelo Cascone81929aa2018-04-07 01:38:55 -0700871 "value" : "ingress.port_meters_ingress.ingress_port_meter"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700872 },
873 {
874 "type" : "field",
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900875 "value" : ["scalars", "tmp_0"]
876 },
877 {
878 "type" : "field",
Carmelo Cascone776be382018-12-12 19:03:57 -0800879 "value" : ["scalars", "port_meters_ingress_ingress_color"]
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700880 }
881 ],
882 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900883 "filename" : "include/port_meters.p4",
884 "line" : 27,
885 "column" : 8,
Keesjan Karsten23368892018-05-22 10:46:01 +0000886 "source_fragment" : "ingress_port_meter.execute_meter<MeterColor>((bit<32>)standard_metadata.ingress_port, ingress_color)"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700887 }
888 }
889 ]
890 },
891 {
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900892 "name" : "act_1",
893 "id" : 10,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -0700894 "runtime_data" : [],
895 "primitives" : [
896 {
897 "op" : "assign",
898 "parameters" : [
899 {
900 "type" : "field",
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900901 "value" : ["standard_metadata", "egress_spec"]
902 },
903 {
904 "type" : "field",
905 "value" : ["packet_out", "egress_port"]
906 }
907 ],
908 "source_info" : {
909 "filename" : "include/packet_io.p4",
910 "line" : 27,
911 "column" : 12,
912 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
913 }
914 },
915 {
916 "op" : "remove_header",
917 "parameters" : [
918 {
919 "type" : "header",
920 "value" : "packet_out"
921 }
922 ],
923 "source_info" : {
924 "filename" : "include/packet_io.p4",
925 "line" : 28,
926 "column" : 12,
927 "source_fragment" : "hdr.packet_out.setInvalid()"
928 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700929 },
930 {
931 "op" : "exit",
932 "parameters" : [],
933 "source_info" : {
934 "filename" : "include/packet_io.p4",
935 "line" : 29,
936 "column" : 12,
937 "source_fragment" : "exit"
938 }
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900939 }
940 ]
941 },
942 {
943 "name" : "act_2",
944 "id" : 11,
945 "runtime_data" : [],
946 "primitives" : [
947 {
948 "op" : "assign",
949 "parameters" : [
950 {
951 "type" : "field",
Carmelo Cascone776be382018-12-12 19:03:57 -0800952 "value" : ["scalars", "host_meter_control_meter_tag"]
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900953 },
954 {
Keesjan Karsten23368892018-05-22 10:46:01 +0000955 "type" : "hexstr",
956 "value" : "0x00"
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900957 }
Keesjan Karsten23368892018-05-22 10:46:01 +0000958 ],
959 "source_info" : {
960 "filename" : "include/defines.p4",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -0800961 "line" : 46,
Keesjan Karsten23368892018-05-22 10:46:01 +0000962 "column" : 36,
963 "source_fragment" : "8w0; ..."
964 }
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900965 }
966 ]
967 },
968 {
969 "name" : "act_3",
970 "id" : 12,
971 "runtime_data" : [],
972 "primitives" : [
973 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700974 "op" : "mark_to_drop",
975 "parameters" : [
976 {
977 "type" : "header",
978 "value" : "standard_metadata"
979 }
980 ],
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900981 "source_info" : {
982 "filename" : "include/host_meter_table.p4",
Keesjan Karsten23368892018-05-22 10:46:01 +0000983 "line" : 48,
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900984 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700985 "source_fragment" : "mark_to_drop(standard_metadata)"
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900986 }
987 }
988 ]
989 },
990 {
Keesjan Karsten23368892018-05-22 10:46:01 +0000991 "name" : "act_4",
992 "id" : 13,
Frank Wangd7e3b4b2017-09-24 13:37:54 +0900993 "runtime_data" : [],
994 "primitives" : [
995 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700996 "op" : "mark_to_drop",
997 "parameters" : [
998 {
999 "type" : "header",
1000 "value" : "standard_metadata"
1001 }
1002 ],
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001003 "source_info" : {
1004 "filename" : "include/port_meters.p4",
1005 "line" : 43,
1006 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001007 "source_fragment" : "mark_to_drop(standard_metadata)"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001008 }
1009 }
1010 ]
1011 },
1012 {
Keesjan Karsten23368892018-05-22 10:46:01 +00001013 "name" : "act_5",
1014 "id" : 14,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001015 "runtime_data" : [],
1016 "primitives" : [
1017 {
1018 "op" : "assign",
1019 "parameters" : [
1020 {
1021 "type" : "field",
1022 "value" : ["scalars", "tmp_1"]
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001023 },
1024 {
1025 "type" : "expression",
1026 "value" : {
1027 "type" : "expression",
1028 "value" : {
1029 "op" : "&",
1030 "left" : {
1031 "type" : "field",
1032 "value" : ["standard_metadata", "egress_port"]
1033 },
1034 "right" : {
1035 "type" : "hexstr",
1036 "value" : "0xffffffff"
1037 }
1038 }
1039 }
1040 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001041 ],
1042 "source_info" : {
1043 "filename" : "include/port_counters.p4",
1044 "line" : 39,
1045 "column" : 34,
1046 "source_fragment" : "(bit<32>) standard_metadata.egress_port"
1047 }
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001048 },
1049 {
1050 "op" : "count",
1051 "parameters" : [
1052 {
1053 "type" : "counter_array",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001054 "value" : "egress.port_counters_egress.egress_port_counter"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001055 },
1056 {
1057 "type" : "field",
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001058 "value" : ["scalars", "tmp_1"]
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001059 }
1060 ],
1061 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001062 "filename" : "include/port_counters.p4",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001063 "line" : 39,
1064 "column" : 8,
1065 "source_fragment" : "egress_port_counter.count((bit<32>) standard_metadata.egress_port)"
1066 }
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001067 },
1068 {
1069 "op" : "assign",
1070 "parameters" : [
1071 {
1072 "type" : "field",
1073 "value" : ["scalars", "tmp_2"]
1074 },
1075 {
1076 "type" : "expression",
1077 "value" : {
1078 "type" : "expression",
1079 "value" : {
1080 "op" : "&",
1081 "left" : {
1082 "type" : "field",
1083 "value" : ["standard_metadata", "egress_port"]
1084 },
1085 "right" : {
1086 "type" : "hexstr",
1087 "value" : "0xffffffff"
1088 }
1089 }
1090 }
1091 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001092 ],
1093 "source_info" : {
1094 "filename" : "include/port_meters.p4",
1095 "line" : 41,
1096 "column" : 52,
1097 "source_fragment" : "(bit<32>)standard_metadata.egress_port"
1098 }
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001099 },
1100 {
1101 "op" : "execute_meter",
1102 "parameters" : [
1103 {
1104 "type" : "meter_array",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001105 "value" : "egress.port_meters_egress.egress_port_meter"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001106 },
1107 {
1108 "type" : "field",
1109 "value" : ["scalars", "tmp_2"]
1110 },
1111 {
1112 "type" : "field",
Carmelo Cascone776be382018-12-12 19:03:57 -08001113 "value" : ["scalars", "port_meters_egress_egress_color"]
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001114 }
1115 ],
1116 "source_info" : {
1117 "filename" : "include/port_meters.p4",
1118 "line" : 41,
1119 "column" : 8,
Keesjan Karsten23368892018-05-22 10:46:01 +00001120 "source_fragment" : "egress_port_meter.execute_meter<MeterColor>((bit<32>)standard_metadata.egress_port, egress_color)"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001121 }
1122 }
1123 ]
1124 },
1125 {
Keesjan Karsten23368892018-05-22 10:46:01 +00001126 "name" : "act_6",
1127 "id" : 15,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001128 "runtime_data" : [],
1129 "primitives" : [
1130 {
1131 "op" : "add_header",
1132 "parameters" : [
1133 {
1134 "type" : "header",
1135 "value" : "packet_in"
1136 }
1137 ],
1138 "source_info" : {
1139 "filename" : "include/packet_io.p4",
1140 "line" : 38,
1141 "column" : 12,
1142 "source_fragment" : "hdr.packet_in.setValid()"
1143 }
1144 },
1145 {
1146 "op" : "assign",
1147 "parameters" : [
1148 {
1149 "type" : "field",
1150 "value" : ["packet_in", "ingress_port"]
1151 },
1152 {
1153 "type" : "field",
1154 "value" : ["standard_metadata", "ingress_port"]
1155 }
1156 ],
1157 "source_info" : {
1158 "filename" : "include/packet_io.p4",
1159 "line" : 39,
1160 "column" : 12,
1161 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
1162 }
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001163 }
1164 ]
1165 }
1166 ],
1167 "pipelines" : [
1168 {
1169 "name" : "ingress",
1170 "id" : 0,
1171 "source_info" : {
1172 "filename" : "basic.p4",
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001173 "line" : 37,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001174 "column" : 8,
1175 "source_fragment" : "ingress"
1176 },
1177 "init_table" : "tbl_act",
1178 "tables" : [
1179 {
1180 "name" : "tbl_act",
1181 "id" : 0,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001182 "source_info" : {
1183 "filename" : "include/port_counters.p4",
1184 "line" : 29,
1185 "column" : 8,
1186 "source_fragment" : "ingress_port_counter.count((bit<32>) standard_metadata.ingress_port); ..."
1187 },
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001188 "key" : [],
1189 "match_type" : "exact",
1190 "type" : "simple",
1191 "max_size" : 1024,
1192 "with_counters" : false,
1193 "support_timeout" : false,
1194 "direct_meters" : null,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001195 "action_ids" : [9],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001196 "actions" : ["act_0"],
1197 "base_default_next" : "node_3",
1198 "next_tables" : {
1199 "act_0" : "node_3"
1200 },
1201 "default_entry" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001202 "action_id" : 9,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001203 "action_const" : true,
1204 "action_data" : [],
1205 "action_entry_const" : true
1206 }
1207 },
1208 {
1209 "name" : "tbl_act_0",
1210 "id" : 1,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001211 "source_info" : {
1212 "filename" : "include/port_meters.p4",
1213 "line" : 29,
1214 "column" : 12,
1215 "source_fragment" : "mark_to_drop(standard_metadata)"
1216 },
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001217 "key" : [],
1218 "match_type" : "exact",
1219 "type" : "simple",
1220 "max_size" : 1024,
1221 "with_counters" : false,
1222 "support_timeout" : false,
1223 "direct_meters" : null,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001224 "action_ids" : [8],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001225 "actions" : ["act"],
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001226 "base_default_next" : "node_5",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001227 "next_tables" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001228 "act" : "node_5"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001229 },
1230 "default_entry" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001231 "action_id" : 8,
1232 "action_const" : true,
1233 "action_data" : [],
1234 "action_entry_const" : true
1235 }
1236 },
1237 {
1238 "name" : "tbl_act_1",
1239 "id" : 2,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001240 "source_info" : {
1241 "filename" : "include/packet_io.p4",
1242 "line" : 27,
1243 "column" : 42,
1244 "source_fragment" : "= hdr.packet_out.egress_port; ..."
1245 },
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001246 "key" : [],
1247 "match_type" : "exact",
1248 "type" : "simple",
1249 "max_size" : 1024,
1250 "with_counters" : false,
1251 "support_timeout" : false,
1252 "direct_meters" : null,
1253 "action_ids" : [10],
1254 "actions" : ["act_1"],
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001255 "base_default_next" : "ingress.table0_control.table0",
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001256 "next_tables" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001257 "act_1" : "ingress.table0_control.table0"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001258 },
1259 "default_entry" : {
1260 "action_id" : 10,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001261 "action_const" : true,
1262 "action_data" : [],
1263 "action_entry_const" : true
1264 }
1265 },
1266 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001267 "name" : "ingress.table0_control.table0",
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001268 "id" : 3,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001269 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001270 "filename" : "include/table0.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001271 "line" : 45,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001272 "column" : 10,
1273 "source_fragment" : "table0"
1274 },
1275 "key" : [
1276 {
1277 "match_type" : "ternary",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001278 "name" : "standard_metadata.ingress_port",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001279 "target" : ["standard_metadata", "ingress_port"],
1280 "mask" : null
1281 },
1282 {
1283 "match_type" : "ternary",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001284 "name" : "hdr.ethernet.src_addr",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001285 "target" : ["ethernet", "src_addr"],
1286 "mask" : null
1287 },
1288 {
1289 "match_type" : "ternary",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001290 "name" : "hdr.ethernet.dst_addr",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001291 "target" : ["ethernet", "dst_addr"],
1292 "mask" : null
1293 },
1294 {
1295 "match_type" : "ternary",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001296 "name" : "hdr.ethernet.ether_type",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001297 "target" : ["ethernet", "ether_type"],
1298 "mask" : null
1299 },
1300 {
1301 "match_type" : "ternary",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001302 "name" : "hdr.ipv4.src_addr",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001303 "target" : ["ipv4", "src_addr"],
1304 "mask" : null
1305 },
1306 {
1307 "match_type" : "ternary",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001308 "name" : "hdr.ipv4.dst_addr",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001309 "target" : ["ipv4", "dst_addr"],
1310 "mask" : null
1311 },
1312 {
1313 "match_type" : "ternary",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001314 "name" : "hdr.ipv4.protocol",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001315 "target" : ["ipv4", "protocol"],
1316 "mask" : null
1317 },
1318 {
1319 "match_type" : "ternary",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001320 "name" : "local_metadata.l4_src_port",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001321 "target" : ["scalars", "local_metadata_t.l4_src_port"],
1322 "mask" : null
1323 },
1324 {
1325 "match_type" : "ternary",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001326 "name" : "local_metadata.l4_dst_port",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001327 "target" : ["scalars", "local_metadata_t.l4_dst_port"],
1328 "mask" : null
1329 }
1330 ],
1331 "match_type" : "ternary",
1332 "type" : "simple",
1333 "max_size" : 1024,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001334 "with_counters" : true,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001335 "support_timeout" : false,
1336 "direct_meters" : null,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001337 "action_ids" : [4, 3, 2, 5],
1338 "actions" : ["ingress.table0_control.set_egress_port", "ingress.table0_control.send_to_cpu", "ingress.table0_control.set_next_hop_id", "ingress.table0_control.drop"],
Keesjan Karsten23368892018-05-22 10:46:01 +00001339 "base_default_next" : "tbl_act_2",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001340 "next_tables" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001341 "ingress.table0_control.set_egress_port" : "tbl_act_2",
1342 "ingress.table0_control.send_to_cpu" : "tbl_act_2",
1343 "ingress.table0_control.set_next_hop_id" : "tbl_act_2",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001344 "ingress.table0_control.drop" : "tbl_act_2"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001345 },
1346 "default_entry" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001347 "action_id" : 5,
Keesjan Karsten23368892018-05-22 10:46:01 +00001348 "action_const" : true,
1349 "action_data" : [],
1350 "action_entry_const" : true
1351 }
1352 },
1353 {
1354 "name" : "tbl_act_2",
1355 "id" : 4,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001356 "source_info" : {
1357 "filename" : "include/host_meter_table.p4",
1358 "line" : 26,
1359 "column" : 4,
1360 "source_fragment" : "MeterColor meter_tag = MeterColor_GREEN;"
1361 },
Keesjan Karsten23368892018-05-22 10:46:01 +00001362 "key" : [],
1363 "match_type" : "exact",
1364 "type" : "simple",
1365 "max_size" : 1024,
1366 "with_counters" : false,
1367 "support_timeout" : false,
1368 "direct_meters" : null,
1369 "action_ids" : [11],
1370 "actions" : ["act_2"],
1371 "base_default_next" : "ingress.host_meter_control.host_meter_table",
1372 "next_tables" : {
1373 "act_2" : "ingress.host_meter_control.host_meter_table"
1374 },
1375 "default_entry" : {
1376 "action_id" : 11,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001377 "action_const" : true,
1378 "action_data" : [],
1379 "action_entry_const" : true
1380 }
1381 },
1382 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001383 "name" : "ingress.host_meter_control.host_meter_table",
Keesjan Karsten23368892018-05-22 10:46:01 +00001384 "id" : 5,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001385 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001386 "filename" : "include/host_meter_table.p4",
1387 "line" : 33,
1388 "column" : 10,
1389 "source_fragment" : "host_meter_table"
1390 },
1391 "key" : [
1392 {
1393 "match_type" : "lpm",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001394 "name" : "hdr.ethernet.src_addr",
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001395 "target" : ["ethernet", "src_addr"],
1396 "mask" : null
1397 }
1398 ],
1399 "match_type" : "lpm",
1400 "type" : "simple",
1401 "max_size" : 1024,
1402 "with_counters" : false,
1403 "support_timeout" : false,
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001404 "direct_meters" : "ingress.host_meter_control.host_meter",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001405 "action_ids" : [6, 0],
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001406 "actions" : ["ingress.host_meter_control.read_meter", "NoAction"],
Keesjan Karsten23368892018-05-22 10:46:01 +00001407 "base_default_next" : "node_10",
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001408 "next_tables" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001409 "ingress.host_meter_control.read_meter" : "node_10",
1410 "NoAction" : "node_10"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001411 },
1412 "default_entry" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001413 "action_id" : 0,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001414 "action_const" : false,
1415 "action_data" : [],
1416 "action_entry_const" : false
1417 }
1418 },
1419 {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001420 "name" : "tbl_act_3",
1421 "id" : 6,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001422 "source_info" : {
1423 "filename" : "include/host_meter_table.p4",
1424 "line" : 48,
1425 "column" : 12,
1426 "source_fragment" : "mark_to_drop(standard_metadata)"
1427 },
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001428 "key" : [],
1429 "match_type" : "exact",
1430 "type" : "simple",
1431 "max_size" : 1024,
1432 "with_counters" : false,
1433 "support_timeout" : false,
1434 "direct_meters" : null,
1435 "action_ids" : [12],
1436 "actions" : ["act_3"],
Keesjan Karsten23368892018-05-22 10:46:01 +00001437 "base_default_next" : "node_12",
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001438 "next_tables" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001439 "act_3" : "node_12"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001440 },
1441 "default_entry" : {
1442 "action_id" : 12,
1443 "action_const" : true,
1444 "action_data" : [],
1445 "action_entry_const" : true
1446 }
1447 },
1448 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001449 "name" : "ingress.wcmp_control.wcmp_table",
Keesjan Karsten23368892018-05-22 10:46:01 +00001450 "id" : 7,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001451 "source_info" : {
1452 "filename" : "include/wcmp.p4",
Keesjan Karsten23368892018-05-22 10:46:01 +00001453 "line" : 34,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001454 "column" : 10,
1455 "source_fragment" : "wcmp_table"
1456 },
1457 "key" : [
1458 {
1459 "match_type" : "exact",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001460 "name" : "local_metadata.next_hop_id",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001461 "target" : ["scalars", "local_metadata_t.next_hop_id"],
1462 "mask" : null
1463 }
1464 ],
1465 "match_type" : "exact",
1466 "type" : "indirect_ws",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001467 "action_profile" : "ingress.wcmp_control.wcmp_selector",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001468 "max_size" : 1024,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001469 "with_counters" : true,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001470 "support_timeout" : false,
1471 "direct_meters" : null,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001472 "action_ids" : [7, 1],
Keesjan Karsten23368892018-05-22 10:46:01 +00001473 "actions" : ["ingress.wcmp_control.set_egress_port", "NoAction"],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001474 "base_default_next" : null,
1475 "next_tables" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001476 "ingress.wcmp_control.set_egress_port" : null,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001477 "NoAction" : null
1478 }
1479 }
1480 ],
1481 "action_profiles" : [
1482 {
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001483 "name" : "ingress.wcmp_control.wcmp_selector",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001484 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001485 "source_info" : {
1486 "filename" : "include/wcmp.p4",
1487 "line" : 28,
1488 "column" : 55,
1489 "source_fragment" : "wcmp_selector"
1490 },
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001491 "max_size" : 64,
1492 "selector" : {
1493 "algo" : "crc16",
1494 "input" : [
1495 {
1496 "type" : "field",
1497 "value" : ["ipv4", "src_addr"]
1498 },
1499 {
1500 "type" : "field",
1501 "value" : ["ipv4", "dst_addr"]
1502 },
1503 {
1504 "type" : "field",
1505 "value" : ["ipv4", "protocol"]
1506 },
1507 {
1508 "type" : "field",
1509 "value" : ["scalars", "local_metadata_t.l4_src_port"]
1510 },
1511 {
1512 "type" : "field",
1513 "value" : ["scalars", "local_metadata_t.l4_dst_port"]
1514 }
1515 ]
1516 }
1517 }
1518 ],
1519 "conditionals" : [
1520 {
1521 "name" : "node_3",
1522 "id" : 0,
1523 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001524 "filename" : "include/port_meters.p4",
1525 "line" : 28,
1526 "column" : 12,
Keesjan Karsten23368892018-05-22 10:46:01 +00001527 "source_fragment" : "ingress_color == MeterColor_RED"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001528 },
1529 "expression" : {
1530 "type" : "expression",
1531 "value" : {
1532 "op" : "==",
1533 "left" : {
1534 "type" : "field",
Carmelo Cascone776be382018-12-12 19:03:57 -08001535 "value" : ["scalars", "port_meters_ingress_ingress_color"]
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001536 },
1537 "right" : {
1538 "type" : "hexstr",
Keesjan Karsten23368892018-05-22 10:46:01 +00001539 "value" : "0x02"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001540 }
1541 }
1542 },
1543 "true_next" : "tbl_act_0",
1544 "false_next" : "node_5"
1545 },
1546 {
1547 "name" : "node_5",
1548 "id" : 1,
1549 "source_info" : {
1550 "filename" : "include/packet_io.p4",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001551 "line" : 26,
1552 "column" : 12,
1553 "source_fragment" : "standard_metadata.ingress_port == CPU_PORT"
1554 },
1555 "expression" : {
1556 "type" : "expression",
1557 "value" : {
1558 "op" : "==",
1559 "left" : {
1560 "type" : "field",
1561 "value" : ["standard_metadata", "ingress_port"]
1562 },
1563 "right" : {
1564 "type" : "hexstr",
1565 "value" : "0x00ff"
1566 }
1567 }
1568 },
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001569 "true_next" : "tbl_act_1",
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001570 "false_next" : "ingress.table0_control.table0"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001571 },
1572 {
Keesjan Karsten23368892018-05-22 10:46:01 +00001573 "name" : "node_10",
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001574 "id" : 2,
Keesjan Karsten23368892018-05-22 10:46:01 +00001575 "source_info" : {
1576 "filename" : "include/host_meter_table.p4",
1577 "line" : 47,
1578 "column" : 12,
1579 "source_fragment" : "meter_tag == MeterColor_RED"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001580 },
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001581 "expression" : {
1582 "type" : "expression",
1583 "value" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001584 "op" : "==",
1585 "left" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001586 "type" : "field",
Carmelo Cascone776be382018-12-12 19:03:57 -08001587 "value" : ["scalars", "host_meter_control_meter_tag"]
Keesjan Karsten23368892018-05-22 10:46:01 +00001588 },
1589 "right" : {
1590 "type" : "hexstr",
1591 "value" : "0x02"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001592 }
1593 }
1594 },
Keesjan Karsten23368892018-05-22 10:46:01 +00001595 "true_next" : "tbl_act_3",
1596 "false_next" : "node_12"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001597 },
1598 {
Keesjan Karsten23368892018-05-22 10:46:01 +00001599 "name" : "node_12",
1600 "id" : 3,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001601 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001602 "filename" : "include/wcmp.p4",
Keesjan Karsten23368892018-05-22 10:46:01 +00001603 "line" : 52,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001604 "column" : 12,
1605 "source_fragment" : "local_metadata.next_hop_id != 0"
1606 },
1607 "expression" : {
1608 "type" : "expression",
1609 "value" : {
1610 "op" : "!=",
1611 "left" : {
1612 "type" : "field",
1613 "value" : ["scalars", "local_metadata_t.next_hop_id"]
1614 },
1615 "right" : {
1616 "type" : "hexstr",
1617 "value" : "0x0000"
1618 }
1619 }
1620 },
1621 "false_next" : null,
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001622 "true_next" : "ingress.wcmp_control.wcmp_table"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001623 }
1624 ]
1625 },
1626 {
1627 "name" : "egress",
1628 "id" : 1,
1629 "source_info" : {
1630 "filename" : "basic.p4",
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001631 "line" : 55,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001632 "column" : 8,
1633 "source_fragment" : "egress"
1634 },
Keesjan Karsten23368892018-05-22 10:46:01 +00001635 "init_table" : "tbl_act_4",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001636 "tables" : [
1637 {
Keesjan Karsten23368892018-05-22 10:46:01 +00001638 "name" : "tbl_act_4",
1639 "id" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001640 "source_info" : {
1641 "filename" : "include/port_counters.p4",
1642 "line" : 39,
1643 "column" : 8,
1644 "source_fragment" : "egress_port_counter.count((bit<32>) standard_metadata.egress_port); ..."
1645 },
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001646 "key" : [],
1647 "match_type" : "exact",
1648 "type" : "simple",
1649 "max_size" : 1024,
1650 "with_counters" : false,
1651 "support_timeout" : false,
1652 "direct_meters" : null,
Keesjan Karsten23368892018-05-22 10:46:01 +00001653 "action_ids" : [14],
1654 "actions" : ["act_5"],
1655 "base_default_next" : "node_17",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001656 "next_tables" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001657 "act_5" : "node_17"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001658 },
1659 "default_entry" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001660 "action_id" : 14,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001661 "action_const" : true,
1662 "action_data" : [],
1663 "action_entry_const" : true
1664 }
1665 },
1666 {
Keesjan Karsten23368892018-05-22 10:46:01 +00001667 "name" : "tbl_act_5",
1668 "id" : 9,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001669 "source_info" : {
1670 "filename" : "include/port_meters.p4",
1671 "line" : 43,
1672 "column" : 12,
1673 "source_fragment" : "mark_to_drop(standard_metadata)"
1674 },
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001675 "key" : [],
1676 "match_type" : "exact",
1677 "type" : "simple",
1678 "max_size" : 1024,
1679 "with_counters" : false,
1680 "support_timeout" : false,
1681 "direct_meters" : null,
Keesjan Karsten23368892018-05-22 10:46:01 +00001682 "action_ids" : [13],
1683 "actions" : ["act_4"],
1684 "base_default_next" : "node_19",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001685 "next_tables" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001686 "act_4" : "node_19"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001687 },
1688 "default_entry" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001689 "action_id" : 13,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001690 "action_const" : true,
1691 "action_data" : [],
1692 "action_entry_const" : true
1693 }
1694 },
1695 {
Keesjan Karsten23368892018-05-22 10:46:01 +00001696 "name" : "tbl_act_6",
1697 "id" : 10,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001698 "source_info" : {
1699 "filename" : "include/packet_io.p4",
1700 "line" : 38,
1701 "column" : 12,
1702 "source_fragment" : "hdr.packet_in.setValid(); ..."
1703 },
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001704 "key" : [],
1705 "match_type" : "exact",
1706 "type" : "simple",
1707 "max_size" : 1024,
1708 "with_counters" : false,
1709 "support_timeout" : false,
1710 "direct_meters" : null,
Keesjan Karsten23368892018-05-22 10:46:01 +00001711 "action_ids" : [15],
1712 "actions" : ["act_6"],
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001713 "base_default_next" : null,
1714 "next_tables" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001715 "act_6" : null
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001716 },
1717 "default_entry" : {
Keesjan Karsten23368892018-05-22 10:46:01 +00001718 "action_id" : 15,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001719 "action_const" : true,
1720 "action_data" : [],
1721 "action_entry_const" : true
1722 }
1723 }
1724 ],
1725 "action_profiles" : [],
1726 "conditionals" : [
1727 {
Keesjan Karsten23368892018-05-22 10:46:01 +00001728 "name" : "node_17",
1729 "id" : 4,
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001730 "source_info" : {
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001731 "filename" : "include/port_meters.p4",
1732 "line" : 42,
1733 "column" : 12,
Keesjan Karsten23368892018-05-22 10:46:01 +00001734 "source_fragment" : "egress_color == MeterColor_RED"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001735 },
1736 "expression" : {
1737 "type" : "expression",
1738 "value" : {
1739 "op" : "==",
1740 "left" : {
1741 "type" : "field",
Carmelo Cascone776be382018-12-12 19:03:57 -08001742 "value" : ["scalars", "port_meters_egress_egress_color"]
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001743 },
1744 "right" : {
1745 "type" : "hexstr",
Keesjan Karsten23368892018-05-22 10:46:01 +00001746 "value" : "0x02"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001747 }
1748 }
1749 },
Keesjan Karsten23368892018-05-22 10:46:01 +00001750 "true_next" : "tbl_act_5",
1751 "false_next" : "node_19"
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001752 },
1753 {
Keesjan Karsten23368892018-05-22 10:46:01 +00001754 "name" : "node_19",
1755 "id" : 5,
Frank Wangd7e3b4b2017-09-24 13:37:54 +09001756 "source_info" : {
1757 "filename" : "include/packet_io.p4",
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001758 "line" : 37,
1759 "column" : 12,
1760 "source_fragment" : "standard_metadata.egress_port == CPU_PORT"
1761 },
1762 "expression" : {
1763 "type" : "expression",
1764 "value" : {
1765 "op" : "==",
1766 "left" : {
1767 "type" : "field",
1768 "value" : ["standard_metadata", "egress_port"]
1769 },
1770 "right" : {
1771 "type" : "hexstr",
1772 "value" : "0x00ff"
1773 }
1774 }
1775 },
1776 "false_next" : null,
Keesjan Karsten23368892018-05-22 10:46:01 +00001777 "true_next" : "tbl_act_6"
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001778 }
1779 ]
1780 }
1781 ],
Jonghwan Hyun6777d532018-11-18 20:50:16 +09001782 "checksums" : [
1783 {
1784 "name" : "cksum",
1785 "id" : 0,
1786 "source_info" : {
1787 "filename" : "include/checksums.p4",
1788 "line" : 32,
1789 "column" : 8,
1790 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1791 },
1792 "target" : ["ipv4", "hdr_checksum"],
1793 "type" : "generic",
1794 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001795 "verify" : false,
1796 "update" : true,
Jonghwan Hyun6777d532018-11-18 20:50:16 +09001797 "if_cond" : {
1798 "type" : "expression",
1799 "value" : {
1800 "op" : "d2b",
1801 "left" : null,
1802 "right" : {
1803 "type" : "field",
1804 "value" : ["ipv4", "$valid$"]
1805 }
1806 }
1807 }
1808 }
1809 ],
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001810 "force_arith" : [],
1811 "extern_instances" : [],
1812 "field_aliases" : [
1813 [
1814 "queueing_metadata.enq_timestamp",
1815 ["standard_metadata", "enq_timestamp"]
1816 ],
1817 [
1818 "queueing_metadata.enq_qdepth",
1819 ["standard_metadata", "enq_qdepth"]
1820 ],
1821 [
1822 "queueing_metadata.deq_timedelta",
1823 ["standard_metadata", "deq_timedelta"]
1824 ],
1825 [
1826 "queueing_metadata.deq_qdepth",
1827 ["standard_metadata", "deq_qdepth"]
1828 ],
1829 [
1830 "intrinsic_metadata.ingress_global_timestamp",
1831 ["standard_metadata", "ingress_global_timestamp"]
1832 ],
1833 [
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001834 "intrinsic_metadata.egress_global_timestamp",
1835 ["standard_metadata", "egress_global_timestamp"]
1836 ],
1837 [
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001838 "intrinsic_metadata.lf_field_list",
1839 ["standard_metadata", "lf_field_list"]
1840 ],
1841 [
1842 "intrinsic_metadata.mcast_grp",
1843 ["standard_metadata", "mcast_grp"]
1844 ],
1845 [
1846 "intrinsic_metadata.resubmit_flag",
1847 ["standard_metadata", "resubmit_flag"]
1848 ],
1849 [
1850 "intrinsic_metadata.egress_rid",
1851 ["standard_metadata", "egress_rid"]
Carmelo Cascone81929aa2018-04-07 01:38:55 -07001852 ],
1853 [
1854 "intrinsic_metadata.recirculate_flag",
1855 ["standard_metadata", "recirculate_flag"]
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001856 ],
1857 [
1858 "intrinsic_metadata.priority",
1859 ["standard_metadata", "priority"]
Carmelo Casconeca94bcf2017-10-27 14:16:59 -07001860 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001861 ],
1862 "program" : "basic.p4",
1863 "__meta__" : {
1864 "version" : [2, 18],
1865 "compiler" : "https://github.com/p4lang/p4c"
1866 }
Carmelo Cascone25243d62019-02-21 15:37:31 -08001867}