blob: 3d2d9bb3fa1801c186319e46107149caa77d123d [file] [log] [blame]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007 ["tmp_0", 1, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07008 ["tmp_2", 3, false],
9 ["tmp_4", 8, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010 ["tmp_1", 16, false],
11 ["tmp_3", 16, false],
12 ["tmp_5", 4, false],
13 ["tmp_6", 16, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070014 ["tmp_7", 64, false],
15 ["tmp_8", 32, false],
16 ["tmp_9", 32, false],
Wailok Shum4f51bde2021-06-11 22:48:41 +080017 ["acl_ipv4_src", 32, false],
18 ["acl_ipv4_dst", 32, false],
19 ["acl_ip_proto", 8, false],
20 ["acl_l4_sport", 16, false],
21 ["acl_l4_dport", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070022 ["bng_ingress_upstream_hasReturned", 1, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020023 ["userMetadata._ip_eth_type0", 16, false],
24 ["userMetadata._vlan_id1", 12, false],
25 ["userMetadata._vlan_pri2", 3, false],
26 ["userMetadata._vlan_cfi3", 1, false],
27 ["userMetadata._push_double_vlan4", 1, false],
28 ["userMetadata._inner_vlan_id5", 12, false],
29 ["userMetadata._inner_vlan_pri6", 3, false],
30 ["userMetadata._inner_vlan_cfi7", 1, false],
31 ["userMetadata._mpls_label8", 20, false],
32 ["userMetadata._mpls_ttl9", 8, false],
33 ["userMetadata._skip_forwarding10", 1, false],
34 ["userMetadata._skip_next11", 1, false],
35 ["userMetadata._fwd_type12", 3, false],
36 ["userMetadata._next_id13", 32, false],
37 ["userMetadata._is_multicast14", 1, false],
38 ["userMetadata._is_controller_packet_out15", 1, false],
39 ["userMetadata._ip_proto16", 8, false],
40 ["userMetadata._l4_sport17", 16, false],
41 ["userMetadata._l4_dport18", 16, false],
42 ["userMetadata._ipv4_src_addr19", 32, false],
43 ["userMetadata._ipv4_dst_addr20", 32, false],
44 ["userMetadata._bng_type21", 2, false],
45 ["userMetadata._bng_line_id22", 32, false],
46 ["userMetadata._bng_pppoe_session_id23", 16, false],
47 ["userMetadata._bng_ds_meter_result24", 32, false],
48 ["userMetadata._bng_s_tag25", 12, false],
49 ["userMetadata._bng_c_tag26", 12, false],
Wailok Shumfb7e7872021-06-18 17:30:08 +080050 ["userMetadata._port_type27", 2, false],
51 ["_padding_0", 7, false]
Carmelo Cascone2388cc12021-05-26 19:30:30 +020052 ]
53 },
54 {
55 "name" : "packet_out_header_t",
56 "id" : 1,
57 "fields" : [
58 ["egress_port", 9, false],
59 ["do_forwarding", 1, false],
60 ["_pad", 6, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070061 ]
62 },
63 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070064 "name" : "gtpu_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020065 "id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070066 "fields" : [
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070067 ["version", 3, false],
68 ["pt", 1, false],
69 ["spare", 1, false],
70 ["ex_flag", 1, false],
71 ["seq_flag", 1, false],
72 ["npdu_flag", 1, false],
73 ["msgtype", 8, false],
74 ["msglen", 16, false],
75 ["teid", 32, false]
76 ]
77 },
78 {
79 "name" : "standard_metadata",
80 "id" : 3,
81 "fields" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070082 ["ingress_port", 9, false],
83 ["egress_spec", 9, false],
84 ["egress_port", 9, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070085 ["instance_type", 32, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070086 ["packet_length", 32, false],
87 ["enq_timestamp", 32, false],
88 ["enq_qdepth", 19, false],
89 ["deq_timedelta", 32, false],
90 ["deq_qdepth", 19, false],
91 ["ingress_global_timestamp", 48, false],
92 ["egress_global_timestamp", 48, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070093 ["mcast_grp", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070094 ["egress_rid", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070095 ["checksum_error", 1, false],
96 ["parser_error", 32, false],
97 ["priority", 3, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020098 ["_padding", 3, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070099 ]
100 },
101 {
102 "name" : "ethernet_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700103 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700104 "fields" : [
105 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700106 ["src_addr", 48, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700107 ]
108 },
109 {
110 "name" : "vlan_tag_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700111 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700112 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -0700113 ["eth_type", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700114 ["pri", 3, false],
115 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700116 ["vlan_id", 12, false]
117 ]
118 },
119 {
120 "name" : "eth_type_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700121 "id" : 6,
Daniele Moro5a2de712019-09-24 14:34:07 -0700122 "fields" : [
123 ["value", 16, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700124 ]
125 },
126 {
127 "name" : "pppoe_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700128 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700129 "fields" : [
130 ["version", 4, false],
131 ["type_id", 4, false],
132 ["code", 8, false],
133 ["session_id", 16, false],
134 ["length", 16, false],
135 ["protocol", 16, false]
136 ]
137 },
138 {
139 "name" : "mpls_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700140 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700141 "fields" : [
142 ["label", 20, false],
143 ["tc", 3, false],
144 ["bos", 1, false],
145 ["ttl", 8, false]
146 ]
147 },
148 {
149 "name" : "ipv4_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700150 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700151 "fields" : [
152 ["version", 4, false],
153 ["ihl", 4, false],
154 ["dscp", 6, false],
155 ["ecn", 2, false],
156 ["total_len", 16, false],
157 ["identification", 16, false],
158 ["flags", 3, false],
159 ["frag_offset", 13, false],
160 ["ttl", 8, false],
161 ["protocol", 8, false],
162 ["hdr_checksum", 16, false],
163 ["src_addr", 32, false],
164 ["dst_addr", 32, false]
165 ]
166 },
167 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800168 "name" : "udp_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700169 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700170 "fields" : [
171 ["sport", 16, false],
172 ["dport", 16, false],
Wailok Shum4f51bde2021-06-11 22:48:41 +0800173 ["len", 16, false],
174 ["checksum", 16, false]
175 ]
176 },
177 {
178 "name" : "tcp_t",
179 "id" : 11,
180 "fields" : [
181 ["sport", 16, false],
182 ["dport", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700183 ["seq_no", 32, false],
184 ["ack_no", 32, false],
185 ["data_offset", 4, false],
186 ["res", 3, false],
187 ["ecn", 3, false],
188 ["ctrl", 6, false],
189 ["window", 16, false],
190 ["checksum", 16, false],
191 ["urgent_ptr", 16, false]
192 ]
193 },
194 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700195 "name" : "icmp_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700196 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700197 "fields" : [
198 ["icmp_type", 8, false],
199 ["icmp_code", 8, false],
200 ["checksum", 16, false],
201 ["identifier", 16, false],
202 ["sequence_number", 16, false],
203 ["timestamp", 64, false]
204 ]
205 },
206 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700207 "name" : "packet_in_header_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700208 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700209 "fields" : [
210 ["ingress_port", 9, false],
211 ["_pad", 7, false]
212 ]
213 }
214 ],
215 "headers" : [
216 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200217 "name" : "tmp",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700218 "id" : 0,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200219 "header_type" : "packet_out_header_t",
220 "metadata" : false,
221 "pi_omit" : true
222 },
223 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700224 "name" : "gtpu_0",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200225 "id" : 1,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700226 "header_type" : "gtpu_t",
227 "metadata" : false,
228 "pi_omit" : true
229 },
230 {
231 "name" : "scalars",
232 "id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700233 "header_type" : "scalars_0",
234 "metadata" : true,
235 "pi_omit" : true
236 },
237 {
238 "name" : "standard_metadata",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700239 "id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700240 "header_type" : "standard_metadata",
241 "metadata" : true,
242 "pi_omit" : true
243 },
244 {
245 "name" : "ethernet",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700246 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700247 "header_type" : "ethernet_t",
248 "metadata" : false,
249 "pi_omit" : true
250 },
251 {
252 "name" : "vlan_tag",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700253 "id" : 5,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200254 "header_type" : "vlan_tag_t",
255 "metadata" : false,
256 "pi_omit" : true
257 },
258 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700259 "name" : "inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200260 "id" : 6,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700261 "header_type" : "vlan_tag_t",
262 "metadata" : false,
263 "pi_omit" : true
264 },
265 {
266 "name" : "eth_type",
267 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700268 "header_type" : "eth_type_t",
269 "metadata" : false,
270 "pi_omit" : true
271 },
272 {
273 "name" : "pppoe",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700274 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700275 "header_type" : "pppoe_t",
276 "metadata" : false,
277 "pi_omit" : true
278 },
279 {
280 "name" : "mpls",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700281 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700282 "header_type" : "mpls_t",
283 "metadata" : false,
284 "pi_omit" : true
285 },
286 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800287 "name" : "gtpu",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700288 "id" : 10,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800289 "header_type" : "gtpu_t",
290 "metadata" : false,
291 "pi_omit" : true
292 },
293 {
294 "name" : "inner_ipv4",
295 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700296 "header_type" : "ipv4_t",
297 "metadata" : false,
298 "pi_omit" : true
299 },
300 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800301 "name" : "inner_udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700302 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700303 "header_type" : "udp_t",
304 "metadata" : false,
305 "pi_omit" : true
306 },
307 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800308 "name" : "inner_tcp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700309 "id" : 13,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800310 "header_type" : "tcp_t",
311 "metadata" : false,
312 "pi_omit" : true
313 },
314 {
315 "name" : "inner_icmp",
316 "id" : 14,
317 "header_type" : "icmp_t",
318 "metadata" : false,
319 "pi_omit" : true
320 },
321 {
322 "name" : "ipv4",
323 "id" : 15,
324 "header_type" : "ipv4_t",
325 "metadata" : false,
326 "pi_omit" : true
327 },
328 {
329 "name" : "tcp",
330 "id" : 16,
331 "header_type" : "tcp_t",
332 "metadata" : false,
333 "pi_omit" : true
334 },
335 {
336 "name" : "udp",
337 "id" : 17,
338 "header_type" : "udp_t",
339 "metadata" : false,
340 "pi_omit" : true
341 },
342 {
343 "name" : "icmp",
344 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700345 "header_type" : "icmp_t",
346 "metadata" : false,
347 "pi_omit" : true
348 },
349 {
350 "name" : "packet_out",
Wailok Shum4f51bde2021-06-11 22:48:41 +0800351 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700352 "header_type" : "packet_out_header_t",
353 "metadata" : false,
354 "pi_omit" : true
355 },
356 {
357 "name" : "packet_in",
Wailok Shum4f51bde2021-06-11 22:48:41 +0800358 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700359 "header_type" : "packet_in_header_t",
360 "metadata" : false,
361 "pi_omit" : true
362 }
363 ],
364 "header_stacks" : [],
365 "header_union_types" : [],
366 "header_unions" : [],
367 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700368 "field_lists" : [
369 {
370 "id" : 1,
371 "name" : "fl",
372 "source_info" : {
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700373 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +0800374 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700375 "column" : 40,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700376 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700377 },
378 "elements" : [
379 {
380 "type" : "field",
381 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700382 }
383 ]
384 }
385 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700386 "errors" : [
387 ["NoError", 1],
388 ["PacketTooShort", 2],
389 ["NoMatch", 3],
390 ["StackOutOfBounds", 4],
391 ["HeaderTooShort", 5],
392 ["ParserTimeout", 6],
393 ["ParserInvalidArgument", 7]
394 ],
395 "enums" : [],
396 "parsers" : [
397 {
398 "name" : "parser",
399 "id" : 0,
400 "init_state" : "start",
401 "parse_states" : [
402 {
403 "name" : "start",
404 "id" : 0,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400405 "parser_ops" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700406 "transitions" : [
407 {
408 "type" : "hexstr",
409 "value" : "0x00ff",
410 "mask" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200411 "next_state" : "check_packet_out"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700412 },
413 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200414 "type" : "default",
415 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700416 "mask" : null,
417 "next_state" : "parse_ethernet"
418 }
419 ],
420 "transition_key" : [
421 {
422 "type" : "field",
423 "value" : ["standard_metadata", "ingress_port"]
424 }
425 ]
426 },
427 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200428 "name" : "check_packet_out",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700429 "id" : 1,
430 "parser_ops" : [
431 {
432 "parameters" : [
433 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200434 "type" : "field",
435 "value" : ["scalars", "tmp_6"]
436 },
437 {
438 "type" : "lookahead",
439 "value" : [0, 16]
440 }
441 ],
442 "op" : "set"
443 },
444 {
445 "parameters" : [
446 {
447 "parameters" : [
448 {
449 "type" : "header",
450 "value" : "tmp"
451 }
452 ],
453 "op" : "add_header"
454 }
455 ],
456 "op" : "primitive"
457 },
458 {
459 "parameters" : [
460 {
461 "type" : "field",
462 "value" : ["tmp", "egress_port"]
463 },
464 {
465 "type" : "expression",
466 "value" : {
467 "type" : "expression",
468 "value" : {
469 "op" : "&",
470 "left" : {
471 "type" : "expression",
472 "value" : {
473 "op" : "&",
474 "left" : {
475 "type" : "expression",
476 "value" : {
477 "op" : ">>",
478 "left" : {
479 "type" : "field",
480 "value" : ["scalars", "tmp_6"]
481 },
482 "right" : {
483 "type" : "hexstr",
484 "value" : "0x7"
485 }
486 }
487 },
488 "right" : {
489 "type" : "hexstr",
490 "value" : "0xffff"
491 }
492 }
493 },
494 "right" : {
495 "type" : "hexstr",
496 "value" : "0x01ff"
497 }
498 }
499 }
500 }
501 ],
502 "op" : "set"
503 },
504 {
505 "parameters" : [
506 {
507 "type" : "field",
508 "value" : ["tmp", "do_forwarding"]
509 },
510 {
511 "type" : "expression",
512 "value" : {
513 "type" : "expression",
514 "value" : {
515 "op" : "&",
516 "left" : {
517 "type" : "expression",
518 "value" : {
519 "op" : "&",
520 "left" : {
521 "type" : "expression",
522 "value" : {
523 "op" : ">>",
524 "left" : {
525 "type" : "field",
526 "value" : ["scalars", "tmp_6"]
527 },
528 "right" : {
529 "type" : "hexstr",
530 "value" : "0x6"
531 }
532 }
533 },
534 "right" : {
535 "type" : "hexstr",
536 "value" : "0xffff"
537 }
538 }
539 },
540 "right" : {
541 "type" : "hexstr",
542 "value" : "0x01"
543 }
544 }
545 }
546 }
547 ],
548 "op" : "set"
549 },
550 {
551 "parameters" : [
552 {
553 "type" : "field",
554 "value" : ["tmp", "_pad"]
555 },
556 {
557 "type" : "expression",
558 "value" : {
559 "type" : "expression",
560 "value" : {
561 "op" : "&",
562 "left" : {
563 "type" : "field",
564 "value" : ["scalars", "tmp_6"]
565 },
566 "right" : {
567 "type" : "hexstr",
568 "value" : "0x3f"
569 }
570 }
571 }
572 }
573 ],
574 "op" : "set"
575 },
576 {
577 "parameters" : [
578 {
579 "type" : "field",
580 "value" : ["scalars", "tmp_0"]
581 },
582 {
583 "type" : "expression",
584 "value" : {
585 "type" : "expression",
586 "value" : {
587 "op" : "&",
588 "left" : {
589 "type" : "expression",
590 "value" : {
591 "op" : "&",
592 "left" : {
593 "type" : "expression",
594 "value" : {
595 "op" : ">>",
596 "left" : {
597 "type" : "field",
598 "value" : ["scalars", "tmp_6"]
599 },
600 "right" : {
601 "type" : "hexstr",
602 "value" : "0x6"
603 }
604 }
605 },
606 "right" : {
607 "type" : "hexstr",
608 "value" : "0xffff"
609 }
610 }
611 },
612 "right" : {
613 "type" : "hexstr",
614 "value" : "0x01"
615 }
616 }
617 }
618 }
619 ],
620 "op" : "set"
621 }
622 ],
623 "transitions" : [
624 {
625 "type" : "hexstr",
626 "value" : "0x00",
627 "mask" : null,
628 "next_state" : "parse_packet_out_and_accept"
629 },
630 {
631 "type" : "default",
632 "value" : null,
633 "mask" : null,
634 "next_state" : "strip_packet_out"
635 }
636 ],
637 "transition_key" : [
638 {
639 "type" : "field",
640 "value" : ["scalars", "tmp_0"]
641 }
642 ]
643 },
644 {
645 "name" : "parse_packet_out_and_accept",
646 "id" : 2,
647 "parser_ops" : [
648 {
649 "parameters" : [
650 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700651 "type" : "regular",
652 "value" : "packet_out"
653 }
654 ],
655 "op" : "extract"
656 }
657 ],
658 "transitions" : [
659 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200660 "type" : "default",
661 "value" : null,
662 "mask" : null,
663 "next_state" : null
664 }
665 ],
666 "transition_key" : []
667 },
668 {
669 "name" : "strip_packet_out",
670 "id" : 3,
671 "parser_ops" : [
672 {
673 "parameters" : [
674 {
675 "type" : "hexstr",
676 "value" : "0x00000010"
677 }
678 ],
679 "op" : "advance"
680 }
681 ],
682 "transitions" : [
683 {
684 "type" : "default",
685 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700686 "mask" : null,
687 "next_state" : "parse_ethernet"
688 }
689 ],
690 "transition_key" : []
691 },
692 {
693 "name" : "parse_ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200694 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700695 "parser_ops" : [
696 {
697 "parameters" : [
698 {
699 "type" : "regular",
700 "value" : "ethernet"
701 }
702 ],
703 "op" : "extract"
704 },
705 {
706 "parameters" : [
707 {
708 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200709 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700710 },
711 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700712 "type" : "hexstr",
713 "value" : "0x0ffe"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700714 }
715 ],
716 "op" : "set"
717 },
718 {
719 "parameters" : [
720 {
721 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200722 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700723 },
724 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700725 "type" : "lookahead",
726 "value" : [0, 16]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700727 }
728 ],
729 "op" : "set"
730 }
731 ],
732 "transitions" : [
733 {
734 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700735 "value" : "0x88a8",
736 "mask" : null,
737 "next_state" : "parse_vlan_tag"
738 },
739 {
740 "type" : "hexstr",
741 "value" : "0x9100",
742 "mask" : null,
743 "next_state" : "parse_vlan_tag"
744 },
745 {
746 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700747 "value" : "0x8100",
748 "mask" : null,
749 "next_state" : "parse_vlan_tag"
750 },
751 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200752 "type" : "default",
753 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700754 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700755 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700756 }
757 ],
758 "transition_key" : [
759 {
760 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200761 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700762 }
763 ]
764 },
765 {
766 "name" : "parse_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200767 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700768 "parser_ops" : [
769 {
770 "parameters" : [
771 {
772 "type" : "regular",
773 "value" : "vlan_tag"
774 }
775 ],
776 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700777 },
778 {
779 "parameters" : [
780 {
781 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200782 "value" : ["scalars", "userMetadata._bng_s_tag25"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700783 },
784 {
785 "type" : "field",
786 "value" : ["vlan_tag", "vlan_id"]
787 }
788 ],
789 "op" : "set"
790 },
791 {
792 "parameters" : [
793 {
794 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200795 "value" : ["scalars", "tmp_3"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700796 },
797 {
798 "type" : "lookahead",
799 "value" : [0, 16]
800 }
801 ],
802 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700803 }
804 ],
805 "transitions" : [
806 {
807 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700808 "value" : "0x8100",
809 "mask" : null,
810 "next_state" : "parse_inner_vlan_tag"
811 },
812 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200813 "type" : "default",
814 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700815 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700816 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700817 }
818 ],
819 "transition_key" : [
820 {
821 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200822 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700823 }
824 ]
825 },
826 {
827 "name" : "parse_inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200828 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700829 "parser_ops" : [
830 {
831 "parameters" : [
832 {
833 "type" : "regular",
834 "value" : "inner_vlan_tag"
835 }
836 ],
837 "op" : "extract"
Daniele Morob3d199b2019-11-01 14:01:46 -0700838 },
839 {
840 "parameters" : [
841 {
842 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200843 "value" : ["scalars", "userMetadata._bng_c_tag26"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700844 },
845 {
846 "type" : "field",
847 "value" : ["inner_vlan_tag", "vlan_id"]
848 }
849 ],
850 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700851 }
852 ],
853 "transitions" : [
854 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200855 "type" : "default",
856 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700857 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700858 "next_state" : "parse_eth_type"
859 }
860 ],
861 "transition_key" : []
862 },
863 {
864 "name" : "parse_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200865 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700866 "parser_ops" : [
867 {
868 "parameters" : [
869 {
870 "type" : "regular",
871 "value" : "eth_type"
872 }
873 ],
874 "op" : "extract"
875 }
876 ],
877 "transitions" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700878 {
879 "type" : "hexstr",
880 "value" : "0x8847",
881 "mask" : null,
882 "next_state" : "parse_mpls"
883 },
884 {
885 "type" : "hexstr",
Daniele Moro5a2de712019-09-24 14:34:07 -0700886 "value" : "0x0800",
887 "mask" : null,
888 "next_state" : "parse_ipv4"
889 },
890 {
891 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700892 "value" : "0x8863",
893 "mask" : null,
894 "next_state" : "parse_pppoe"
895 },
896 {
897 "type" : "hexstr",
898 "value" : "0x8864",
899 "mask" : null,
900 "next_state" : "parse_pppoe"
901 },
902 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200903 "type" : "default",
904 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700905 "mask" : null,
906 "next_state" : null
907 }
908 ],
909 "transition_key" : [
910 {
911 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700912 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700913 }
914 ]
915 },
916 {
917 "name" : "parse_pppoe",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200918 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700919 "parser_ops" : [
920 {
921 "parameters" : [
922 {
923 "type" : "regular",
924 "value" : "pppoe"
925 }
926 ],
927 "op" : "extract"
928 }
929 ],
930 "transitions" : [
931 {
932 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700933 "value" : "0x0281",
934 "mask" : null,
935 "next_state" : "parse_mpls"
936 },
937 {
938 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700939 "value" : "0x0021",
940 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700941 "next_state" : "parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700942 },
943 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200944 "type" : "default",
945 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700946 "mask" : null,
947 "next_state" : null
948 }
949 ],
950 "transition_key" : [
951 {
952 "type" : "field",
953 "value" : ["pppoe", "protocol"]
954 }
955 ]
956 },
957 {
958 "name" : "parse_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200959 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700960 "parser_ops" : [
961 {
962 "parameters" : [
963 {
964 "type" : "regular",
965 "value" : "mpls"
966 }
967 ],
968 "op" : "extract"
969 },
970 {
971 "parameters" : [
972 {
973 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200974 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700975 },
976 {
977 "type" : "field",
978 "value" : ["mpls", "label"]
979 }
980 ],
981 "op" : "set"
982 },
983 {
984 "parameters" : [
985 {
986 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200987 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700988 },
989 {
990 "type" : "field",
991 "value" : ["mpls", "ttl"]
992 }
993 ],
994 "op" : "set"
995 },
996 {
997 "parameters" : [
998 {
999 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001000 "value" : ["scalars", "tmp_5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001001 },
1002 {
1003 "type" : "lookahead",
1004 "value" : [0, 4]
1005 }
1006 ],
1007 "op" : "set"
1008 }
1009 ],
1010 "transitions" : [
1011 {
1012 "type" : "hexstr",
1013 "value" : "0x04",
1014 "mask" : null,
1015 "next_state" : "parse_ipv4"
1016 },
1017 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001018 "type" : "default",
1019 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001020 "mask" : null,
1021 "next_state" : "parse_ethernet"
1022 }
1023 ],
1024 "transition_key" : [
1025 {
1026 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001027 "value" : ["scalars", "tmp_5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001028 }
1029 ]
1030 },
1031 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001032 "name" : "parse_ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001033 "id" : 10,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001034 "parser_ops" : [
1035 {
1036 "parameters" : [
1037 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001038 "type" : "regular",
1039 "value" : "ipv4"
1040 }
1041 ],
1042 "op" : "extract"
1043 },
1044 {
1045 "parameters" : [
1046 {
1047 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001048 "value" : ["scalars", "userMetadata._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001049 },
1050 {
1051 "type" : "field",
1052 "value" : ["ipv4", "protocol"]
1053 }
1054 ],
1055 "op" : "set"
1056 },
1057 {
1058 "parameters" : [
1059 {
1060 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001061 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001062 },
1063 {
1064 "type" : "hexstr",
1065 "value" : "0x0800"
1066 }
1067 ],
1068 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001069 },
1070 {
1071 "parameters" : [
1072 {
1073 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001074 "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001075 },
1076 {
1077 "type" : "field",
1078 "value" : ["ipv4", "src_addr"]
1079 }
1080 ],
1081 "op" : "set"
1082 },
1083 {
1084 "parameters" : [
1085 {
1086 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001087 "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001088 },
1089 {
1090 "type" : "field",
1091 "value" : ["ipv4", "dst_addr"]
1092 }
1093 ],
1094 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001095 }
1096 ],
1097 "transitions" : [
1098 {
1099 "type" : "hexstr",
1100 "value" : "0x06",
1101 "mask" : null,
1102 "next_state" : "parse_tcp"
1103 },
1104 {
1105 "type" : "hexstr",
1106 "value" : "0x11",
1107 "mask" : null,
1108 "next_state" : "parse_udp"
1109 },
1110 {
1111 "type" : "hexstr",
1112 "value" : "0x01",
1113 "mask" : null,
1114 "next_state" : "parse_icmp"
1115 },
1116 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001117 "type" : "default",
1118 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001119 "mask" : null,
1120 "next_state" : null
1121 }
1122 ],
1123 "transition_key" : [
1124 {
1125 "type" : "field",
1126 "value" : ["ipv4", "protocol"]
1127 }
1128 ]
1129 },
1130 {
1131 "name" : "parse_tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001132 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001133 "parser_ops" : [
1134 {
1135 "parameters" : [
1136 {
1137 "type" : "regular",
1138 "value" : "tcp"
1139 }
1140 ],
1141 "op" : "extract"
1142 },
1143 {
1144 "parameters" : [
1145 {
1146 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001147 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001148 },
1149 {
1150 "type" : "field",
1151 "value" : ["tcp", "sport"]
1152 }
1153 ],
1154 "op" : "set"
1155 },
1156 {
1157 "parameters" : [
1158 {
1159 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001160 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001161 },
1162 {
1163 "type" : "field",
1164 "value" : ["tcp", "dport"]
1165 }
1166 ],
1167 "op" : "set"
1168 }
1169 ],
1170 "transitions" : [
1171 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001172 "type" : "default",
1173 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001174 "mask" : null,
1175 "next_state" : null
1176 }
1177 ],
1178 "transition_key" : []
1179 },
1180 {
1181 "name" : "parse_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001182 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001183 "parser_ops" : [
1184 {
1185 "parameters" : [
1186 {
1187 "type" : "regular",
1188 "value" : "udp"
1189 }
1190 ],
1191 "op" : "extract"
1192 },
1193 {
1194 "parameters" : [
1195 {
1196 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001197 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001198 },
1199 {
1200 "type" : "field",
1201 "value" : ["udp", "sport"]
1202 }
1203 ],
1204 "op" : "set"
1205 },
1206 {
1207 "parameters" : [
1208 {
1209 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001210 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001211 },
1212 {
1213 "type" : "field",
1214 "value" : ["udp", "dport"]
1215 }
1216 ],
1217 "op" : "set"
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001218 },
1219 {
1220 "parameters" : [
1221 {
1222 "type" : "field",
1223 "value" : ["scalars", "tmp_7"]
1224 },
1225 {
1226 "type" : "lookahead",
1227 "value" : [0, 64]
1228 }
1229 ],
1230 "op" : "set"
1231 },
1232 {
1233 "parameters" : [
1234 {
1235 "parameters" : [
1236 {
1237 "type" : "header",
1238 "value" : "gtpu_0"
1239 }
1240 ],
1241 "op" : "add_header"
1242 }
1243 ],
1244 "op" : "primitive"
1245 },
1246 {
1247 "parameters" : [
1248 {
1249 "type" : "field",
1250 "value" : ["gtpu_0", "version"]
1251 },
1252 {
1253 "type" : "expression",
1254 "value" : {
1255 "type" : "expression",
1256 "value" : {
1257 "op" : "&",
1258 "left" : {
1259 "type" : "expression",
1260 "value" : {
1261 "op" : "&",
1262 "left" : {
1263 "type" : "expression",
1264 "value" : {
1265 "op" : ">>",
1266 "left" : {
1267 "type" : "field",
1268 "value" : ["scalars", "tmp_7"]
1269 },
1270 "right" : {
1271 "type" : "hexstr",
1272 "value" : "0x3d"
1273 }
1274 }
1275 },
1276 "right" : {
1277 "type" : "hexstr",
1278 "value" : "0xffffffffffffffff"
1279 }
1280 }
1281 },
1282 "right" : {
1283 "type" : "hexstr",
1284 "value" : "0x07"
1285 }
1286 }
1287 }
1288 }
1289 ],
1290 "op" : "set"
1291 },
1292 {
1293 "parameters" : [
1294 {
1295 "type" : "field",
1296 "value" : ["gtpu_0", "pt"]
1297 },
1298 {
1299 "type" : "expression",
1300 "value" : {
1301 "type" : "expression",
1302 "value" : {
1303 "op" : "&",
1304 "left" : {
1305 "type" : "expression",
1306 "value" : {
1307 "op" : "&",
1308 "left" : {
1309 "type" : "expression",
1310 "value" : {
1311 "op" : ">>",
1312 "left" : {
1313 "type" : "field",
1314 "value" : ["scalars", "tmp_7"]
1315 },
1316 "right" : {
1317 "type" : "hexstr",
1318 "value" : "0x3c"
1319 }
1320 }
1321 },
1322 "right" : {
1323 "type" : "hexstr",
1324 "value" : "0xffffffffffffffff"
1325 }
1326 }
1327 },
1328 "right" : {
1329 "type" : "hexstr",
1330 "value" : "0x01"
1331 }
1332 }
1333 }
1334 }
1335 ],
1336 "op" : "set"
1337 },
1338 {
1339 "parameters" : [
1340 {
1341 "type" : "field",
1342 "value" : ["gtpu_0", "spare"]
1343 },
1344 {
1345 "type" : "expression",
1346 "value" : {
1347 "type" : "expression",
1348 "value" : {
1349 "op" : "&",
1350 "left" : {
1351 "type" : "expression",
1352 "value" : {
1353 "op" : "&",
1354 "left" : {
1355 "type" : "expression",
1356 "value" : {
1357 "op" : ">>",
1358 "left" : {
1359 "type" : "field",
1360 "value" : ["scalars", "tmp_7"]
1361 },
1362 "right" : {
1363 "type" : "hexstr",
1364 "value" : "0x3b"
1365 }
1366 }
1367 },
1368 "right" : {
1369 "type" : "hexstr",
1370 "value" : "0xffffffffffffffff"
1371 }
1372 }
1373 },
1374 "right" : {
1375 "type" : "hexstr",
1376 "value" : "0x01"
1377 }
1378 }
1379 }
1380 }
1381 ],
1382 "op" : "set"
1383 },
1384 {
1385 "parameters" : [
1386 {
1387 "type" : "field",
1388 "value" : ["gtpu_0", "ex_flag"]
1389 },
1390 {
1391 "type" : "expression",
1392 "value" : {
1393 "type" : "expression",
1394 "value" : {
1395 "op" : "&",
1396 "left" : {
1397 "type" : "expression",
1398 "value" : {
1399 "op" : "&",
1400 "left" : {
1401 "type" : "expression",
1402 "value" : {
1403 "op" : ">>",
1404 "left" : {
1405 "type" : "field",
1406 "value" : ["scalars", "tmp_7"]
1407 },
1408 "right" : {
1409 "type" : "hexstr",
1410 "value" : "0x3a"
1411 }
1412 }
1413 },
1414 "right" : {
1415 "type" : "hexstr",
1416 "value" : "0xffffffffffffffff"
1417 }
1418 }
1419 },
1420 "right" : {
1421 "type" : "hexstr",
1422 "value" : "0x01"
1423 }
1424 }
1425 }
1426 }
1427 ],
1428 "op" : "set"
1429 },
1430 {
1431 "parameters" : [
1432 {
1433 "type" : "field",
1434 "value" : ["gtpu_0", "seq_flag"]
1435 },
1436 {
1437 "type" : "expression",
1438 "value" : {
1439 "type" : "expression",
1440 "value" : {
1441 "op" : "&",
1442 "left" : {
1443 "type" : "expression",
1444 "value" : {
1445 "op" : "&",
1446 "left" : {
1447 "type" : "expression",
1448 "value" : {
1449 "op" : ">>",
1450 "left" : {
1451 "type" : "field",
1452 "value" : ["scalars", "tmp_7"]
1453 },
1454 "right" : {
1455 "type" : "hexstr",
1456 "value" : "0x39"
1457 }
1458 }
1459 },
1460 "right" : {
1461 "type" : "hexstr",
1462 "value" : "0xffffffffffffffff"
1463 }
1464 }
1465 },
1466 "right" : {
1467 "type" : "hexstr",
1468 "value" : "0x01"
1469 }
1470 }
1471 }
1472 }
1473 ],
1474 "op" : "set"
1475 },
1476 {
1477 "parameters" : [
1478 {
1479 "type" : "field",
1480 "value" : ["gtpu_0", "npdu_flag"]
1481 },
1482 {
1483 "type" : "expression",
1484 "value" : {
1485 "type" : "expression",
1486 "value" : {
1487 "op" : "&",
1488 "left" : {
1489 "type" : "expression",
1490 "value" : {
1491 "op" : "&",
1492 "left" : {
1493 "type" : "expression",
1494 "value" : {
1495 "op" : ">>",
1496 "left" : {
1497 "type" : "field",
1498 "value" : ["scalars", "tmp_7"]
1499 },
1500 "right" : {
1501 "type" : "hexstr",
1502 "value" : "0x38"
1503 }
1504 }
1505 },
1506 "right" : {
1507 "type" : "hexstr",
1508 "value" : "0xffffffffffffffff"
1509 }
1510 }
1511 },
1512 "right" : {
1513 "type" : "hexstr",
1514 "value" : "0x01"
1515 }
1516 }
1517 }
1518 }
1519 ],
1520 "op" : "set"
1521 },
1522 {
1523 "parameters" : [
1524 {
1525 "type" : "field",
1526 "value" : ["gtpu_0", "msgtype"]
1527 },
1528 {
1529 "type" : "expression",
1530 "value" : {
1531 "type" : "expression",
1532 "value" : {
1533 "op" : "&",
1534 "left" : {
1535 "type" : "expression",
1536 "value" : {
1537 "op" : "&",
1538 "left" : {
1539 "type" : "expression",
1540 "value" : {
1541 "op" : ">>",
1542 "left" : {
1543 "type" : "field",
1544 "value" : ["scalars", "tmp_7"]
1545 },
1546 "right" : {
1547 "type" : "hexstr",
1548 "value" : "0x30"
1549 }
1550 }
1551 },
1552 "right" : {
1553 "type" : "hexstr",
1554 "value" : "0xffffffffffffffff"
1555 }
1556 }
1557 },
1558 "right" : {
1559 "type" : "hexstr",
1560 "value" : "0xff"
1561 }
1562 }
1563 }
1564 }
1565 ],
1566 "op" : "set"
1567 },
1568 {
1569 "parameters" : [
1570 {
1571 "type" : "field",
1572 "value" : ["gtpu_0", "msglen"]
1573 },
1574 {
1575 "type" : "expression",
1576 "value" : {
1577 "type" : "expression",
1578 "value" : {
1579 "op" : "&",
1580 "left" : {
1581 "type" : "expression",
1582 "value" : {
1583 "op" : "&",
1584 "left" : {
1585 "type" : "expression",
1586 "value" : {
1587 "op" : ">>",
1588 "left" : {
1589 "type" : "field",
1590 "value" : ["scalars", "tmp_7"]
1591 },
1592 "right" : {
1593 "type" : "hexstr",
1594 "value" : "0x20"
1595 }
1596 }
1597 },
1598 "right" : {
1599 "type" : "hexstr",
1600 "value" : "0xffffffffffffffff"
1601 }
1602 }
1603 },
1604 "right" : {
1605 "type" : "hexstr",
1606 "value" : "0xffff"
1607 }
1608 }
1609 }
1610 }
1611 ],
1612 "op" : "set"
1613 },
1614 {
1615 "parameters" : [
1616 {
1617 "type" : "field",
1618 "value" : ["gtpu_0", "teid"]
1619 },
1620 {
1621 "type" : "expression",
1622 "value" : {
1623 "type" : "expression",
1624 "value" : {
1625 "op" : "&",
1626 "left" : {
1627 "type" : "field",
1628 "value" : ["scalars", "tmp_7"]
1629 },
1630 "right" : {
1631 "type" : "hexstr",
1632 "value" : "0xffffffff"
1633 }
1634 }
1635 }
1636 }
1637 ],
1638 "op" : "set"
1639 },
1640 {
1641 "parameters" : [
1642 {
1643 "type" : "field",
1644 "value" : ["scalars", "tmp_2"]
1645 },
1646 {
1647 "type" : "expression",
1648 "value" : {
1649 "type" : "expression",
1650 "value" : {
1651 "op" : "&",
1652 "left" : {
1653 "type" : "expression",
1654 "value" : {
1655 "op" : "&",
1656 "left" : {
1657 "type" : "expression",
1658 "value" : {
1659 "op" : ">>",
1660 "left" : {
1661 "type" : "field",
1662 "value" : ["scalars", "tmp_7"]
1663 },
1664 "right" : {
1665 "type" : "hexstr",
1666 "value" : "0x3d"
1667 }
1668 }
1669 },
1670 "right" : {
1671 "type" : "hexstr",
1672 "value" : "0xffffffffffffffff"
1673 }
1674 }
1675 },
1676 "right" : {
1677 "type" : "hexstr",
1678 "value" : "0x07"
1679 }
1680 }
1681 }
1682 }
1683 ],
1684 "op" : "set"
1685 },
1686 {
1687 "parameters" : [
1688 {
1689 "type" : "field",
1690 "value" : ["scalars", "tmp_4"]
1691 },
1692 {
1693 "type" : "expression",
1694 "value" : {
1695 "type" : "expression",
1696 "value" : {
1697 "op" : "&",
1698 "left" : {
1699 "type" : "expression",
1700 "value" : {
1701 "op" : "&",
1702 "left" : {
1703 "type" : "expression",
1704 "value" : {
1705 "op" : ">>",
1706 "left" : {
1707 "type" : "field",
1708 "value" : ["scalars", "tmp_7"]
1709 },
1710 "right" : {
1711 "type" : "hexstr",
1712 "value" : "0x30"
1713 }
1714 }
1715 },
1716 "right" : {
1717 "type" : "hexstr",
1718 "value" : "0xffffffffffffffff"
1719 }
1720 }
1721 },
1722 "right" : {
1723 "type" : "hexstr",
1724 "value" : "0xff"
1725 }
1726 }
1727 }
1728 }
1729 ],
1730 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001731 }
1732 ],
1733 "transitions" : [
1734 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08001735 "type" : "hexstr",
1736 "value" : "0x086801ff",
1737 "mask" : null,
1738 "next_state" : "parse_gtpu"
1739 },
1740 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001741 "type" : "default",
1742 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001743 "mask" : null,
1744 "next_state" : null
1745 }
1746 ],
1747 "transition_key" : [
1748 {
1749 "type" : "field",
1750 "value" : ["udp", "dport"]
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001751 },
1752 {
1753 "type" : "field",
1754 "value" : ["scalars", "tmp_2"]
1755 },
1756 {
1757 "type" : "field",
1758 "value" : ["scalars", "tmp_4"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001759 }
1760 ]
1761 },
1762 {
1763 "name" : "parse_icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001764 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001765 "parser_ops" : [
1766 {
1767 "parameters" : [
1768 {
1769 "type" : "regular",
1770 "value" : "icmp"
1771 }
1772 ],
1773 "op" : "extract"
1774 }
1775 ],
1776 "transitions" : [
1777 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001778 "type" : "default",
1779 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001780 "mask" : null,
1781 "next_state" : null
1782 }
1783 ],
1784 "transition_key" : []
Wailok Shum4f51bde2021-06-11 22:48:41 +08001785 },
1786 {
1787 "name" : "parse_gtpu",
1788 "id" : 14,
1789 "parser_ops" : [
1790 {
1791 "parameters" : [
1792 {
1793 "type" : "regular",
1794 "value" : "gtpu"
1795 }
1796 ],
1797 "op" : "extract"
1798 },
1799 {
1800 "parameters" : [
1801 {
1802 "type" : "regular",
1803 "value" : "inner_ipv4"
1804 }
1805 ],
1806 "op" : "extract"
1807 }
1808 ],
1809 "transitions" : [
1810 {
1811 "type" : "hexstr",
1812 "value" : "0x06",
1813 "mask" : null,
1814 "next_state" : "parse_tcp"
1815 },
1816 {
1817 "type" : "hexstr",
1818 "value" : "0x11",
1819 "mask" : null,
1820 "next_state" : "parse_inner_udp"
1821 },
1822 {
1823 "type" : "hexstr",
1824 "value" : "0x01",
1825 "mask" : null,
1826 "next_state" : "parse_icmp"
1827 },
1828 {
1829 "type" : "default",
1830 "value" : null,
1831 "mask" : null,
1832 "next_state" : null
1833 }
1834 ],
1835 "transition_key" : [
1836 {
1837 "type" : "field",
1838 "value" : ["inner_ipv4", "protocol"]
1839 }
1840 ]
1841 },
1842 {
1843 "name" : "parse_inner_udp",
1844 "id" : 15,
1845 "parser_ops" : [
1846 {
1847 "parameters" : [
1848 {
1849 "type" : "regular",
1850 "value" : "inner_udp"
1851 }
1852 ],
1853 "op" : "extract"
1854 }
1855 ],
1856 "transitions" : [
1857 {
1858 "type" : "default",
1859 "value" : null,
1860 "mask" : null,
1861 "next_state" : null
1862 }
1863 ],
1864 "transition_key" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001865 }
1866 ]
1867 }
1868 ],
1869 "parse_vsets" : [],
1870 "deparsers" : [
1871 {
1872 "name" : "deparser",
1873 "id" : 0,
1874 "source_info" : {
1875 "filename" : "include/parser.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001876 "line" : 285,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001877 "column" : 8,
1878 "source_fragment" : "FabricDeparser"
1879 },
Wailok Shum4f51bde2021-06-11 22:48:41 +08001880 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001881 "primitives" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001882 }
1883 ],
1884 "meter_arrays" : [
1885 {
1886 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
1887 "id" : 0,
1888 "source_info" : {
1889 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001890 "line" : 154,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001891 "column" : 33,
1892 "source_fragment" : "m_besteff"
1893 },
1894 "is_direct" : false,
1895 "size" : 8192,
1896 "rate_count" : 2,
1897 "type" : "bytes"
1898 },
1899 {
1900 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
1901 "id" : 1,
1902 "source_info" : {
1903 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001904 "line" : 155,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001905 "column" : 33,
1906 "source_fragment" : "m_prio"
1907 },
1908 "is_direct" : false,
1909 "size" : 8192,
1910 "rate_count" : 2,
1911 "type" : "bytes"
1912 }
1913 ],
1914 "counter_arrays" : [
1915 {
1916 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
1917 "id" : 0,
1918 "source_info" : {
1919 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001920 "line" : 36,
Daniele Moroce424ca2019-10-03 16:44:33 -07001921 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001922 "source_fragment" : "c_terminated"
1923 },
1924 "size" : 8192,
1925 "is_direct" : false
1926 },
1927 {
1928 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
1929 "id" : 1,
1930 "source_info" : {
1931 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001932 "line" : 37,
Daniele Moroce424ca2019-10-03 16:44:33 -07001933 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001934 "source_fragment" : "c_dropped"
1935 },
1936 "size" : 8192,
1937 "is_direct" : false
1938 },
1939 {
1940 "name" : "FabricIngress.bng_ingress.upstream.c_control",
1941 "id" : 2,
1942 "source_info" : {
1943 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001944 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001945 "column" : 39,
1946 "source_fragment" : "c_control"
1947 },
1948 "size" : 8192,
1949 "is_direct" : false
1950 },
1951 {
1952 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
1953 "id" : 3,
1954 "source_info" : {
1955 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001956 "line" : 152,
Daniele Moroce424ca2019-10-03 16:44:33 -07001957 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001958 "source_fragment" : "c_line_rx"
1959 },
1960 "size" : 8192,
1961 "is_direct" : false
1962 },
1963 {
1964 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1965 "id" : 4,
1966 "is_direct" : true,
1967 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1968 "source_info" : {
1969 "filename" : "include/control/filtering.p4",
1970 "line" : 31,
1971 "column" : 50,
1972 "source_fragment" : "ingress_port_vlan_counter"
1973 }
1974 },
1975 {
1976 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1977 "id" : 5,
1978 "is_direct" : true,
1979 "binding" : "FabricIngress.filtering.fwd_classifier",
1980 "source_info" : {
1981 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08001982 "line" : 87,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001983 "column" : 50,
1984 "source_fragment" : "fwd_classifier_counter"
1985 }
1986 },
1987 {
1988 "name" : "FabricIngress.forwarding.bridging_counter",
1989 "id" : 6,
1990 "is_direct" : true,
1991 "binding" : "FabricIngress.forwarding.bridging",
1992 "source_info" : {
1993 "filename" : "include/control/forwarding.p4",
1994 "line" : 36,
1995 "column" : 50,
1996 "source_fragment" : "bridging_counter"
1997 }
1998 },
1999 {
2000 "name" : "FabricIngress.forwarding.mpls_counter",
2001 "id" : 7,
2002 "is_direct" : true,
2003 "binding" : "FabricIngress.forwarding.mpls",
2004 "source_info" : {
2005 "filename" : "include/control/forwarding.p4",
2006 "line" : 63,
2007 "column" : 50,
2008 "source_fragment" : "mpls_counter"
2009 }
2010 },
2011 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002012 "name" : "FabricIngress.pre_next.next_mpls_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002013 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002014 "is_direct" : true,
Wailok Shumfb7e7872021-06-18 17:30:08 +08002015 "binding" : "FabricIngress.pre_next.next_mpls",
2016 "source_info" : {
2017 "filename" : "include/control/pre_next.p4",
2018 "line" : 29,
2019 "column" : 50,
2020 "source_fragment" : "next_mpls_counter"
2021 }
2022 },
2023 {
2024 "name" : "FabricIngress.pre_next.next_vlan_counter",
2025 "id" : 9,
2026 "is_direct" : true,
2027 "binding" : "FabricIngress.pre_next.next_vlan",
2028 "source_info" : {
2029 "filename" : "include/control/pre_next.p4",
2030 "line" : 54,
2031 "column" : 50,
2032 "source_fragment" : "next_vlan_counter"
2033 }
2034 },
2035 {
2036 "name" : "FabricIngress.acl.acl_counter",
2037 "id" : 10,
2038 "is_direct" : true,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002039 "binding" : "FabricIngress.acl.acl",
2040 "source_info" : {
2041 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002042 "line" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002043 "column" : 50,
2044 "source_fragment" : "acl_counter"
2045 }
2046 },
2047 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002048 "name" : "FabricIngress.next.hashed_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002049 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002050 "is_direct" : true,
2051 "binding" : "FabricIngress.next.hashed",
2052 "source_info" : {
2053 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002054 "line" : 126,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002055 "column" : 50,
2056 "source_fragment" : "hashed_counter"
2057 }
2058 },
2059 {
2060 "name" : "FabricIngress.next.multicast_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002061 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002062 "is_direct" : true,
2063 "binding" : "FabricIngress.next.multicast",
2064 "source_info" : {
2065 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002066 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002067 "column" : 50,
2068 "source_fragment" : "multicast_counter"
2069 }
2070 },
2071 {
2072 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002073 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002074 "source_info" : {
2075 "filename" : "include/control/port_counter.p4",
2076 "line" : 26,
2077 "column" : 48,
2078 "source_fragment" : "egress_port_counter"
2079 },
2080 "size" : 511,
2081 "is_direct" : false
2082 },
2083 {
2084 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002085 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002086 "source_info" : {
2087 "filename" : "include/control/port_counter.p4",
2088 "line" : 27,
2089 "column" : 48,
2090 "source_fragment" : "ingress_port_counter"
2091 },
2092 "size" : 511,
2093 "is_direct" : false
2094 },
2095 {
2096 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002097 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002098 "source_info" : {
2099 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002100 "line" : 267,
Daniele Moroce424ca2019-10-03 16:44:33 -07002101 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002102 "source_fragment" : "c_line_tx"
2103 },
2104 "size" : 8192,
2105 "is_direct" : false
2106 },
2107 {
2108 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002109 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002110 "is_direct" : true,
2111 "binding" : "FabricEgress.egress_next.egress_vlan",
2112 "source_info" : {
2113 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002114 "line" : 248,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002115 "column" : 50,
2116 "source_fragment" : "egress_vlan_counter"
2117 }
2118 }
2119 ],
2120 "register_arrays" : [],
2121 "calculations" : [
2122 {
2123 "name" : "calc",
2124 "id" : 0,
2125 "source_info" : {
2126 "filename" : "include/checksum.p4",
2127 "line" : 28,
2128 "column" : 8,
2129 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
2130 },
2131 "algo" : "csum16",
2132 "input" : [
2133 {
2134 "type" : "field",
2135 "value" : ["ipv4", "version"]
2136 },
2137 {
2138 "type" : "field",
2139 "value" : ["ipv4", "ihl"]
2140 },
2141 {
2142 "type" : "field",
2143 "value" : ["ipv4", "dscp"]
2144 },
2145 {
2146 "type" : "field",
2147 "value" : ["ipv4", "ecn"]
2148 },
2149 {
2150 "type" : "field",
2151 "value" : ["ipv4", "total_len"]
2152 },
2153 {
2154 "type" : "field",
2155 "value" : ["ipv4", "identification"]
2156 },
2157 {
2158 "type" : "field",
2159 "value" : ["ipv4", "flags"]
2160 },
2161 {
2162 "type" : "field",
2163 "value" : ["ipv4", "frag_offset"]
2164 },
2165 {
2166 "type" : "field",
2167 "value" : ["ipv4", "ttl"]
2168 },
2169 {
2170 "type" : "field",
2171 "value" : ["ipv4", "protocol"]
2172 },
2173 {
2174 "type" : "field",
2175 "value" : ["ipv4", "src_addr"]
2176 },
2177 {
2178 "type" : "field",
2179 "value" : ["ipv4", "dst_addr"]
2180 }
2181 ]
2182 },
2183 {
2184 "name" : "calc_0",
2185 "id" : 1,
2186 "source_info" : {
2187 "filename" : "include/checksum.p4",
2188 "line" : 57,
2189 "column" : 8,
2190 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
2191 },
2192 "algo" : "csum16",
2193 "input" : [
2194 {
2195 "type" : "field",
2196 "value" : ["ipv4", "version"]
2197 },
2198 {
2199 "type" : "field",
2200 "value" : ["ipv4", "ihl"]
2201 },
2202 {
2203 "type" : "field",
2204 "value" : ["ipv4", "dscp"]
2205 },
2206 {
2207 "type" : "field",
2208 "value" : ["ipv4", "ecn"]
2209 },
2210 {
2211 "type" : "field",
2212 "value" : ["ipv4", "total_len"]
2213 },
2214 {
2215 "type" : "field",
2216 "value" : ["ipv4", "identification"]
2217 },
2218 {
2219 "type" : "field",
2220 "value" : ["ipv4", "flags"]
2221 },
2222 {
2223 "type" : "field",
2224 "value" : ["ipv4", "frag_offset"]
2225 },
2226 {
2227 "type" : "field",
2228 "value" : ["ipv4", "ttl"]
2229 },
2230 {
2231 "type" : "field",
2232 "value" : ["ipv4", "protocol"]
2233 },
2234 {
2235 "type" : "field",
2236 "value" : ["ipv4", "src_addr"]
2237 },
2238 {
2239 "type" : "field",
2240 "value" : ["ipv4", "dst_addr"]
2241 }
2242 ]
2243 }
2244 ],
2245 "learn_lists" : [],
2246 "actions" : [
2247 {
2248 "name" : "nop",
2249 "id" : 0,
2250 "runtime_data" : [],
2251 "primitives" : []
2252 },
2253 {
2254 "name" : "nop",
2255 "id" : 1,
2256 "runtime_data" : [],
2257 "primitives" : []
2258 },
2259 {
2260 "name" : "nop",
2261 "id" : 2,
2262 "runtime_data" : [],
2263 "primitives" : []
2264 },
2265 {
2266 "name" : "nop",
2267 "id" : 3,
2268 "runtime_data" : [],
2269 "primitives" : []
2270 },
2271 {
2272 "name" : "nop",
2273 "id" : 4,
2274 "runtime_data" : [],
2275 "primitives" : []
2276 },
2277 {
2278 "name" : "nop",
2279 "id" : 5,
2280 "runtime_data" : [],
2281 "primitives" : []
2282 },
2283 {
2284 "name" : "nop",
2285 "id" : 6,
2286 "runtime_data" : [],
2287 "primitives" : []
2288 },
2289 {
2290 "name" : "nop",
2291 "id" : 7,
2292 "runtime_data" : [],
2293 "primitives" : []
2294 },
2295 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002296 "name" : "nop",
Daniele Moro5a2de712019-09-24 14:34:07 -07002297 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002298 "runtime_data" : [],
Wailok Shumfb7e7872021-06-18 17:30:08 +08002299 "primitives" : []
2300 },
2301 {
2302 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
2303 "id" : 9,
2304 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002305 "primitives" : [
2306 {
2307 "op" : "assign",
2308 "parameters" : [
2309 {
2310 "type" : "field",
2311 "value" : ["standard_metadata", "egress_spec"]
2312 },
2313 {
2314 "type" : "hexstr",
2315 "value" : "0x00ff"
2316 }
2317 ],
2318 "source_info" : {
2319 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002320 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002321 "column" : 8,
2322 "source_fragment" : "smeta.egress_spec = 255"
2323 }
2324 },
2325 {
Daniele Moro0cecfe12019-12-13 17:24:33 -08002326 "op" : "assign",
2327 "parameters" : [
2328 {
2329 "type" : "field",
2330 "value" : ["standard_metadata", "mcast_grp"]
2331 },
2332 {
2333 "type" : "hexstr",
2334 "value" : "0x0000"
2335 }
2336 ],
2337 "source_info" : {
2338 "filename" : "include/bng.p4",
2339 "line" : 47,
2340 "column" : 8,
2341 "source_fragment" : "smeta.mcast_grp = 0"
2342 }
2343 },
2344 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002345 "op" : "count",
2346 "parameters" : [
2347 {
2348 "type" : "counter_array",
2349 "value" : "FabricIngress.bng_ingress.upstream.c_control"
2350 },
2351 {
2352 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002353 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002354 }
2355 ],
2356 "source_info" : {
2357 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002358 "line" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002359 "column" : 8,
2360 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
2361 }
2362 }
2363 ]
2364 },
2365 {
2366 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002367 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002368 "runtime_data" : [],
2369 "primitives" : [
2370 {
2371 "op" : "assign",
2372 "parameters" : [
2373 {
2374 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002375 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002376 },
2377 {
2378 "type" : "hexstr",
2379 "value" : "0x00"
2380 }
2381 ],
2382 "source_info" : {
2383 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07002384 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002385 "column" : 36,
2386 "source_fragment" : "2w0x0; ..."
2387 }
2388 },
2389 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002390 "op" : "mark_to_drop",
2391 "parameters" : [
2392 {
2393 "type" : "header",
2394 "value" : "standard_metadata"
2395 }
2396 ],
2397 "source_info" : {
2398 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002399 "line" : 77,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002400 "column" : 8,
2401 "source_fragment" : "mark_to_drop(smeta)"
2402 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002403 }
2404 ]
2405 },
2406 {
2407 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002408 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002409 "runtime_data" : [],
2410 "primitives" : [
2411 {
2412 "op" : "assign",
2413 "parameters" : [
2414 {
2415 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002416 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002417 },
2418 {
2419 "type" : "hexstr",
2420 "value" : "0x0800"
2421 }
2422 ],
2423 "source_info" : {
2424 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002425 "line" : 132,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002426 "column" : 31,
2427 "source_fragment" : "0x0800; ..."
2428 }
2429 },
2430 {
2431 "op" : "remove_header",
2432 "parameters" : [
2433 {
2434 "type" : "header",
2435 "value" : "pppoe"
2436 }
2437 ],
2438 "source_info" : {
2439 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002440 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002441 "column" : 8,
2442 "source_fragment" : "hdr.pppoe.setInvalid()"
2443 }
2444 },
2445 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002446 "op" : "count",
2447 "parameters" : [
2448 {
2449 "type" : "counter_array",
2450 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
2451 },
2452 {
2453 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002454 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002455 }
2456 ],
2457 "source_info" : {
2458 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002459 "line" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002460 "column" : 8,
2461 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
2462 }
2463 }
2464 ]
2465 },
2466 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002467 "name" : "FabricIngress.bng_ingress.downstream.set_session",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002468 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002469 "runtime_data" : [
2470 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002471 "name" : "pppoe_session_id",
2472 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002473 }
2474 ],
2475 "primitives" : [
2476 {
2477 "op" : "assign",
2478 "parameters" : [
2479 {
2480 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002481 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002482 },
2483 {
2484 "type" : "hexstr",
2485 "value" : "0x02"
2486 }
2487 ],
2488 "source_info" : {
2489 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07002490 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002491 "column" : 39,
2492 "source_fragment" : "2w0x2;; ..."
2493 }
2494 },
2495 {
2496 "op" : "assign",
2497 "parameters" : [
2498 {
2499 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002500 "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002501 },
2502 {
2503 "type" : "runtime_data",
2504 "value" : 0
2505 }
2506 ],
2507 "source_info" : {
2508 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002509 "line" : 159,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002510 "column" : 35,
2511 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002512 }
2513 },
2514 {
2515 "op" : "count",
2516 "parameters" : [
2517 {
2518 "type" : "counter_array",
2519 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
2520 },
2521 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002522 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002523 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002524 }
2525 ],
2526 "source_info" : {
2527 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002528 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002529 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002530 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002531 }
2532 }
2533 ]
2534 },
2535 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002536 "name" : "FabricIngress.bng_ingress.downstream.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002537 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002538 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002539 "primitives" : [
2540 {
2541 "op" : "assign",
2542 "parameters" : [
2543 {
2544 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002545 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002546 },
2547 {
2548 "type" : "hexstr",
2549 "value" : "0x02"
2550 }
2551 ],
2552 "source_info" : {
2553 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07002554 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002555 "column" : 39,
2556 "source_fragment" : "2w0x2;; ..."
2557 }
2558 },
2559 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002560 "op" : "count",
2561 "parameters" : [
2562 {
2563 "type" : "counter_array",
2564 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
2565 },
2566 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002567 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002568 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002569 }
2570 ],
2571 "source_info" : {
2572 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002573 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002574 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002575 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002576 }
2577 },
2578 {
2579 "op" : "mark_to_drop",
2580 "parameters" : [
2581 {
2582 "type" : "header",
2583 "value" : "standard_metadata"
2584 }
2585 ],
2586 "source_info" : {
2587 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002588 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002589 "column" : 8,
2590 "source_fragment" : "mark_to_drop(smeta)"
2591 }
2592 }
2593 ]
2594 },
2595 {
2596 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro5a2de712019-09-24 14:34:07 -07002597 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002598 "runtime_data" : [],
2599 "primitives" : []
2600 },
2601 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002602 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
Daniele Moro5a2de712019-09-24 14:34:07 -07002603 "id" : 15,
Wailok Shumfb7e7872021-06-18 17:30:08 +08002604 "runtime_data" : [],
2605 "primitives" : []
2606 },
2607 {
2608 "name" : "FabricIngress.bng_ingress.set_line",
2609 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002610 "runtime_data" : [
2611 {
2612 "name" : "line_id",
2613 "bitwidth" : 32
2614 }
2615 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002616 "primitives" : [
2617 {
Daniele Moroe22b5742019-06-28 15:32:37 -07002618 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002619 "parameters" : [
2620 {
Daniele Moroe22b5742019-06-28 15:32:37 -07002621 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002622 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002623 },
2624 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002625 "type" : "runtime_data",
2626 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002627 }
2628 ],
2629 "source_info" : {
2630 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002631 "line" : 320,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002632 "column" : 30,
2633 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002634 }
2635 }
2636 ]
2637 },
2638 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002639 "name" : "FabricIngress.filtering.deny",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002640 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002641 "runtime_data" : [],
2642 "primitives" : [
2643 {
2644 "op" : "assign",
2645 "parameters" : [
2646 {
2647 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002648 "value" : ["scalars", "userMetadata._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002649 },
2650 {
2651 "type" : "expression",
2652 "value" : {
2653 "type" : "expression",
2654 "value" : {
2655 "op" : "b2d",
2656 "left" : null,
2657 "right" : {
2658 "type" : "bool",
2659 "value" : true
2660 }
2661 }
2662 }
2663 }
2664 ],
2665 "source_info" : {
2666 "filename" : "include/control/filtering.p4",
2667 "line" : 36,
2668 "column" : 40,
2669 "source_fragment" : "= true; ..."
2670 }
2671 },
2672 {
2673 "op" : "assign",
2674 "parameters" : [
2675 {
2676 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002677 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002678 },
2679 {
2680 "type" : "expression",
2681 "value" : {
2682 "type" : "expression",
2683 "value" : {
2684 "op" : "b2d",
2685 "left" : null,
2686 "right" : {
2687 "type" : "bool",
2688 "value" : true
2689 }
2690 }
2691 }
2692 }
2693 ],
2694 "source_info" : {
2695 "filename" : "include/control/filtering.p4",
2696 "line" : 37,
2697 "column" : 34,
2698 "source_fragment" : "= true; ..."
2699 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002700 },
2701 {
2702 "op" : "assign",
2703 "parameters" : [
2704 {
2705 "type" : "field",
2706 "value" : ["scalars", "userMetadata._port_type27"]
2707 },
2708 {
2709 "type" : "hexstr",
2710 "value" : "0x00"
2711 }
2712 ],
2713 "source_info" : {
2714 "filename" : "include/control/../define.p4",
2715 "line" : 119,
2716 "column" : 38,
2717 "source_fragment" : "0x0; ..."
2718 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002719 }
2720 ]
2721 },
2722 {
2723 "name" : "FabricIngress.filtering.permit",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002724 "id" : 18,
2725 "runtime_data" : [
2726 {
2727 "name" : "port_type",
2728 "bitwidth" : 2
2729 }
2730 ],
2731 "primitives" : [
2732 {
2733 "op" : "assign",
2734 "parameters" : [
2735 {
2736 "type" : "field",
2737 "value" : ["scalars", "userMetadata._port_type27"]
2738 },
2739 {
2740 "type" : "runtime_data",
2741 "value" : 0
2742 }
2743 ],
2744 "source_info" : {
2745 "filename" : "include/control/filtering.p4",
2746 "line" : 44,
2747 "column" : 34,
2748 "source_fragment" : "= port_type; ..."
2749 }
2750 }
2751 ]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002752 },
2753 {
2754 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002755 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002756 "runtime_data" : [
2757 {
2758 "name" : "vlan_id",
2759 "bitwidth" : 12
Wailok Shumfb7e7872021-06-18 17:30:08 +08002760 },
2761 {
2762 "name" : "port_type",
2763 "bitwidth" : 2
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002764 }
2765 ],
2766 "primitives" : [
2767 {
2768 "op" : "assign",
2769 "parameters" : [
2770 {
2771 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002772 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002773 },
2774 {
2775 "type" : "runtime_data",
2776 "value" : 0
2777 }
2778 ],
2779 "source_info" : {
2780 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002781 "line" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002782 "column" : 32,
2783 "source_fragment" : "= vlan_id; ..."
2784 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002785 },
2786 {
2787 "op" : "assign",
2788 "parameters" : [
2789 {
2790 "type" : "field",
2791 "value" : ["scalars", "userMetadata._port_type27"]
2792 },
2793 {
2794 "type" : "runtime_data",
2795 "value" : 1
2796 }
2797 ],
2798 "source_info" : {
2799 "filename" : "include/control/filtering.p4",
2800 "line" : 44,
2801 "column" : 34,
2802 "source_fragment" : "= port_type; ..."
2803 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002804 }
2805 ]
2806 },
2807 {
2808 "name" : "FabricIngress.filtering.set_forwarding_type",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002809 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002810 "runtime_data" : [
2811 {
2812 "name" : "fwd_type",
2813 "bitwidth" : 3
2814 }
2815 ],
2816 "primitives" : [
2817 {
2818 "op" : "assign",
2819 "parameters" : [
2820 {
2821 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002822 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002823 },
2824 {
2825 "type" : "runtime_data",
2826 "value" : 0
2827 }
2828 ],
2829 "source_info" : {
2830 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002831 "line" : 90,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002832 "column" : 33,
2833 "source_fragment" : "= fwd_type; ..."
2834 }
2835 }
2836 ]
2837 },
2838 {
2839 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002840 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002841 "runtime_data" : [
2842 {
2843 "name" : "next_id",
2844 "bitwidth" : 32
2845 }
2846 ],
2847 "primitives" : [
2848 {
2849 "op" : "assign",
2850 "parameters" : [
2851 {
2852 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002853 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002854 },
2855 {
2856 "type" : "runtime_data",
2857 "value" : 0
2858 }
2859 ],
2860 "source_info" : {
2861 "filename" : "include/control/forwarding.p4",
2862 "line" : 30,
2863 "column" : 32,
2864 "source_fragment" : "= next_id; ..."
2865 }
2866 }
2867 ]
2868 },
2869 {
2870 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002871 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002872 "runtime_data" : [
2873 {
2874 "name" : "next_id",
2875 "bitwidth" : 32
2876 }
2877 ],
2878 "primitives" : [
2879 {
2880 "op" : "assign",
2881 "parameters" : [
2882 {
2883 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002884 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002885 },
2886 {
2887 "type" : "hexstr",
2888 "value" : "0x000000"
2889 }
2890 ],
2891 "source_info" : {
2892 "filename" : "include/control/forwarding.p4",
2893 "line" : 66,
2894 "column" : 35,
2895 "source_fragment" : "= 0; ..."
2896 }
2897 },
2898 {
2899 "op" : "assign",
2900 "parameters" : [
2901 {
2902 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002903 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002904 },
2905 {
2906 "type" : "runtime_data",
2907 "value" : 0
2908 }
2909 ],
2910 "source_info" : {
2911 "filename" : "include/control/forwarding.p4",
2912 "line" : 30,
2913 "column" : 32,
2914 "source_fragment" : "= next_id; ..."
2915 }
2916 }
2917 ]
2918 },
2919 {
2920 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002921 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002922 "runtime_data" : [
2923 {
2924 "name" : "next_id",
2925 "bitwidth" : 32
2926 }
2927 ],
2928 "primitives" : [
2929 {
2930 "op" : "assign",
2931 "parameters" : [
2932 {
2933 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002934 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002935 },
2936 {
2937 "type" : "runtime_data",
2938 "value" : 0
2939 }
2940 ],
2941 "source_info" : {
2942 "filename" : "include/control/forwarding.p4",
2943 "line" : 30,
2944 "column" : 32,
2945 "source_fragment" : "= next_id; ..."
2946 }
2947 }
2948 ]
2949 },
2950 {
2951 "name" : "FabricIngress.forwarding.nop_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002952 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002953 "runtime_data" : [],
2954 "primitives" : []
2955 },
2956 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002957 "name" : "FabricIngress.pre_next.set_mpls_label",
2958 "id" : 25,
2959 "runtime_data" : [
2960 {
2961 "name" : "label",
2962 "bitwidth" : 20
2963 }
2964 ],
2965 "primitives" : [
2966 {
2967 "op" : "assign",
2968 "parameters" : [
2969 {
2970 "type" : "field",
2971 "value" : ["scalars", "userMetadata._mpls_label8"]
2972 },
2973 {
2974 "type" : "runtime_data",
2975 "value" : 0
2976 }
2977 ],
2978 "source_info" : {
2979 "filename" : "include/control/pre_next.p4",
2980 "line" : 32,
2981 "column" : 35,
2982 "source_fragment" : "= label; ..."
2983 }
2984 }
2985 ]
2986 },
2987 {
2988 "name" : "FabricIngress.pre_next.set_vlan",
2989 "id" : 26,
2990 "runtime_data" : [
2991 {
2992 "name" : "vlan_id",
2993 "bitwidth" : 12
2994 }
2995 ],
2996 "primitives" : [
2997 {
2998 "op" : "assign",
2999 "parameters" : [
3000 {
3001 "type" : "field",
3002 "value" : ["scalars", "userMetadata._vlan_id1"]
3003 },
3004 {
3005 "type" : "runtime_data",
3006 "value" : 0
3007 }
3008 ],
3009 "source_info" : {
3010 "filename" : "include/control/pre_next.p4",
3011 "line" : 57,
3012 "column" : 32,
3013 "source_fragment" : "= vlan_id; ..."
3014 }
3015 }
3016 ]
3017 },
3018 {
3019 "name" : "FabricIngress.pre_next.set_double_vlan",
3020 "id" : 27,
3021 "runtime_data" : [
3022 {
3023 "name" : "outer_vlan_id",
3024 "bitwidth" : 12
3025 },
3026 {
3027 "name" : "inner_vlan_id",
3028 "bitwidth" : 12
3029 }
3030 ],
3031 "primitives" : [
3032 {
3033 "op" : "assign",
3034 "parameters" : [
3035 {
3036 "type" : "field",
3037 "value" : ["scalars", "userMetadata._vlan_id1"]
3038 },
3039 {
3040 "type" : "runtime_data",
3041 "value" : 0
3042 }
3043 ],
3044 "source_info" : {
3045 "filename" : "include/control/pre_next.p4",
3046 "line" : 57,
3047 "column" : 32,
3048 "source_fragment" : "= vlan_id; ..."
3049 }
3050 },
3051 {
3052 "op" : "assign",
3053 "parameters" : [
3054 {
3055 "type" : "field",
3056 "value" : ["scalars", "userMetadata._push_double_vlan4"]
3057 },
3058 {
3059 "type" : "expression",
3060 "value" : {
3061 "type" : "expression",
3062 "value" : {
3063 "op" : "b2d",
3064 "left" : null,
3065 "right" : {
3066 "type" : "bool",
3067 "value" : true
3068 }
3069 }
3070 }
3071 }
3072 ],
3073 "source_info" : {
3074 "filename" : "include/control/pre_next.p4",
3075 "line" : 64,
3076 "column" : 41,
3077 "source_fragment" : "= true; ..."
3078 }
3079 },
3080 {
3081 "op" : "assign",
3082 "parameters" : [
3083 {
3084 "type" : "field",
3085 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
3086 },
3087 {
3088 "type" : "runtime_data",
3089 "value" : 1
3090 }
3091 ],
3092 "source_info" : {
3093 "filename" : "include/control/pre_next.p4",
3094 "line" : 65,
3095 "column" : 38,
3096 "source_fragment" : "= inner_vlan_id; ..."
3097 }
3098 },
3099 {
3100 "op" : "assign",
3101 "parameters" : [
3102 {
3103 "type" : "field",
3104 "value" : ["scalars", "userMetadata._bng_s_tag25"]
3105 },
3106 {
3107 "type" : "runtime_data",
3108 "value" : 0
3109 }
3110 ],
3111 "source_info" : {
3112 "filename" : "include/control/pre_next.p4",
3113 "line" : 67,
3114 "column" : 34,
3115 "source_fragment" : "= outer_vlan_id; ..."
3116 }
3117 },
3118 {
3119 "op" : "assign",
3120 "parameters" : [
3121 {
3122 "type" : "field",
3123 "value" : ["scalars", "userMetadata._bng_c_tag26"]
3124 },
3125 {
3126 "type" : "runtime_data",
3127 "value" : 1
3128 }
3129 ],
3130 "source_info" : {
3131 "filename" : "include/control/pre_next.p4",
3132 "line" : 68,
3133 "column" : 34,
3134 "source_fragment" : "= inner_vlan_id; ..."
3135 }
3136 }
3137 ]
3138 },
3139 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003140 "name" : "FabricIngress.acl.set_next_id_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003141 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003142 "runtime_data" : [
3143 {
3144 "name" : "next_id",
3145 "bitwidth" : 32
3146 }
3147 ],
3148 "primitives" : [
3149 {
3150 "op" : "assign",
3151 "parameters" : [
3152 {
3153 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003154 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003155 },
3156 {
3157 "type" : "runtime_data",
3158 "value" : 0
3159 }
3160 ],
3161 "source_info" : {
3162 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003163 "line" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003164 "column" : 32,
3165 "source_fragment" : "= next_id; ..."
3166 }
3167 }
3168 ]
3169 },
3170 {
3171 "name" : "FabricIngress.acl.punt_to_cpu",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003172 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003173 "runtime_data" : [],
3174 "primitives" : [
3175 {
3176 "op" : "assign",
3177 "parameters" : [
3178 {
3179 "type" : "field",
3180 "value" : ["standard_metadata", "egress_spec"]
3181 },
3182 {
3183 "type" : "hexstr",
3184 "value" : "0x00ff"
3185 }
3186 ],
3187 "source_info" : {
3188 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003189 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003190 "column" : 8,
3191 "source_fragment" : "standard_metadata.egress_spec = 255"
3192 }
3193 },
3194 {
3195 "op" : "assign",
3196 "parameters" : [
3197 {
3198 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003199 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003200 },
3201 {
3202 "type" : "expression",
3203 "value" : {
3204 "type" : "expression",
3205 "value" : {
3206 "op" : "b2d",
3207 "left" : null,
3208 "right" : {
3209 "type" : "bool",
3210 "value" : true
3211 }
3212 }
3213 }
3214 }
3215 ],
3216 "source_info" : {
3217 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003218 "line" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003219 "column" : 34,
3220 "source_fragment" : "= true; ..."
3221 }
3222 }
3223 ]
3224 },
3225 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003226 "name" : "FabricIngress.acl.set_clone_session_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003227 "id" : 30,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003228 "runtime_data" : [
3229 {
3230 "name" : "clone_id",
3231 "bitwidth" : 32
3232 }
3233 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003234 "primitives" : [
3235 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003236 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003237 "parameters" : [
3238 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003239 "type" : "runtime_data",
3240 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003241 },
3242 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003243 "type" : "hexstr",
3244 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003245 }
3246 ],
3247 "source_info" : {
3248 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003249 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003250 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003251 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003252 }
3253 }
3254 ]
3255 },
3256 {
3257 "name" : "FabricIngress.acl.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003258 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003259 "runtime_data" : [],
3260 "primitives" : [
3261 {
3262 "op" : "mark_to_drop",
3263 "parameters" : [
3264 {
3265 "type" : "header",
3266 "value" : "standard_metadata"
3267 }
3268 ],
3269 "source_info" : {
3270 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003271 "line" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003272 "column" : 8,
3273 "source_fragment" : "mark_to_drop(standard_metadata)"
3274 }
3275 },
3276 {
3277 "op" : "assign",
3278 "parameters" : [
3279 {
3280 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003281 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003282 },
3283 {
3284 "type" : "expression",
3285 "value" : {
3286 "type" : "expression",
3287 "value" : {
3288 "op" : "b2d",
3289 "left" : null,
3290 "right" : {
3291 "type" : "bool",
3292 "value" : true
3293 }
3294 }
3295 }
3296 }
3297 ],
3298 "source_info" : {
3299 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003300 "line" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003301 "column" : 34,
3302 "source_fragment" : "= true; ..."
3303 }
3304 }
3305 ]
3306 },
3307 {
3308 "name" : "FabricIngress.acl.nop_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003309 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003310 "runtime_data" : [],
3311 "primitives" : []
3312 },
3313 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003314 "name" : "FabricIngress.next.output_hashed",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003315 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003316 "runtime_data" : [
3317 {
3318 "name" : "port_num",
3319 "bitwidth" : 9
3320 }
3321 ],
3322 "primitives" : [
3323 {
3324 "op" : "assign",
3325 "parameters" : [
3326 {
3327 "type" : "field",
3328 "value" : ["standard_metadata", "egress_spec"]
3329 },
3330 {
3331 "type" : "runtime_data",
3332 "value" : 0
3333 }
3334 ],
3335 "source_info" : {
3336 "filename" : "include/control/next.p4",
3337 "line" : 31,
3338 "column" : 5,
3339 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3340 }
3341 }
3342 ]
3343 },
3344 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003345 "name" : "FabricIngress.next.routing_hashed",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003346 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003347 "runtime_data" : [
3348 {
3349 "name" : "port_num",
3350 "bitwidth" : 9
3351 },
3352 {
3353 "name" : "smac",
3354 "bitwidth" : 48
3355 },
3356 {
3357 "name" : "dmac",
3358 "bitwidth" : 48
3359 }
3360 ],
3361 "primitives" : [
3362 {
3363 "op" : "assign",
3364 "parameters" : [
3365 {
3366 "type" : "field",
3367 "value" : ["ethernet", "src_addr"]
3368 },
3369 {
3370 "type" : "runtime_data",
3371 "value" : 1
3372 }
3373 ],
3374 "source_info" : {
3375 "filename" : "include/control/next.p4",
3376 "line" : 36,
3377 "column" : 8,
3378 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3379 }
3380 },
3381 {
3382 "op" : "assign",
3383 "parameters" : [
3384 {
3385 "type" : "field",
3386 "value" : ["ethernet", "dst_addr"]
3387 },
3388 {
3389 "type" : "runtime_data",
3390 "value" : 2
3391 }
3392 ],
3393 "source_info" : {
3394 "filename" : "include/control/next.p4",
3395 "line" : 41,
3396 "column" : 8,
3397 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3398 }
3399 },
3400 {
3401 "op" : "assign",
3402 "parameters" : [
3403 {
3404 "type" : "field",
3405 "value" : ["standard_metadata", "egress_spec"]
3406 },
3407 {
3408 "type" : "runtime_data",
3409 "value" : 0
3410 }
3411 ],
3412 "source_info" : {
3413 "filename" : "include/control/next.p4",
3414 "line" : 31,
3415 "column" : 5,
3416 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3417 }
3418 }
3419 ]
3420 },
3421 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003422 "name" : "FabricIngress.next.set_mcast_group_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003423 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003424 "runtime_data" : [
3425 {
3426 "name" : "group_id",
3427 "bitwidth" : 16
3428 }
3429 ],
3430 "primitives" : [
3431 {
3432 "op" : "assign",
3433 "parameters" : [
3434 {
3435 "type" : "field",
3436 "value" : ["standard_metadata", "mcast_grp"]
3437 },
3438 {
3439 "type" : "runtime_data",
3440 "value" : 0
3441 }
3442 ],
3443 "source_info" : {
3444 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003445 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003446 "column" : 8,
3447 "source_fragment" : "standard_metadata.mcast_grp = group_id"
3448 }
3449 },
3450 {
3451 "op" : "assign",
3452 "parameters" : [
3453 {
3454 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003455 "value" : ["scalars", "userMetadata._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003456 },
3457 {
3458 "type" : "expression",
3459 "value" : {
3460 "type" : "expression",
3461 "value" : {
3462 "op" : "b2d",
3463 "left" : null,
3464 "right" : {
3465 "type" : "bool",
3466 "value" : true
3467 }
3468 }
3469 }
3470 }
3471 ],
3472 "source_info" : {
3473 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003474 "line" : 167,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003475 "column" : 37,
3476 "source_fragment" : "= true; ..."
3477 }
3478 }
3479 ]
3480 },
3481 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003482 "name" : "packetio25",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003483 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003484 "runtime_data" : [],
3485 "primitives" : [
3486 {
3487 "op" : "assign",
3488 "parameters" : [
3489 {
3490 "type" : "field",
3491 "value" : ["standard_metadata", "egress_spec"]
3492 },
3493 {
3494 "type" : "field",
3495 "value" : ["packet_out", "egress_port"]
3496 }
3497 ],
3498 "source_info" : {
3499 "filename" : "include/control/packetio.p4",
3500 "line" : 25,
3501 "column" : 12,
3502 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
3503 }
3504 },
3505 {
3506 "op" : "remove_header",
3507 "parameters" : [
3508 {
3509 "type" : "header",
3510 "value" : "packet_out"
3511 }
3512 ],
3513 "source_info" : {
3514 "filename" : "include/control/packetio.p4",
3515 "line" : 26,
3516 "column" : 12,
3517 "source_fragment" : "hdr.packet_out.setInvalid()"
3518 }
3519 },
3520 {
3521 "op" : "assign",
3522 "parameters" : [
3523 {
3524 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003525 "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003526 },
3527 {
3528 "type" : "expression",
3529 "value" : {
3530 "type" : "expression",
3531 "value" : {
3532 "op" : "b2d",
3533 "left" : null,
3534 "right" : {
3535 "type" : "bool",
3536 "value" : true
3537 }
3538 }
3539 }
3540 }
3541 ],
3542 "source_info" : {
3543 "filename" : "include/control/packetio.p4",
3544 "line" : 27,
3545 "column" : 53,
3546 "source_fragment" : "= true; ..."
3547 }
3548 },
3549 {
3550 "op" : "exit",
3551 "parameters" : [],
3552 "source_info" : {
3553 "filename" : "include/control/packetio.p4",
3554 "line" : 29,
3555 "column" : 12,
3556 "source_fragment" : "exit"
3557 }
3558 }
3559 ]
3560 },
3561 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003562 "name" : "filtering113",
3563 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003564 "runtime_data" : [],
3565 "primitives" : [
3566 {
3567 "op" : "assign",
3568 "parameters" : [
3569 {
3570 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003571 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003572 },
3573 {
3574 "type" : "field",
3575 "value" : ["vlan_tag", "vlan_id"]
3576 }
3577 ],
3578 "source_info" : {
3579 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003580 "line" : 113,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003581 "column" : 36,
3582 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
3583 }
3584 },
3585 {
3586 "op" : "assign",
3587 "parameters" : [
3588 {
3589 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003590 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003591 },
3592 {
3593 "type" : "field",
3594 "value" : ["vlan_tag", "pri"]
3595 }
3596 ],
3597 "source_info" : {
3598 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003599 "line" : 114,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003600 "column" : 37,
3601 "source_fragment" : "= hdr.vlan_tag.pri; ..."
3602 }
3603 },
3604 {
3605 "op" : "assign",
3606 "parameters" : [
3607 {
3608 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003609 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003610 },
3611 {
3612 "type" : "field",
3613 "value" : ["vlan_tag", "cfi"]
3614 }
3615 ],
3616 "source_info" : {
3617 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003618 "line" : 115,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003619 "column" : 37,
3620 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
3621 }
3622 }
3623 ]
3624 },
3625 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003626 "name" : "filtering119",
3627 "id" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003628 "runtime_data" : [],
3629 "primitives" : [
3630 {
3631 "op" : "assign",
3632 "parameters" : [
3633 {
3634 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003635 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003636 },
3637 {
3638 "type" : "field",
3639 "value" : ["inner_vlan_tag", "vlan_id"]
3640 }
3641 ],
3642 "source_info" : {
3643 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003644 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003645 "column" : 42,
3646 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
3647 }
3648 },
3649 {
3650 "op" : "assign",
3651 "parameters" : [
3652 {
3653 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003654 "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003655 },
3656 {
3657 "type" : "field",
3658 "value" : ["inner_vlan_tag", "pri"]
3659 }
3660 ],
3661 "source_info" : {
3662 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003663 "line" : 120,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003664 "column" : 43,
3665 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
3666 }
3667 },
3668 {
3669 "op" : "assign",
3670 "parameters" : [
3671 {
3672 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003673 "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003674 },
3675 {
3676 "type" : "field",
3677 "value" : ["inner_vlan_tag", "cfi"]
3678 }
3679 ],
3680 "source_info" : {
3681 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003682 "line" : 121,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003683 "column" : 43,
3684 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
3685 }
3686 }
3687 ]
3688 },
3689 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003690 "name" : "filtering129",
3691 "id" : 39,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003692 "runtime_data" : [],
3693 "primitives" : [
3694 {
3695 "op" : "assign",
3696 "parameters" : [
3697 {
3698 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003699 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003700 },
3701 {
3702 "type" : "hexstr",
3703 "value" : "0x41"
3704 }
3705 ],
3706 "source_info" : {
3707 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003708 "line" : 129,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003709 "column" : 37,
3710 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
3711 }
3712 }
3713 ]
3714 },
3715 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003716 "name" : "acl102",
3717 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003718 "runtime_data" : [],
3719 "primitives" : [
3720 {
3721 "op" : "assign",
3722 "parameters" : [
3723 {
3724 "type" : "field",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003725 "value" : ["scalars", "acl_l4_sport"]
3726 },
3727 {
3728 "type" : "field",
3729 "value" : ["inner_tcp", "sport"]
3730 }
3731 ],
3732 "source_info" : {
3733 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003734 "line" : 102,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003735 "column" : 16,
3736 "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
3737 }
3738 },
3739 {
3740 "op" : "assign",
3741 "parameters" : [
3742 {
3743 "type" : "field",
3744 "value" : ["scalars", "acl_l4_dport"]
3745 },
3746 {
3747 "type" : "field",
3748 "value" : ["inner_tcp", "dport"]
3749 }
3750 ],
3751 "source_info" : {
3752 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003753 "line" : 103,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003754 "column" : 16,
3755 "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
3756 }
3757 }
3758 ]
3759 },
3760 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003761 "name" : "acl105",
3762 "id" : 41,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003763 "runtime_data" : [],
3764 "primitives" : [
3765 {
3766 "op" : "assign",
3767 "parameters" : [
3768 {
3769 "type" : "field",
3770 "value" : ["scalars", "acl_l4_sport"]
3771 },
3772 {
3773 "type" : "field",
3774 "value" : ["inner_udp", "sport"]
3775 }
3776 ],
3777 "source_info" : {
3778 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003779 "line" : 105,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003780 "column" : 16,
3781 "source_fragment" : "l4_sport = hdr.inner_udp.sport"
3782 }
3783 },
3784 {
3785 "op" : "assign",
3786 "parameters" : [
3787 {
3788 "type" : "field",
3789 "value" : ["scalars", "acl_l4_dport"]
3790 },
3791 {
3792 "type" : "field",
3793 "value" : ["inner_udp", "dport"]
3794 }
3795 ],
3796 "source_info" : {
3797 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003798 "line" : 106,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003799 "column" : 16,
3800 "source_fragment" : "l4_dport = hdr.inner_udp.dport"
3801 }
3802 }
3803 ]
3804 },
3805 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003806 "name" : "acl98",
3807 "id" : 42,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003808 "runtime_data" : [],
3809 "primitives" : [
3810 {
3811 "op" : "assign",
3812 "parameters" : [
3813 {
3814 "type" : "field",
3815 "value" : ["scalars", "acl_ipv4_src"]
3816 },
3817 {
3818 "type" : "field",
3819 "value" : ["inner_ipv4", "src_addr"]
3820 }
3821 ],
3822 "source_info" : {
3823 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003824 "line" : 98,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003825 "column" : 12,
3826 "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
3827 }
3828 },
3829 {
3830 "op" : "assign",
3831 "parameters" : [
3832 {
3833 "type" : "field",
3834 "value" : ["scalars", "acl_ipv4_dst"]
3835 },
3836 {
3837 "type" : "field",
3838 "value" : ["inner_ipv4", "dst_addr"]
3839 }
3840 ],
3841 "source_info" : {
3842 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003843 "line" : 99,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003844 "column" : 12,
3845 "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
3846 }
3847 },
3848 {
3849 "op" : "assign",
3850 "parameters" : [
3851 {
3852 "type" : "field",
3853 "value" : ["scalars", "acl_ip_proto"]
3854 },
3855 {
3856 "type" : "field",
3857 "value" : ["inner_ipv4", "protocol"]
3858 }
3859 ],
3860 "source_info" : {
3861 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003862 "line" : 100,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003863 "column" : 12,
3864 "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
3865 }
3866 }
3867 ]
3868 },
3869 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003870 "name" : "acl113",
3871 "id" : 43,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003872 "runtime_data" : [],
3873 "primitives" : [
3874 {
3875 "op" : "assign",
3876 "parameters" : [
3877 {
3878 "type" : "field",
3879 "value" : ["scalars", "acl_l4_sport"]
3880 },
3881 {
3882 "type" : "field",
3883 "value" : ["tcp", "sport"]
3884 }
3885 ],
3886 "source_info" : {
3887 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003888 "line" : 113,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003889 "column" : 16,
3890 "source_fragment" : "l4_sport = hdr.tcp.sport"
3891 }
3892 },
3893 {
3894 "op" : "assign",
3895 "parameters" : [
3896 {
3897 "type" : "field",
3898 "value" : ["scalars", "acl_l4_dport"]
3899 },
3900 {
3901 "type" : "field",
3902 "value" : ["tcp", "dport"]
3903 }
3904 ],
3905 "source_info" : {
3906 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003907 "line" : 114,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003908 "column" : 16,
3909 "source_fragment" : "l4_dport = hdr.tcp.dport"
3910 }
3911 }
3912 ]
3913 },
3914 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003915 "name" : "acl116",
3916 "id" : 44,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003917 "runtime_data" : [],
3918 "primitives" : [
3919 {
3920 "op" : "assign",
3921 "parameters" : [
3922 {
3923 "type" : "field",
3924 "value" : ["scalars", "acl_l4_sport"]
3925 },
3926 {
3927 "type" : "field",
3928 "value" : ["udp", "sport"]
3929 }
3930 ],
3931 "source_info" : {
3932 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003933 "line" : 116,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003934 "column" : 16,
3935 "source_fragment" : "l4_sport = hdr.udp.sport"
3936 }
3937 },
3938 {
3939 "op" : "assign",
3940 "parameters" : [
3941 {
3942 "type" : "field",
3943 "value" : ["scalars", "acl_l4_dport"]
3944 },
3945 {
3946 "type" : "field",
3947 "value" : ["udp", "dport"]
3948 }
3949 ],
3950 "source_info" : {
3951 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003952 "line" : 117,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003953 "column" : 16,
3954 "source_fragment" : "l4_dport = hdr.udp.dport"
3955 }
3956 }
3957 ]
3958 },
3959 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003960 "name" : "acl109",
3961 "id" : 45,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003962 "runtime_data" : [],
3963 "primitives" : [
3964 {
3965 "op" : "assign",
3966 "parameters" : [
3967 {
3968 "type" : "field",
3969 "value" : ["scalars", "acl_ipv4_src"]
3970 },
3971 {
3972 "type" : "field",
3973 "value" : ["ipv4", "src_addr"]
3974 }
3975 ],
3976 "source_info" : {
3977 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003978 "line" : 109,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003979 "column" : 12,
3980 "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
3981 }
3982 },
3983 {
3984 "op" : "assign",
3985 "parameters" : [
3986 {
3987 "type" : "field",
3988 "value" : ["scalars", "acl_ipv4_dst"]
3989 },
3990 {
3991 "type" : "field",
3992 "value" : ["ipv4", "dst_addr"]
3993 }
3994 ],
3995 "source_info" : {
3996 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003997 "line" : 110,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003998 "column" : 12,
3999 "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
4000 }
4001 },
4002 {
4003 "op" : "assign",
4004 "parameters" : [
4005 {
4006 "type" : "field",
4007 "value" : ["scalars", "acl_ip_proto"]
4008 },
4009 {
4010 "type" : "field",
4011 "value" : ["ipv4", "protocol"]
4012 }
4013 ],
4014 "source_info" : {
4015 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004016 "line" : 111,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004017 "column" : 12,
4018 "source_fragment" : "ip_proto = hdr.ipv4.protocol"
4019 }
4020 }
4021 ]
4022 },
4023 {
4024 "name" : "acl27",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004025 "id" : 46,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004026 "runtime_data" : [],
4027 "primitives" : [
4028 {
4029 "op" : "assign",
4030 "parameters" : [
4031 {
4032 "type" : "field",
4033 "value" : ["scalars", "acl_ipv4_src"]
4034 },
4035 {
4036 "type" : "hexstr",
4037 "value" : "0x00000000"
4038 }
4039 ],
4040 "source_info" : {
4041 "filename" : "include/control/acl.p4",
4042 "line" : 27,
4043 "column" : 4,
4044 "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
4045 }
4046 },
4047 {
4048 "op" : "assign",
4049 "parameters" : [
4050 {
4051 "type" : "field",
4052 "value" : ["scalars", "acl_ipv4_dst"]
4053 },
4054 {
4055 "type" : "hexstr",
4056 "value" : "0x00000000"
4057 }
4058 ],
4059 "source_info" : {
4060 "filename" : "include/control/acl.p4",
4061 "line" : 28,
4062 "column" : 4,
4063 "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
4064 }
4065 },
4066 {
4067 "op" : "assign",
4068 "parameters" : [
4069 {
4070 "type" : "field",
4071 "value" : ["scalars", "acl_ip_proto"]
4072 },
4073 {
4074 "type" : "hexstr",
4075 "value" : "0x00"
4076 }
4077 ],
4078 "source_info" : {
4079 "filename" : "include/control/acl.p4",
4080 "line" : 29,
4081 "column" : 4,
4082 "source_fragment" : "bit<8> ip_proto = 0;"
4083 }
4084 },
4085 {
4086 "op" : "assign",
4087 "parameters" : [
4088 {
4089 "type" : "field",
4090 "value" : ["scalars", "acl_l4_sport"]
4091 },
4092 {
4093 "type" : "hexstr",
4094 "value" : "0x0000"
4095 }
4096 ],
4097 "source_info" : {
4098 "filename" : "include/control/acl.p4",
4099 "line" : 30,
4100 "column" : 4,
4101 "source_fragment" : "l4_port_t l4_sport = 0;"
4102 }
4103 },
4104 {
4105 "op" : "assign",
4106 "parameters" : [
4107 {
4108 "type" : "field",
4109 "value" : ["scalars", "acl_l4_dport"]
4110 },
4111 {
4112 "type" : "hexstr",
4113 "value" : "0x0000"
4114 }
4115 ],
4116 "source_info" : {
4117 "filename" : "include/control/acl.p4",
4118 "line" : 31,
4119 "column" : 4,
4120 "source_fragment" : "l4_port_t l4_dport = 0;"
4121 }
4122 }
4123 ]
4124 },
4125 {
4126 "name" : "port_counter31",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004127 "id" : 47,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004128 "runtime_data" : [],
4129 "primitives" : [
4130 {
4131 "op" : "assign",
4132 "parameters" : [
4133 {
4134 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004135 "value" : ["scalars", "tmp_8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004136 },
4137 {
4138 "type" : "expression",
4139 "value" : {
4140 "type" : "expression",
4141 "value" : {
4142 "op" : "&",
4143 "left" : {
4144 "type" : "field",
4145 "value" : ["standard_metadata", "egress_spec"]
4146 },
4147 "right" : {
4148 "type" : "hexstr",
4149 "value" : "0xffffffff"
4150 }
4151 }
4152 }
4153 }
4154 ],
4155 "source_info" : {
4156 "filename" : "include/control/port_counter.p4",
4157 "line" : 31,
4158 "column" : 38,
4159 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
4160 }
4161 },
4162 {
4163 "op" : "count",
4164 "parameters" : [
4165 {
4166 "type" : "counter_array",
4167 "value" : "FabricIngress.port_counters_control.egress_port_counter"
4168 },
4169 {
4170 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004171 "value" : ["scalars", "tmp_8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004172 }
4173 ],
4174 "source_info" : {
4175 "filename" : "include/control/port_counter.p4",
4176 "line" : 31,
4177 "column" : 12,
4178 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4179 }
4180 }
4181 ]
4182 },
4183 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004184 "name" : "port_counter34",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004185 "id" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004186 "runtime_data" : [],
4187 "primitives" : [
4188 {
4189 "op" : "assign",
4190 "parameters" : [
4191 {
4192 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004193 "value" : ["scalars", "tmp_9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004194 },
4195 {
4196 "type" : "expression",
4197 "value" : {
4198 "type" : "expression",
4199 "value" : {
4200 "op" : "&",
4201 "left" : {
4202 "type" : "field",
4203 "value" : ["standard_metadata", "ingress_port"]
4204 },
4205 "right" : {
4206 "type" : "hexstr",
4207 "value" : "0xffffffff"
4208 }
4209 }
4210 }
4211 }
4212 ],
4213 "source_info" : {
4214 "filename" : "include/control/port_counter.p4",
4215 "line" : 34,
4216 "column" : 39,
4217 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
4218 }
4219 },
4220 {
4221 "op" : "count",
4222 "parameters" : [
4223 {
4224 "type" : "counter_array",
4225 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
4226 },
4227 {
4228 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004229 "value" : ["scalars", "tmp_9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004230 }
4231 ],
4232 "source_info" : {
4233 "filename" : "include/control/port_counter.p4",
4234 "line" : 34,
4235 "column" : 12,
4236 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4237 }
4238 }
4239 ]
4240 },
4241 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004242 "name" : "bng126",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004243 "id" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004244 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004245 "primitives" : [
4246 {
4247 "op" : "assign",
4248 "parameters" : [
4249 {
4250 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004251 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
4252 },
4253 {
4254 "type" : "expression",
4255 "value" : {
4256 "type" : "expression",
4257 "value" : {
4258 "op" : "b2d",
4259 "left" : null,
4260 "right" : {
4261 "type" : "bool",
4262 "value" : true
4263 }
4264 }
4265 }
4266 }
4267 ],
4268 "source_info" : {
4269 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004270 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004271 "column" : 12,
4272 "source_fragment" : "return"
4273 }
4274 }
4275 ]
4276 },
4277 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004278 "name" : "bng342",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004279 "id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004280 "runtime_data" : [],
4281 "primitives" : [
4282 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004283 "op" : "assign",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004284 "parameters" : [
4285 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004286 "type" : "field",
4287 "value" : ["scalars", "userMetadata._bng_type21"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004288 },
4289 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004290 "type" : "hexstr",
4291 "value" : "0x01"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004292 }
4293 ],
4294 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004295 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004296 "line" : 164,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004297 "column" : 37,
4298 "source_fragment" : "2w0x1; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07004299 }
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004300 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07004301 {
4302 "op" : "assign",
4303 "parameters" : [
4304 {
4305 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004306 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004307 },
4308 {
4309 "type" : "expression",
4310 "value" : {
4311 "type" : "expression",
4312 "value" : {
4313 "op" : "b2d",
4314 "left" : null,
4315 "right" : {
4316 "type" : "bool",
4317 "value" : false
4318 }
4319 }
4320 }
4321 }
4322 ]
4323 }
4324 ]
4325 },
4326 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004327 "name" : "bng131",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004328 "id" : 51,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004329 "runtime_data" : [],
4330 "primitives" : [
4331 {
4332 "op" : "count",
4333 "parameters" : [
4334 {
4335 "type" : "counter_array",
4336 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
4337 },
4338 {
4339 "type" : "field",
4340 "value" : ["scalars", "userMetadata._bng_line_id22"]
4341 }
4342 ],
4343 "source_info" : {
4344 "filename" : "include/bng.p4",
4345 "line" : 131,
4346 "column" : 20,
4347 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
4348 }
4349 }
4350 ]
4351 },
4352 {
4353 "name" : "bng238",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004354 "id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004355 "runtime_data" : [],
4356 "primitives" : [
4357 {
4358 "op" : "execute_meter",
4359 "parameters" : [
4360 {
4361 "type" : "meter_array",
4362 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
4363 },
4364 {
4365 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004366 "value" : ["scalars", "userMetadata._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004367 },
4368 {
4369 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004370 "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004371 }
4372 ],
4373 "source_info" : {
4374 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004375 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004376 "column" : 24,
4377 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
4378 }
4379 }
4380 ]
4381 },
4382 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004383 "name" : "bng241",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004384 "id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004385 "runtime_data" : [],
4386 "primitives" : [
4387 {
4388 "op" : "execute_meter",
4389 "parameters" : [
4390 {
4391 "type" : "meter_array",
4392 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
4393 },
4394 {
4395 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004396 "value" : ["scalars", "userMetadata._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004397 },
4398 {
4399 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004400 "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004401 }
4402 ],
4403 "source_info" : {
4404 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004405 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004406 "column" : 24,
4407 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
4408 }
4409 }
4410 ]
4411 },
4412 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004413 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004414 "id" : 54,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004415 "runtime_data" : [],
4416 "primitives" : [
4417 {
4418 "op" : "assign",
4419 "parameters" : [
4420 {
4421 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004422 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004423 },
4424 {
4425 "type" : "hexstr",
4426 "value" : "0x8864"
4427 }
4428 ],
4429 "source_info" : {
4430 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004431 "line" : 136,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004432 "column" : 33,
4433 "source_fragment" : "0x8864; ..."
4434 }
4435 },
4436 {
4437 "op" : "add_header",
4438 "parameters" : [
4439 {
4440 "type" : "header",
4441 "value" : "pppoe"
4442 }
4443 ],
4444 "source_info" : {
4445 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004446 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004447 "column" : 8,
4448 "source_fragment" : "hdr.pppoe.setValid()"
4449 }
4450 },
4451 {
4452 "op" : "assign",
4453 "parameters" : [
4454 {
4455 "type" : "field",
4456 "value" : ["pppoe", "version"]
4457 },
4458 {
4459 "type" : "hexstr",
4460 "value" : "0x01"
4461 }
4462 ],
4463 "source_info" : {
4464 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004465 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004466 "column" : 8,
4467 "source_fragment" : "hdr.pppoe.version = 4w1"
4468 }
4469 },
4470 {
4471 "op" : "assign",
4472 "parameters" : [
4473 {
4474 "type" : "field",
4475 "value" : ["pppoe", "type_id"]
4476 },
4477 {
4478 "type" : "hexstr",
4479 "value" : "0x01"
4480 }
4481 ],
4482 "source_info" : {
4483 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004484 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004485 "column" : 8,
4486 "source_fragment" : "hdr.pppoe.type_id = 4w1"
4487 }
4488 },
4489 {
4490 "op" : "assign",
4491 "parameters" : [
4492 {
4493 "type" : "field",
4494 "value" : ["pppoe", "code"]
4495 },
4496 {
4497 "type" : "hexstr",
4498 "value" : "0x00"
4499 }
4500 ],
4501 "source_info" : {
4502 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004503 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004504 "column" : 8,
4505 "source_fragment" : "hdr.pppoe.code = 8w0"
4506 }
4507 },
4508 {
4509 "op" : "assign",
4510 "parameters" : [
4511 {
4512 "type" : "field",
4513 "value" : ["pppoe", "session_id"]
4514 },
4515 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004516 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004517 "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004518 }
4519 ],
4520 "source_info" : {
4521 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004522 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004523 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004524 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004525 }
4526 },
4527 {
4528 "op" : "count",
4529 "parameters" : [
4530 {
4531 "type" : "counter_array",
4532 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
4533 },
4534 {
4535 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004536 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004537 }
4538 ],
4539 "source_info" : {
4540 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004541 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004542 "column" : 8,
4543 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
4544 }
4545 },
4546 {
4547 "op" : "assign",
4548 "parameters" : [
4549 {
4550 "type" : "field",
4551 "value" : ["pppoe", "length"]
4552 },
4553 {
4554 "type" : "expression",
4555 "value" : {
4556 "type" : "expression",
4557 "value" : {
4558 "op" : "&",
4559 "left" : {
4560 "type" : "expression",
4561 "value" : {
4562 "op" : "+",
4563 "left" : {
4564 "type" : "field",
4565 "value" : ["ipv4", "total_len"]
4566 },
4567 "right" : {
4568 "type" : "hexstr",
4569 "value" : "0x0002"
4570 }
4571 }
4572 },
4573 "right" : {
4574 "type" : "hexstr",
4575 "value" : "0xffff"
4576 }
4577 }
4578 }
4579 }
4580 ],
4581 "source_info" : {
4582 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004583 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004584 "column" : 8,
4585 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
4586 }
4587 },
4588 {
4589 "op" : "assign",
4590 "parameters" : [
4591 {
4592 "type" : "field",
4593 "value" : ["pppoe", "protocol"]
4594 },
4595 {
4596 "type" : "hexstr",
4597 "value" : "0x0021"
4598 }
4599 ],
4600 "source_info" : {
4601 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004602 "line" : 138,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004603 "column" : 35,
4604 "source_fragment" : "0x0021; ..."
4605 }
4606 }
4607 ]
4608 },
4609 {
4610 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004611 "id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004612 "runtime_data" : [],
4613 "primitives" : [
4614 {
4615 "op" : "remove_header",
4616 "parameters" : [
4617 {
4618 "type" : "header",
4619 "value" : "mpls"
4620 }
4621 ],
4622 "source_info" : {
4623 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004624 "line" : 204,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004625 "column" : 8,
4626 "source_fragment" : "hdr.mpls.setInvalid()"
4627 }
4628 },
4629 {
4630 "op" : "assign",
4631 "parameters" : [
4632 {
4633 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004634 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004635 },
4636 {
4637 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004638 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004639 }
4640 ],
4641 "source_info" : {
4642 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004643 "line" : 206,
Daniele Moro5a2de712019-09-24 14:34:07 -07004644 "column" : 8,
4645 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004646 }
4647 }
4648 ]
4649 },
4650 {
4651 "name" : "FabricEgress.egress_next.set_mpls",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004652 "id" : 56,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004653 "runtime_data" : [],
4654 "primitives" : [
4655 {
4656 "op" : "add_header",
4657 "parameters" : [
4658 {
4659 "type" : "header",
4660 "value" : "mpls"
4661 }
4662 ],
4663 "source_info" : {
4664 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004665 "line" : 211,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004666 "column" : 8,
4667 "source_fragment" : "hdr.mpls.setValid()"
4668 }
4669 },
4670 {
4671 "op" : "assign",
4672 "parameters" : [
4673 {
4674 "type" : "field",
4675 "value" : ["mpls", "label"]
4676 },
4677 {
4678 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004679 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004680 }
4681 ],
4682 "source_info" : {
4683 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004684 "line" : 212,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004685 "column" : 8,
4686 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
4687 }
4688 },
4689 {
4690 "op" : "assign",
4691 "parameters" : [
4692 {
4693 "type" : "field",
4694 "value" : ["mpls", "tc"]
4695 },
4696 {
4697 "type" : "hexstr",
4698 "value" : "0x00"
4699 }
4700 ],
4701 "source_info" : {
4702 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004703 "line" : 213,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004704 "column" : 8,
4705 "source_fragment" : "hdr.mpls.tc = 3w0"
4706 }
4707 },
4708 {
4709 "op" : "assign",
4710 "parameters" : [
4711 {
4712 "type" : "field",
4713 "value" : ["mpls", "bos"]
4714 },
4715 {
4716 "type" : "hexstr",
4717 "value" : "0x01"
4718 }
4719 ],
4720 "source_info" : {
4721 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004722 "line" : 214,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004723 "column" : 8,
4724 "source_fragment" : "hdr.mpls.bos = 1w1"
4725 }
4726 },
4727 {
4728 "op" : "assign",
4729 "parameters" : [
4730 {
4731 "type" : "field",
4732 "value" : ["mpls", "ttl"]
4733 },
4734 {
4735 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004736 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004737 }
4738 ],
4739 "source_info" : {
4740 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004741 "line" : 215,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004742 "column" : 8,
4743 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
4744 }
4745 },
4746 {
4747 "op" : "assign",
4748 "parameters" : [
4749 {
4750 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004751 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004752 },
4753 {
4754 "type" : "hexstr",
4755 "value" : "0x8847"
4756 }
4757 ],
4758 "source_info" : {
4759 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004760 "line" : 130,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004761 "column" : 31,
4762 "source_fragment" : "0x8847; ..."
4763 }
4764 }
4765 ]
4766 },
4767 {
pierventre48e78822020-12-15 17:34:54 +01004768 "name" : "FabricEgress.egress_next.push_outer_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004769 "id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004770 "runtime_data" : [],
4771 "primitives" : [
4772 {
4773 "op" : "add_header",
4774 "parameters" : [
4775 {
4776 "type" : "header",
4777 "value" : "vlan_tag"
4778 }
4779 ],
4780 "source_info" : {
4781 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004782 "line" : 223,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004783 "column" : 8,
4784 "source_fragment" : "hdr.vlan_tag.setValid()"
4785 }
4786 },
4787 {
4788 "op" : "assign",
4789 "parameters" : [
4790 {
4791 "type" : "field",
4792 "value" : ["vlan_tag", "cfi"]
4793 },
4794 {
4795 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004796 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004797 }
4798 ],
4799 "source_info" : {
4800 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004801 "line" : 224,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004802 "column" : 8,
4803 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
4804 }
4805 },
4806 {
4807 "op" : "assign",
4808 "parameters" : [
4809 {
4810 "type" : "field",
4811 "value" : ["vlan_tag", "pri"]
4812 },
4813 {
4814 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004815 "value" : ["scalars", "userMetadata._vlan_pri2"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004816 }
4817 ],
4818 "source_info" : {
4819 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004820 "line" : 225,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004821 "column" : 8,
4822 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
4823 }
4824 },
4825 {
4826 "op" : "assign",
4827 "parameters" : [
4828 {
4829 "type" : "field",
4830 "value" : ["vlan_tag", "eth_type"]
4831 },
4832 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004833 "type" : "hexstr",
4834 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004835 }
4836 ],
4837 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004838 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004839 "line" : 129,
Daniele Moro5a2de712019-09-24 14:34:07 -07004840 "column" : 31,
4841 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07004842 }
4843 },
4844 {
4845 "op" : "assign",
4846 "parameters" : [
4847 {
4848 "type" : "field",
4849 "value" : ["vlan_tag", "vlan_id"]
4850 },
4851 {
4852 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004853 "value" : ["scalars", "userMetadata._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004854 }
4855 ],
4856 "source_info" : {
4857 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004858 "line" : 227,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004859 "column" : 8,
4860 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
4861 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07004862 }
4863 ]
4864 },
4865 {
4866 "name" : "FabricEgress.egress_next.push_inner_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004867 "id" : 58,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004868 "runtime_data" : [],
4869 "primitives" : [
4870 {
4871 "op" : "add_header",
4872 "parameters" : [
4873 {
4874 "type" : "header",
4875 "value" : "inner_vlan_tag"
4876 }
4877 ],
4878 "source_info" : {
4879 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004880 "line" : 234,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004881 "column" : 8,
4882 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
4883 }
4884 },
4885 {
4886 "op" : "assign",
4887 "parameters" : [
4888 {
4889 "type" : "field",
4890 "value" : ["inner_vlan_tag", "cfi"]
4891 },
4892 {
4893 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004894 "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004895 }
4896 ],
4897 "source_info" : {
4898 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004899 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004900 "column" : 8,
4901 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
4902 }
4903 },
4904 {
4905 "op" : "assign",
4906 "parameters" : [
4907 {
4908 "type" : "field",
4909 "value" : ["inner_vlan_tag", "pri"]
4910 },
4911 {
4912 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004913 "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004914 }
4915 ],
4916 "source_info" : {
4917 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004918 "line" : 236,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004919 "column" : 8,
4920 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
4921 }
4922 },
4923 {
4924 "op" : "assign",
4925 "parameters" : [
4926 {
4927 "type" : "field",
4928 "value" : ["inner_vlan_tag", "vlan_id"]
4929 },
4930 {
4931 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004932 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004933 }
4934 ],
4935 "source_info" : {
4936 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004937 "line" : 237,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004938 "column" : 8,
4939 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
4940 }
4941 },
4942 {
4943 "op" : "assign",
4944 "parameters" : [
4945 {
4946 "type" : "field",
4947 "value" : ["inner_vlan_tag", "eth_type"]
4948 },
4949 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004950 "type" : "hexstr",
4951 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004952 }
4953 ],
4954 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004955 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004956 "line" : 129,
Daniele Moro5a2de712019-09-24 14:34:07 -07004957 "column" : 31,
4958 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07004959 }
4960 },
4961 {
4962 "op" : "assign",
4963 "parameters" : [
4964 {
4965 "type" : "field",
4966 "value" : ["vlan_tag", "eth_type"]
4967 },
4968 {
4969 "type" : "hexstr",
4970 "value" : "0x8100"
4971 }
4972 ],
4973 "source_info" : {
4974 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004975 "line" : 129,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004976 "column" : 31,
4977 "source_fragment" : "0x8100; ..."
4978 }
4979 }
4980 ]
4981 },
4982 {
pierventre48e78822020-12-15 17:34:54 +01004983 "name" : "FabricEgress.egress_next.push_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004984 "id" : 59,
pierventre48e78822020-12-15 17:34:54 +01004985 "runtime_data" : [],
4986 "primitives" : [
4987 {
4988 "op" : "add_header",
4989 "parameters" : [
4990 {
4991 "type" : "header",
4992 "value" : "vlan_tag"
4993 }
4994 ],
4995 "source_info" : {
4996 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004997 "line" : 223,
pierventre48e78822020-12-15 17:34:54 +01004998 "column" : 8,
4999 "source_fragment" : "hdr.vlan_tag.setValid()"
5000 }
5001 },
5002 {
5003 "op" : "assign",
5004 "parameters" : [
5005 {
5006 "type" : "field",
5007 "value" : ["vlan_tag", "cfi"]
5008 },
5009 {
5010 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005011 "value" : ["scalars", "userMetadata._vlan_cfi3"]
pierventre48e78822020-12-15 17:34:54 +01005012 }
5013 ],
5014 "source_info" : {
5015 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005016 "line" : 224,
pierventre48e78822020-12-15 17:34:54 +01005017 "column" : 8,
5018 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
5019 }
5020 },
5021 {
5022 "op" : "assign",
5023 "parameters" : [
5024 {
5025 "type" : "field",
5026 "value" : ["vlan_tag", "pri"]
5027 },
5028 {
5029 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005030 "value" : ["scalars", "userMetadata._vlan_pri2"]
pierventre48e78822020-12-15 17:34:54 +01005031 }
5032 ],
5033 "source_info" : {
5034 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005035 "line" : 225,
pierventre48e78822020-12-15 17:34:54 +01005036 "column" : 8,
5037 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
5038 }
5039 },
5040 {
5041 "op" : "assign",
5042 "parameters" : [
5043 {
5044 "type" : "field",
5045 "value" : ["vlan_tag", "eth_type"]
5046 },
5047 {
5048 "type" : "hexstr",
5049 "value" : "0x8100"
5050 }
5051 ],
5052 "source_info" : {
5053 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005054 "line" : 129,
pierventre48e78822020-12-15 17:34:54 +01005055 "column" : 31,
5056 "source_fragment" : "0x8100; ..."
5057 }
5058 },
5059 {
5060 "op" : "assign",
5061 "parameters" : [
5062 {
5063 "type" : "field",
5064 "value" : ["vlan_tag", "vlan_id"]
5065 },
5066 {
5067 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005068 "value" : ["scalars", "userMetadata._vlan_id1"]
pierventre48e78822020-12-15 17:34:54 +01005069 }
5070 ],
5071 "source_info" : {
5072 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005073 "line" : 227,
pierventre48e78822020-12-15 17:34:54 +01005074 "column" : 8,
5075 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
5076 }
5077 }
5078 ]
5079 },
5080 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005081 "name" : "FabricEgress.egress_next.pop_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005082 "id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005083 "runtime_data" : [],
5084 "primitives" : [
5085 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005086 "op" : "remove_header",
5087 "parameters" : [
5088 {
5089 "type" : "header",
5090 "value" : "vlan_tag"
5091 }
5092 ],
5093 "source_info" : {
5094 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005095 "line" : 256,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005096 "column" : 8,
5097 "source_fragment" : "hdr.vlan_tag.setInvalid()"
5098 }
5099 }
5100 ]
5101 },
5102 {
pierventre48e78822020-12-15 17:34:54 +01005103 "name" : "FabricEgress.egress_next.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005104 "id" : 61,
pierventre48e78822020-12-15 17:34:54 +01005105 "runtime_data" : [],
5106 "primitives" : [
5107 {
5108 "op" : "mark_to_drop",
5109 "parameters" : [
5110 {
5111 "type" : "header",
5112 "value" : "standard_metadata"
5113 }
5114 ],
5115 "source_info" : {
5116 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005117 "line" : 261,
pierventre48e78822020-12-15 17:34:54 +01005118 "column" : 8,
5119 "source_fragment" : "mark_to_drop(standard_metadata)"
5120 }
5121 }
5122 ]
5123 },
5124 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005125 "name" : "packetio41",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005126 "id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005127 "runtime_data" : [],
5128 "primitives" : [
5129 {
5130 "op" : "exit",
5131 "parameters" : [],
5132 "source_info" : {
5133 "filename" : "include/control/packetio.p4",
5134 "line" : 41,
5135 "column" : 12,
5136 "source_fragment" : "exit"
5137 }
5138 }
5139 ]
5140 },
5141 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005142 "name" : "packetio44",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005143 "id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005144 "runtime_data" : [],
5145 "primitives" : [
5146 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005147 "op" : "add_header",
5148 "parameters" : [
5149 {
5150 "type" : "header",
5151 "value" : "packet_in"
5152 }
5153 ],
5154 "source_info" : {
5155 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005156 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005157 "column" : 12,
5158 "source_fragment" : "hdr.packet_in.setValid()"
5159 }
5160 },
5161 {
5162 "op" : "assign",
5163 "parameters" : [
5164 {
5165 "type" : "field",
5166 "value" : ["packet_in", "ingress_port"]
5167 },
5168 {
5169 "type" : "field",
5170 "value" : ["standard_metadata", "ingress_port"]
5171 }
5172 ],
5173 "source_info" : {
5174 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005175 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005176 "column" : 12,
5177 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
5178 }
5179 },
5180 {
5181 "op" : "exit",
5182 "parameters" : [],
5183 "source_info" : {
5184 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005185 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005186 "column" : 12,
5187 "source_fragment" : "exit"
5188 }
5189 }
5190 ]
5191 },
5192 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005193 "name" : "next283",
5194 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005195 "runtime_data" : [],
5196 "primitives" : [
5197 {
5198 "op" : "mark_to_drop",
5199 "parameters" : [
5200 {
5201 "type" : "header",
5202 "value" : "standard_metadata"
5203 }
5204 ],
5205 "source_info" : {
5206 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005207 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005208 "column" : 12,
5209 "source_fragment" : "mark_to_drop(standard_metadata)"
5210 }
5211 }
5212 ]
5213 },
5214 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005215 "name" : "next299",
5216 "id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005217 "runtime_data" : [],
5218 "primitives" : [
5219 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005220 "op" : "remove_header",
5221 "parameters" : [
5222 {
5223 "type" : "header",
5224 "value" : "inner_vlan_tag"
5225 }
5226 ],
5227 "source_info" : {
5228 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005229 "line" : 299,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005230 "column" : 12,
5231 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
5232 }
5233 }
5234 ]
5235 },
5236 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005237 "name" : "next310",
5238 "id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005239 "runtime_data" : [],
5240 "primitives" : [
5241 {
5242 "op" : "mark_to_drop",
5243 "parameters" : [
5244 {
5245 "type" : "header",
5246 "value" : "standard_metadata"
5247 }
5248 ],
5249 "source_info" : {
5250 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005251 "line" : 310,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005252 "column" : 35,
5253 "source_fragment" : "mark_to_drop(standard_metadata)"
5254 }
5255 }
5256 ]
5257 },
5258 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005259 "name" : "next309",
5260 "id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005261 "runtime_data" : [],
5262 "primitives" : [
5263 {
5264 "op" : "assign",
5265 "parameters" : [
5266 {
5267 "type" : "field",
5268 "value" : ["mpls", "ttl"]
5269 },
5270 {
5271 "type" : "expression",
5272 "value" : {
5273 "type" : "expression",
5274 "value" : {
5275 "op" : "&",
5276 "left" : {
5277 "type" : "expression",
5278 "value" : {
5279 "op" : "+",
5280 "left" : {
5281 "type" : "field",
5282 "value" : ["mpls", "ttl"]
5283 },
5284 "right" : {
5285 "type" : "hexstr",
5286 "value" : "0xff"
5287 }
5288 }
5289 },
5290 "right" : {
5291 "type" : "hexstr",
5292 "value" : "0xff"
5293 }
5294 }
5295 }
5296 }
5297 ],
5298 "source_info" : {
5299 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005300 "line" : 309,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005301 "column" : 12,
5302 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
5303 }
5304 }
5305 ]
5306 },
5307 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005308 "name" : "next314",
5309 "id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005310 "runtime_data" : [],
5311 "primitives" : [
5312 {
5313 "op" : "mark_to_drop",
5314 "parameters" : [
5315 {
5316 "type" : "header",
5317 "value" : "standard_metadata"
5318 }
5319 ],
5320 "source_info" : {
5321 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005322 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005323 "column" : 39,
5324 "source_fragment" : "mark_to_drop(standard_metadata)"
5325 }
5326 }
5327 ]
5328 },
5329 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005330 "name" : "next313",
5331 "id" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005332 "runtime_data" : [],
5333 "primitives" : [
5334 {
5335 "op" : "assign",
5336 "parameters" : [
5337 {
5338 "type" : "field",
5339 "value" : ["ipv4", "ttl"]
5340 },
5341 {
5342 "type" : "expression",
5343 "value" : {
5344 "type" : "expression",
5345 "value" : {
5346 "op" : "&",
5347 "left" : {
5348 "type" : "expression",
5349 "value" : {
5350 "op" : "+",
5351 "left" : {
5352 "type" : "field",
5353 "value" : ["ipv4", "ttl"]
5354 },
5355 "right" : {
5356 "type" : "hexstr",
5357 "value" : "0xff"
5358 }
5359 }
5360 },
5361 "right" : {
5362 "type" : "hexstr",
5363 "value" : "0xff"
5364 }
5365 }
5366 }
5367 }
5368 ],
5369 "source_info" : {
5370 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005371 "line" : 313,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005372 "column" : 16,
5373 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
5374 }
5375 }
5376 ]
5377 }
5378 ],
5379 "pipelines" : [
5380 {
5381 "name" : "ingress",
5382 "id" : 0,
5383 "source_info" : {
5384 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005385 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005386 "column" : 8,
5387 "source_fragment" : "FabricIngress"
5388 },
5389 "init_table" : "node_2",
5390 "tables" : [
5391 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005392 "name" : "tbl_packetio25",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005393 "id" : 0,
5394 "source_info" : {
5395 "filename" : "include/control/packetio.p4",
5396 "line" : 25,
5397 "column" : 42,
5398 "source_fragment" : "= hdr.packet_out.egress_port; ..."
5399 },
5400 "key" : [],
5401 "match_type" : "exact",
5402 "type" : "simple",
5403 "max_size" : 1024,
5404 "with_counters" : false,
5405 "support_timeout" : false,
5406 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005407 "action_ids" : [36],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005408 "actions" : ["packetio25"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005409 "base_default_next" : "node_4",
5410 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005411 "packetio25" : "node_4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005412 },
5413 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005414 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005415 "action_const" : true,
5416 "action_data" : [],
5417 "action_entry_const" : true
5418 }
5419 },
5420 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005421 "name" : "tbl_filtering113",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005422 "id" : 1,
5423 "source_info" : {
5424 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005425 "line" : 113,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005426 "column" : 36,
5427 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005428 },
5429 "key" : [],
5430 "match_type" : "exact",
5431 "type" : "simple",
5432 "max_size" : 1024,
5433 "with_counters" : false,
5434 "support_timeout" : false,
5435 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005436 "action_ids" : [37],
5437 "actions" : ["filtering113"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005438 "base_default_next" : "node_6",
5439 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005440 "filtering113" : "node_6"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005441 },
5442 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005443 "action_id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005444 "action_const" : true,
5445 "action_data" : [],
5446 "action_entry_const" : true
5447 }
5448 },
5449 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005450 "name" : "tbl_filtering119",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005451 "id" : 2,
5452 "source_info" : {
5453 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005454 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005455 "column" : 42,
5456 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
5457 },
5458 "key" : [],
5459 "match_type" : "exact",
5460 "type" : "simple",
5461 "max_size" : 1024,
5462 "with_counters" : false,
5463 "support_timeout" : false,
5464 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005465 "action_ids" : [38],
5466 "actions" : ["filtering119"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005467 "base_default_next" : "node_8",
5468 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005469 "filtering119" : "node_8"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005470 },
5471 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005472 "action_id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005473 "action_const" : true,
5474 "action_data" : [],
5475 "action_entry_const" : true
5476 }
5477 },
5478 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005479 "name" : "tbl_filtering129",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005480 "id" : 3,
5481 "source_info" : {
5482 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005483 "line" : 129,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005484 "column" : 37,
5485 "source_fragment" : "="
5486 },
5487 "key" : [],
5488 "match_type" : "exact",
5489 "type" : "simple",
5490 "max_size" : 1024,
5491 "with_counters" : false,
5492 "support_timeout" : false,
5493 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005494 "action_ids" : [39],
5495 "actions" : ["filtering129"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005496 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
5497 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005498 "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005499 },
5500 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005501 "action_id" : 39,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005502 "action_const" : true,
5503 "action_data" : [],
5504 "action_entry_const" : true
5505 }
5506 },
5507 {
5508 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07005509 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005510 "source_info" : {
5511 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005512 "line" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005513 "column" : 10,
5514 "source_fragment" : "ingress_port_vlan"
5515 },
5516 "key" : [
5517 {
5518 "match_type" : "exact",
5519 "name" : "ig_port",
5520 "target" : ["standard_metadata", "ingress_port"],
5521 "mask" : null
5522 },
5523 {
5524 "match_type" : "exact",
5525 "name" : "vlan_is_valid",
5526 "target" : ["vlan_tag", "$valid$"],
5527 "mask" : null
5528 },
5529 {
5530 "match_type" : "ternary",
5531 "name" : "vlan_id",
5532 "target" : ["vlan_tag", "vlan_id"],
5533 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005534 },
5535 {
5536 "match_type" : "ternary",
5537 "name" : "inner_vlan_id",
5538 "target" : ["inner_vlan_tag", "vlan_id"],
5539 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005540 }
5541 ],
5542 "match_type" : "ternary",
5543 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005544 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005545 "with_counters" : true,
5546 "support_timeout" : false,
5547 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005548 "action_ids" : [17, 18, 19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005549 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
5550 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
5551 "next_tables" : {
5552 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
5553 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
5554 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
5555 },
5556 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005557 "action_id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005558 "action_const" : true,
5559 "action_data" : [],
5560 "action_entry_const" : true
5561 }
5562 },
5563 {
5564 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro5a2de712019-09-24 14:34:07 -07005565 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005566 "source_info" : {
5567 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005568 "line" : 94,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005569 "column" : 10,
5570 "source_fragment" : "fwd_classifier"
5571 },
5572 "key" : [
5573 {
5574 "match_type" : "exact",
5575 "name" : "ig_port",
5576 "target" : ["standard_metadata", "ingress_port"],
5577 "mask" : null
5578 },
5579 {
5580 "match_type" : "ternary",
5581 "name" : "eth_dst",
5582 "target" : ["ethernet", "dst_addr"],
5583 "mask" : null
5584 },
5585 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005586 "match_type" : "ternary",
5587 "name" : "eth_type",
5588 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005589 "mask" : null
5590 },
5591 {
5592 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07005593 "name" : "ip_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005594 "target" : ["scalars", "userMetadata._ip_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005595 "mask" : null
5596 }
5597 ],
5598 "match_type" : "ternary",
5599 "type" : "simple",
5600 "max_size" : 1024,
5601 "with_counters" : true,
5602 "support_timeout" : false,
5603 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005604 "action_ids" : [20],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005605 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro5a2de712019-09-24 14:34:07 -07005606 "base_default_next" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005607 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005608 "FabricIngress.filtering.set_forwarding_type" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005609 },
5610 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005611 "action_id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005612 "action_const" : true,
5613 "action_data" : ["0x0"],
5614 "action_entry_const" : true
5615 }
5616 },
5617 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005618 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07005619 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005620 "source_info" : {
5621 "filename" : "include/control/forwarding.p4",
5622 "line" : 46,
5623 "column" : 10,
5624 "source_fragment" : "bridging"
5625 },
5626 "key" : [
5627 {
5628 "match_type" : "exact",
5629 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005630 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005631 "mask" : null
5632 },
5633 {
5634 "match_type" : "ternary",
5635 "name" : "eth_dst",
5636 "target" : ["ethernet", "dst_addr"],
5637 "mask" : null
5638 }
5639 ],
5640 "match_type" : "ternary",
5641 "type" : "simple",
5642 "max_size" : 1024,
5643 "with_counters" : true,
5644 "support_timeout" : false,
5645 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005646 "action_ids" : [21, 2],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005647 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08005648 "base_default_next" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005649 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005650 "FabricIngress.forwarding.set_next_id_bridging" : "node_19",
5651 "nop" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005652 },
5653 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005654 "action_id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005655 "action_const" : true,
5656 "action_data" : [],
5657 "action_entry_const" : true
5658 }
5659 },
5660 {
5661 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005662 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005663 "source_info" : {
5664 "filename" : "include/control/forwarding.p4",
5665 "line" : 71,
5666 "column" : 10,
5667 "source_fragment" : "mpls"
5668 },
5669 "key" : [
5670 {
5671 "match_type" : "exact",
5672 "name" : "mpls_label",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005673 "target" : ["scalars", "userMetadata._mpls_label8"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005674 "mask" : null
5675 }
5676 ],
5677 "match_type" : "exact",
5678 "type" : "simple",
5679 "max_size" : 1024,
5680 "with_counters" : true,
5681 "support_timeout" : false,
5682 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005683 "action_ids" : [22, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005684 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08005685 "base_default_next" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005686 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005687 "FabricIngress.forwarding.pop_mpls_and_next" : "node_19",
5688 "nop" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005689 },
5690 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005691 "action_id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005692 "action_const" : true,
5693 "action_data" : [],
5694 "action_entry_const" : true
5695 }
5696 },
5697 {
5698 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005699 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005700 "source_info" : {
5701 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005702 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005703 "column" : 10,
5704 "source_fragment" : "routing_v4"
5705 },
5706 "key" : [
5707 {
5708 "match_type" : "lpm",
5709 "name" : "ipv4_dst",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005710 "target" : ["scalars", "userMetadata._ipv4_dst_addr20"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005711 "mask" : null
5712 }
5713 ],
5714 "match_type" : "lpm",
5715 "type" : "simple",
5716 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07005717 "with_counters" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005718 "support_timeout" : false,
5719 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005720 "action_ids" : [23, 24, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005721 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08005722 "base_default_next" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005723 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005724 "FabricIngress.forwarding.set_next_id_routing_v4" : "node_19",
5725 "FabricIngress.forwarding.nop_routing_v4" : "node_19",
5726 "nop" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005727 },
5728 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005729 "action_id" : 4,
CyberHasHe9ba39c2019-10-11 05:59:12 +08005730 "action_const" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005731 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08005732 "action_entry_const" : false
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005733 }
5734 },
5735 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005736 "name" : "FabricIngress.pre_next.next_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005737 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005738 "source_info" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005739 "filename" : "include/control/pre_next.p4",
5740 "line" : 36,
5741 "column" : 10,
5742 "source_fragment" : "next_mpls"
5743 },
5744 "key" : [
5745 {
5746 "match_type" : "exact",
5747 "name" : "next_id",
5748 "target" : ["scalars", "userMetadata._next_id13"],
5749 "mask" : null
5750 }
5751 ],
5752 "match_type" : "exact",
5753 "type" : "simple",
5754 "max_size" : 1024,
5755 "with_counters" : true,
5756 "support_timeout" : false,
5757 "direct_meters" : null,
5758 "action_ids" : [25, 5],
5759 "actions" : ["FabricIngress.pre_next.set_mpls_label", "nop"],
5760 "base_default_next" : "FabricIngress.pre_next.next_vlan",
5761 "next_tables" : {
5762 "FabricIngress.pre_next.set_mpls_label" : "FabricIngress.pre_next.next_vlan",
5763 "nop" : "FabricIngress.pre_next.next_vlan"
5764 },
5765 "default_entry" : {
5766 "action_id" : 5,
5767 "action_const" : true,
5768 "action_data" : [],
5769 "action_entry_const" : true
5770 }
5771 },
5772 {
5773 "name" : "FabricIngress.pre_next.next_vlan",
5774 "id" : 10,
5775 "source_info" : {
5776 "filename" : "include/control/pre_next.p4",
5777 "line" : 73,
5778 "column" : 10,
5779 "source_fragment" : "next_vlan"
5780 },
5781 "key" : [
5782 {
5783 "match_type" : "exact",
5784 "name" : "next_id",
5785 "target" : ["scalars", "userMetadata._next_id13"],
5786 "mask" : null
5787 }
5788 ],
5789 "match_type" : "exact",
5790 "type" : "simple",
5791 "max_size" : 1024,
5792 "with_counters" : true,
5793 "support_timeout" : false,
5794 "direct_meters" : null,
5795 "action_ids" : [26, 27, 6],
5796 "actions" : ["FabricIngress.pre_next.set_vlan", "FabricIngress.pre_next.set_double_vlan", "nop"],
5797 "base_default_next" : "tbl_acl27",
5798 "next_tables" : {
5799 "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
5800 "FabricIngress.pre_next.set_double_vlan" : "tbl_acl27",
5801 "nop" : "tbl_acl27"
5802 },
5803 "default_entry" : {
5804 "action_id" : 6,
5805 "action_const" : true,
5806 "action_data" : [],
5807 "action_entry_const" : true
5808 }
5809 },
5810 {
5811 "name" : "tbl_acl27",
5812 "id" : 11,
5813 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005814 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005815 "line" : 27,
5816 "column" : 4,
5817 "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
5818 },
5819 "key" : [],
5820 "match_type" : "exact",
5821 "type" : "simple",
5822 "max_size" : 1024,
5823 "with_counters" : false,
5824 "support_timeout" : false,
5825 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005826 "action_ids" : [46],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005827 "actions" : ["acl27"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08005828 "base_default_next" : "node_23",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005829 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005830 "acl27" : "node_23"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005831 },
5832 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005833 "action_id" : 46,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005834 "action_const" : true,
5835 "action_data" : [],
5836 "action_entry_const" : true
5837 }
5838 },
5839 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005840 "name" : "tbl_acl98",
5841 "id" : 12,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005842 "source_info" : {
5843 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005844 "line" : 98,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005845 "column" : 21,
5846 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
5847 },
5848 "key" : [],
5849 "match_type" : "exact",
5850 "type" : "simple",
5851 "max_size" : 1024,
5852 "with_counters" : false,
5853 "support_timeout" : false,
5854 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005855 "action_ids" : [42],
5856 "actions" : ["acl98"],
5857 "base_default_next" : "node_25",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005858 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005859 "acl98" : "node_25"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005860 },
5861 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005862 "action_id" : 42,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005863 "action_const" : true,
5864 "action_data" : [],
5865 "action_entry_const" : true
5866 }
5867 },
5868 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005869 "name" : "tbl_acl102",
5870 "id" : 13,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005871 "source_info" : {
5872 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005873 "line" : 102,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005874 "column" : 25,
5875 "source_fragment" : "= hdr.inner_tcp.sport; ..."
5876 },
5877 "key" : [],
5878 "match_type" : "exact",
5879 "type" : "simple",
5880 "max_size" : 1024,
5881 "with_counters" : false,
5882 "support_timeout" : false,
5883 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005884 "action_ids" : [40],
5885 "actions" : ["acl102"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005886 "base_default_next" : "FabricIngress.acl.acl",
5887 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005888 "acl102" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005889 },
5890 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005891 "action_id" : 40,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005892 "action_const" : true,
5893 "action_data" : [],
5894 "action_entry_const" : true
5895 }
5896 },
5897 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005898 "name" : "tbl_acl105",
5899 "id" : 14,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005900 "source_info" : {
5901 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005902 "line" : 105,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005903 "column" : 25,
5904 "source_fragment" : "= hdr.inner_udp.sport; ..."
5905 },
5906 "key" : [],
5907 "match_type" : "exact",
5908 "type" : "simple",
5909 "max_size" : 1024,
5910 "with_counters" : false,
5911 "support_timeout" : false,
5912 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005913 "action_ids" : [41],
5914 "actions" : ["acl105"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005915 "base_default_next" : "FabricIngress.acl.acl",
5916 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005917 "acl105" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005918 },
5919 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005920 "action_id" : 41,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005921 "action_const" : true,
5922 "action_data" : [],
5923 "action_entry_const" : true
5924 }
5925 },
5926 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005927 "name" : "tbl_acl109",
5928 "id" : 15,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005929 "source_info" : {
5930 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005931 "line" : 109,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005932 "column" : 21,
5933 "source_fragment" : "= hdr.ipv4.src_addr; ..."
5934 },
5935 "key" : [],
5936 "match_type" : "exact",
5937 "type" : "simple",
5938 "max_size" : 1024,
5939 "with_counters" : false,
5940 "support_timeout" : false,
5941 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005942 "action_ids" : [45],
5943 "actions" : ["acl109"],
5944 "base_default_next" : "node_31",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005945 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005946 "acl109" : "node_31"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005947 },
5948 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005949 "action_id" : 45,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005950 "action_const" : true,
5951 "action_data" : [],
5952 "action_entry_const" : true
5953 }
5954 },
5955 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005956 "name" : "tbl_acl113",
5957 "id" : 16,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005958 "source_info" : {
5959 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005960 "line" : 113,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005961 "column" : 25,
5962 "source_fragment" : "= hdr.tcp.sport; ..."
5963 },
5964 "key" : [],
5965 "match_type" : "exact",
5966 "type" : "simple",
5967 "max_size" : 1024,
5968 "with_counters" : false,
5969 "support_timeout" : false,
5970 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005971 "action_ids" : [43],
5972 "actions" : ["acl113"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005973 "base_default_next" : "FabricIngress.acl.acl",
5974 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005975 "acl113" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005976 },
5977 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005978 "action_id" : 43,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005979 "action_const" : true,
5980 "action_data" : [],
5981 "action_entry_const" : true
5982 }
5983 },
5984 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005985 "name" : "tbl_acl116",
5986 "id" : 17,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005987 "source_info" : {
5988 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005989 "line" : 116,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005990 "column" : 25,
5991 "source_fragment" : "= hdr.udp.sport; ..."
5992 },
5993 "key" : [],
5994 "match_type" : "exact",
5995 "type" : "simple",
5996 "max_size" : 1024,
5997 "with_counters" : false,
5998 "support_timeout" : false,
5999 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006000 "action_ids" : [44],
6001 "actions" : ["acl116"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08006002 "base_default_next" : "FabricIngress.acl.acl",
6003 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006004 "acl116" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08006005 },
6006 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006007 "action_id" : 44,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006008 "action_const" : true,
6009 "action_data" : [],
6010 "action_entry_const" : true
6011 }
6012 },
6013 {
6014 "name" : "FabricIngress.acl.acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006015 "id" : 18,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006016 "source_info" : {
6017 "filename" : "include/control/acl.p4",
6018 "line" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006019 "column" : 10,
6020 "source_fragment" : "acl"
6021 },
6022 "key" : [
6023 {
6024 "match_type" : "ternary",
6025 "name" : "ig_port",
6026 "target" : ["standard_metadata", "ingress_port"],
6027 "mask" : null
6028 },
6029 {
6030 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006031 "name" : "eth_dst",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006032 "target" : ["ethernet", "dst_addr"],
6033 "mask" : null
6034 },
6035 {
6036 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006037 "name" : "eth_src",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006038 "target" : ["ethernet", "src_addr"],
6039 "mask" : null
6040 },
6041 {
6042 "match_type" : "ternary",
6043 "name" : "vlan_id",
6044 "target" : ["vlan_tag", "vlan_id"],
6045 "mask" : null
6046 },
6047 {
6048 "match_type" : "ternary",
6049 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07006050 "target" : ["eth_type", "value"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006051 "mask" : null
6052 },
6053 {
6054 "match_type" : "ternary",
6055 "name" : "ipv4_src",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006056 "target" : ["scalars", "acl_ipv4_src"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006057 "mask" : null
6058 },
6059 {
6060 "match_type" : "ternary",
6061 "name" : "ipv4_dst",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006062 "target" : ["scalars", "acl_ipv4_dst"],
6063 "mask" : null
6064 },
6065 {
6066 "match_type" : "ternary",
6067 "name" : "ip_proto",
6068 "target" : ["scalars", "acl_ip_proto"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006069 "mask" : null
6070 },
6071 {
6072 "match_type" : "ternary",
6073 "name" : "icmp_type",
6074 "target" : ["icmp", "icmp_type"],
6075 "mask" : null
6076 },
6077 {
6078 "match_type" : "ternary",
6079 "name" : "icmp_code",
6080 "target" : ["icmp", "icmp_code"],
6081 "mask" : null
Wailok Shum4f51bde2021-06-11 22:48:41 +08006082 },
6083 {
6084 "match_type" : "ternary",
6085 "name" : "l4_sport",
6086 "target" : ["scalars", "acl_l4_sport"],
6087 "mask" : null
6088 },
6089 {
6090 "match_type" : "ternary",
6091 "name" : "l4_dport",
6092 "target" : ["scalars", "acl_l4_dport"],
6093 "mask" : null
Wailok Shumfb7e7872021-06-18 17:30:08 +08006094 },
6095 {
6096 "match_type" : "ternary",
6097 "name" : "port_type",
6098 "target" : ["scalars", "userMetadata._port_type27"],
6099 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006100 }
6101 ],
6102 "match_type" : "ternary",
6103 "type" : "simple",
6104 "max_size" : 1024,
6105 "with_counters" : true,
6106 "support_timeout" : false,
6107 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006108 "action_ids" : [28, 29, 30, 31, 32],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006109 "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006110 "base_default_next" : "node_36",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006111 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006112 "FabricIngress.acl.set_next_id_acl" : "node_36",
6113 "FabricIngress.acl.punt_to_cpu" : "node_36",
6114 "FabricIngress.acl.set_clone_session_id" : "node_36",
6115 "FabricIngress.acl.drop" : "node_36",
6116 "FabricIngress.acl.nop_acl" : "node_36"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006117 },
6118 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006119 "action_id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006120 "action_const" : true,
6121 "action_data" : [],
6122 "action_entry_const" : true
6123 }
6124 },
6125 {
6126 "name" : "FabricIngress.next.hashed",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006127 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006128 "source_info" : {
6129 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006130 "line" : 138,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006131 "column" : 10,
6132 "source_fragment" : "hashed"
6133 },
6134 "key" : [
6135 {
6136 "match_type" : "exact",
6137 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006138 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006139 "mask" : null
6140 }
6141 ],
6142 "match_type" : "exact",
6143 "type" : "indirect_ws",
6144 "action_profile" : "FabricIngress.next.hashed_selector",
6145 "max_size" : 1024,
6146 "with_counters" : true,
6147 "support_timeout" : false,
6148 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006149 "action_ids" : [33, 34, 7],
6150 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006151 "base_default_next" : "FabricIngress.next.multicast",
6152 "next_tables" : {
6153 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
6154 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006155 "nop" : "FabricIngress.next.multicast"
6156 }
6157 },
6158 {
6159 "name" : "FabricIngress.next.multicast",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006160 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006161 "source_info" : {
6162 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006163 "line" : 171,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006164 "column" : 10,
6165 "source_fragment" : "multicast"
6166 },
6167 "key" : [
6168 {
6169 "match_type" : "exact",
6170 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006171 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006172 "mask" : null
6173 }
6174 ],
6175 "match_type" : "exact",
6176 "type" : "simple",
6177 "max_size" : 1024,
6178 "with_counters" : true,
6179 "support_timeout" : false,
6180 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006181 "action_ids" : [35, 8],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006182 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006183 "base_default_next" : "node_39",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006184 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006185 "FabricIngress.next.set_mcast_group_id" : "node_39",
6186 "nop" : "node_39"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006187 },
6188 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006189 "action_id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006190 "action_const" : true,
6191 "action_data" : [],
6192 "action_entry_const" : true
6193 }
6194 },
6195 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006196 "name" : "tbl_port_counter31",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006197 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006198 "source_info" : {
6199 "filename" : "include/control/port_counter.p4",
6200 "line" : 31,
6201 "column" : 12,
6202 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
6203 },
6204 "key" : [],
6205 "match_type" : "exact",
6206 "type" : "simple",
6207 "max_size" : 1024,
6208 "with_counters" : false,
6209 "support_timeout" : false,
6210 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006211 "action_ids" : [47],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006212 "actions" : ["port_counter31"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006213 "base_default_next" : "node_41",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006214 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006215 "port_counter31" : "node_41"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006216 },
6217 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006218 "action_id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006219 "action_const" : true,
6220 "action_data" : [],
6221 "action_entry_const" : true
6222 }
6223 },
6224 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006225 "name" : "tbl_port_counter34",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006226 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006227 "source_info" : {
6228 "filename" : "include/control/port_counter.p4",
6229 "line" : 34,
6230 "column" : 12,
6231 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
6232 },
6233 "key" : [],
6234 "match_type" : "exact",
6235 "type" : "simple",
6236 "max_size" : 1024,
6237 "with_counters" : false,
6238 "support_timeout" : false,
6239 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006240 "action_ids" : [48],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006241 "actions" : ["port_counter34"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006242 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006243 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006244 "port_counter34" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006245 },
6246 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006247 "action_id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006248 "action_const" : true,
6249 "action_data" : [],
6250 "action_entry_const" : true
6251 }
6252 },
6253 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006254 "name" : "FabricIngress.bng_ingress.t_line_map",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006255 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006256 "source_info" : {
6257 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006258 "line" : 323,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006259 "column" : 14,
6260 "source_fragment" : "t_line_map"
6261 },
6262 "key" : [
6263 {
6264 "match_type" : "exact",
6265 "name" : "s_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006266 "target" : ["scalars", "userMetadata._bng_s_tag25"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006267 "mask" : null
6268 },
6269 {
6270 "match_type" : "exact",
6271 "name" : "c_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006272 "target" : ["scalars", "userMetadata._bng_c_tag26"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006273 "mask" : null
6274 }
6275 ],
6276 "match_type" : "exact",
6277 "type" : "simple",
6278 "max_size" : 8192,
6279 "with_counters" : false,
6280 "support_timeout" : false,
6281 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006282 "action_ids" : [16],
Daniele Moro5a2de712019-09-24 14:34:07 -07006283 "actions" : ["FabricIngress.bng_ingress.set_line"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006284 "base_default_next" : "node_44",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006285 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006286 "FabricIngress.bng_ingress.set_line" : "node_44"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006287 },
6288 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006289 "action_id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006290 "action_const" : true,
Daniele Moro5a2de712019-09-24 14:34:07 -07006291 "action_data" : ["0x0"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006292 "action_entry_const" : true
6293 }
6294 },
6295 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006296 "name" : "tbl_bng342",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006297 "id" : 24,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006298 "source_info" : {
6299 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006300 "line" : 342,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006301 "column" : 31,
6302 "source_fragment" : "="
6303 },
6304 "key" : [],
6305 "match_type" : "exact",
6306 "type" : "simple",
6307 "max_size" : 1024,
6308 "with_counters" : false,
6309 "support_timeout" : false,
6310 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006311 "action_ids" : [50],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006312 "actions" : ["bng342"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006313 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
6314 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006315 "bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006316 },
6317 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006318 "action_id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006319 "action_const" : true,
6320 "action_data" : [],
6321 "action_entry_const" : true
6322 }
6323 },
6324 {
6325 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006326 "id" : 25,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006327 "source_info" : {
6328 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006329 "line" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006330 "column" : 10,
6331 "source_fragment" : "t_pppoe_cp"
6332 },
6333 "key" : [
6334 {
6335 "match_type" : "exact",
6336 "name" : "pppoe_code",
6337 "target" : ["pppoe", "code"],
6338 "mask" : null
6339 },
6340 {
6341 "match_type" : "ternary",
6342 "name" : "pppoe_protocol",
6343 "target" : ["pppoe", "protocol"],
6344 "mask" : null
6345 }
6346 ],
6347 "match_type" : "ternary",
6348 "type" : "simple",
6349 "max_size" : 16,
6350 "with_counters" : false,
6351 "support_timeout" : false,
6352 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006353 "action_ids" : [9, 0],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006354 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006355 "base_default_next" : null,
6356 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006357 "__HIT__" : "tbl_bng126",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006358 "__MISS__" : "node_48"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006359 },
6360 "default_entry" : {
6361 "action_id" : 0,
6362 "action_const" : true,
6363 "action_data" : [],
6364 "action_entry_const" : true
6365 }
6366 },
6367 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006368 "name" : "tbl_bng126",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006369 "id" : 26,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006370 "source_info" : {
6371 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006372 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006373 "column" : 12,
6374 "source_fragment" : "return"
6375 },
6376 "key" : [],
6377 "match_type" : "exact",
6378 "type" : "simple",
6379 "max_size" : 1024,
6380 "with_counters" : false,
6381 "support_timeout" : false,
6382 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006383 "action_ids" : [49],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006384 "actions" : ["bng126"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006385 "base_default_next" : "node_48",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006386 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006387 "bng126" : "node_48"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006388 },
6389 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006390 "action_id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006391 "action_const" : true,
6392 "action_data" : [],
6393 "action_entry_const" : true
6394 }
6395 },
6396 {
6397 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006398 "id" : 27,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006399 "source_info" : {
6400 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006401 "line" : 87,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006402 "column" : 10,
6403 "source_fragment" : "t_pppoe_term_v4"
6404 },
6405 "key" : [
6406 {
6407 "match_type" : "exact",
6408 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006409 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006410 "mask" : null
6411 },
6412 {
6413 "match_type" : "exact",
6414 "name" : "ipv4_src",
6415 "target" : ["ipv4", "src_addr"],
6416 "mask" : null
6417 },
6418 {
6419 "match_type" : "exact",
6420 "name" : "pppoe_session_id",
6421 "target" : ["pppoe", "session_id"],
6422 "mask" : null
6423 }
6424 ],
6425 "match_type" : "exact",
6426 "type" : "simple",
6427 "max_size" : 32768,
6428 "with_counters" : false,
6429 "support_timeout" : false,
6430 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006431 "action_ids" : [11, 10],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006432 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
6433 "base_default_next" : null,
6434 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006435 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_bng131",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006436 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
6437 },
6438 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006439 "action_id" : 10,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006440 "action_const" : true,
6441 "action_data" : [],
6442 "action_entry_const" : true
6443 }
6444 },
6445 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006446 "name" : "tbl_bng131",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006447 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006448 "source_info" : {
6449 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006450 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006451 "column" : 20,
6452 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
6453 },
6454 "key" : [],
6455 "match_type" : "exact",
6456 "type" : "simple",
6457 "max_size" : 1024,
6458 "with_counters" : false,
6459 "support_timeout" : false,
6460 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006461 "action_ids" : [51],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006462 "actions" : ["bng131"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006463 "base_default_next" : null,
6464 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006465 "bng131" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006466 },
6467 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006468 "action_id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006469 "action_const" : true,
6470 "action_data" : [],
6471 "action_entry_const" : true
6472 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07006473 },
6474 {
6475 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006476 "id" : 29,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006477 "source_info" : {
6478 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006479 "line" : 169,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006480 "column" : 10,
6481 "source_fragment" : "t_line_session_map"
6482 },
6483 "key" : [
6484 {
6485 "match_type" : "exact",
6486 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006487 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006488 "mask" : null
6489 }
6490 ],
6491 "match_type" : "exact",
6492 "type" : "simple",
6493 "max_size" : 8192,
6494 "with_counters" : false,
6495 "support_timeout" : false,
6496 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006497 "action_ids" : [1, 12, 13],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006498 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
6499 "base_default_next" : null,
6500 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006501 "__MISS__" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006502 "__HIT__" : "node_53"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006503 },
6504 "default_entry" : {
6505 "action_id" : 1,
6506 "action_const" : true,
6507 "action_data" : [],
6508 "action_entry_const" : true
6509 }
6510 },
6511 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006512 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006513 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006514 "source_info" : {
6515 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006516 "line" : 194,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006517 "column" : 10,
6518 "source_fragment" : "t_qos_v4"
6519 },
6520 "key" : [
6521 {
6522 "match_type" : "ternary",
6523 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006524 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006525 "mask" : null
6526 },
6527 {
6528 "match_type" : "lpm",
6529 "name" : "ipv4_src",
6530 "target" : ["ipv4", "src_addr"],
6531 "mask" : null
6532 },
6533 {
6534 "match_type" : "ternary",
6535 "name" : "ipv4_dscp",
6536 "target" : ["ipv4", "dscp"],
6537 "mask" : null
6538 },
6539 {
6540 "match_type" : "ternary",
6541 "name" : "ipv4_ecn",
6542 "target" : ["ipv4", "ecn"],
6543 "mask" : null
6544 }
6545 ],
6546 "match_type" : "ternary",
6547 "type" : "simple",
6548 "max_size" : 256,
6549 "with_counters" : false,
6550 "support_timeout" : false,
6551 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006552 "action_ids" : [14, 15],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006553 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
6554 "base_default_next" : null,
6555 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006556 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_bng238",
6557 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng241"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006558 },
6559 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006560 "action_id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006561 "action_const" : true,
6562 "action_data" : [],
6563 "action_entry_const" : true
6564 }
6565 },
6566 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006567 "name" : "tbl_bng238",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006568 "id" : 31,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006569 "source_info" : {
6570 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006571 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006572 "column" : 24,
6573 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
6574 },
6575 "key" : [],
6576 "match_type" : "exact",
6577 "type" : "simple",
6578 "max_size" : 1024,
6579 "with_counters" : false,
6580 "support_timeout" : false,
6581 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006582 "action_ids" : [52],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006583 "actions" : ["bng238"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006584 "base_default_next" : null,
6585 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006586 "bng238" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07006587 },
6588 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006589 "action_id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006590 "action_const" : true,
6591 "action_data" : [],
6592 "action_entry_const" : true
6593 }
6594 },
6595 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006596 "name" : "tbl_bng241",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006597 "id" : 32,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006598 "source_info" : {
6599 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006600 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006601 "column" : 24,
6602 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
6603 },
6604 "key" : [],
6605 "match_type" : "exact",
6606 "type" : "simple",
6607 "max_size" : 1024,
6608 "with_counters" : false,
6609 "support_timeout" : false,
6610 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006611 "action_ids" : [53],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006612 "actions" : ["bng241"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006613 "base_default_next" : null,
6614 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006615 "bng241" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07006616 },
6617 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006618 "action_id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006619 "action_const" : true,
6620 "action_data" : [],
6621 "action_entry_const" : true
6622 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006623 }
6624 ],
6625 "action_profiles" : [
6626 {
6627 "name" : "FabricIngress.next.hashed_selector",
6628 "id" : 0,
6629 "source_info" : {
6630 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006631 "line" : 125,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006632 "column" : 57,
6633 "source_fragment" : "hashed_selector"
6634 },
6635 "max_size" : 1024,
6636 "selector" : {
6637 "algo" : "crc16",
6638 "input" : [
6639 {
6640 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006641 "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006642 },
6643 {
6644 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006645 "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006646 },
6647 {
6648 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006649 "value" : ["scalars", "userMetadata._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006650 },
6651 {
6652 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006653 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006654 },
6655 {
6656 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006657 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006658 }
6659 ]
6660 }
6661 }
6662 ],
6663 "conditionals" : [
6664 {
6665 "name" : "node_2",
6666 "id" : 0,
6667 "source_info" : {
6668 "filename" : "include/control/packetio.p4",
6669 "line" : 24,
6670 "column" : 12,
6671 "source_fragment" : "hdr.packet_out.isValid()"
6672 },
6673 "expression" : {
6674 "type" : "expression",
6675 "value" : {
6676 "op" : "d2b",
6677 "left" : null,
6678 "right" : {
6679 "type" : "field",
6680 "value" : ["packet_out", "$valid$"]
6681 }
6682 }
6683 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006684 "true_next" : "tbl_packetio25",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006685 "false_next" : "node_4"
6686 },
6687 {
6688 "name" : "node_4",
6689 "id" : 1,
6690 "source_info" : {
6691 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006692 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006693 "column" : 12,
6694 "source_fragment" : "hdr.vlan_tag.isValid()"
6695 },
6696 "expression" : {
6697 "type" : "expression",
6698 "value" : {
6699 "op" : "d2b",
6700 "left" : null,
6701 "right" : {
6702 "type" : "field",
6703 "value" : ["vlan_tag", "$valid$"]
6704 }
6705 }
6706 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006707 "true_next" : "tbl_filtering113",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006708 "false_next" : "node_6"
6709 },
6710 {
6711 "name" : "node_6",
6712 "id" : 2,
6713 "source_info" : {
6714 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006715 "line" : 118,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006716 "column" : 12,
6717 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
6718 },
6719 "expression" : {
6720 "type" : "expression",
6721 "value" : {
6722 "op" : "d2b",
6723 "left" : null,
6724 "right" : {
6725 "type" : "field",
6726 "value" : ["inner_vlan_tag", "$valid$"]
6727 }
6728 }
6729 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006730 "true_next" : "tbl_filtering119",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006731 "false_next" : "node_8"
6732 },
6733 {
6734 "name" : "node_8",
6735 "id" : 3,
6736 "source_info" : {
6737 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006738 "line" : 124,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006739 "column" : 12,
6740 "source_fragment" : "!hdr.mpls.isValid()"
6741 },
6742 "expression" : {
6743 "type" : "expression",
6744 "value" : {
6745 "op" : "not",
6746 "left" : null,
6747 "right" : {
6748 "type" : "expression",
6749 "value" : {
6750 "op" : "d2b",
6751 "left" : null,
6752 "right" : {
6753 "type" : "field",
6754 "value" : ["mpls", "$valid$"]
6755 }
6756 }
6757 }
6758 }
6759 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006760 "true_next" : "tbl_filtering129",
Daniele Moro5a2de712019-09-24 14:34:07 -07006761 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006762 },
6763 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006764 "name" : "node_12",
Daniele Moro5a2de712019-09-24 14:34:07 -07006765 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006766 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006767 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006768 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006769 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006770 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006771 },
6772 "expression" : {
6773 "type" : "expression",
6774 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006775 "op" : "not",
6776 "left" : null,
6777 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006778 "type" : "expression",
6779 "value" : {
6780 "op" : "d2b",
6781 "left" : null,
6782 "right" : {
6783 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006784 "value" : ["scalars", "userMetadata._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006785 }
6786 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006787 }
6788 }
6789 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006790 "true_next" : "node_13",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006791 "false_next" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006792 },
6793 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006794 "name" : "node_13",
6795 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006796 "source_info" : {
6797 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006798 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006799 "column" : 12,
6800 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
6801 },
6802 "expression" : {
6803 "type" : "expression",
6804 "value" : {
6805 "op" : "==",
6806 "left" : {
6807 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006808 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006809 },
6810 "right" : {
6811 "type" : "hexstr",
6812 "value" : "0x00"
6813 }
6814 }
6815 },
6816 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07006817 "false_next" : "node_15"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006818 },
6819 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006820 "name" : "node_15",
6821 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006822 "source_info" : {
6823 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006824 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006825 "column" : 17,
6826 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
6827 },
6828 "expression" : {
6829 "type" : "expression",
6830 "value" : {
6831 "op" : "==",
6832 "left" : {
6833 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006834 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006835 },
6836 "right" : {
6837 "type" : "hexstr",
6838 "value" : "0x01"
6839 }
6840 }
6841 },
6842 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07006843 "false_next" : "node_17"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006844 },
6845 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006846 "name" : "node_17",
6847 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006848 "source_info" : {
6849 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006850 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006851 "column" : 17,
6852 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
6853 },
6854 "expression" : {
6855 "type" : "expression",
6856 "value" : {
6857 "op" : "==",
6858 "left" : {
6859 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006860 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006861 },
6862 "right" : {
6863 "type" : "hexstr",
6864 "value" : "0x02"
6865 }
6866 }
6867 },
6868 "true_next" : "FabricIngress.forwarding.routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006869 "false_next" : "node_19"
6870 },
6871 {
6872 "name" : "node_19",
6873 "id" : 8,
6874 "source_info" : {
6875 "filename" : "fabric.p4",
6876 "line" : 74,
6877 "column" : 12,
6878 "source_fragment" : "fabric_metadata.skip_next"
6879 },
6880 "expression" : {
6881 "type" : "expression",
6882 "value" : {
6883 "op" : "not",
6884 "left" : null,
6885 "right" : {
6886 "type" : "expression",
6887 "value" : {
6888 "op" : "d2b",
6889 "left" : null,
6890 "right" : {
6891 "type" : "field",
6892 "value" : ["scalars", "userMetadata._skip_next11"]
6893 }
6894 }
6895 }
6896 }
6897 },
6898 "true_next" : "FabricIngress.pre_next.next_mpls",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006899 "false_next" : "tbl_acl27"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006900 },
6901 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006902 "name" : "node_23",
6903 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006904 "source_info" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006905 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006906 "line" : 97,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006907 "column" : 12,
6908 "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
6909 },
6910 "expression" : {
6911 "type" : "expression",
6912 "value" : {
6913 "op" : "and",
6914 "left" : {
6915 "type" : "expression",
6916 "value" : {
6917 "op" : "d2b",
6918 "left" : null,
6919 "right" : {
6920 "type" : "field",
6921 "value" : ["gtpu", "$valid$"]
6922 }
6923 }
6924 },
6925 "right" : {
6926 "type" : "expression",
6927 "value" : {
6928 "op" : "d2b",
6929 "left" : null,
6930 "right" : {
6931 "type" : "field",
6932 "value" : ["inner_ipv4", "$valid$"]
6933 }
6934 }
6935 }
6936 }
6937 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006938 "true_next" : "tbl_acl98",
6939 "false_next" : "node_29"
Wailok Shum4f51bde2021-06-11 22:48:41 +08006940 },
6941 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006942 "name" : "node_25",
6943 "id" : 10,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006944 "source_info" : {
6945 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006946 "line" : 101,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006947 "column" : 16,
6948 "source_fragment" : "hdr.inner_tcp.isValid()"
6949 },
6950 "expression" : {
6951 "type" : "expression",
6952 "value" : {
6953 "op" : "d2b",
6954 "left" : null,
6955 "right" : {
6956 "type" : "field",
6957 "value" : ["inner_tcp", "$valid$"]
6958 }
6959 }
6960 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006961 "true_next" : "tbl_acl102",
6962 "false_next" : "node_27"
Wailok Shum4f51bde2021-06-11 22:48:41 +08006963 },
6964 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006965 "name" : "node_27",
6966 "id" : 11,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006967 "source_info" : {
6968 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006969 "line" : 104,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006970 "column" : 23,
6971 "source_fragment" : "hdr.inner_udp.isValid()"
6972 },
6973 "expression" : {
6974 "type" : "expression",
6975 "value" : {
6976 "op" : "d2b",
6977 "left" : null,
6978 "right" : {
6979 "type" : "field",
6980 "value" : ["inner_udp", "$valid$"]
6981 }
6982 }
6983 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006984 "true_next" : "tbl_acl105",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006985 "false_next" : "FabricIngress.acl.acl"
6986 },
6987 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006988 "name" : "node_29",
6989 "id" : 12,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006990 "source_info" : {
6991 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006992 "line" : 108,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006993 "column" : 19,
6994 "source_fragment" : "hdr.ipv4.isValid()"
6995 },
6996 "expression" : {
6997 "type" : "expression",
6998 "value" : {
6999 "op" : "d2b",
7000 "left" : null,
7001 "right" : {
7002 "type" : "field",
7003 "value" : ["ipv4", "$valid$"]
7004 }
7005 }
7006 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007007 "true_next" : "tbl_acl109",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007008 "false_next" : "FabricIngress.acl.acl"
7009 },
7010 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007011 "name" : "node_31",
7012 "id" : 13,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007013 "source_info" : {
7014 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007015 "line" : 112,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007016 "column" : 16,
7017 "source_fragment" : "hdr.tcp.isValid()"
7018 },
7019 "expression" : {
7020 "type" : "expression",
7021 "value" : {
7022 "op" : "d2b",
7023 "left" : null,
7024 "right" : {
7025 "type" : "field",
7026 "value" : ["tcp", "$valid$"]
7027 }
7028 }
7029 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007030 "true_next" : "tbl_acl113",
7031 "false_next" : "node_33"
Wailok Shum4f51bde2021-06-11 22:48:41 +08007032 },
7033 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007034 "name" : "node_33",
7035 "id" : 14,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007036 "source_info" : {
7037 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007038 "line" : 115,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007039 "column" : 23,
7040 "source_fragment" : "hdr.udp.isValid()"
7041 },
7042 "expression" : {
7043 "type" : "expression",
7044 "value" : {
7045 "op" : "d2b",
7046 "left" : null,
7047 "right" : {
7048 "type" : "field",
7049 "value" : ["udp", "$valid$"]
7050 }
7051 }
7052 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007053 "true_next" : "tbl_acl116",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007054 "false_next" : "FabricIngress.acl.acl"
7055 },
7056 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007057 "name" : "node_36",
7058 "id" : 15,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007059 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007060 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007061 "line" : 78,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007062 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007063 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007064 },
7065 "expression" : {
7066 "type" : "expression",
7067 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007068 "op" : "not",
7069 "left" : null,
7070 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007071 "type" : "expression",
7072 "value" : {
7073 "op" : "d2b",
7074 "left" : null,
7075 "right" : {
7076 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007077 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007078 }
7079 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007080 }
7081 }
7082 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007083 "true_next" : "FabricIngress.next.hashed",
Daniele Morob3d199b2019-11-01 14:01:46 -07007084 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007085 },
7086 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007087 "name" : "node_39",
7088 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007089 "source_info" : {
7090 "filename" : "include/control/port_counter.p4",
7091 "line" : 30,
7092 "column" : 12,
7093 "source_fragment" : "standard_metadata.egress_spec < 511"
7094 },
7095 "expression" : {
7096 "type" : "expression",
7097 "value" : {
7098 "op" : "<",
7099 "left" : {
7100 "type" : "field",
7101 "value" : ["standard_metadata", "egress_spec"]
7102 },
7103 "right" : {
7104 "type" : "hexstr",
7105 "value" : "0x01ff"
7106 }
7107 }
7108 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007109 "true_next" : "tbl_port_counter31",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007110 "false_next" : "node_41"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007111 },
7112 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007113 "name" : "node_41",
7114 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007115 "source_info" : {
7116 "filename" : "include/control/port_counter.p4",
7117 "line" : 33,
7118 "column" : 12,
7119 "source_fragment" : "standard_metadata.ingress_port < 511"
7120 },
7121 "expression" : {
7122 "type" : "expression",
7123 "value" : {
7124 "op" : "<",
7125 "left" : {
7126 "type" : "field",
7127 "value" : ["standard_metadata", "ingress_port"]
7128 },
7129 "right" : {
7130 "type" : "hexstr",
7131 "value" : "0x01ff"
7132 }
7133 }
7134 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007135 "true_next" : "tbl_port_counter34",
Daniele Morob3d199b2019-11-01 14:01:46 -07007136 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007137 },
7138 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007139 "name" : "node_44",
7140 "id" : 18,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007141 "source_info" : {
7142 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007143 "line" : 341,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007144 "column" : 16,
7145 "source_fragment" : "hdr.pppoe.isValid()"
7146 },
7147 "expression" : {
7148 "type" : "expression",
7149 "value" : {
7150 "op" : "d2b",
7151 "left" : null,
7152 "right" : {
7153 "type" : "field",
7154 "value" : ["pppoe", "$valid$"]
7155 }
7156 }
7157 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007158 "true_next" : "tbl_bng342",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007159 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
7160 },
7161 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007162 "name" : "node_48",
7163 "id" : 19,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007164 "expression" : {
7165 "type" : "expression",
7166 "value" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007167 "op" : "not",
7168 "left" : null,
7169 "right" : {
7170 "type" : "expression",
7171 "value" : {
7172 "op" : "d2b",
7173 "left" : null,
7174 "right" : {
7175 "type" : "field",
7176 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
7177 }
7178 }
7179 }
7180 }
7181 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007182 "false_next" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007183 "true_next" : "node_49"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007184 },
7185 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007186 "name" : "node_49",
7187 "id" : 20,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007188 "source_info" : {
7189 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007190 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007191 "column" : 12,
7192 "source_fragment" : "hdr.ipv4.isValid()"
7193 },
7194 "expression" : {
7195 "type" : "expression",
7196 "value" : {
7197 "op" : "d2b",
7198 "left" : null,
7199 "right" : {
7200 "type" : "field",
7201 "value" : ["ipv4", "$valid$"]
7202 }
7203 }
7204 },
7205 "false_next" : null,
7206 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
7207 },
7208 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007209 "name" : "node_53",
7210 "id" : 21,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007211 "source_info" : {
7212 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007213 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007214 "column" : 16,
7215 "source_fragment" : "hdr.ipv4.isValid()"
7216 },
7217 "expression" : {
7218 "type" : "expression",
7219 "value" : {
7220 "op" : "d2b",
7221 "left" : null,
7222 "right" : {
7223 "type" : "field",
7224 "value" : ["ipv4", "$valid$"]
7225 }
7226 }
7227 },
7228 "false_next" : null,
7229 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007230 }
7231 ]
7232 },
7233 {
7234 "name" : "egress",
7235 "id" : 1,
7236 "source_info" : {
7237 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007238 "line" : 96,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007239 "column" : 8,
7240 "source_fragment" : "FabricEgress"
7241 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007242 "init_table" : "node_59",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007243 "tables" : [
7244 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007245 "name" : "tbl_packetio41",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007246 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007247 "source_info" : {
7248 "filename" : "include/control/packetio.p4",
7249 "line" : 41,
7250 "column" : 12,
7251 "source_fragment" : "exit"
7252 },
7253 "key" : [],
7254 "match_type" : "exact",
7255 "type" : "simple",
7256 "max_size" : 1024,
7257 "with_counters" : false,
7258 "support_timeout" : false,
7259 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007260 "action_ids" : [62],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007261 "actions" : ["packetio41"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007262 "base_default_next" : "node_61",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007263 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007264 "packetio41" : "node_61"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007265 },
7266 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007267 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007268 "action_const" : true,
7269 "action_data" : [],
7270 "action_entry_const" : true
7271 }
7272 },
7273 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007274 "name" : "tbl_packetio44",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007275 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007276 "source_info" : {
7277 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007278 "line" : 44,
7279 "column" : 12,
7280 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007281 },
7282 "key" : [],
7283 "match_type" : "exact",
7284 "type" : "simple",
7285 "max_size" : 1024,
7286 "with_counters" : false,
7287 "support_timeout" : false,
7288 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007289 "action_ids" : [63],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007290 "actions" : ["packetio44"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007291 "base_default_next" : "node_63",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007292 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007293 "packetio44" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007294 },
7295 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007296 "action_id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007297 "action_const" : true,
7298 "action_data" : [],
7299 "action_entry_const" : true
7300 }
7301 },
7302 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007303 "name" : "tbl_next283",
7304 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007305 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007306 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007307 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007308 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007309 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007310 },
7311 "key" : [],
7312 "match_type" : "exact",
7313 "type" : "simple",
7314 "max_size" : 1024,
7315 "with_counters" : false,
7316 "support_timeout" : false,
7317 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007318 "action_ids" : [64],
7319 "actions" : ["next283"],
7320 "base_default_next" : "node_65",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007321 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007322 "next283" : "node_65"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007323 },
7324 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007325 "action_id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007326 "action_const" : true,
7327 "action_data" : [],
7328 "action_entry_const" : true
7329 }
7330 },
7331 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007332 "name" : "tbl_egress_next_pop_mpls_if_present",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007333 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007334 "source_info" : {
7335 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007336 "line" : 287,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007337 "column" : 36,
7338 "source_fragment" : "pop_mpls_if_present()"
7339 },
7340 "key" : [],
7341 "match_type" : "exact",
7342 "type" : "simple",
7343 "max_size" : 1024,
7344 "with_counters" : false,
7345 "support_timeout" : false,
7346 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007347 "action_ids" : [55],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007348 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007349 "base_default_next" : "node_69",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007350 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007351 "FabricEgress.egress_next.pop_mpls_if_present" : "node_69"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007352 },
7353 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007354 "action_id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007355 "action_const" : true,
7356 "action_data" : [],
7357 "action_entry_const" : true
7358 }
7359 },
7360 {
7361 "name" : "tbl_egress_next_set_mpls",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007362 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007363 "source_info" : {
7364 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007365 "line" : 289,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007366 "column" : 12,
7367 "source_fragment" : "set_mpls()"
7368 },
7369 "key" : [],
7370 "match_type" : "exact",
7371 "type" : "simple",
7372 "max_size" : 1024,
7373 "with_counters" : false,
7374 "support_timeout" : false,
7375 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007376 "action_ids" : [56],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007377 "actions" : ["FabricEgress.egress_next.set_mpls"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007378 "base_default_next" : "node_69",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007379 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007380 "FabricEgress.egress_next.set_mpls" : "node_69"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007381 },
7382 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007383 "action_id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007384 "action_const" : true,
7385 "action_data" : [],
7386 "action_entry_const" : true
7387 }
7388 },
7389 {
pierventre48e78822020-12-15 17:34:54 +01007390 "name" : "tbl_egress_next_push_outer_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007391 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007392 "source_info" : {
7393 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007394 "line" : 295,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007395 "column" : 12,
pierventre48e78822020-12-15 17:34:54 +01007396 "source_fragment" : "push_outer_vlan()"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007397 },
7398 "key" : [],
7399 "match_type" : "exact",
7400 "type" : "simple",
7401 "max_size" : 1024,
7402 "with_counters" : false,
7403 "support_timeout" : false,
7404 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007405 "action_ids" : [57],
pierventre48e78822020-12-15 17:34:54 +01007406 "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007407 "base_default_next" : "tbl_egress_next_push_inner_vlan",
7408 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01007409 "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007410 },
7411 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007412 "action_id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007413 "action_const" : true,
7414 "action_data" : [],
7415 "action_entry_const" : true
7416 }
7417 },
7418 {
7419 "name" : "tbl_egress_next_push_inner_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007420 "id" : 39,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007421 "source_info" : {
7422 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007423 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007424 "column" : 12,
7425 "source_fragment" : "push_inner_vlan()"
7426 },
7427 "key" : [],
7428 "match_type" : "exact",
7429 "type" : "simple",
7430 "max_size" : 1024,
7431 "with_counters" : false,
7432 "support_timeout" : false,
7433 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007434 "action_ids" : [58],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007435 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007436 "base_default_next" : "node_74",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007437 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007438 "FabricEgress.egress_next.push_inner_vlan" : "node_74"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007439 },
7440 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007441 "action_id" : 58,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007442 "action_const" : true,
7443 "action_data" : [],
7444 "action_entry_const" : true
7445 }
7446 },
7447 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007448 "name" : "tbl_next299",
7449 "id" : 40,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007450 "source_info" : {
7451 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007452 "line" : 299,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007453 "column" : 12,
7454 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
7455 },
7456 "key" : [],
7457 "match_type" : "exact",
7458 "type" : "simple",
7459 "max_size" : 1024,
7460 "with_counters" : false,
7461 "support_timeout" : false,
7462 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007463 "action_ids" : [65],
7464 "actions" : ["next299"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007465 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
7466 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007467 "next299" : "FabricEgress.egress_next.egress_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007468 },
7469 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007470 "action_id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007471 "action_const" : true,
7472 "action_data" : [],
7473 "action_entry_const" : true
7474 }
7475 },
7476 {
7477 "name" : "FabricEgress.egress_next.egress_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007478 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007479 "source_info" : {
7480 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007481 "line" : 265,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007482 "column" : 10,
7483 "source_fragment" : "egress_vlan"
7484 },
7485 "key" : [
7486 {
7487 "match_type" : "exact",
7488 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007489 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007490 "mask" : null
7491 },
7492 {
7493 "match_type" : "exact",
7494 "name" : "eg_port",
7495 "target" : ["standard_metadata", "egress_port"],
7496 "mask" : null
7497 }
7498 ],
7499 "match_type" : "exact",
7500 "type" : "simple",
7501 "max_size" : 1024,
7502 "with_counters" : true,
7503 "support_timeout" : false,
7504 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007505 "action_ids" : [59, 60, 61],
pierventre48e78822020-12-15 17:34:54 +01007506 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007507 "base_default_next" : "node_74",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007508 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007509 "FabricEgress.egress_next.push_vlan" : "node_74",
7510 "FabricEgress.egress_next.pop_vlan" : "node_74",
7511 "FabricEgress.egress_next.drop" : "node_74"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007512 },
7513 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007514 "action_id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007515 "action_const" : true,
7516 "action_data" : [],
7517 "action_entry_const" : true
7518 }
7519 },
7520 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007521 "name" : "tbl_next309",
7522 "id" : 42,
pierventre48e78822020-12-15 17:34:54 +01007523 "source_info" : {
7524 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007525 "line" : 309,
pierventre48e78822020-12-15 17:34:54 +01007526 "column" : 25,
7527 "source_fragment" : "="
7528 },
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007529 "key" : [],
7530 "match_type" : "exact",
7531 "type" : "simple",
7532 "max_size" : 1024,
7533 "with_counters" : false,
7534 "support_timeout" : false,
7535 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007536 "action_ids" : [67],
7537 "actions" : ["next309"],
7538 "base_default_next" : "node_76",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007539 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007540 "next309" : "node_76"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007541 },
7542 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007543 "action_id" : 67,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007544 "action_const" : true,
7545 "action_data" : [],
7546 "action_entry_const" : true
7547 }
7548 },
7549 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007550 "name" : "tbl_next310",
7551 "id" : 43,
pierventre48e78822020-12-15 17:34:54 +01007552 "source_info" : {
7553 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007554 "line" : 310,
pierventre48e78822020-12-15 17:34:54 +01007555 "column" : 35,
7556 "source_fragment" : "mark_to_drop(standard_metadata)"
7557 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007558 "key" : [],
7559 "match_type" : "exact",
7560 "type" : "simple",
7561 "max_size" : 1024,
7562 "with_counters" : false,
7563 "support_timeout" : false,
7564 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007565 "action_ids" : [66],
7566 "actions" : ["next310"],
7567 "base_default_next" : "node_82",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007568 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007569 "next310" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007570 },
7571 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007572 "action_id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007573 "action_const" : true,
7574 "action_data" : [],
7575 "action_entry_const" : true
7576 }
7577 },
7578 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007579 "name" : "tbl_next313",
7580 "id" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007581 "source_info" : {
7582 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007583 "line" : 313,
pierventre48e78822020-12-15 17:34:54 +01007584 "column" : 29,
Daniele Morob3d199b2019-11-01 14:01:46 -07007585 "source_fragment" : "="
7586 },
7587 "key" : [],
7588 "match_type" : "exact",
7589 "type" : "simple",
7590 "max_size" : 1024,
7591 "with_counters" : false,
7592 "support_timeout" : false,
7593 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007594 "action_ids" : [69],
7595 "actions" : ["next313"],
7596 "base_default_next" : "node_80",
Daniele Morob3d199b2019-11-01 14:01:46 -07007597 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007598 "next313" : "node_80"
Daniele Morob3d199b2019-11-01 14:01:46 -07007599 },
7600 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007601 "action_id" : 69,
Daniele Morob3d199b2019-11-01 14:01:46 -07007602 "action_const" : true,
7603 "action_data" : [],
7604 "action_entry_const" : true
7605 }
7606 },
7607 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007608 "name" : "tbl_next314",
7609 "id" : 45,
Daniele Morob3d199b2019-11-01 14:01:46 -07007610 "source_info" : {
7611 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007612 "line" : 314,
pierventre48e78822020-12-15 17:34:54 +01007613 "column" : 39,
Daniele Morob3d199b2019-11-01 14:01:46 -07007614 "source_fragment" : "mark_to_drop(standard_metadata)"
7615 },
7616 "key" : [],
7617 "match_type" : "exact",
7618 "type" : "simple",
7619 "max_size" : 1024,
7620 "with_counters" : false,
7621 "support_timeout" : false,
7622 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007623 "action_ids" : [68],
7624 "actions" : ["next314"],
7625 "base_default_next" : "node_82",
Daniele Morob3d199b2019-11-01 14:01:46 -07007626 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007627 "next314" : "node_82"
Daniele Morob3d199b2019-11-01 14:01:46 -07007628 },
7629 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007630 "action_id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007631 "action_const" : true,
7632 "action_data" : [],
7633 "action_entry_const" : true
7634 }
7635 },
7636 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007637 "name" : "tbl_bng_egress_downstream_encap_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007638 "id" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007639 "source_info" : {
7640 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007641 "line" : 297,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007642 "column" : 12,
7643 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007644 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007645 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007646 "match_type" : "exact",
7647 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007648 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007649 "with_counters" : false,
7650 "support_timeout" : false,
7651 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007652 "action_ids" : [54],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007653 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007654 "base_default_next" : null,
7655 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007656 "FabricEgress.bng_egress.downstream.encap_v4" : null
7657 },
7658 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007659 "action_id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007660 "action_const" : true,
7661 "action_data" : [],
7662 "action_entry_const" : true
7663 }
7664 }
7665 ],
7666 "action_profiles" : [],
7667 "conditionals" : [
7668 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007669 "name" : "node_59",
7670 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007671 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007672 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007673 "line" : 108,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007674 "column" : 33,
7675 "source_fragment" : "fabric_metadata"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007676 },
7677 "expression" : {
7678 "type" : "expression",
7679 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007680 "op" : "d2b",
7681 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007682 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007683 "type" : "field",
7684 "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007685 }
7686 }
7687 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007688 "true_next" : "tbl_packetio41",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007689 "false_next" : "node_61"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007690 },
7691 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007692 "name" : "node_61",
7693 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007694 "source_info" : {
7695 "filename" : "include/control/packetio.p4",
7696 "line" : 43,
7697 "column" : 12,
7698 "source_fragment" : "standard_metadata.egress_port == 255"
7699 },
7700 "expression" : {
7701 "type" : "expression",
7702 "value" : {
7703 "op" : "==",
7704 "left" : {
7705 "type" : "field",
7706 "value" : ["standard_metadata", "egress_port"]
7707 },
7708 "right" : {
7709 "type" : "hexstr",
7710 "value" : "0x00ff"
7711 }
7712 }
7713 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007714 "true_next" : "tbl_packetio44",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007715 "false_next" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007716 },
7717 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007718 "name" : "node_63",
7719 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007720 "source_info" : {
7721 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007722 "line" : 281,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007723 "column" : 12,
7724 "source_fragment" : "fabric_metadata.is_multicast == true ..."
7725 },
7726 "expression" : {
7727 "type" : "expression",
7728 "value" : {
7729 "op" : "and",
7730 "left" : {
7731 "type" : "expression",
7732 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007733 "op" : "d2b",
7734 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007735 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007736 "type" : "field",
7737 "value" : ["scalars", "userMetadata._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007738 }
7739 }
7740 },
7741 "right" : {
7742 "type" : "expression",
7743 "value" : {
7744 "op" : "==",
7745 "left" : {
7746 "type" : "field",
7747 "value" : ["standard_metadata", "ingress_port"]
7748 },
7749 "right" : {
7750 "type" : "field",
7751 "value" : ["standard_metadata", "egress_port"]
7752 }
7753 }
7754 }
7755 }
7756 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007757 "true_next" : "tbl_next283",
7758 "false_next" : "node_65"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007759 },
7760 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007761 "name" : "node_65",
7762 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007763 "source_info" : {
7764 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007765 "line" : 286,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007766 "column" : 12,
7767 "source_fragment" : "fabric_metadata.mpls_label == 0"
7768 },
7769 "expression" : {
7770 "type" : "expression",
7771 "value" : {
7772 "op" : "==",
7773 "left" : {
7774 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007775 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007776 },
7777 "right" : {
7778 "type" : "hexstr",
7779 "value" : "0x000000"
7780 }
7781 }
7782 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007783 "true_next" : "node_66",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007784 "false_next" : "tbl_egress_next_set_mpls"
7785 },
7786 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007787 "name" : "node_66",
7788 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007789 "source_info" : {
7790 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007791 "line" : 287,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007792 "column" : 16,
7793 "source_fragment" : "hdr.mpls.isValid()"
7794 },
7795 "expression" : {
7796 "type" : "expression",
7797 "value" : {
7798 "op" : "d2b",
7799 "left" : null,
7800 "right" : {
7801 "type" : "field",
7802 "value" : ["mpls", "$valid$"]
7803 }
7804 }
7805 },
7806 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007807 "false_next" : "node_69"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007808 },
7809 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007810 "name" : "node_69",
7811 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007812 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007813 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007814 "line" : 109,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007815 "column" : 31,
7816 "source_fragment" : "fabric_metadata"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007817 },
7818 "expression" : {
7819 "type" : "expression",
7820 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007821 "op" : "d2b",
7822 "left" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007823 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007824 "type" : "field",
7825 "value" : ["scalars", "userMetadata._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07007826 }
7827 }
7828 },
pierventre48e78822020-12-15 17:34:54 +01007829 "true_next" : "tbl_egress_next_push_outer_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007830 "false_next" : "tbl_next299"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007831 },
7832 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007833 "name" : "node_74",
7834 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007835 "source_info" : {
7836 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007837 "line" : 308,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007838 "column" : 12,
7839 "source_fragment" : "hdr.mpls.isValid()"
7840 },
7841 "expression" : {
7842 "type" : "expression",
7843 "value" : {
7844 "op" : "d2b",
7845 "left" : null,
7846 "right" : {
7847 "type" : "field",
7848 "value" : ["mpls", "$valid$"]
7849 }
7850 }
7851 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007852 "true_next" : "tbl_next309",
7853 "false_next" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007854 },
7855 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007856 "name" : "node_76",
7857 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007858 "source_info" : {
7859 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007860 "line" : 310,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007861 "column" : 16,
7862 "source_fragment" : "hdr.mpls.ttl == 0"
7863 },
7864 "expression" : {
7865 "type" : "expression",
7866 "value" : {
7867 "op" : "==",
7868 "left" : {
7869 "type" : "field",
7870 "value" : ["mpls", "ttl"]
7871 },
7872 "right" : {
7873 "type" : "hexstr",
7874 "value" : "0x00"
7875 }
7876 }
7877 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007878 "true_next" : "tbl_next310",
7879 "false_next" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007880 },
7881 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007882 "name" : "node_78",
7883 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007884 "source_info" : {
7885 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007886 "line" : 312,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007887 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07007888 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007889 },
7890 "expression" : {
7891 "type" : "expression",
7892 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07007893 "op" : "and",
7894 "left" : {
7895 "type" : "expression",
7896 "value" : {
7897 "op" : "d2b",
7898 "left" : null,
7899 "right" : {
7900 "type" : "field",
7901 "value" : ["ipv4", "$valid$"]
7902 }
7903 }
7904 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007905 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07007906 "type" : "expression",
7907 "value" : {
7908 "op" : "!=",
7909 "left" : {
7910 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007911 "value" : ["scalars", "userMetadata._fwd_type12"]
Charles Chan74ad51e2020-09-12 19:05:42 -07007912 },
7913 "right" : {
7914 "type" : "hexstr",
7915 "value" : "0x00"
7916 }
7917 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007918 }
7919 }
7920 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007921 "true_next" : "tbl_next313",
7922 "false_next" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007923 },
7924 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007925 "name" : "node_80",
7926 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007927 "source_info" : {
7928 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007929 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007930 "column" : 20,
7931 "source_fragment" : "hdr.ipv4.ttl == 0"
7932 },
7933 "expression" : {
7934 "type" : "expression",
7935 "value" : {
7936 "op" : "==",
7937 "left" : {
7938 "type" : "field",
7939 "value" : ["ipv4", "ttl"]
7940 },
7941 "right" : {
7942 "type" : "hexstr",
7943 "value" : "0x00"
7944 }
7945 }
7946 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007947 "true_next" : "tbl_next314",
7948 "false_next" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007949 },
7950 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007951 "name" : "node_82",
7952 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007953 "source_info" : {
7954 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007955 "line" : 358,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007956 "column" : 12,
7957 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
7958 },
7959 "expression" : {
7960 "type" : "expression",
7961 "value" : {
7962 "op" : "==",
7963 "left" : {
7964 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007965 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007966 },
7967 "right" : {
7968 "type" : "hexstr",
7969 "value" : "0x02"
7970 }
7971 }
7972 },
7973 "false_next" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007974 "true_next" : "node_83"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007975 },
7976 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007977 "name" : "node_83",
7978 "id" : 33,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007979 "source_info" : {
7980 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007981 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007982 "column" : 12,
7983 "source_fragment" : "hdr.ipv4.isValid()"
7984 },
7985 "expression" : {
7986 "type" : "expression",
7987 "value" : {
7988 "op" : "d2b",
7989 "left" : null,
7990 "right" : {
7991 "type" : "field",
7992 "value" : ["ipv4", "$valid$"]
7993 }
7994 }
7995 },
7996 "false_next" : null,
7997 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007998 }
7999 ]
8000 }
8001 ],
8002 "checksums" : [
8003 {
8004 "name" : "cksum",
8005 "id" : 0,
8006 "source_info" : {
8007 "filename" : "include/checksum.p4",
8008 "line" : 28,
8009 "column" : 8,
8010 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
8011 },
8012 "target" : ["ipv4", "hdr_checksum"],
8013 "type" : "generic",
8014 "calculation" : "calc",
8015 "verify" : false,
8016 "update" : true,
8017 "if_cond" : {
8018 "type" : "expression",
8019 "value" : {
8020 "op" : "d2b",
8021 "left" : null,
8022 "right" : {
8023 "type" : "field",
8024 "value" : ["ipv4", "$valid$"]
8025 }
8026 }
8027 }
8028 },
8029 {
8030 "name" : "cksum_0",
8031 "id" : 1,
8032 "source_info" : {
8033 "filename" : "include/checksum.p4",
8034 "line" : 57,
8035 "column" : 8,
8036 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
8037 },
8038 "target" : ["ipv4", "hdr_checksum"],
8039 "type" : "generic",
8040 "calculation" : "calc_0",
8041 "verify" : true,
8042 "update" : false,
8043 "if_cond" : {
8044 "type" : "expression",
8045 "value" : {
8046 "op" : "d2b",
8047 "left" : null,
8048 "right" : {
8049 "type" : "field",
8050 "value" : ["ipv4", "$valid$"]
8051 }
8052 }
8053 }
8054 }
8055 ],
8056 "force_arith" : [],
8057 "extern_instances" : [],
8058 "field_aliases" : [
8059 [
8060 "queueing_metadata.enq_timestamp",
8061 ["standard_metadata", "enq_timestamp"]
8062 ],
8063 [
8064 "queueing_metadata.enq_qdepth",
8065 ["standard_metadata", "enq_qdepth"]
8066 ],
8067 [
8068 "queueing_metadata.deq_timedelta",
8069 ["standard_metadata", "deq_timedelta"]
8070 ],
8071 [
8072 "queueing_metadata.deq_qdepth",
8073 ["standard_metadata", "deq_qdepth"]
8074 ],
8075 [
8076 "intrinsic_metadata.ingress_global_timestamp",
8077 ["standard_metadata", "ingress_global_timestamp"]
8078 ],
8079 [
8080 "intrinsic_metadata.egress_global_timestamp",
8081 ["standard_metadata", "egress_global_timestamp"]
8082 ],
8083 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008084 "intrinsic_metadata.mcast_grp",
8085 ["standard_metadata", "mcast_grp"]
8086 ],
8087 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008088 "intrinsic_metadata.egress_rid",
8089 ["standard_metadata", "egress_rid"]
8090 ],
8091 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008092 "intrinsic_metadata.priority",
8093 ["standard_metadata", "priority"]
8094 ]
8095 ],
8096 "program" : "fabric.p4",
8097 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008098 "version" : [2, 23],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008099 "compiler" : "https://github.com/p4lang/p4c"
8100 }
8101}