blob: 19a3cd96fb9bd97e463a48f973516be923705050 [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,
Daniele Moroae26f0a2021-07-08 12:53:26 +02001814 "next_state" : "parse_inner_tcp"
Wailok Shum4f51bde2021-06-11 22:48:41 +08001815 },
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,
Daniele Moroae26f0a2021-07-08 12:53:26 +02001826 "next_state" : "parse_inner_icmp"
Wailok Shum4f51bde2021-06-11 22:48:41 +08001827 },
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" : []
Daniele Moroae26f0a2021-07-08 12:53:26 +02001865 },
1866 {
1867 "name" : "parse_inner_tcp",
1868 "id" : 16,
1869 "parser_ops" : [
1870 {
1871 "parameters" : [
1872 {
1873 "type" : "regular",
1874 "value" : "inner_tcp"
1875 }
1876 ],
1877 "op" : "extract"
1878 }
1879 ],
1880 "transitions" : [
1881 {
1882 "type" : "default",
1883 "value" : null,
1884 "mask" : null,
1885 "next_state" : null
1886 }
1887 ],
1888 "transition_key" : []
1889 },
1890 {
1891 "name" : "parse_inner_icmp",
1892 "id" : 17,
1893 "parser_ops" : [
1894 {
1895 "parameters" : [
1896 {
1897 "type" : "regular",
1898 "value" : "inner_icmp"
1899 }
1900 ],
1901 "op" : "extract"
1902 }
1903 ],
1904 "transitions" : [
1905 {
1906 "type" : "default",
1907 "value" : null,
1908 "mask" : null,
1909 "next_state" : null
1910 }
1911 ],
1912 "transition_key" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001913 }
1914 ]
1915 }
1916 ],
1917 "parse_vsets" : [],
1918 "deparsers" : [
1919 {
1920 "name" : "deparser",
1921 "id" : 0,
1922 "source_info" : {
1923 "filename" : "include/parser.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001924 "line" : 285,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001925 "column" : 8,
1926 "source_fragment" : "FabricDeparser"
1927 },
Wailok Shum4f51bde2021-06-11 22:48:41 +08001928 "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 +02001929 "primitives" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001930 }
1931 ],
1932 "meter_arrays" : [
1933 {
1934 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
1935 "id" : 0,
1936 "source_info" : {
1937 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001938 "line" : 154,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001939 "column" : 33,
1940 "source_fragment" : "m_besteff"
1941 },
1942 "is_direct" : false,
1943 "size" : 8192,
1944 "rate_count" : 2,
1945 "type" : "bytes"
1946 },
1947 {
1948 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
1949 "id" : 1,
1950 "source_info" : {
1951 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001952 "line" : 155,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001953 "column" : 33,
1954 "source_fragment" : "m_prio"
1955 },
1956 "is_direct" : false,
1957 "size" : 8192,
1958 "rate_count" : 2,
1959 "type" : "bytes"
1960 }
1961 ],
1962 "counter_arrays" : [
1963 {
1964 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
1965 "id" : 0,
1966 "source_info" : {
1967 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001968 "line" : 36,
Daniele Moroce424ca2019-10-03 16:44:33 -07001969 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001970 "source_fragment" : "c_terminated"
1971 },
1972 "size" : 8192,
1973 "is_direct" : false
1974 },
1975 {
1976 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
1977 "id" : 1,
1978 "source_info" : {
1979 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001980 "line" : 37,
Daniele Moroce424ca2019-10-03 16:44:33 -07001981 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001982 "source_fragment" : "c_dropped"
1983 },
1984 "size" : 8192,
1985 "is_direct" : false
1986 },
1987 {
1988 "name" : "FabricIngress.bng_ingress.upstream.c_control",
1989 "id" : 2,
1990 "source_info" : {
1991 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001992 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001993 "column" : 39,
1994 "source_fragment" : "c_control"
1995 },
1996 "size" : 8192,
1997 "is_direct" : false
1998 },
1999 {
2000 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
2001 "id" : 3,
2002 "source_info" : {
2003 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002004 "line" : 152,
Daniele Moroce424ca2019-10-03 16:44:33 -07002005 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002006 "source_fragment" : "c_line_rx"
2007 },
2008 "size" : 8192,
2009 "is_direct" : false
2010 },
2011 {
2012 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
2013 "id" : 4,
2014 "is_direct" : true,
2015 "binding" : "FabricIngress.filtering.ingress_port_vlan",
2016 "source_info" : {
2017 "filename" : "include/control/filtering.p4",
2018 "line" : 31,
2019 "column" : 50,
2020 "source_fragment" : "ingress_port_vlan_counter"
2021 }
2022 },
2023 {
2024 "name" : "FabricIngress.filtering.fwd_classifier_counter",
2025 "id" : 5,
2026 "is_direct" : true,
2027 "binding" : "FabricIngress.filtering.fwd_classifier",
2028 "source_info" : {
2029 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002030 "line" : 87,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002031 "column" : 50,
2032 "source_fragment" : "fwd_classifier_counter"
2033 }
2034 },
2035 {
2036 "name" : "FabricIngress.forwarding.bridging_counter",
2037 "id" : 6,
2038 "is_direct" : true,
2039 "binding" : "FabricIngress.forwarding.bridging",
2040 "source_info" : {
2041 "filename" : "include/control/forwarding.p4",
2042 "line" : 36,
2043 "column" : 50,
2044 "source_fragment" : "bridging_counter"
2045 }
2046 },
2047 {
2048 "name" : "FabricIngress.forwarding.mpls_counter",
2049 "id" : 7,
2050 "is_direct" : true,
2051 "binding" : "FabricIngress.forwarding.mpls",
2052 "source_info" : {
2053 "filename" : "include/control/forwarding.p4",
2054 "line" : 63,
2055 "column" : 50,
2056 "source_fragment" : "mpls_counter"
2057 }
2058 },
2059 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002060 "name" : "FabricIngress.pre_next.next_mpls_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002061 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002062 "is_direct" : true,
Wailok Shumfb7e7872021-06-18 17:30:08 +08002063 "binding" : "FabricIngress.pre_next.next_mpls",
2064 "source_info" : {
2065 "filename" : "include/control/pre_next.p4",
2066 "line" : 29,
2067 "column" : 50,
2068 "source_fragment" : "next_mpls_counter"
2069 }
2070 },
2071 {
2072 "name" : "FabricIngress.pre_next.next_vlan_counter",
2073 "id" : 9,
2074 "is_direct" : true,
2075 "binding" : "FabricIngress.pre_next.next_vlan",
2076 "source_info" : {
2077 "filename" : "include/control/pre_next.p4",
2078 "line" : 54,
2079 "column" : 50,
2080 "source_fragment" : "next_vlan_counter"
2081 }
2082 },
2083 {
2084 "name" : "FabricIngress.acl.acl_counter",
2085 "id" : 10,
2086 "is_direct" : true,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002087 "binding" : "FabricIngress.acl.acl",
2088 "source_info" : {
2089 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002090 "line" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002091 "column" : 50,
2092 "source_fragment" : "acl_counter"
2093 }
2094 },
2095 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002096 "name" : "FabricIngress.next.hashed_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002097 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002098 "is_direct" : true,
2099 "binding" : "FabricIngress.next.hashed",
2100 "source_info" : {
2101 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002102 "line" : 126,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002103 "column" : 50,
2104 "source_fragment" : "hashed_counter"
2105 }
2106 },
2107 {
2108 "name" : "FabricIngress.next.multicast_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002109 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002110 "is_direct" : true,
2111 "binding" : "FabricIngress.next.multicast",
2112 "source_info" : {
2113 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002114 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002115 "column" : 50,
2116 "source_fragment" : "multicast_counter"
2117 }
2118 },
2119 {
2120 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002121 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002122 "source_info" : {
2123 "filename" : "include/control/port_counter.p4",
2124 "line" : 26,
2125 "column" : 48,
2126 "source_fragment" : "egress_port_counter"
2127 },
2128 "size" : 511,
2129 "is_direct" : false
2130 },
2131 {
2132 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002133 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002134 "source_info" : {
2135 "filename" : "include/control/port_counter.p4",
2136 "line" : 27,
2137 "column" : 48,
2138 "source_fragment" : "ingress_port_counter"
2139 },
2140 "size" : 511,
2141 "is_direct" : false
2142 },
2143 {
2144 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002145 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002146 "source_info" : {
2147 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002148 "line" : 267,
Daniele Moroce424ca2019-10-03 16:44:33 -07002149 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002150 "source_fragment" : "c_line_tx"
2151 },
2152 "size" : 8192,
2153 "is_direct" : false
2154 },
2155 {
2156 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002157 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002158 "is_direct" : true,
2159 "binding" : "FabricEgress.egress_next.egress_vlan",
2160 "source_info" : {
2161 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002162 "line" : 248,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002163 "column" : 50,
2164 "source_fragment" : "egress_vlan_counter"
2165 }
2166 }
2167 ],
2168 "register_arrays" : [],
2169 "calculations" : [
2170 {
2171 "name" : "calc",
2172 "id" : 0,
2173 "source_info" : {
2174 "filename" : "include/checksum.p4",
2175 "line" : 28,
2176 "column" : 8,
2177 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
2178 },
2179 "algo" : "csum16",
2180 "input" : [
2181 {
2182 "type" : "field",
2183 "value" : ["ipv4", "version"]
2184 },
2185 {
2186 "type" : "field",
2187 "value" : ["ipv4", "ihl"]
2188 },
2189 {
2190 "type" : "field",
2191 "value" : ["ipv4", "dscp"]
2192 },
2193 {
2194 "type" : "field",
2195 "value" : ["ipv4", "ecn"]
2196 },
2197 {
2198 "type" : "field",
2199 "value" : ["ipv4", "total_len"]
2200 },
2201 {
2202 "type" : "field",
2203 "value" : ["ipv4", "identification"]
2204 },
2205 {
2206 "type" : "field",
2207 "value" : ["ipv4", "flags"]
2208 },
2209 {
2210 "type" : "field",
2211 "value" : ["ipv4", "frag_offset"]
2212 },
2213 {
2214 "type" : "field",
2215 "value" : ["ipv4", "ttl"]
2216 },
2217 {
2218 "type" : "field",
2219 "value" : ["ipv4", "protocol"]
2220 },
2221 {
2222 "type" : "field",
2223 "value" : ["ipv4", "src_addr"]
2224 },
2225 {
2226 "type" : "field",
2227 "value" : ["ipv4", "dst_addr"]
2228 }
2229 ]
2230 },
2231 {
2232 "name" : "calc_0",
2233 "id" : 1,
2234 "source_info" : {
2235 "filename" : "include/checksum.p4",
2236 "line" : 57,
2237 "column" : 8,
2238 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
2239 },
2240 "algo" : "csum16",
2241 "input" : [
2242 {
2243 "type" : "field",
2244 "value" : ["ipv4", "version"]
2245 },
2246 {
2247 "type" : "field",
2248 "value" : ["ipv4", "ihl"]
2249 },
2250 {
2251 "type" : "field",
2252 "value" : ["ipv4", "dscp"]
2253 },
2254 {
2255 "type" : "field",
2256 "value" : ["ipv4", "ecn"]
2257 },
2258 {
2259 "type" : "field",
2260 "value" : ["ipv4", "total_len"]
2261 },
2262 {
2263 "type" : "field",
2264 "value" : ["ipv4", "identification"]
2265 },
2266 {
2267 "type" : "field",
2268 "value" : ["ipv4", "flags"]
2269 },
2270 {
2271 "type" : "field",
2272 "value" : ["ipv4", "frag_offset"]
2273 },
2274 {
2275 "type" : "field",
2276 "value" : ["ipv4", "ttl"]
2277 },
2278 {
2279 "type" : "field",
2280 "value" : ["ipv4", "protocol"]
2281 },
2282 {
2283 "type" : "field",
2284 "value" : ["ipv4", "src_addr"]
2285 },
2286 {
2287 "type" : "field",
2288 "value" : ["ipv4", "dst_addr"]
2289 }
2290 ]
2291 }
2292 ],
2293 "learn_lists" : [],
2294 "actions" : [
2295 {
2296 "name" : "nop",
2297 "id" : 0,
2298 "runtime_data" : [],
2299 "primitives" : []
2300 },
2301 {
2302 "name" : "nop",
2303 "id" : 1,
2304 "runtime_data" : [],
2305 "primitives" : []
2306 },
2307 {
2308 "name" : "nop",
2309 "id" : 2,
2310 "runtime_data" : [],
2311 "primitives" : []
2312 },
2313 {
2314 "name" : "nop",
2315 "id" : 3,
2316 "runtime_data" : [],
2317 "primitives" : []
2318 },
2319 {
2320 "name" : "nop",
2321 "id" : 4,
2322 "runtime_data" : [],
2323 "primitives" : []
2324 },
2325 {
2326 "name" : "nop",
2327 "id" : 5,
2328 "runtime_data" : [],
2329 "primitives" : []
2330 },
2331 {
2332 "name" : "nop",
2333 "id" : 6,
2334 "runtime_data" : [],
2335 "primitives" : []
2336 },
2337 {
2338 "name" : "nop",
2339 "id" : 7,
2340 "runtime_data" : [],
2341 "primitives" : []
2342 },
2343 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002344 "name" : "nop",
Daniele Moro5a2de712019-09-24 14:34:07 -07002345 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002346 "runtime_data" : [],
Wailok Shumfb7e7872021-06-18 17:30:08 +08002347 "primitives" : []
2348 },
2349 {
2350 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
2351 "id" : 9,
2352 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002353 "primitives" : [
2354 {
2355 "op" : "assign",
2356 "parameters" : [
2357 {
2358 "type" : "field",
2359 "value" : ["standard_metadata", "egress_spec"]
2360 },
2361 {
2362 "type" : "hexstr",
2363 "value" : "0x00ff"
2364 }
2365 ],
2366 "source_info" : {
2367 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002368 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002369 "column" : 8,
2370 "source_fragment" : "smeta.egress_spec = 255"
2371 }
2372 },
2373 {
Daniele Moro0cecfe12019-12-13 17:24:33 -08002374 "op" : "assign",
2375 "parameters" : [
2376 {
2377 "type" : "field",
2378 "value" : ["standard_metadata", "mcast_grp"]
2379 },
2380 {
2381 "type" : "hexstr",
2382 "value" : "0x0000"
2383 }
2384 ],
2385 "source_info" : {
2386 "filename" : "include/bng.p4",
2387 "line" : 47,
2388 "column" : 8,
2389 "source_fragment" : "smeta.mcast_grp = 0"
2390 }
2391 },
2392 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002393 "op" : "count",
2394 "parameters" : [
2395 {
2396 "type" : "counter_array",
2397 "value" : "FabricIngress.bng_ingress.upstream.c_control"
2398 },
2399 {
2400 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002401 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002402 }
2403 ],
2404 "source_info" : {
2405 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002406 "line" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002407 "column" : 8,
2408 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
2409 }
2410 }
2411 ]
2412 },
2413 {
2414 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002415 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002416 "runtime_data" : [],
2417 "primitives" : [
2418 {
2419 "op" : "assign",
2420 "parameters" : [
2421 {
2422 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002423 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002424 },
2425 {
2426 "type" : "hexstr",
2427 "value" : "0x00"
2428 }
2429 ],
2430 "source_info" : {
2431 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07002432 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002433 "column" : 36,
2434 "source_fragment" : "2w0x0; ..."
2435 }
2436 },
2437 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002438 "op" : "mark_to_drop",
2439 "parameters" : [
2440 {
2441 "type" : "header",
2442 "value" : "standard_metadata"
2443 }
2444 ],
2445 "source_info" : {
2446 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002447 "line" : 77,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002448 "column" : 8,
2449 "source_fragment" : "mark_to_drop(smeta)"
2450 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002451 }
2452 ]
2453 },
2454 {
2455 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002456 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002457 "runtime_data" : [],
2458 "primitives" : [
2459 {
2460 "op" : "assign",
2461 "parameters" : [
2462 {
2463 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002464 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002465 },
2466 {
2467 "type" : "hexstr",
2468 "value" : "0x0800"
2469 }
2470 ],
2471 "source_info" : {
2472 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002473 "line" : 132,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002474 "column" : 31,
2475 "source_fragment" : "0x0800; ..."
2476 }
2477 },
2478 {
2479 "op" : "remove_header",
2480 "parameters" : [
2481 {
2482 "type" : "header",
2483 "value" : "pppoe"
2484 }
2485 ],
2486 "source_info" : {
2487 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002488 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002489 "column" : 8,
2490 "source_fragment" : "hdr.pppoe.setInvalid()"
2491 }
2492 },
2493 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002494 "op" : "count",
2495 "parameters" : [
2496 {
2497 "type" : "counter_array",
2498 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
2499 },
2500 {
2501 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002502 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002503 }
2504 ],
2505 "source_info" : {
2506 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002507 "line" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002508 "column" : 8,
2509 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
2510 }
2511 }
2512 ]
2513 },
2514 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002515 "name" : "FabricIngress.bng_ingress.downstream.set_session",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002516 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002517 "runtime_data" : [
2518 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002519 "name" : "pppoe_session_id",
2520 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002521 }
2522 ],
2523 "primitives" : [
2524 {
2525 "op" : "assign",
2526 "parameters" : [
2527 {
2528 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002529 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002530 },
2531 {
2532 "type" : "hexstr",
2533 "value" : "0x02"
2534 }
2535 ],
2536 "source_info" : {
2537 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07002538 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002539 "column" : 39,
2540 "source_fragment" : "2w0x2;; ..."
2541 }
2542 },
2543 {
2544 "op" : "assign",
2545 "parameters" : [
2546 {
2547 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002548 "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002549 },
2550 {
2551 "type" : "runtime_data",
2552 "value" : 0
2553 }
2554 ],
2555 "source_info" : {
2556 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002557 "line" : 159,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002558 "column" : 35,
2559 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002560 }
2561 },
2562 {
2563 "op" : "count",
2564 "parameters" : [
2565 {
2566 "type" : "counter_array",
2567 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
2568 },
2569 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002570 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002571 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002572 }
2573 ],
2574 "source_info" : {
2575 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002576 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002577 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002578 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002579 }
2580 }
2581 ]
2582 },
2583 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002584 "name" : "FabricIngress.bng_ingress.downstream.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002585 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002586 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002587 "primitives" : [
2588 {
2589 "op" : "assign",
2590 "parameters" : [
2591 {
2592 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002593 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002594 },
2595 {
2596 "type" : "hexstr",
2597 "value" : "0x02"
2598 }
2599 ],
2600 "source_info" : {
2601 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07002602 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002603 "column" : 39,
2604 "source_fragment" : "2w0x2;; ..."
2605 }
2606 },
2607 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002608 "op" : "count",
2609 "parameters" : [
2610 {
2611 "type" : "counter_array",
2612 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
2613 },
2614 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002615 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002616 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002617 }
2618 ],
2619 "source_info" : {
2620 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002621 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002622 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002623 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002624 }
2625 },
2626 {
2627 "op" : "mark_to_drop",
2628 "parameters" : [
2629 {
2630 "type" : "header",
2631 "value" : "standard_metadata"
2632 }
2633 ],
2634 "source_info" : {
2635 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002636 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002637 "column" : 8,
2638 "source_fragment" : "mark_to_drop(smeta)"
2639 }
2640 }
2641 ]
2642 },
2643 {
2644 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro5a2de712019-09-24 14:34:07 -07002645 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002646 "runtime_data" : [],
2647 "primitives" : []
2648 },
2649 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002650 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
Daniele Moro5a2de712019-09-24 14:34:07 -07002651 "id" : 15,
Wailok Shumfb7e7872021-06-18 17:30:08 +08002652 "runtime_data" : [],
2653 "primitives" : []
2654 },
2655 {
2656 "name" : "FabricIngress.bng_ingress.set_line",
2657 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002658 "runtime_data" : [
2659 {
2660 "name" : "line_id",
2661 "bitwidth" : 32
2662 }
2663 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002664 "primitives" : [
2665 {
Daniele Moroe22b5742019-06-28 15:32:37 -07002666 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002667 "parameters" : [
2668 {
Daniele Moroe22b5742019-06-28 15:32:37 -07002669 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002670 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002671 },
2672 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002673 "type" : "runtime_data",
2674 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002675 }
2676 ],
2677 "source_info" : {
2678 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002679 "line" : 320,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002680 "column" : 30,
2681 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002682 }
2683 }
2684 ]
2685 },
2686 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002687 "name" : "FabricIngress.filtering.deny",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002688 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002689 "runtime_data" : [],
2690 "primitives" : [
2691 {
2692 "op" : "assign",
2693 "parameters" : [
2694 {
2695 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002696 "value" : ["scalars", "userMetadata._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002697 },
2698 {
2699 "type" : "expression",
2700 "value" : {
2701 "type" : "expression",
2702 "value" : {
2703 "op" : "b2d",
2704 "left" : null,
2705 "right" : {
2706 "type" : "bool",
2707 "value" : true
2708 }
2709 }
2710 }
2711 }
2712 ],
2713 "source_info" : {
2714 "filename" : "include/control/filtering.p4",
2715 "line" : 36,
2716 "column" : 40,
2717 "source_fragment" : "= true; ..."
2718 }
2719 },
2720 {
2721 "op" : "assign",
2722 "parameters" : [
2723 {
2724 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002725 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002726 },
2727 {
2728 "type" : "expression",
2729 "value" : {
2730 "type" : "expression",
2731 "value" : {
2732 "op" : "b2d",
2733 "left" : null,
2734 "right" : {
2735 "type" : "bool",
2736 "value" : true
2737 }
2738 }
2739 }
2740 }
2741 ],
2742 "source_info" : {
2743 "filename" : "include/control/filtering.p4",
2744 "line" : 37,
2745 "column" : 34,
2746 "source_fragment" : "= true; ..."
2747 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002748 },
2749 {
2750 "op" : "assign",
2751 "parameters" : [
2752 {
2753 "type" : "field",
2754 "value" : ["scalars", "userMetadata._port_type27"]
2755 },
2756 {
2757 "type" : "hexstr",
2758 "value" : "0x00"
2759 }
2760 ],
2761 "source_info" : {
2762 "filename" : "include/control/../define.p4",
2763 "line" : 119,
2764 "column" : 38,
2765 "source_fragment" : "0x0; ..."
2766 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002767 }
2768 ]
2769 },
2770 {
2771 "name" : "FabricIngress.filtering.permit",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002772 "id" : 18,
2773 "runtime_data" : [
2774 {
2775 "name" : "port_type",
2776 "bitwidth" : 2
2777 }
2778 ],
2779 "primitives" : [
2780 {
2781 "op" : "assign",
2782 "parameters" : [
2783 {
2784 "type" : "field",
2785 "value" : ["scalars", "userMetadata._port_type27"]
2786 },
2787 {
2788 "type" : "runtime_data",
2789 "value" : 0
2790 }
2791 ],
2792 "source_info" : {
2793 "filename" : "include/control/filtering.p4",
2794 "line" : 44,
2795 "column" : 34,
2796 "source_fragment" : "= port_type; ..."
2797 }
2798 }
2799 ]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002800 },
2801 {
2802 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002803 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002804 "runtime_data" : [
2805 {
2806 "name" : "vlan_id",
2807 "bitwidth" : 12
Wailok Shumfb7e7872021-06-18 17:30:08 +08002808 },
2809 {
2810 "name" : "port_type",
2811 "bitwidth" : 2
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002812 }
2813 ],
2814 "primitives" : [
2815 {
2816 "op" : "assign",
2817 "parameters" : [
2818 {
2819 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002820 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002821 },
2822 {
2823 "type" : "runtime_data",
2824 "value" : 0
2825 }
2826 ],
2827 "source_info" : {
2828 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002829 "line" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002830 "column" : 32,
2831 "source_fragment" : "= vlan_id; ..."
2832 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002833 },
2834 {
2835 "op" : "assign",
2836 "parameters" : [
2837 {
2838 "type" : "field",
2839 "value" : ["scalars", "userMetadata._port_type27"]
2840 },
2841 {
2842 "type" : "runtime_data",
2843 "value" : 1
2844 }
2845 ],
2846 "source_info" : {
2847 "filename" : "include/control/filtering.p4",
2848 "line" : 44,
2849 "column" : 34,
2850 "source_fragment" : "= port_type; ..."
2851 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002852 }
2853 ]
2854 },
2855 {
2856 "name" : "FabricIngress.filtering.set_forwarding_type",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002857 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002858 "runtime_data" : [
2859 {
2860 "name" : "fwd_type",
2861 "bitwidth" : 3
2862 }
2863 ],
2864 "primitives" : [
2865 {
2866 "op" : "assign",
2867 "parameters" : [
2868 {
2869 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002870 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002871 },
2872 {
2873 "type" : "runtime_data",
2874 "value" : 0
2875 }
2876 ],
2877 "source_info" : {
2878 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002879 "line" : 90,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002880 "column" : 33,
2881 "source_fragment" : "= fwd_type; ..."
2882 }
2883 }
2884 ]
2885 },
2886 {
2887 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002888 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002889 "runtime_data" : [
2890 {
2891 "name" : "next_id",
2892 "bitwidth" : 32
2893 }
2894 ],
2895 "primitives" : [
2896 {
2897 "op" : "assign",
2898 "parameters" : [
2899 {
2900 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002901 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002902 },
2903 {
2904 "type" : "runtime_data",
2905 "value" : 0
2906 }
2907 ],
2908 "source_info" : {
2909 "filename" : "include/control/forwarding.p4",
2910 "line" : 30,
2911 "column" : 32,
2912 "source_fragment" : "= next_id; ..."
2913 }
2914 }
2915 ]
2916 },
2917 {
2918 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002919 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002920 "runtime_data" : [
2921 {
2922 "name" : "next_id",
2923 "bitwidth" : 32
2924 }
2925 ],
2926 "primitives" : [
2927 {
2928 "op" : "assign",
2929 "parameters" : [
2930 {
2931 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002932 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002933 },
2934 {
2935 "type" : "hexstr",
2936 "value" : "0x000000"
2937 }
2938 ],
2939 "source_info" : {
2940 "filename" : "include/control/forwarding.p4",
2941 "line" : 66,
2942 "column" : 35,
2943 "source_fragment" : "= 0; ..."
2944 }
2945 },
2946 {
2947 "op" : "assign",
2948 "parameters" : [
2949 {
2950 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002951 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002952 },
2953 {
2954 "type" : "runtime_data",
2955 "value" : 0
2956 }
2957 ],
2958 "source_info" : {
2959 "filename" : "include/control/forwarding.p4",
2960 "line" : 30,
2961 "column" : 32,
2962 "source_fragment" : "= next_id; ..."
2963 }
2964 }
2965 ]
2966 },
2967 {
2968 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002969 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002970 "runtime_data" : [
2971 {
2972 "name" : "next_id",
2973 "bitwidth" : 32
2974 }
2975 ],
2976 "primitives" : [
2977 {
2978 "op" : "assign",
2979 "parameters" : [
2980 {
2981 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002982 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002983 },
2984 {
2985 "type" : "runtime_data",
2986 "value" : 0
2987 }
2988 ],
2989 "source_info" : {
2990 "filename" : "include/control/forwarding.p4",
2991 "line" : 30,
2992 "column" : 32,
2993 "source_fragment" : "= next_id; ..."
2994 }
2995 }
2996 ]
2997 },
2998 {
2999 "name" : "FabricIngress.forwarding.nop_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003000 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003001 "runtime_data" : [],
3002 "primitives" : []
3003 },
3004 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003005 "name" : "FabricIngress.pre_next.set_mpls_label",
3006 "id" : 25,
3007 "runtime_data" : [
3008 {
3009 "name" : "label",
3010 "bitwidth" : 20
3011 }
3012 ],
3013 "primitives" : [
3014 {
3015 "op" : "assign",
3016 "parameters" : [
3017 {
3018 "type" : "field",
3019 "value" : ["scalars", "userMetadata._mpls_label8"]
3020 },
3021 {
3022 "type" : "runtime_data",
3023 "value" : 0
3024 }
3025 ],
3026 "source_info" : {
3027 "filename" : "include/control/pre_next.p4",
3028 "line" : 32,
3029 "column" : 35,
3030 "source_fragment" : "= label; ..."
3031 }
3032 }
3033 ]
3034 },
3035 {
3036 "name" : "FabricIngress.pre_next.set_vlan",
3037 "id" : 26,
3038 "runtime_data" : [
3039 {
3040 "name" : "vlan_id",
3041 "bitwidth" : 12
3042 }
3043 ],
3044 "primitives" : [
3045 {
3046 "op" : "assign",
3047 "parameters" : [
3048 {
3049 "type" : "field",
3050 "value" : ["scalars", "userMetadata._vlan_id1"]
3051 },
3052 {
3053 "type" : "runtime_data",
3054 "value" : 0
3055 }
3056 ],
3057 "source_info" : {
3058 "filename" : "include/control/pre_next.p4",
3059 "line" : 57,
3060 "column" : 32,
3061 "source_fragment" : "= vlan_id; ..."
3062 }
3063 }
3064 ]
3065 },
3066 {
3067 "name" : "FabricIngress.pre_next.set_double_vlan",
3068 "id" : 27,
3069 "runtime_data" : [
3070 {
3071 "name" : "outer_vlan_id",
3072 "bitwidth" : 12
3073 },
3074 {
3075 "name" : "inner_vlan_id",
3076 "bitwidth" : 12
3077 }
3078 ],
3079 "primitives" : [
3080 {
3081 "op" : "assign",
3082 "parameters" : [
3083 {
3084 "type" : "field",
3085 "value" : ["scalars", "userMetadata._vlan_id1"]
3086 },
3087 {
3088 "type" : "runtime_data",
3089 "value" : 0
3090 }
3091 ],
3092 "source_info" : {
3093 "filename" : "include/control/pre_next.p4",
3094 "line" : 57,
3095 "column" : 32,
3096 "source_fragment" : "= vlan_id; ..."
3097 }
3098 },
3099 {
3100 "op" : "assign",
3101 "parameters" : [
3102 {
3103 "type" : "field",
3104 "value" : ["scalars", "userMetadata._push_double_vlan4"]
3105 },
3106 {
3107 "type" : "expression",
3108 "value" : {
3109 "type" : "expression",
3110 "value" : {
3111 "op" : "b2d",
3112 "left" : null,
3113 "right" : {
3114 "type" : "bool",
3115 "value" : true
3116 }
3117 }
3118 }
3119 }
3120 ],
3121 "source_info" : {
3122 "filename" : "include/control/pre_next.p4",
3123 "line" : 64,
3124 "column" : 41,
3125 "source_fragment" : "= true; ..."
3126 }
3127 },
3128 {
3129 "op" : "assign",
3130 "parameters" : [
3131 {
3132 "type" : "field",
3133 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
3134 },
3135 {
3136 "type" : "runtime_data",
3137 "value" : 1
3138 }
3139 ],
3140 "source_info" : {
3141 "filename" : "include/control/pre_next.p4",
3142 "line" : 65,
3143 "column" : 38,
3144 "source_fragment" : "= inner_vlan_id; ..."
3145 }
3146 },
3147 {
3148 "op" : "assign",
3149 "parameters" : [
3150 {
3151 "type" : "field",
3152 "value" : ["scalars", "userMetadata._bng_s_tag25"]
3153 },
3154 {
3155 "type" : "runtime_data",
3156 "value" : 0
3157 }
3158 ],
3159 "source_info" : {
3160 "filename" : "include/control/pre_next.p4",
3161 "line" : 67,
3162 "column" : 34,
3163 "source_fragment" : "= outer_vlan_id; ..."
3164 }
3165 },
3166 {
3167 "op" : "assign",
3168 "parameters" : [
3169 {
3170 "type" : "field",
3171 "value" : ["scalars", "userMetadata._bng_c_tag26"]
3172 },
3173 {
3174 "type" : "runtime_data",
3175 "value" : 1
3176 }
3177 ],
3178 "source_info" : {
3179 "filename" : "include/control/pre_next.p4",
3180 "line" : 68,
3181 "column" : 34,
3182 "source_fragment" : "= inner_vlan_id; ..."
3183 }
3184 }
3185 ]
3186 },
3187 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003188 "name" : "FabricIngress.acl.set_next_id_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003189 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003190 "runtime_data" : [
3191 {
3192 "name" : "next_id",
3193 "bitwidth" : 32
3194 }
3195 ],
3196 "primitives" : [
3197 {
3198 "op" : "assign",
3199 "parameters" : [
3200 {
3201 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003202 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003203 },
3204 {
3205 "type" : "runtime_data",
3206 "value" : 0
3207 }
3208 ],
3209 "source_info" : {
3210 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003211 "line" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003212 "column" : 32,
3213 "source_fragment" : "= next_id; ..."
3214 }
3215 }
3216 ]
3217 },
3218 {
3219 "name" : "FabricIngress.acl.punt_to_cpu",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003220 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003221 "runtime_data" : [],
3222 "primitives" : [
3223 {
3224 "op" : "assign",
3225 "parameters" : [
3226 {
3227 "type" : "field",
3228 "value" : ["standard_metadata", "egress_spec"]
3229 },
3230 {
3231 "type" : "hexstr",
3232 "value" : "0x00ff"
3233 }
3234 ],
3235 "source_info" : {
3236 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003237 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003238 "column" : 8,
3239 "source_fragment" : "standard_metadata.egress_spec = 255"
3240 }
3241 },
3242 {
3243 "op" : "assign",
3244 "parameters" : [
3245 {
3246 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003247 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003248 },
3249 {
3250 "type" : "expression",
3251 "value" : {
3252 "type" : "expression",
3253 "value" : {
3254 "op" : "b2d",
3255 "left" : null,
3256 "right" : {
3257 "type" : "bool",
3258 "value" : true
3259 }
3260 }
3261 }
3262 }
3263 ],
3264 "source_info" : {
3265 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003266 "line" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003267 "column" : 34,
3268 "source_fragment" : "= true; ..."
3269 }
3270 }
3271 ]
3272 },
3273 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003274 "name" : "FabricIngress.acl.set_clone_session_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003275 "id" : 30,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003276 "runtime_data" : [
3277 {
3278 "name" : "clone_id",
3279 "bitwidth" : 32
3280 }
3281 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003282 "primitives" : [
3283 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003284 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003285 "parameters" : [
3286 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003287 "type" : "runtime_data",
3288 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003289 },
3290 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003291 "type" : "hexstr",
3292 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003293 }
3294 ],
3295 "source_info" : {
3296 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003297 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003298 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003299 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003300 }
3301 }
3302 ]
3303 },
3304 {
3305 "name" : "FabricIngress.acl.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003306 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003307 "runtime_data" : [],
3308 "primitives" : [
3309 {
3310 "op" : "mark_to_drop",
3311 "parameters" : [
3312 {
3313 "type" : "header",
3314 "value" : "standard_metadata"
3315 }
3316 ],
3317 "source_info" : {
3318 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003319 "line" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003320 "column" : 8,
3321 "source_fragment" : "mark_to_drop(standard_metadata)"
3322 }
3323 },
3324 {
3325 "op" : "assign",
3326 "parameters" : [
3327 {
3328 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003329 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003330 },
3331 {
3332 "type" : "expression",
3333 "value" : {
3334 "type" : "expression",
3335 "value" : {
3336 "op" : "b2d",
3337 "left" : null,
3338 "right" : {
3339 "type" : "bool",
3340 "value" : true
3341 }
3342 }
3343 }
3344 }
3345 ],
3346 "source_info" : {
3347 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003348 "line" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003349 "column" : 34,
3350 "source_fragment" : "= true; ..."
3351 }
3352 }
3353 ]
3354 },
3355 {
3356 "name" : "FabricIngress.acl.nop_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003357 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003358 "runtime_data" : [],
3359 "primitives" : []
3360 },
3361 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003362 "name" : "FabricIngress.next.output_hashed",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003363 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003364 "runtime_data" : [
3365 {
3366 "name" : "port_num",
3367 "bitwidth" : 9
3368 }
3369 ],
3370 "primitives" : [
3371 {
3372 "op" : "assign",
3373 "parameters" : [
3374 {
3375 "type" : "field",
3376 "value" : ["standard_metadata", "egress_spec"]
3377 },
3378 {
3379 "type" : "runtime_data",
3380 "value" : 0
3381 }
3382 ],
3383 "source_info" : {
3384 "filename" : "include/control/next.p4",
3385 "line" : 31,
3386 "column" : 5,
3387 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3388 }
3389 }
3390 ]
3391 },
3392 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003393 "name" : "FabricIngress.next.routing_hashed",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003394 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003395 "runtime_data" : [
3396 {
3397 "name" : "port_num",
3398 "bitwidth" : 9
3399 },
3400 {
3401 "name" : "smac",
3402 "bitwidth" : 48
3403 },
3404 {
3405 "name" : "dmac",
3406 "bitwidth" : 48
3407 }
3408 ],
3409 "primitives" : [
3410 {
3411 "op" : "assign",
3412 "parameters" : [
3413 {
3414 "type" : "field",
3415 "value" : ["ethernet", "src_addr"]
3416 },
3417 {
3418 "type" : "runtime_data",
3419 "value" : 1
3420 }
3421 ],
3422 "source_info" : {
3423 "filename" : "include/control/next.p4",
3424 "line" : 36,
3425 "column" : 8,
3426 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3427 }
3428 },
3429 {
3430 "op" : "assign",
3431 "parameters" : [
3432 {
3433 "type" : "field",
3434 "value" : ["ethernet", "dst_addr"]
3435 },
3436 {
3437 "type" : "runtime_data",
3438 "value" : 2
3439 }
3440 ],
3441 "source_info" : {
3442 "filename" : "include/control/next.p4",
3443 "line" : 41,
3444 "column" : 8,
3445 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3446 }
3447 },
3448 {
3449 "op" : "assign",
3450 "parameters" : [
3451 {
3452 "type" : "field",
3453 "value" : ["standard_metadata", "egress_spec"]
3454 },
3455 {
3456 "type" : "runtime_data",
3457 "value" : 0
3458 }
3459 ],
3460 "source_info" : {
3461 "filename" : "include/control/next.p4",
3462 "line" : 31,
3463 "column" : 5,
3464 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3465 }
3466 }
3467 ]
3468 },
3469 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003470 "name" : "FabricIngress.next.set_mcast_group_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003471 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003472 "runtime_data" : [
3473 {
3474 "name" : "group_id",
3475 "bitwidth" : 16
3476 }
3477 ],
3478 "primitives" : [
3479 {
3480 "op" : "assign",
3481 "parameters" : [
3482 {
3483 "type" : "field",
3484 "value" : ["standard_metadata", "mcast_grp"]
3485 },
3486 {
3487 "type" : "runtime_data",
3488 "value" : 0
3489 }
3490 ],
3491 "source_info" : {
3492 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003493 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003494 "column" : 8,
3495 "source_fragment" : "standard_metadata.mcast_grp = group_id"
3496 }
3497 },
3498 {
3499 "op" : "assign",
3500 "parameters" : [
3501 {
3502 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003503 "value" : ["scalars", "userMetadata._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003504 },
3505 {
3506 "type" : "expression",
3507 "value" : {
3508 "type" : "expression",
3509 "value" : {
3510 "op" : "b2d",
3511 "left" : null,
3512 "right" : {
3513 "type" : "bool",
3514 "value" : true
3515 }
3516 }
3517 }
3518 }
3519 ],
3520 "source_info" : {
3521 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003522 "line" : 167,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003523 "column" : 37,
3524 "source_fragment" : "= true; ..."
3525 }
3526 }
3527 ]
3528 },
3529 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003530 "name" : "packetio25",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003531 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003532 "runtime_data" : [],
3533 "primitives" : [
3534 {
3535 "op" : "assign",
3536 "parameters" : [
3537 {
3538 "type" : "field",
3539 "value" : ["standard_metadata", "egress_spec"]
3540 },
3541 {
3542 "type" : "field",
3543 "value" : ["packet_out", "egress_port"]
3544 }
3545 ],
3546 "source_info" : {
3547 "filename" : "include/control/packetio.p4",
3548 "line" : 25,
3549 "column" : 12,
3550 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
3551 }
3552 },
3553 {
3554 "op" : "remove_header",
3555 "parameters" : [
3556 {
3557 "type" : "header",
3558 "value" : "packet_out"
3559 }
3560 ],
3561 "source_info" : {
3562 "filename" : "include/control/packetio.p4",
3563 "line" : 26,
3564 "column" : 12,
3565 "source_fragment" : "hdr.packet_out.setInvalid()"
3566 }
3567 },
3568 {
3569 "op" : "assign",
3570 "parameters" : [
3571 {
3572 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003573 "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003574 },
3575 {
3576 "type" : "expression",
3577 "value" : {
3578 "type" : "expression",
3579 "value" : {
3580 "op" : "b2d",
3581 "left" : null,
3582 "right" : {
3583 "type" : "bool",
3584 "value" : true
3585 }
3586 }
3587 }
3588 }
3589 ],
3590 "source_info" : {
3591 "filename" : "include/control/packetio.p4",
3592 "line" : 27,
3593 "column" : 53,
3594 "source_fragment" : "= true; ..."
3595 }
3596 },
3597 {
3598 "op" : "exit",
3599 "parameters" : [],
3600 "source_info" : {
3601 "filename" : "include/control/packetio.p4",
3602 "line" : 29,
3603 "column" : 12,
3604 "source_fragment" : "exit"
3605 }
3606 }
3607 ]
3608 },
3609 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003610 "name" : "filtering113",
3611 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003612 "runtime_data" : [],
3613 "primitives" : [
3614 {
3615 "op" : "assign",
3616 "parameters" : [
3617 {
3618 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003619 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003620 },
3621 {
3622 "type" : "field",
3623 "value" : ["vlan_tag", "vlan_id"]
3624 }
3625 ],
3626 "source_info" : {
3627 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003628 "line" : 113,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003629 "column" : 36,
3630 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
3631 }
3632 },
3633 {
3634 "op" : "assign",
3635 "parameters" : [
3636 {
3637 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003638 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003639 },
3640 {
3641 "type" : "field",
3642 "value" : ["vlan_tag", "pri"]
3643 }
3644 ],
3645 "source_info" : {
3646 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003647 "line" : 114,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003648 "column" : 37,
3649 "source_fragment" : "= hdr.vlan_tag.pri; ..."
3650 }
3651 },
3652 {
3653 "op" : "assign",
3654 "parameters" : [
3655 {
3656 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003657 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003658 },
3659 {
3660 "type" : "field",
3661 "value" : ["vlan_tag", "cfi"]
3662 }
3663 ],
3664 "source_info" : {
3665 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003666 "line" : 115,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003667 "column" : 37,
3668 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
3669 }
3670 }
3671 ]
3672 },
3673 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003674 "name" : "filtering119",
3675 "id" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003676 "runtime_data" : [],
3677 "primitives" : [
3678 {
3679 "op" : "assign",
3680 "parameters" : [
3681 {
3682 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003683 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003684 },
3685 {
3686 "type" : "field",
3687 "value" : ["inner_vlan_tag", "vlan_id"]
3688 }
3689 ],
3690 "source_info" : {
3691 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003692 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003693 "column" : 42,
3694 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
3695 }
3696 },
3697 {
3698 "op" : "assign",
3699 "parameters" : [
3700 {
3701 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003702 "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003703 },
3704 {
3705 "type" : "field",
3706 "value" : ["inner_vlan_tag", "pri"]
3707 }
3708 ],
3709 "source_info" : {
3710 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003711 "line" : 120,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003712 "column" : 43,
3713 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
3714 }
3715 },
3716 {
3717 "op" : "assign",
3718 "parameters" : [
3719 {
3720 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003721 "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003722 },
3723 {
3724 "type" : "field",
3725 "value" : ["inner_vlan_tag", "cfi"]
3726 }
3727 ],
3728 "source_info" : {
3729 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003730 "line" : 121,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003731 "column" : 43,
3732 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
3733 }
3734 }
3735 ]
3736 },
3737 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003738 "name" : "filtering129",
3739 "id" : 39,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003740 "runtime_data" : [],
3741 "primitives" : [
3742 {
3743 "op" : "assign",
3744 "parameters" : [
3745 {
3746 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003747 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003748 },
3749 {
3750 "type" : "hexstr",
3751 "value" : "0x41"
3752 }
3753 ],
3754 "source_info" : {
3755 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003756 "line" : 129,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003757 "column" : 37,
3758 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
3759 }
3760 }
3761 ]
3762 },
3763 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003764 "name" : "acl102",
3765 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003766 "runtime_data" : [],
3767 "primitives" : [
3768 {
3769 "op" : "assign",
3770 "parameters" : [
3771 {
3772 "type" : "field",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003773 "value" : ["scalars", "acl_l4_sport"]
3774 },
3775 {
3776 "type" : "field",
3777 "value" : ["inner_tcp", "sport"]
3778 }
3779 ],
3780 "source_info" : {
3781 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003782 "line" : 102,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003783 "column" : 16,
3784 "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
3785 }
3786 },
3787 {
3788 "op" : "assign",
3789 "parameters" : [
3790 {
3791 "type" : "field",
3792 "value" : ["scalars", "acl_l4_dport"]
3793 },
3794 {
3795 "type" : "field",
3796 "value" : ["inner_tcp", "dport"]
3797 }
3798 ],
3799 "source_info" : {
3800 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003801 "line" : 103,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003802 "column" : 16,
3803 "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
3804 }
3805 }
3806 ]
3807 },
3808 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003809 "name" : "acl105",
3810 "id" : 41,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003811 "runtime_data" : [],
3812 "primitives" : [
3813 {
3814 "op" : "assign",
3815 "parameters" : [
3816 {
3817 "type" : "field",
3818 "value" : ["scalars", "acl_l4_sport"]
3819 },
3820 {
3821 "type" : "field",
3822 "value" : ["inner_udp", "sport"]
3823 }
3824 ],
3825 "source_info" : {
3826 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003827 "line" : 105,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003828 "column" : 16,
3829 "source_fragment" : "l4_sport = hdr.inner_udp.sport"
3830 }
3831 },
3832 {
3833 "op" : "assign",
3834 "parameters" : [
3835 {
3836 "type" : "field",
3837 "value" : ["scalars", "acl_l4_dport"]
3838 },
3839 {
3840 "type" : "field",
3841 "value" : ["inner_udp", "dport"]
3842 }
3843 ],
3844 "source_info" : {
3845 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003846 "line" : 106,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003847 "column" : 16,
3848 "source_fragment" : "l4_dport = hdr.inner_udp.dport"
3849 }
3850 }
3851 ]
3852 },
3853 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003854 "name" : "acl98",
3855 "id" : 42,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003856 "runtime_data" : [],
3857 "primitives" : [
3858 {
3859 "op" : "assign",
3860 "parameters" : [
3861 {
3862 "type" : "field",
3863 "value" : ["scalars", "acl_ipv4_src"]
3864 },
3865 {
3866 "type" : "field",
3867 "value" : ["inner_ipv4", "src_addr"]
3868 }
3869 ],
3870 "source_info" : {
3871 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003872 "line" : 98,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003873 "column" : 12,
3874 "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
3875 }
3876 },
3877 {
3878 "op" : "assign",
3879 "parameters" : [
3880 {
3881 "type" : "field",
3882 "value" : ["scalars", "acl_ipv4_dst"]
3883 },
3884 {
3885 "type" : "field",
3886 "value" : ["inner_ipv4", "dst_addr"]
3887 }
3888 ],
3889 "source_info" : {
3890 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003891 "line" : 99,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003892 "column" : 12,
3893 "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
3894 }
3895 },
3896 {
3897 "op" : "assign",
3898 "parameters" : [
3899 {
3900 "type" : "field",
3901 "value" : ["scalars", "acl_ip_proto"]
3902 },
3903 {
3904 "type" : "field",
3905 "value" : ["inner_ipv4", "protocol"]
3906 }
3907 ],
3908 "source_info" : {
3909 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003910 "line" : 100,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003911 "column" : 12,
3912 "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
3913 }
3914 }
3915 ]
3916 },
3917 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003918 "name" : "acl113",
3919 "id" : 43,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003920 "runtime_data" : [],
3921 "primitives" : [
3922 {
3923 "op" : "assign",
3924 "parameters" : [
3925 {
3926 "type" : "field",
3927 "value" : ["scalars", "acl_l4_sport"]
3928 },
3929 {
3930 "type" : "field",
3931 "value" : ["tcp", "sport"]
3932 }
3933 ],
3934 "source_info" : {
3935 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003936 "line" : 113,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003937 "column" : 16,
3938 "source_fragment" : "l4_sport = hdr.tcp.sport"
3939 }
3940 },
3941 {
3942 "op" : "assign",
3943 "parameters" : [
3944 {
3945 "type" : "field",
3946 "value" : ["scalars", "acl_l4_dport"]
3947 },
3948 {
3949 "type" : "field",
3950 "value" : ["tcp", "dport"]
3951 }
3952 ],
3953 "source_info" : {
3954 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003955 "line" : 114,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003956 "column" : 16,
3957 "source_fragment" : "l4_dport = hdr.tcp.dport"
3958 }
3959 }
3960 ]
3961 },
3962 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003963 "name" : "acl116",
3964 "id" : 44,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003965 "runtime_data" : [],
3966 "primitives" : [
3967 {
3968 "op" : "assign",
3969 "parameters" : [
3970 {
3971 "type" : "field",
3972 "value" : ["scalars", "acl_l4_sport"]
3973 },
3974 {
3975 "type" : "field",
3976 "value" : ["udp", "sport"]
3977 }
3978 ],
3979 "source_info" : {
3980 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003981 "line" : 116,
Wailok Shum4f51bde2021-06-11 22:48:41 +08003982 "column" : 16,
3983 "source_fragment" : "l4_sport = hdr.udp.sport"
3984 }
3985 },
3986 {
3987 "op" : "assign",
3988 "parameters" : [
3989 {
3990 "type" : "field",
3991 "value" : ["scalars", "acl_l4_dport"]
3992 },
3993 {
3994 "type" : "field",
3995 "value" : ["udp", "dport"]
3996 }
3997 ],
3998 "source_info" : {
3999 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004000 "line" : 117,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004001 "column" : 16,
4002 "source_fragment" : "l4_dport = hdr.udp.dport"
4003 }
4004 }
4005 ]
4006 },
4007 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08004008 "name" : "acl109",
4009 "id" : 45,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004010 "runtime_data" : [],
4011 "primitives" : [
4012 {
4013 "op" : "assign",
4014 "parameters" : [
4015 {
4016 "type" : "field",
4017 "value" : ["scalars", "acl_ipv4_src"]
4018 },
4019 {
4020 "type" : "field",
4021 "value" : ["ipv4", "src_addr"]
4022 }
4023 ],
4024 "source_info" : {
4025 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004026 "line" : 109,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004027 "column" : 12,
4028 "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
4029 }
4030 },
4031 {
4032 "op" : "assign",
4033 "parameters" : [
4034 {
4035 "type" : "field",
4036 "value" : ["scalars", "acl_ipv4_dst"]
4037 },
4038 {
4039 "type" : "field",
4040 "value" : ["ipv4", "dst_addr"]
4041 }
4042 ],
4043 "source_info" : {
4044 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004045 "line" : 110,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004046 "column" : 12,
4047 "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
4048 }
4049 },
4050 {
4051 "op" : "assign",
4052 "parameters" : [
4053 {
4054 "type" : "field",
4055 "value" : ["scalars", "acl_ip_proto"]
4056 },
4057 {
4058 "type" : "field",
4059 "value" : ["ipv4", "protocol"]
4060 }
4061 ],
4062 "source_info" : {
4063 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004064 "line" : 111,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004065 "column" : 12,
4066 "source_fragment" : "ip_proto = hdr.ipv4.protocol"
4067 }
4068 }
4069 ]
4070 },
4071 {
4072 "name" : "acl27",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004073 "id" : 46,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004074 "runtime_data" : [],
4075 "primitives" : [
4076 {
4077 "op" : "assign",
4078 "parameters" : [
4079 {
4080 "type" : "field",
4081 "value" : ["scalars", "acl_ipv4_src"]
4082 },
4083 {
4084 "type" : "hexstr",
4085 "value" : "0x00000000"
4086 }
4087 ],
4088 "source_info" : {
4089 "filename" : "include/control/acl.p4",
4090 "line" : 27,
4091 "column" : 4,
4092 "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
4093 }
4094 },
4095 {
4096 "op" : "assign",
4097 "parameters" : [
4098 {
4099 "type" : "field",
4100 "value" : ["scalars", "acl_ipv4_dst"]
4101 },
4102 {
4103 "type" : "hexstr",
4104 "value" : "0x00000000"
4105 }
4106 ],
4107 "source_info" : {
4108 "filename" : "include/control/acl.p4",
4109 "line" : 28,
4110 "column" : 4,
4111 "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
4112 }
4113 },
4114 {
4115 "op" : "assign",
4116 "parameters" : [
4117 {
4118 "type" : "field",
4119 "value" : ["scalars", "acl_ip_proto"]
4120 },
4121 {
4122 "type" : "hexstr",
4123 "value" : "0x00"
4124 }
4125 ],
4126 "source_info" : {
4127 "filename" : "include/control/acl.p4",
4128 "line" : 29,
4129 "column" : 4,
4130 "source_fragment" : "bit<8> ip_proto = 0;"
4131 }
4132 },
4133 {
4134 "op" : "assign",
4135 "parameters" : [
4136 {
4137 "type" : "field",
4138 "value" : ["scalars", "acl_l4_sport"]
4139 },
4140 {
4141 "type" : "hexstr",
4142 "value" : "0x0000"
4143 }
4144 ],
4145 "source_info" : {
4146 "filename" : "include/control/acl.p4",
4147 "line" : 30,
4148 "column" : 4,
4149 "source_fragment" : "l4_port_t l4_sport = 0;"
4150 }
4151 },
4152 {
4153 "op" : "assign",
4154 "parameters" : [
4155 {
4156 "type" : "field",
4157 "value" : ["scalars", "acl_l4_dport"]
4158 },
4159 {
4160 "type" : "hexstr",
4161 "value" : "0x0000"
4162 }
4163 ],
4164 "source_info" : {
4165 "filename" : "include/control/acl.p4",
4166 "line" : 31,
4167 "column" : 4,
4168 "source_fragment" : "l4_port_t l4_dport = 0;"
4169 }
4170 }
4171 ]
4172 },
4173 {
4174 "name" : "port_counter31",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004175 "id" : 47,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004176 "runtime_data" : [],
4177 "primitives" : [
4178 {
4179 "op" : "assign",
4180 "parameters" : [
4181 {
4182 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004183 "value" : ["scalars", "tmp_8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004184 },
4185 {
4186 "type" : "expression",
4187 "value" : {
4188 "type" : "expression",
4189 "value" : {
4190 "op" : "&",
4191 "left" : {
4192 "type" : "field",
4193 "value" : ["standard_metadata", "egress_spec"]
4194 },
4195 "right" : {
4196 "type" : "hexstr",
4197 "value" : "0xffffffff"
4198 }
4199 }
4200 }
4201 }
4202 ],
4203 "source_info" : {
4204 "filename" : "include/control/port_counter.p4",
4205 "line" : 31,
4206 "column" : 38,
4207 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
4208 }
4209 },
4210 {
4211 "op" : "count",
4212 "parameters" : [
4213 {
4214 "type" : "counter_array",
4215 "value" : "FabricIngress.port_counters_control.egress_port_counter"
4216 },
4217 {
4218 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004219 "value" : ["scalars", "tmp_8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004220 }
4221 ],
4222 "source_info" : {
4223 "filename" : "include/control/port_counter.p4",
4224 "line" : 31,
4225 "column" : 12,
4226 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4227 }
4228 }
4229 ]
4230 },
4231 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004232 "name" : "port_counter34",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004233 "id" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004234 "runtime_data" : [],
4235 "primitives" : [
4236 {
4237 "op" : "assign",
4238 "parameters" : [
4239 {
4240 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004241 "value" : ["scalars", "tmp_9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004242 },
4243 {
4244 "type" : "expression",
4245 "value" : {
4246 "type" : "expression",
4247 "value" : {
4248 "op" : "&",
4249 "left" : {
4250 "type" : "field",
4251 "value" : ["standard_metadata", "ingress_port"]
4252 },
4253 "right" : {
4254 "type" : "hexstr",
4255 "value" : "0xffffffff"
4256 }
4257 }
4258 }
4259 }
4260 ],
4261 "source_info" : {
4262 "filename" : "include/control/port_counter.p4",
4263 "line" : 34,
4264 "column" : 39,
4265 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
4266 }
4267 },
4268 {
4269 "op" : "count",
4270 "parameters" : [
4271 {
4272 "type" : "counter_array",
4273 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
4274 },
4275 {
4276 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004277 "value" : ["scalars", "tmp_9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004278 }
4279 ],
4280 "source_info" : {
4281 "filename" : "include/control/port_counter.p4",
4282 "line" : 34,
4283 "column" : 12,
4284 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4285 }
4286 }
4287 ]
4288 },
4289 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004290 "name" : "bng126",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004291 "id" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004292 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004293 "primitives" : [
4294 {
4295 "op" : "assign",
4296 "parameters" : [
4297 {
4298 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004299 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
4300 },
4301 {
4302 "type" : "expression",
4303 "value" : {
4304 "type" : "expression",
4305 "value" : {
4306 "op" : "b2d",
4307 "left" : null,
4308 "right" : {
4309 "type" : "bool",
4310 "value" : true
4311 }
4312 }
4313 }
4314 }
4315 ],
4316 "source_info" : {
4317 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004318 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004319 "column" : 12,
4320 "source_fragment" : "return"
4321 }
4322 }
4323 ]
4324 },
4325 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004326 "name" : "bng342",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004327 "id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004328 "runtime_data" : [],
4329 "primitives" : [
4330 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004331 "op" : "assign",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004332 "parameters" : [
4333 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004334 "type" : "field",
4335 "value" : ["scalars", "userMetadata._bng_type21"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004336 },
4337 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004338 "type" : "hexstr",
4339 "value" : "0x01"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004340 }
4341 ],
4342 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004343 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004344 "line" : 164,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004345 "column" : 37,
4346 "source_fragment" : "2w0x1; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07004347 }
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004348 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07004349 {
4350 "op" : "assign",
4351 "parameters" : [
4352 {
4353 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004354 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004355 },
4356 {
4357 "type" : "expression",
4358 "value" : {
4359 "type" : "expression",
4360 "value" : {
4361 "op" : "b2d",
4362 "left" : null,
4363 "right" : {
4364 "type" : "bool",
4365 "value" : false
4366 }
4367 }
4368 }
4369 }
4370 ]
4371 }
4372 ]
4373 },
4374 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004375 "name" : "bng131",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004376 "id" : 51,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004377 "runtime_data" : [],
4378 "primitives" : [
4379 {
4380 "op" : "count",
4381 "parameters" : [
4382 {
4383 "type" : "counter_array",
4384 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
4385 },
4386 {
4387 "type" : "field",
4388 "value" : ["scalars", "userMetadata._bng_line_id22"]
4389 }
4390 ],
4391 "source_info" : {
4392 "filename" : "include/bng.p4",
4393 "line" : 131,
4394 "column" : 20,
4395 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
4396 }
4397 }
4398 ]
4399 },
4400 {
4401 "name" : "bng238",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004402 "id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004403 "runtime_data" : [],
4404 "primitives" : [
4405 {
4406 "op" : "execute_meter",
4407 "parameters" : [
4408 {
4409 "type" : "meter_array",
4410 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
4411 },
4412 {
4413 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004414 "value" : ["scalars", "userMetadata._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004415 },
4416 {
4417 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004418 "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004419 }
4420 ],
4421 "source_info" : {
4422 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004423 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004424 "column" : 24,
4425 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
4426 }
4427 }
4428 ]
4429 },
4430 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004431 "name" : "bng241",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004432 "id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004433 "runtime_data" : [],
4434 "primitives" : [
4435 {
4436 "op" : "execute_meter",
4437 "parameters" : [
4438 {
4439 "type" : "meter_array",
4440 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
4441 },
4442 {
4443 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004444 "value" : ["scalars", "userMetadata._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004445 },
4446 {
4447 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004448 "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004449 }
4450 ],
4451 "source_info" : {
4452 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004453 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004454 "column" : 24,
4455 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
4456 }
4457 }
4458 ]
4459 },
4460 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004461 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004462 "id" : 54,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004463 "runtime_data" : [],
4464 "primitives" : [
4465 {
4466 "op" : "assign",
4467 "parameters" : [
4468 {
4469 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004470 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004471 },
4472 {
4473 "type" : "hexstr",
4474 "value" : "0x8864"
4475 }
4476 ],
4477 "source_info" : {
4478 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004479 "line" : 136,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004480 "column" : 33,
4481 "source_fragment" : "0x8864; ..."
4482 }
4483 },
4484 {
4485 "op" : "add_header",
4486 "parameters" : [
4487 {
4488 "type" : "header",
4489 "value" : "pppoe"
4490 }
4491 ],
4492 "source_info" : {
4493 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004494 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004495 "column" : 8,
4496 "source_fragment" : "hdr.pppoe.setValid()"
4497 }
4498 },
4499 {
4500 "op" : "assign",
4501 "parameters" : [
4502 {
4503 "type" : "field",
4504 "value" : ["pppoe", "version"]
4505 },
4506 {
4507 "type" : "hexstr",
4508 "value" : "0x01"
4509 }
4510 ],
4511 "source_info" : {
4512 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004513 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004514 "column" : 8,
4515 "source_fragment" : "hdr.pppoe.version = 4w1"
4516 }
4517 },
4518 {
4519 "op" : "assign",
4520 "parameters" : [
4521 {
4522 "type" : "field",
4523 "value" : ["pppoe", "type_id"]
4524 },
4525 {
4526 "type" : "hexstr",
4527 "value" : "0x01"
4528 }
4529 ],
4530 "source_info" : {
4531 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004532 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004533 "column" : 8,
4534 "source_fragment" : "hdr.pppoe.type_id = 4w1"
4535 }
4536 },
4537 {
4538 "op" : "assign",
4539 "parameters" : [
4540 {
4541 "type" : "field",
4542 "value" : ["pppoe", "code"]
4543 },
4544 {
4545 "type" : "hexstr",
4546 "value" : "0x00"
4547 }
4548 ],
4549 "source_info" : {
4550 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004551 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004552 "column" : 8,
4553 "source_fragment" : "hdr.pppoe.code = 8w0"
4554 }
4555 },
4556 {
4557 "op" : "assign",
4558 "parameters" : [
4559 {
4560 "type" : "field",
4561 "value" : ["pppoe", "session_id"]
4562 },
4563 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004564 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004565 "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004566 }
4567 ],
4568 "source_info" : {
4569 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004570 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004571 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004572 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004573 }
4574 },
4575 {
4576 "op" : "count",
4577 "parameters" : [
4578 {
4579 "type" : "counter_array",
4580 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
4581 },
4582 {
4583 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004584 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004585 }
4586 ],
4587 "source_info" : {
4588 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004589 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004590 "column" : 8,
4591 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
4592 }
4593 },
4594 {
4595 "op" : "assign",
4596 "parameters" : [
4597 {
4598 "type" : "field",
4599 "value" : ["pppoe", "length"]
4600 },
4601 {
4602 "type" : "expression",
4603 "value" : {
4604 "type" : "expression",
4605 "value" : {
4606 "op" : "&",
4607 "left" : {
4608 "type" : "expression",
4609 "value" : {
4610 "op" : "+",
4611 "left" : {
4612 "type" : "field",
4613 "value" : ["ipv4", "total_len"]
4614 },
4615 "right" : {
4616 "type" : "hexstr",
4617 "value" : "0x0002"
4618 }
4619 }
4620 },
4621 "right" : {
4622 "type" : "hexstr",
4623 "value" : "0xffff"
4624 }
4625 }
4626 }
4627 }
4628 ],
4629 "source_info" : {
4630 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004631 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004632 "column" : 8,
4633 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
4634 }
4635 },
4636 {
4637 "op" : "assign",
4638 "parameters" : [
4639 {
4640 "type" : "field",
4641 "value" : ["pppoe", "protocol"]
4642 },
4643 {
4644 "type" : "hexstr",
4645 "value" : "0x0021"
4646 }
4647 ],
4648 "source_info" : {
4649 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004650 "line" : 138,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004651 "column" : 35,
4652 "source_fragment" : "0x0021; ..."
4653 }
4654 }
4655 ]
4656 },
4657 {
4658 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004659 "id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004660 "runtime_data" : [],
4661 "primitives" : [
4662 {
4663 "op" : "remove_header",
4664 "parameters" : [
4665 {
4666 "type" : "header",
4667 "value" : "mpls"
4668 }
4669 ],
4670 "source_info" : {
4671 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004672 "line" : 204,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004673 "column" : 8,
4674 "source_fragment" : "hdr.mpls.setInvalid()"
4675 }
4676 },
4677 {
4678 "op" : "assign",
4679 "parameters" : [
4680 {
4681 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004682 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004683 },
4684 {
4685 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004686 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004687 }
4688 ],
4689 "source_info" : {
4690 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004691 "line" : 206,
Daniele Moro5a2de712019-09-24 14:34:07 -07004692 "column" : 8,
4693 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004694 }
4695 }
4696 ]
4697 },
4698 {
4699 "name" : "FabricEgress.egress_next.set_mpls",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004700 "id" : 56,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004701 "runtime_data" : [],
4702 "primitives" : [
4703 {
4704 "op" : "add_header",
4705 "parameters" : [
4706 {
4707 "type" : "header",
4708 "value" : "mpls"
4709 }
4710 ],
4711 "source_info" : {
4712 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004713 "line" : 211,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004714 "column" : 8,
4715 "source_fragment" : "hdr.mpls.setValid()"
4716 }
4717 },
4718 {
4719 "op" : "assign",
4720 "parameters" : [
4721 {
4722 "type" : "field",
4723 "value" : ["mpls", "label"]
4724 },
4725 {
4726 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004727 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004728 }
4729 ],
4730 "source_info" : {
4731 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004732 "line" : 212,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004733 "column" : 8,
4734 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
4735 }
4736 },
4737 {
4738 "op" : "assign",
4739 "parameters" : [
4740 {
4741 "type" : "field",
4742 "value" : ["mpls", "tc"]
4743 },
4744 {
4745 "type" : "hexstr",
4746 "value" : "0x00"
4747 }
4748 ],
4749 "source_info" : {
4750 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004751 "line" : 213,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004752 "column" : 8,
4753 "source_fragment" : "hdr.mpls.tc = 3w0"
4754 }
4755 },
4756 {
4757 "op" : "assign",
4758 "parameters" : [
4759 {
4760 "type" : "field",
4761 "value" : ["mpls", "bos"]
4762 },
4763 {
4764 "type" : "hexstr",
4765 "value" : "0x01"
4766 }
4767 ],
4768 "source_info" : {
4769 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004770 "line" : 214,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004771 "column" : 8,
4772 "source_fragment" : "hdr.mpls.bos = 1w1"
4773 }
4774 },
4775 {
4776 "op" : "assign",
4777 "parameters" : [
4778 {
4779 "type" : "field",
4780 "value" : ["mpls", "ttl"]
4781 },
4782 {
4783 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004784 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004785 }
4786 ],
4787 "source_info" : {
4788 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004789 "line" : 215,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004790 "column" : 8,
4791 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
4792 }
4793 },
4794 {
4795 "op" : "assign",
4796 "parameters" : [
4797 {
4798 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004799 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004800 },
4801 {
4802 "type" : "hexstr",
4803 "value" : "0x8847"
4804 }
4805 ],
4806 "source_info" : {
4807 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004808 "line" : 130,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004809 "column" : 31,
4810 "source_fragment" : "0x8847; ..."
4811 }
4812 }
4813 ]
4814 },
4815 {
pierventre48e78822020-12-15 17:34:54 +01004816 "name" : "FabricEgress.egress_next.push_outer_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004817 "id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004818 "runtime_data" : [],
4819 "primitives" : [
4820 {
4821 "op" : "add_header",
4822 "parameters" : [
4823 {
4824 "type" : "header",
4825 "value" : "vlan_tag"
4826 }
4827 ],
4828 "source_info" : {
4829 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004830 "line" : 223,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004831 "column" : 8,
4832 "source_fragment" : "hdr.vlan_tag.setValid()"
4833 }
4834 },
4835 {
4836 "op" : "assign",
4837 "parameters" : [
4838 {
4839 "type" : "field",
4840 "value" : ["vlan_tag", "cfi"]
4841 },
4842 {
4843 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004844 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004845 }
4846 ],
4847 "source_info" : {
4848 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004849 "line" : 224,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004850 "column" : 8,
4851 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
4852 }
4853 },
4854 {
4855 "op" : "assign",
4856 "parameters" : [
4857 {
4858 "type" : "field",
4859 "value" : ["vlan_tag", "pri"]
4860 },
4861 {
4862 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004863 "value" : ["scalars", "userMetadata._vlan_pri2"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004864 }
4865 ],
4866 "source_info" : {
4867 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004868 "line" : 225,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004869 "column" : 8,
4870 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
4871 }
4872 },
4873 {
4874 "op" : "assign",
4875 "parameters" : [
4876 {
4877 "type" : "field",
4878 "value" : ["vlan_tag", "eth_type"]
4879 },
4880 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004881 "type" : "hexstr",
4882 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004883 }
4884 ],
4885 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004886 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004887 "line" : 129,
Daniele Moro5a2de712019-09-24 14:34:07 -07004888 "column" : 31,
4889 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07004890 }
4891 },
4892 {
4893 "op" : "assign",
4894 "parameters" : [
4895 {
4896 "type" : "field",
4897 "value" : ["vlan_tag", "vlan_id"]
4898 },
4899 {
4900 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004901 "value" : ["scalars", "userMetadata._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004902 }
4903 ],
4904 "source_info" : {
4905 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004906 "line" : 227,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004907 "column" : 8,
4908 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
4909 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07004910 }
4911 ]
4912 },
4913 {
4914 "name" : "FabricEgress.egress_next.push_inner_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004915 "id" : 58,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004916 "runtime_data" : [],
4917 "primitives" : [
4918 {
4919 "op" : "add_header",
4920 "parameters" : [
4921 {
4922 "type" : "header",
4923 "value" : "inner_vlan_tag"
4924 }
4925 ],
4926 "source_info" : {
4927 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004928 "line" : 234,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004929 "column" : 8,
4930 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
4931 }
4932 },
4933 {
4934 "op" : "assign",
4935 "parameters" : [
4936 {
4937 "type" : "field",
4938 "value" : ["inner_vlan_tag", "cfi"]
4939 },
4940 {
4941 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004942 "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004943 }
4944 ],
4945 "source_info" : {
4946 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004947 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004948 "column" : 8,
4949 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
4950 }
4951 },
4952 {
4953 "op" : "assign",
4954 "parameters" : [
4955 {
4956 "type" : "field",
4957 "value" : ["inner_vlan_tag", "pri"]
4958 },
4959 {
4960 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004961 "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004962 }
4963 ],
4964 "source_info" : {
4965 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004966 "line" : 236,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004967 "column" : 8,
4968 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
4969 }
4970 },
4971 {
4972 "op" : "assign",
4973 "parameters" : [
4974 {
4975 "type" : "field",
4976 "value" : ["inner_vlan_tag", "vlan_id"]
4977 },
4978 {
4979 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004980 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004981 }
4982 ],
4983 "source_info" : {
4984 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004985 "line" : 237,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004986 "column" : 8,
4987 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
4988 }
4989 },
4990 {
4991 "op" : "assign",
4992 "parameters" : [
4993 {
4994 "type" : "field",
4995 "value" : ["inner_vlan_tag", "eth_type"]
4996 },
4997 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004998 "type" : "hexstr",
4999 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005000 }
5001 ],
5002 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005003 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005004 "line" : 129,
Daniele Moro5a2de712019-09-24 14:34:07 -07005005 "column" : 31,
5006 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07005007 }
5008 },
5009 {
5010 "op" : "assign",
5011 "parameters" : [
5012 {
5013 "type" : "field",
5014 "value" : ["vlan_tag", "eth_type"]
5015 },
5016 {
5017 "type" : "hexstr",
5018 "value" : "0x8100"
5019 }
5020 ],
5021 "source_info" : {
5022 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005023 "line" : 129,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005024 "column" : 31,
5025 "source_fragment" : "0x8100; ..."
5026 }
5027 }
5028 ]
5029 },
5030 {
pierventre48e78822020-12-15 17:34:54 +01005031 "name" : "FabricEgress.egress_next.push_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005032 "id" : 59,
pierventre48e78822020-12-15 17:34:54 +01005033 "runtime_data" : [],
5034 "primitives" : [
5035 {
5036 "op" : "add_header",
5037 "parameters" : [
5038 {
5039 "type" : "header",
5040 "value" : "vlan_tag"
5041 }
5042 ],
5043 "source_info" : {
5044 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005045 "line" : 223,
pierventre48e78822020-12-15 17:34:54 +01005046 "column" : 8,
5047 "source_fragment" : "hdr.vlan_tag.setValid()"
5048 }
5049 },
5050 {
5051 "op" : "assign",
5052 "parameters" : [
5053 {
5054 "type" : "field",
5055 "value" : ["vlan_tag", "cfi"]
5056 },
5057 {
5058 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005059 "value" : ["scalars", "userMetadata._vlan_cfi3"]
pierventre48e78822020-12-15 17:34:54 +01005060 }
5061 ],
5062 "source_info" : {
5063 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005064 "line" : 224,
pierventre48e78822020-12-15 17:34:54 +01005065 "column" : 8,
5066 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
5067 }
5068 },
5069 {
5070 "op" : "assign",
5071 "parameters" : [
5072 {
5073 "type" : "field",
5074 "value" : ["vlan_tag", "pri"]
5075 },
5076 {
5077 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005078 "value" : ["scalars", "userMetadata._vlan_pri2"]
pierventre48e78822020-12-15 17:34:54 +01005079 }
5080 ],
5081 "source_info" : {
5082 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005083 "line" : 225,
pierventre48e78822020-12-15 17:34:54 +01005084 "column" : 8,
5085 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
5086 }
5087 },
5088 {
5089 "op" : "assign",
5090 "parameters" : [
5091 {
5092 "type" : "field",
5093 "value" : ["vlan_tag", "eth_type"]
5094 },
5095 {
5096 "type" : "hexstr",
5097 "value" : "0x8100"
5098 }
5099 ],
5100 "source_info" : {
5101 "filename" : "include/control/../define.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005102 "line" : 129,
pierventre48e78822020-12-15 17:34:54 +01005103 "column" : 31,
5104 "source_fragment" : "0x8100; ..."
5105 }
5106 },
5107 {
5108 "op" : "assign",
5109 "parameters" : [
5110 {
5111 "type" : "field",
5112 "value" : ["vlan_tag", "vlan_id"]
5113 },
5114 {
5115 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005116 "value" : ["scalars", "userMetadata._vlan_id1"]
pierventre48e78822020-12-15 17:34:54 +01005117 }
5118 ],
5119 "source_info" : {
5120 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005121 "line" : 227,
pierventre48e78822020-12-15 17:34:54 +01005122 "column" : 8,
5123 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
5124 }
5125 }
5126 ]
5127 },
5128 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005129 "name" : "FabricEgress.egress_next.pop_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005130 "id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005131 "runtime_data" : [],
5132 "primitives" : [
5133 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005134 "op" : "remove_header",
5135 "parameters" : [
5136 {
5137 "type" : "header",
5138 "value" : "vlan_tag"
5139 }
5140 ],
5141 "source_info" : {
5142 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005143 "line" : 256,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005144 "column" : 8,
5145 "source_fragment" : "hdr.vlan_tag.setInvalid()"
5146 }
5147 }
5148 ]
5149 },
5150 {
pierventre48e78822020-12-15 17:34:54 +01005151 "name" : "FabricEgress.egress_next.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005152 "id" : 61,
pierventre48e78822020-12-15 17:34:54 +01005153 "runtime_data" : [],
5154 "primitives" : [
5155 {
5156 "op" : "mark_to_drop",
5157 "parameters" : [
5158 {
5159 "type" : "header",
5160 "value" : "standard_metadata"
5161 }
5162 ],
5163 "source_info" : {
5164 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005165 "line" : 261,
pierventre48e78822020-12-15 17:34:54 +01005166 "column" : 8,
5167 "source_fragment" : "mark_to_drop(standard_metadata)"
5168 }
5169 }
5170 ]
5171 },
5172 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005173 "name" : "packetio41",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005174 "id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005175 "runtime_data" : [],
5176 "primitives" : [
5177 {
5178 "op" : "exit",
5179 "parameters" : [],
5180 "source_info" : {
5181 "filename" : "include/control/packetio.p4",
5182 "line" : 41,
5183 "column" : 12,
5184 "source_fragment" : "exit"
5185 }
5186 }
5187 ]
5188 },
5189 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005190 "name" : "packetio44",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005191 "id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005192 "runtime_data" : [],
5193 "primitives" : [
5194 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005195 "op" : "add_header",
5196 "parameters" : [
5197 {
5198 "type" : "header",
5199 "value" : "packet_in"
5200 }
5201 ],
5202 "source_info" : {
5203 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005204 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005205 "column" : 12,
5206 "source_fragment" : "hdr.packet_in.setValid()"
5207 }
5208 },
5209 {
5210 "op" : "assign",
5211 "parameters" : [
5212 {
5213 "type" : "field",
5214 "value" : ["packet_in", "ingress_port"]
5215 },
5216 {
5217 "type" : "field",
5218 "value" : ["standard_metadata", "ingress_port"]
5219 }
5220 ],
5221 "source_info" : {
5222 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005223 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005224 "column" : 12,
5225 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
5226 }
5227 },
5228 {
5229 "op" : "exit",
5230 "parameters" : [],
5231 "source_info" : {
5232 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005233 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005234 "column" : 12,
5235 "source_fragment" : "exit"
5236 }
5237 }
5238 ]
5239 },
5240 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005241 "name" : "next283",
5242 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005243 "runtime_data" : [],
5244 "primitives" : [
5245 {
5246 "op" : "mark_to_drop",
5247 "parameters" : [
5248 {
5249 "type" : "header",
5250 "value" : "standard_metadata"
5251 }
5252 ],
5253 "source_info" : {
5254 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005255 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005256 "column" : 12,
5257 "source_fragment" : "mark_to_drop(standard_metadata)"
5258 }
5259 }
5260 ]
5261 },
5262 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005263 "name" : "next299",
5264 "id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005265 "runtime_data" : [],
5266 "primitives" : [
5267 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005268 "op" : "remove_header",
5269 "parameters" : [
5270 {
5271 "type" : "header",
5272 "value" : "inner_vlan_tag"
5273 }
5274 ],
5275 "source_info" : {
5276 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005277 "line" : 299,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005278 "column" : 12,
5279 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
5280 }
5281 }
5282 ]
5283 },
5284 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005285 "name" : "next310",
5286 "id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005287 "runtime_data" : [],
5288 "primitives" : [
5289 {
5290 "op" : "mark_to_drop",
5291 "parameters" : [
5292 {
5293 "type" : "header",
5294 "value" : "standard_metadata"
5295 }
5296 ],
5297 "source_info" : {
5298 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005299 "line" : 310,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005300 "column" : 35,
5301 "source_fragment" : "mark_to_drop(standard_metadata)"
5302 }
5303 }
5304 ]
5305 },
5306 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005307 "name" : "next309",
5308 "id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005309 "runtime_data" : [],
5310 "primitives" : [
5311 {
5312 "op" : "assign",
5313 "parameters" : [
5314 {
5315 "type" : "field",
5316 "value" : ["mpls", "ttl"]
5317 },
5318 {
5319 "type" : "expression",
5320 "value" : {
5321 "type" : "expression",
5322 "value" : {
5323 "op" : "&",
5324 "left" : {
5325 "type" : "expression",
5326 "value" : {
5327 "op" : "+",
5328 "left" : {
5329 "type" : "field",
5330 "value" : ["mpls", "ttl"]
5331 },
5332 "right" : {
5333 "type" : "hexstr",
5334 "value" : "0xff"
5335 }
5336 }
5337 },
5338 "right" : {
5339 "type" : "hexstr",
5340 "value" : "0xff"
5341 }
5342 }
5343 }
5344 }
5345 ],
5346 "source_info" : {
5347 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005348 "line" : 309,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005349 "column" : 12,
5350 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
5351 }
5352 }
5353 ]
5354 },
5355 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005356 "name" : "next314",
5357 "id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005358 "runtime_data" : [],
5359 "primitives" : [
5360 {
5361 "op" : "mark_to_drop",
5362 "parameters" : [
5363 {
5364 "type" : "header",
5365 "value" : "standard_metadata"
5366 }
5367 ],
5368 "source_info" : {
5369 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005370 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005371 "column" : 39,
5372 "source_fragment" : "mark_to_drop(standard_metadata)"
5373 }
5374 }
5375 ]
5376 },
5377 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005378 "name" : "next313",
5379 "id" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005380 "runtime_data" : [],
5381 "primitives" : [
5382 {
5383 "op" : "assign",
5384 "parameters" : [
5385 {
5386 "type" : "field",
5387 "value" : ["ipv4", "ttl"]
5388 },
5389 {
5390 "type" : "expression",
5391 "value" : {
5392 "type" : "expression",
5393 "value" : {
5394 "op" : "&",
5395 "left" : {
5396 "type" : "expression",
5397 "value" : {
5398 "op" : "+",
5399 "left" : {
5400 "type" : "field",
5401 "value" : ["ipv4", "ttl"]
5402 },
5403 "right" : {
5404 "type" : "hexstr",
5405 "value" : "0xff"
5406 }
5407 }
5408 },
5409 "right" : {
5410 "type" : "hexstr",
5411 "value" : "0xff"
5412 }
5413 }
5414 }
5415 }
5416 ],
5417 "source_info" : {
5418 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005419 "line" : 313,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005420 "column" : 16,
5421 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
5422 }
5423 }
5424 ]
5425 }
5426 ],
5427 "pipelines" : [
5428 {
5429 "name" : "ingress",
5430 "id" : 0,
5431 "source_info" : {
5432 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005433 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005434 "column" : 8,
5435 "source_fragment" : "FabricIngress"
5436 },
5437 "init_table" : "node_2",
5438 "tables" : [
5439 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005440 "name" : "tbl_packetio25",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005441 "id" : 0,
5442 "source_info" : {
5443 "filename" : "include/control/packetio.p4",
5444 "line" : 25,
5445 "column" : 42,
5446 "source_fragment" : "= hdr.packet_out.egress_port; ..."
5447 },
5448 "key" : [],
5449 "match_type" : "exact",
5450 "type" : "simple",
5451 "max_size" : 1024,
5452 "with_counters" : false,
5453 "support_timeout" : false,
5454 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005455 "action_ids" : [36],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005456 "actions" : ["packetio25"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005457 "base_default_next" : "node_4",
5458 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005459 "packetio25" : "node_4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005460 },
5461 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005462 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005463 "action_const" : true,
5464 "action_data" : [],
5465 "action_entry_const" : true
5466 }
5467 },
5468 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005469 "name" : "tbl_filtering113",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005470 "id" : 1,
5471 "source_info" : {
5472 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005473 "line" : 113,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005474 "column" : 36,
5475 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005476 },
5477 "key" : [],
5478 "match_type" : "exact",
5479 "type" : "simple",
5480 "max_size" : 1024,
5481 "with_counters" : false,
5482 "support_timeout" : false,
5483 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005484 "action_ids" : [37],
5485 "actions" : ["filtering113"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005486 "base_default_next" : "node_6",
5487 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005488 "filtering113" : "node_6"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005489 },
5490 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005491 "action_id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005492 "action_const" : true,
5493 "action_data" : [],
5494 "action_entry_const" : true
5495 }
5496 },
5497 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005498 "name" : "tbl_filtering119",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005499 "id" : 2,
5500 "source_info" : {
5501 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005502 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005503 "column" : 42,
5504 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
5505 },
5506 "key" : [],
5507 "match_type" : "exact",
5508 "type" : "simple",
5509 "max_size" : 1024,
5510 "with_counters" : false,
5511 "support_timeout" : false,
5512 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005513 "action_ids" : [38],
5514 "actions" : ["filtering119"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005515 "base_default_next" : "node_8",
5516 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005517 "filtering119" : "node_8"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005518 },
5519 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005520 "action_id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005521 "action_const" : true,
5522 "action_data" : [],
5523 "action_entry_const" : true
5524 }
5525 },
5526 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005527 "name" : "tbl_filtering129",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005528 "id" : 3,
5529 "source_info" : {
5530 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005531 "line" : 129,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005532 "column" : 37,
5533 "source_fragment" : "="
5534 },
5535 "key" : [],
5536 "match_type" : "exact",
5537 "type" : "simple",
5538 "max_size" : 1024,
5539 "with_counters" : false,
5540 "support_timeout" : false,
5541 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005542 "action_ids" : [39],
5543 "actions" : ["filtering129"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005544 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
5545 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005546 "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005547 },
5548 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005549 "action_id" : 39,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005550 "action_const" : true,
5551 "action_data" : [],
5552 "action_entry_const" : true
5553 }
5554 },
5555 {
5556 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07005557 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005558 "source_info" : {
5559 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005560 "line" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005561 "column" : 10,
5562 "source_fragment" : "ingress_port_vlan"
5563 },
5564 "key" : [
5565 {
5566 "match_type" : "exact",
5567 "name" : "ig_port",
5568 "target" : ["standard_metadata", "ingress_port"],
5569 "mask" : null
5570 },
5571 {
5572 "match_type" : "exact",
5573 "name" : "vlan_is_valid",
5574 "target" : ["vlan_tag", "$valid$"],
5575 "mask" : null
5576 },
5577 {
5578 "match_type" : "ternary",
5579 "name" : "vlan_id",
5580 "target" : ["vlan_tag", "vlan_id"],
5581 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005582 },
5583 {
5584 "match_type" : "ternary",
5585 "name" : "inner_vlan_id",
5586 "target" : ["inner_vlan_tag", "vlan_id"],
5587 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005588 }
5589 ],
5590 "match_type" : "ternary",
5591 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005592 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005593 "with_counters" : true,
5594 "support_timeout" : false,
5595 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005596 "action_ids" : [17, 18, 19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005597 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
5598 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
5599 "next_tables" : {
5600 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
5601 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
5602 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
5603 },
5604 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005605 "action_id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005606 "action_const" : true,
5607 "action_data" : [],
5608 "action_entry_const" : true
5609 }
5610 },
5611 {
5612 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro5a2de712019-09-24 14:34:07 -07005613 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005614 "source_info" : {
5615 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005616 "line" : 94,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005617 "column" : 10,
5618 "source_fragment" : "fwd_classifier"
5619 },
5620 "key" : [
5621 {
5622 "match_type" : "exact",
5623 "name" : "ig_port",
5624 "target" : ["standard_metadata", "ingress_port"],
5625 "mask" : null
5626 },
5627 {
5628 "match_type" : "ternary",
5629 "name" : "eth_dst",
5630 "target" : ["ethernet", "dst_addr"],
5631 "mask" : null
5632 },
5633 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005634 "match_type" : "ternary",
5635 "name" : "eth_type",
5636 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005637 "mask" : null
5638 },
5639 {
5640 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07005641 "name" : "ip_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005642 "target" : ["scalars", "userMetadata._ip_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005643 "mask" : null
5644 }
5645 ],
5646 "match_type" : "ternary",
5647 "type" : "simple",
5648 "max_size" : 1024,
5649 "with_counters" : true,
5650 "support_timeout" : false,
5651 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005652 "action_ids" : [20],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005653 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro5a2de712019-09-24 14:34:07 -07005654 "base_default_next" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005655 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005656 "FabricIngress.filtering.set_forwarding_type" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005657 },
5658 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005659 "action_id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005660 "action_const" : true,
5661 "action_data" : ["0x0"],
5662 "action_entry_const" : true
5663 }
5664 },
5665 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005666 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07005667 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005668 "source_info" : {
5669 "filename" : "include/control/forwarding.p4",
5670 "line" : 46,
5671 "column" : 10,
5672 "source_fragment" : "bridging"
5673 },
5674 "key" : [
5675 {
5676 "match_type" : "exact",
5677 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005678 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005679 "mask" : null
5680 },
5681 {
5682 "match_type" : "ternary",
5683 "name" : "eth_dst",
5684 "target" : ["ethernet", "dst_addr"],
5685 "mask" : null
5686 }
5687 ],
5688 "match_type" : "ternary",
5689 "type" : "simple",
5690 "max_size" : 1024,
5691 "with_counters" : true,
5692 "support_timeout" : false,
5693 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005694 "action_ids" : [21, 2],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005695 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08005696 "base_default_next" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005697 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005698 "FabricIngress.forwarding.set_next_id_bridging" : "node_19",
5699 "nop" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005700 },
5701 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005702 "action_id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005703 "action_const" : true,
5704 "action_data" : [],
5705 "action_entry_const" : true
5706 }
5707 },
5708 {
5709 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005710 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005711 "source_info" : {
5712 "filename" : "include/control/forwarding.p4",
5713 "line" : 71,
5714 "column" : 10,
5715 "source_fragment" : "mpls"
5716 },
5717 "key" : [
5718 {
5719 "match_type" : "exact",
5720 "name" : "mpls_label",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005721 "target" : ["scalars", "userMetadata._mpls_label8"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005722 "mask" : null
5723 }
5724 ],
5725 "match_type" : "exact",
5726 "type" : "simple",
5727 "max_size" : 1024,
5728 "with_counters" : true,
5729 "support_timeout" : false,
5730 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005731 "action_ids" : [22, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005732 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08005733 "base_default_next" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005734 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005735 "FabricIngress.forwarding.pop_mpls_and_next" : "node_19",
5736 "nop" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005737 },
5738 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005739 "action_id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005740 "action_const" : true,
5741 "action_data" : [],
5742 "action_entry_const" : true
5743 }
5744 },
5745 {
5746 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005747 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005748 "source_info" : {
5749 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005750 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005751 "column" : 10,
5752 "source_fragment" : "routing_v4"
5753 },
5754 "key" : [
5755 {
5756 "match_type" : "lpm",
5757 "name" : "ipv4_dst",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005758 "target" : ["scalars", "userMetadata._ipv4_dst_addr20"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005759 "mask" : null
5760 }
5761 ],
5762 "match_type" : "lpm",
5763 "type" : "simple",
5764 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07005765 "with_counters" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005766 "support_timeout" : false,
5767 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005768 "action_ids" : [23, 24, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005769 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08005770 "base_default_next" : "node_19",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005771 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005772 "FabricIngress.forwarding.set_next_id_routing_v4" : "node_19",
5773 "FabricIngress.forwarding.nop_routing_v4" : "node_19",
5774 "nop" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005775 },
5776 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005777 "action_id" : 4,
CyberHasHe9ba39c2019-10-11 05:59:12 +08005778 "action_const" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005779 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08005780 "action_entry_const" : false
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005781 }
5782 },
5783 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005784 "name" : "FabricIngress.pre_next.next_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005785 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005786 "source_info" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005787 "filename" : "include/control/pre_next.p4",
5788 "line" : 36,
5789 "column" : 10,
5790 "source_fragment" : "next_mpls"
5791 },
5792 "key" : [
5793 {
5794 "match_type" : "exact",
5795 "name" : "next_id",
5796 "target" : ["scalars", "userMetadata._next_id13"],
5797 "mask" : null
5798 }
5799 ],
5800 "match_type" : "exact",
5801 "type" : "simple",
5802 "max_size" : 1024,
5803 "with_counters" : true,
5804 "support_timeout" : false,
5805 "direct_meters" : null,
5806 "action_ids" : [25, 5],
5807 "actions" : ["FabricIngress.pre_next.set_mpls_label", "nop"],
5808 "base_default_next" : "FabricIngress.pre_next.next_vlan",
5809 "next_tables" : {
5810 "FabricIngress.pre_next.set_mpls_label" : "FabricIngress.pre_next.next_vlan",
5811 "nop" : "FabricIngress.pre_next.next_vlan"
5812 },
5813 "default_entry" : {
5814 "action_id" : 5,
5815 "action_const" : true,
5816 "action_data" : [],
5817 "action_entry_const" : true
5818 }
5819 },
5820 {
5821 "name" : "FabricIngress.pre_next.next_vlan",
5822 "id" : 10,
5823 "source_info" : {
5824 "filename" : "include/control/pre_next.p4",
5825 "line" : 73,
5826 "column" : 10,
5827 "source_fragment" : "next_vlan"
5828 },
5829 "key" : [
5830 {
5831 "match_type" : "exact",
5832 "name" : "next_id",
5833 "target" : ["scalars", "userMetadata._next_id13"],
5834 "mask" : null
5835 }
5836 ],
5837 "match_type" : "exact",
5838 "type" : "simple",
5839 "max_size" : 1024,
5840 "with_counters" : true,
5841 "support_timeout" : false,
5842 "direct_meters" : null,
5843 "action_ids" : [26, 27, 6],
5844 "actions" : ["FabricIngress.pre_next.set_vlan", "FabricIngress.pre_next.set_double_vlan", "nop"],
5845 "base_default_next" : "tbl_acl27",
5846 "next_tables" : {
5847 "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
5848 "FabricIngress.pre_next.set_double_vlan" : "tbl_acl27",
5849 "nop" : "tbl_acl27"
5850 },
5851 "default_entry" : {
5852 "action_id" : 6,
5853 "action_const" : true,
5854 "action_data" : [],
5855 "action_entry_const" : true
5856 }
5857 },
5858 {
5859 "name" : "tbl_acl27",
5860 "id" : 11,
5861 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005862 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005863 "line" : 27,
5864 "column" : 4,
5865 "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
5866 },
5867 "key" : [],
5868 "match_type" : "exact",
5869 "type" : "simple",
5870 "max_size" : 1024,
5871 "with_counters" : false,
5872 "support_timeout" : false,
5873 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005874 "action_ids" : [46],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005875 "actions" : ["acl27"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08005876 "base_default_next" : "node_23",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005877 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005878 "acl27" : "node_23"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005879 },
5880 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005881 "action_id" : 46,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005882 "action_const" : true,
5883 "action_data" : [],
5884 "action_entry_const" : true
5885 }
5886 },
5887 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005888 "name" : "tbl_acl98",
5889 "id" : 12,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005890 "source_info" : {
5891 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005892 "line" : 98,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005893 "column" : 21,
5894 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
5895 },
5896 "key" : [],
5897 "match_type" : "exact",
5898 "type" : "simple",
5899 "max_size" : 1024,
5900 "with_counters" : false,
5901 "support_timeout" : false,
5902 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005903 "action_ids" : [42],
5904 "actions" : ["acl98"],
5905 "base_default_next" : "node_25",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005906 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005907 "acl98" : "node_25"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005908 },
5909 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005910 "action_id" : 42,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005911 "action_const" : true,
5912 "action_data" : [],
5913 "action_entry_const" : true
5914 }
5915 },
5916 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005917 "name" : "tbl_acl102",
5918 "id" : 13,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005919 "source_info" : {
5920 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005921 "line" : 102,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005922 "column" : 25,
5923 "source_fragment" : "= hdr.inner_tcp.sport; ..."
5924 },
5925 "key" : [],
5926 "match_type" : "exact",
5927 "type" : "simple",
5928 "max_size" : 1024,
5929 "with_counters" : false,
5930 "support_timeout" : false,
5931 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005932 "action_ids" : [40],
5933 "actions" : ["acl102"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005934 "base_default_next" : "FabricIngress.acl.acl",
5935 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005936 "acl102" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005937 },
5938 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005939 "action_id" : 40,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005940 "action_const" : true,
5941 "action_data" : [],
5942 "action_entry_const" : true
5943 }
5944 },
5945 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005946 "name" : "tbl_acl105",
5947 "id" : 14,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005948 "source_info" : {
5949 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005950 "line" : 105,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005951 "column" : 25,
5952 "source_fragment" : "= hdr.inner_udp.sport; ..."
5953 },
5954 "key" : [],
5955 "match_type" : "exact",
5956 "type" : "simple",
5957 "max_size" : 1024,
5958 "with_counters" : false,
5959 "support_timeout" : false,
5960 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005961 "action_ids" : [41],
5962 "actions" : ["acl105"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005963 "base_default_next" : "FabricIngress.acl.acl",
5964 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005965 "acl105" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005966 },
5967 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005968 "action_id" : 41,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005969 "action_const" : true,
5970 "action_data" : [],
5971 "action_entry_const" : true
5972 }
5973 },
5974 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005975 "name" : "tbl_acl109",
5976 "id" : 15,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005977 "source_info" : {
5978 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005979 "line" : 109,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005980 "column" : 21,
5981 "source_fragment" : "= hdr.ipv4.src_addr; ..."
5982 },
5983 "key" : [],
5984 "match_type" : "exact",
5985 "type" : "simple",
5986 "max_size" : 1024,
5987 "with_counters" : false,
5988 "support_timeout" : false,
5989 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08005990 "action_ids" : [45],
5991 "actions" : ["acl109"],
5992 "base_default_next" : "node_31",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005993 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005994 "acl109" : "node_31"
Wailok Shum4f51bde2021-06-11 22:48:41 +08005995 },
5996 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08005997 "action_id" : 45,
Wailok Shum4f51bde2021-06-11 22:48:41 +08005998 "action_const" : true,
5999 "action_data" : [],
6000 "action_entry_const" : true
6001 }
6002 },
6003 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006004 "name" : "tbl_acl113",
6005 "id" : 16,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006006 "source_info" : {
6007 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006008 "line" : 113,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006009 "column" : 25,
6010 "source_fragment" : "= hdr.tcp.sport; ..."
6011 },
6012 "key" : [],
6013 "match_type" : "exact",
6014 "type" : "simple",
6015 "max_size" : 1024,
6016 "with_counters" : false,
6017 "support_timeout" : false,
6018 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006019 "action_ids" : [43],
6020 "actions" : ["acl113"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08006021 "base_default_next" : "FabricIngress.acl.acl",
6022 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006023 "acl113" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08006024 },
6025 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006026 "action_id" : 43,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006027 "action_const" : true,
6028 "action_data" : [],
6029 "action_entry_const" : true
6030 }
6031 },
6032 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006033 "name" : "tbl_acl116",
6034 "id" : 17,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006035 "source_info" : {
6036 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006037 "line" : 116,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006038 "column" : 25,
6039 "source_fragment" : "= hdr.udp.sport; ..."
6040 },
6041 "key" : [],
6042 "match_type" : "exact",
6043 "type" : "simple",
6044 "max_size" : 1024,
6045 "with_counters" : false,
6046 "support_timeout" : false,
6047 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006048 "action_ids" : [44],
6049 "actions" : ["acl116"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08006050 "base_default_next" : "FabricIngress.acl.acl",
6051 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006052 "acl116" : "FabricIngress.acl.acl"
Wailok Shum4f51bde2021-06-11 22:48:41 +08006053 },
6054 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006055 "action_id" : 44,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006056 "action_const" : true,
6057 "action_data" : [],
6058 "action_entry_const" : true
6059 }
6060 },
6061 {
6062 "name" : "FabricIngress.acl.acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006063 "id" : 18,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006064 "source_info" : {
6065 "filename" : "include/control/acl.p4",
6066 "line" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006067 "column" : 10,
6068 "source_fragment" : "acl"
6069 },
6070 "key" : [
6071 {
6072 "match_type" : "ternary",
6073 "name" : "ig_port",
6074 "target" : ["standard_metadata", "ingress_port"],
6075 "mask" : null
6076 },
6077 {
6078 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006079 "name" : "eth_dst",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006080 "target" : ["ethernet", "dst_addr"],
6081 "mask" : null
6082 },
6083 {
6084 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006085 "name" : "eth_src",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006086 "target" : ["ethernet", "src_addr"],
6087 "mask" : null
6088 },
6089 {
6090 "match_type" : "ternary",
6091 "name" : "vlan_id",
6092 "target" : ["vlan_tag", "vlan_id"],
6093 "mask" : null
6094 },
6095 {
6096 "match_type" : "ternary",
6097 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07006098 "target" : ["eth_type", "value"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006099 "mask" : null
6100 },
6101 {
6102 "match_type" : "ternary",
6103 "name" : "ipv4_src",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006104 "target" : ["scalars", "acl_ipv4_src"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006105 "mask" : null
6106 },
6107 {
6108 "match_type" : "ternary",
6109 "name" : "ipv4_dst",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006110 "target" : ["scalars", "acl_ipv4_dst"],
6111 "mask" : null
6112 },
6113 {
6114 "match_type" : "ternary",
6115 "name" : "ip_proto",
6116 "target" : ["scalars", "acl_ip_proto"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006117 "mask" : null
6118 },
6119 {
6120 "match_type" : "ternary",
6121 "name" : "icmp_type",
6122 "target" : ["icmp", "icmp_type"],
6123 "mask" : null
6124 },
6125 {
6126 "match_type" : "ternary",
6127 "name" : "icmp_code",
6128 "target" : ["icmp", "icmp_code"],
6129 "mask" : null
Wailok Shum4f51bde2021-06-11 22:48:41 +08006130 },
6131 {
6132 "match_type" : "ternary",
6133 "name" : "l4_sport",
6134 "target" : ["scalars", "acl_l4_sport"],
6135 "mask" : null
6136 },
6137 {
6138 "match_type" : "ternary",
6139 "name" : "l4_dport",
6140 "target" : ["scalars", "acl_l4_dport"],
6141 "mask" : null
Wailok Shumfb7e7872021-06-18 17:30:08 +08006142 },
6143 {
6144 "match_type" : "ternary",
6145 "name" : "port_type",
6146 "target" : ["scalars", "userMetadata._port_type27"],
6147 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006148 }
6149 ],
6150 "match_type" : "ternary",
6151 "type" : "simple",
6152 "max_size" : 1024,
6153 "with_counters" : true,
6154 "support_timeout" : false,
6155 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006156 "action_ids" : [28, 29, 30, 31, 32],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006157 "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 +08006158 "base_default_next" : "node_36",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006159 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006160 "FabricIngress.acl.set_next_id_acl" : "node_36",
6161 "FabricIngress.acl.punt_to_cpu" : "node_36",
6162 "FabricIngress.acl.set_clone_session_id" : "node_36",
6163 "FabricIngress.acl.drop" : "node_36",
6164 "FabricIngress.acl.nop_acl" : "node_36"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006165 },
6166 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006167 "action_id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006168 "action_const" : true,
6169 "action_data" : [],
6170 "action_entry_const" : true
6171 }
6172 },
6173 {
6174 "name" : "FabricIngress.next.hashed",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006175 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006176 "source_info" : {
6177 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006178 "line" : 138,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006179 "column" : 10,
6180 "source_fragment" : "hashed"
6181 },
6182 "key" : [
6183 {
6184 "match_type" : "exact",
6185 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006186 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006187 "mask" : null
6188 }
6189 ],
6190 "match_type" : "exact",
6191 "type" : "indirect_ws",
6192 "action_profile" : "FabricIngress.next.hashed_selector",
6193 "max_size" : 1024,
6194 "with_counters" : true,
6195 "support_timeout" : false,
6196 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006197 "action_ids" : [33, 34, 7],
6198 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006199 "base_default_next" : "FabricIngress.next.multicast",
6200 "next_tables" : {
6201 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
6202 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006203 "nop" : "FabricIngress.next.multicast"
6204 }
6205 },
6206 {
6207 "name" : "FabricIngress.next.multicast",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006208 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006209 "source_info" : {
6210 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006211 "line" : 171,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006212 "column" : 10,
6213 "source_fragment" : "multicast"
6214 },
6215 "key" : [
6216 {
6217 "match_type" : "exact",
6218 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006219 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006220 "mask" : null
6221 }
6222 ],
6223 "match_type" : "exact",
6224 "type" : "simple",
6225 "max_size" : 1024,
6226 "with_counters" : true,
6227 "support_timeout" : false,
6228 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006229 "action_ids" : [35, 8],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006230 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006231 "base_default_next" : "node_39",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006232 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006233 "FabricIngress.next.set_mcast_group_id" : "node_39",
6234 "nop" : "node_39"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006235 },
6236 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006237 "action_id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006238 "action_const" : true,
6239 "action_data" : [],
6240 "action_entry_const" : true
6241 }
6242 },
6243 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006244 "name" : "tbl_port_counter31",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006245 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006246 "source_info" : {
6247 "filename" : "include/control/port_counter.p4",
6248 "line" : 31,
6249 "column" : 12,
6250 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
6251 },
6252 "key" : [],
6253 "match_type" : "exact",
6254 "type" : "simple",
6255 "max_size" : 1024,
6256 "with_counters" : false,
6257 "support_timeout" : false,
6258 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006259 "action_ids" : [47],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006260 "actions" : ["port_counter31"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006261 "base_default_next" : "node_41",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006262 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006263 "port_counter31" : "node_41"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006264 },
6265 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006266 "action_id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006267 "action_const" : true,
6268 "action_data" : [],
6269 "action_entry_const" : true
6270 }
6271 },
6272 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006273 "name" : "tbl_port_counter34",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006274 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006275 "source_info" : {
6276 "filename" : "include/control/port_counter.p4",
6277 "line" : 34,
6278 "column" : 12,
6279 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
6280 },
6281 "key" : [],
6282 "match_type" : "exact",
6283 "type" : "simple",
6284 "max_size" : 1024,
6285 "with_counters" : false,
6286 "support_timeout" : false,
6287 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006288 "action_ids" : [48],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006289 "actions" : ["port_counter34"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006290 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006291 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006292 "port_counter34" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006293 },
6294 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006295 "action_id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006296 "action_const" : true,
6297 "action_data" : [],
6298 "action_entry_const" : true
6299 }
6300 },
6301 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006302 "name" : "FabricIngress.bng_ingress.t_line_map",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006303 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006304 "source_info" : {
6305 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006306 "line" : 323,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006307 "column" : 14,
6308 "source_fragment" : "t_line_map"
6309 },
6310 "key" : [
6311 {
6312 "match_type" : "exact",
6313 "name" : "s_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006314 "target" : ["scalars", "userMetadata._bng_s_tag25"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006315 "mask" : null
6316 },
6317 {
6318 "match_type" : "exact",
6319 "name" : "c_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006320 "target" : ["scalars", "userMetadata._bng_c_tag26"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006321 "mask" : null
6322 }
6323 ],
6324 "match_type" : "exact",
6325 "type" : "simple",
6326 "max_size" : 8192,
6327 "with_counters" : false,
6328 "support_timeout" : false,
6329 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006330 "action_ids" : [16],
Daniele Moro5a2de712019-09-24 14:34:07 -07006331 "actions" : ["FabricIngress.bng_ingress.set_line"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006332 "base_default_next" : "node_44",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006333 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006334 "FabricIngress.bng_ingress.set_line" : "node_44"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006335 },
6336 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006337 "action_id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006338 "action_const" : true,
Daniele Moro5a2de712019-09-24 14:34:07 -07006339 "action_data" : ["0x0"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006340 "action_entry_const" : true
6341 }
6342 },
6343 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006344 "name" : "tbl_bng342",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006345 "id" : 24,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006346 "source_info" : {
6347 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006348 "line" : 342,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006349 "column" : 31,
6350 "source_fragment" : "="
6351 },
6352 "key" : [],
6353 "match_type" : "exact",
6354 "type" : "simple",
6355 "max_size" : 1024,
6356 "with_counters" : false,
6357 "support_timeout" : false,
6358 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006359 "action_ids" : [50],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006360 "actions" : ["bng342"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006361 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
6362 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006363 "bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006364 },
6365 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006366 "action_id" : 50,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006367 "action_const" : true,
6368 "action_data" : [],
6369 "action_entry_const" : true
6370 }
6371 },
6372 {
6373 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006374 "id" : 25,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006375 "source_info" : {
6376 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006377 "line" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006378 "column" : 10,
6379 "source_fragment" : "t_pppoe_cp"
6380 },
6381 "key" : [
6382 {
6383 "match_type" : "exact",
6384 "name" : "pppoe_code",
6385 "target" : ["pppoe", "code"],
6386 "mask" : null
6387 },
6388 {
6389 "match_type" : "ternary",
6390 "name" : "pppoe_protocol",
6391 "target" : ["pppoe", "protocol"],
6392 "mask" : null
6393 }
6394 ],
6395 "match_type" : "ternary",
6396 "type" : "simple",
6397 "max_size" : 16,
6398 "with_counters" : false,
6399 "support_timeout" : false,
6400 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006401 "action_ids" : [9, 0],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006402 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006403 "base_default_next" : null,
6404 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006405 "__HIT__" : "tbl_bng126",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006406 "__MISS__" : "node_48"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006407 },
6408 "default_entry" : {
6409 "action_id" : 0,
6410 "action_const" : true,
6411 "action_data" : [],
6412 "action_entry_const" : true
6413 }
6414 },
6415 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006416 "name" : "tbl_bng126",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006417 "id" : 26,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006418 "source_info" : {
6419 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006420 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006421 "column" : 12,
6422 "source_fragment" : "return"
6423 },
6424 "key" : [],
6425 "match_type" : "exact",
6426 "type" : "simple",
6427 "max_size" : 1024,
6428 "with_counters" : false,
6429 "support_timeout" : false,
6430 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006431 "action_ids" : [49],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006432 "actions" : ["bng126"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006433 "base_default_next" : "node_48",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006434 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006435 "bng126" : "node_48"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006436 },
6437 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006438 "action_id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006439 "action_const" : true,
6440 "action_data" : [],
6441 "action_entry_const" : true
6442 }
6443 },
6444 {
6445 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006446 "id" : 27,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006447 "source_info" : {
6448 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006449 "line" : 87,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006450 "column" : 10,
6451 "source_fragment" : "t_pppoe_term_v4"
6452 },
6453 "key" : [
6454 {
6455 "match_type" : "exact",
6456 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006457 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006458 "mask" : null
6459 },
6460 {
6461 "match_type" : "exact",
6462 "name" : "ipv4_src",
6463 "target" : ["ipv4", "src_addr"],
6464 "mask" : null
6465 },
6466 {
6467 "match_type" : "exact",
6468 "name" : "pppoe_session_id",
6469 "target" : ["pppoe", "session_id"],
6470 "mask" : null
6471 }
6472 ],
6473 "match_type" : "exact",
6474 "type" : "simple",
6475 "max_size" : 32768,
6476 "with_counters" : false,
6477 "support_timeout" : false,
6478 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006479 "action_ids" : [11, 10],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006480 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
6481 "base_default_next" : null,
6482 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006483 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_bng131",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006484 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
6485 },
6486 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006487 "action_id" : 10,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006488 "action_const" : true,
6489 "action_data" : [],
6490 "action_entry_const" : true
6491 }
6492 },
6493 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006494 "name" : "tbl_bng131",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006495 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006496 "source_info" : {
6497 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006498 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006499 "column" : 20,
6500 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
6501 },
6502 "key" : [],
6503 "match_type" : "exact",
6504 "type" : "simple",
6505 "max_size" : 1024,
6506 "with_counters" : false,
6507 "support_timeout" : false,
6508 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006509 "action_ids" : [51],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006510 "actions" : ["bng131"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006511 "base_default_next" : null,
6512 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006513 "bng131" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006514 },
6515 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006516 "action_id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006517 "action_const" : true,
6518 "action_data" : [],
6519 "action_entry_const" : true
6520 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07006521 },
6522 {
6523 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006524 "id" : 29,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006525 "source_info" : {
6526 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006527 "line" : 169,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006528 "column" : 10,
6529 "source_fragment" : "t_line_session_map"
6530 },
6531 "key" : [
6532 {
6533 "match_type" : "exact",
6534 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006535 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006536 "mask" : null
6537 }
6538 ],
6539 "match_type" : "exact",
6540 "type" : "simple",
6541 "max_size" : 8192,
6542 "with_counters" : false,
6543 "support_timeout" : false,
6544 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006545 "action_ids" : [1, 12, 13],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006546 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
6547 "base_default_next" : null,
6548 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006549 "__MISS__" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006550 "__HIT__" : "node_53"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006551 },
6552 "default_entry" : {
6553 "action_id" : 1,
6554 "action_const" : true,
6555 "action_data" : [],
6556 "action_entry_const" : true
6557 }
6558 },
6559 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006560 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006561 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006562 "source_info" : {
6563 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006564 "line" : 194,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006565 "column" : 10,
6566 "source_fragment" : "t_qos_v4"
6567 },
6568 "key" : [
6569 {
6570 "match_type" : "ternary",
6571 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006572 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006573 "mask" : null
6574 },
6575 {
6576 "match_type" : "lpm",
6577 "name" : "ipv4_src",
6578 "target" : ["ipv4", "src_addr"],
6579 "mask" : null
6580 },
6581 {
6582 "match_type" : "ternary",
6583 "name" : "ipv4_dscp",
6584 "target" : ["ipv4", "dscp"],
6585 "mask" : null
6586 },
6587 {
6588 "match_type" : "ternary",
6589 "name" : "ipv4_ecn",
6590 "target" : ["ipv4", "ecn"],
6591 "mask" : null
6592 }
6593 ],
6594 "match_type" : "ternary",
6595 "type" : "simple",
6596 "max_size" : 256,
6597 "with_counters" : false,
6598 "support_timeout" : false,
6599 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006600 "action_ids" : [14, 15],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006601 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
6602 "base_default_next" : null,
6603 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006604 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_bng238",
6605 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng241"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006606 },
6607 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006608 "action_id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006609 "action_const" : true,
6610 "action_data" : [],
6611 "action_entry_const" : true
6612 }
6613 },
6614 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006615 "name" : "tbl_bng238",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006616 "id" : 31,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006617 "source_info" : {
6618 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006619 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006620 "column" : 24,
6621 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
6622 },
6623 "key" : [],
6624 "match_type" : "exact",
6625 "type" : "simple",
6626 "max_size" : 1024,
6627 "with_counters" : false,
6628 "support_timeout" : false,
6629 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006630 "action_ids" : [52],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006631 "actions" : ["bng238"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006632 "base_default_next" : null,
6633 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006634 "bng238" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07006635 },
6636 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006637 "action_id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006638 "action_const" : true,
6639 "action_data" : [],
6640 "action_entry_const" : true
6641 }
6642 },
6643 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006644 "name" : "tbl_bng241",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006645 "id" : 32,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006646 "source_info" : {
6647 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006648 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006649 "column" : 24,
6650 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
6651 },
6652 "key" : [],
6653 "match_type" : "exact",
6654 "type" : "simple",
6655 "max_size" : 1024,
6656 "with_counters" : false,
6657 "support_timeout" : false,
6658 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006659 "action_ids" : [53],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006660 "actions" : ["bng241"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006661 "base_default_next" : null,
6662 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006663 "bng241" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07006664 },
6665 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006666 "action_id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006667 "action_const" : true,
6668 "action_data" : [],
6669 "action_entry_const" : true
6670 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006671 }
6672 ],
6673 "action_profiles" : [
6674 {
6675 "name" : "FabricIngress.next.hashed_selector",
6676 "id" : 0,
6677 "source_info" : {
6678 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006679 "line" : 125,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006680 "column" : 57,
6681 "source_fragment" : "hashed_selector"
6682 },
6683 "max_size" : 1024,
6684 "selector" : {
6685 "algo" : "crc16",
6686 "input" : [
6687 {
6688 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006689 "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006690 },
6691 {
6692 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006693 "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006694 },
6695 {
6696 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006697 "value" : ["scalars", "userMetadata._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006698 },
6699 {
6700 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006701 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006702 },
6703 {
6704 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006705 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006706 }
6707 ]
6708 }
6709 }
6710 ],
6711 "conditionals" : [
6712 {
6713 "name" : "node_2",
6714 "id" : 0,
6715 "source_info" : {
6716 "filename" : "include/control/packetio.p4",
6717 "line" : 24,
6718 "column" : 12,
6719 "source_fragment" : "hdr.packet_out.isValid()"
6720 },
6721 "expression" : {
6722 "type" : "expression",
6723 "value" : {
6724 "op" : "d2b",
6725 "left" : null,
6726 "right" : {
6727 "type" : "field",
6728 "value" : ["packet_out", "$valid$"]
6729 }
6730 }
6731 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006732 "true_next" : "tbl_packetio25",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006733 "false_next" : "node_4"
6734 },
6735 {
6736 "name" : "node_4",
6737 "id" : 1,
6738 "source_info" : {
6739 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006740 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006741 "column" : 12,
6742 "source_fragment" : "hdr.vlan_tag.isValid()"
6743 },
6744 "expression" : {
6745 "type" : "expression",
6746 "value" : {
6747 "op" : "d2b",
6748 "left" : null,
6749 "right" : {
6750 "type" : "field",
6751 "value" : ["vlan_tag", "$valid$"]
6752 }
6753 }
6754 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006755 "true_next" : "tbl_filtering113",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006756 "false_next" : "node_6"
6757 },
6758 {
6759 "name" : "node_6",
6760 "id" : 2,
6761 "source_info" : {
6762 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006763 "line" : 118,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006764 "column" : 12,
6765 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
6766 },
6767 "expression" : {
6768 "type" : "expression",
6769 "value" : {
6770 "op" : "d2b",
6771 "left" : null,
6772 "right" : {
6773 "type" : "field",
6774 "value" : ["inner_vlan_tag", "$valid$"]
6775 }
6776 }
6777 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006778 "true_next" : "tbl_filtering119",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006779 "false_next" : "node_8"
6780 },
6781 {
6782 "name" : "node_8",
6783 "id" : 3,
6784 "source_info" : {
6785 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006786 "line" : 124,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006787 "column" : 12,
6788 "source_fragment" : "!hdr.mpls.isValid()"
6789 },
6790 "expression" : {
6791 "type" : "expression",
6792 "value" : {
6793 "op" : "not",
6794 "left" : null,
6795 "right" : {
6796 "type" : "expression",
6797 "value" : {
6798 "op" : "d2b",
6799 "left" : null,
6800 "right" : {
6801 "type" : "field",
6802 "value" : ["mpls", "$valid$"]
6803 }
6804 }
6805 }
6806 }
6807 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006808 "true_next" : "tbl_filtering129",
Daniele Moro5a2de712019-09-24 14:34:07 -07006809 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006810 },
6811 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006812 "name" : "node_12",
Daniele Moro5a2de712019-09-24 14:34:07 -07006813 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006814 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006815 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006816 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006817 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006818 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006819 },
6820 "expression" : {
6821 "type" : "expression",
6822 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006823 "op" : "not",
6824 "left" : null,
6825 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006826 "type" : "expression",
6827 "value" : {
6828 "op" : "d2b",
6829 "left" : null,
6830 "right" : {
6831 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006832 "value" : ["scalars", "userMetadata._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006833 }
6834 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006835 }
6836 }
6837 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006838 "true_next" : "node_13",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006839 "false_next" : "node_19"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006840 },
6841 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006842 "name" : "node_13",
6843 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006844 "source_info" : {
6845 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006846 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006847 "column" : 12,
6848 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
6849 },
6850 "expression" : {
6851 "type" : "expression",
6852 "value" : {
6853 "op" : "==",
6854 "left" : {
6855 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006856 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006857 },
6858 "right" : {
6859 "type" : "hexstr",
6860 "value" : "0x00"
6861 }
6862 }
6863 },
6864 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07006865 "false_next" : "node_15"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006866 },
6867 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006868 "name" : "node_15",
6869 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006870 "source_info" : {
6871 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006872 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006873 "column" : 17,
6874 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
6875 },
6876 "expression" : {
6877 "type" : "expression",
6878 "value" : {
6879 "op" : "==",
6880 "left" : {
6881 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006882 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006883 },
6884 "right" : {
6885 "type" : "hexstr",
6886 "value" : "0x01"
6887 }
6888 }
6889 },
6890 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07006891 "false_next" : "node_17"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006892 },
6893 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006894 "name" : "node_17",
6895 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006896 "source_info" : {
6897 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006898 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006899 "column" : 17,
6900 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
6901 },
6902 "expression" : {
6903 "type" : "expression",
6904 "value" : {
6905 "op" : "==",
6906 "left" : {
6907 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006908 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006909 },
6910 "right" : {
6911 "type" : "hexstr",
6912 "value" : "0x02"
6913 }
6914 }
6915 },
6916 "true_next" : "FabricIngress.forwarding.routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006917 "false_next" : "node_19"
6918 },
6919 {
6920 "name" : "node_19",
6921 "id" : 8,
6922 "source_info" : {
6923 "filename" : "fabric.p4",
6924 "line" : 74,
6925 "column" : 12,
6926 "source_fragment" : "fabric_metadata.skip_next"
6927 },
6928 "expression" : {
6929 "type" : "expression",
6930 "value" : {
6931 "op" : "not",
6932 "left" : null,
6933 "right" : {
6934 "type" : "expression",
6935 "value" : {
6936 "op" : "d2b",
6937 "left" : null,
6938 "right" : {
6939 "type" : "field",
6940 "value" : ["scalars", "userMetadata._skip_next11"]
6941 }
6942 }
6943 }
6944 }
6945 },
6946 "true_next" : "FabricIngress.pre_next.next_mpls",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006947 "false_next" : "tbl_acl27"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006948 },
6949 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006950 "name" : "node_23",
6951 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006952 "source_info" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006953 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006954 "line" : 97,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006955 "column" : 12,
6956 "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
6957 },
6958 "expression" : {
6959 "type" : "expression",
6960 "value" : {
6961 "op" : "and",
6962 "left" : {
6963 "type" : "expression",
6964 "value" : {
6965 "op" : "d2b",
6966 "left" : null,
6967 "right" : {
6968 "type" : "field",
6969 "value" : ["gtpu", "$valid$"]
6970 }
6971 }
6972 },
6973 "right" : {
6974 "type" : "expression",
6975 "value" : {
6976 "op" : "d2b",
6977 "left" : null,
6978 "right" : {
6979 "type" : "field",
6980 "value" : ["inner_ipv4", "$valid$"]
6981 }
6982 }
6983 }
6984 }
6985 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08006986 "true_next" : "tbl_acl98",
6987 "false_next" : "node_29"
Wailok Shum4f51bde2021-06-11 22:48:41 +08006988 },
6989 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006990 "name" : "node_25",
6991 "id" : 10,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006992 "source_info" : {
6993 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006994 "line" : 101,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006995 "column" : 16,
6996 "source_fragment" : "hdr.inner_tcp.isValid()"
6997 },
6998 "expression" : {
6999 "type" : "expression",
7000 "value" : {
7001 "op" : "d2b",
7002 "left" : null,
7003 "right" : {
7004 "type" : "field",
7005 "value" : ["inner_tcp", "$valid$"]
7006 }
7007 }
7008 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007009 "true_next" : "tbl_acl102",
7010 "false_next" : "node_27"
Wailok Shum4f51bde2021-06-11 22:48:41 +08007011 },
7012 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007013 "name" : "node_27",
7014 "id" : 11,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007015 "source_info" : {
7016 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007017 "line" : 104,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007018 "column" : 23,
7019 "source_fragment" : "hdr.inner_udp.isValid()"
7020 },
7021 "expression" : {
7022 "type" : "expression",
7023 "value" : {
7024 "op" : "d2b",
7025 "left" : null,
7026 "right" : {
7027 "type" : "field",
7028 "value" : ["inner_udp", "$valid$"]
7029 }
7030 }
7031 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007032 "true_next" : "tbl_acl105",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007033 "false_next" : "FabricIngress.acl.acl"
7034 },
7035 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007036 "name" : "node_29",
7037 "id" : 12,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007038 "source_info" : {
7039 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007040 "line" : 108,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007041 "column" : 19,
7042 "source_fragment" : "hdr.ipv4.isValid()"
7043 },
7044 "expression" : {
7045 "type" : "expression",
7046 "value" : {
7047 "op" : "d2b",
7048 "left" : null,
7049 "right" : {
7050 "type" : "field",
7051 "value" : ["ipv4", "$valid$"]
7052 }
7053 }
7054 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007055 "true_next" : "tbl_acl109",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007056 "false_next" : "FabricIngress.acl.acl"
7057 },
7058 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007059 "name" : "node_31",
7060 "id" : 13,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007061 "source_info" : {
7062 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007063 "line" : 112,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007064 "column" : 16,
7065 "source_fragment" : "hdr.tcp.isValid()"
7066 },
7067 "expression" : {
7068 "type" : "expression",
7069 "value" : {
7070 "op" : "d2b",
7071 "left" : null,
7072 "right" : {
7073 "type" : "field",
7074 "value" : ["tcp", "$valid$"]
7075 }
7076 }
7077 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007078 "true_next" : "tbl_acl113",
7079 "false_next" : "node_33"
Wailok Shum4f51bde2021-06-11 22:48:41 +08007080 },
7081 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007082 "name" : "node_33",
7083 "id" : 14,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007084 "source_info" : {
7085 "filename" : "include/control/acl.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007086 "line" : 115,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007087 "column" : 23,
7088 "source_fragment" : "hdr.udp.isValid()"
7089 },
7090 "expression" : {
7091 "type" : "expression",
7092 "value" : {
7093 "op" : "d2b",
7094 "left" : null,
7095 "right" : {
7096 "type" : "field",
7097 "value" : ["udp", "$valid$"]
7098 }
7099 }
7100 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007101 "true_next" : "tbl_acl116",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007102 "false_next" : "FabricIngress.acl.acl"
7103 },
7104 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007105 "name" : "node_36",
7106 "id" : 15,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007107 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007108 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007109 "line" : 78,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007110 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007111 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007112 },
7113 "expression" : {
7114 "type" : "expression",
7115 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007116 "op" : "not",
7117 "left" : null,
7118 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007119 "type" : "expression",
7120 "value" : {
7121 "op" : "d2b",
7122 "left" : null,
7123 "right" : {
7124 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007125 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007126 }
7127 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007128 }
7129 }
7130 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007131 "true_next" : "FabricIngress.next.hashed",
Daniele Morob3d199b2019-11-01 14:01:46 -07007132 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007133 },
7134 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007135 "name" : "node_39",
7136 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007137 "source_info" : {
7138 "filename" : "include/control/port_counter.p4",
7139 "line" : 30,
7140 "column" : 12,
7141 "source_fragment" : "standard_metadata.egress_spec < 511"
7142 },
7143 "expression" : {
7144 "type" : "expression",
7145 "value" : {
7146 "op" : "<",
7147 "left" : {
7148 "type" : "field",
7149 "value" : ["standard_metadata", "egress_spec"]
7150 },
7151 "right" : {
7152 "type" : "hexstr",
7153 "value" : "0x01ff"
7154 }
7155 }
7156 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007157 "true_next" : "tbl_port_counter31",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007158 "false_next" : "node_41"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007159 },
7160 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007161 "name" : "node_41",
7162 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007163 "source_info" : {
7164 "filename" : "include/control/port_counter.p4",
7165 "line" : 33,
7166 "column" : 12,
7167 "source_fragment" : "standard_metadata.ingress_port < 511"
7168 },
7169 "expression" : {
7170 "type" : "expression",
7171 "value" : {
7172 "op" : "<",
7173 "left" : {
7174 "type" : "field",
7175 "value" : ["standard_metadata", "ingress_port"]
7176 },
7177 "right" : {
7178 "type" : "hexstr",
7179 "value" : "0x01ff"
7180 }
7181 }
7182 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007183 "true_next" : "tbl_port_counter34",
Daniele Morob3d199b2019-11-01 14:01:46 -07007184 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007185 },
7186 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007187 "name" : "node_44",
7188 "id" : 18,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007189 "source_info" : {
7190 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007191 "line" : 341,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007192 "column" : 16,
7193 "source_fragment" : "hdr.pppoe.isValid()"
7194 },
7195 "expression" : {
7196 "type" : "expression",
7197 "value" : {
7198 "op" : "d2b",
7199 "left" : null,
7200 "right" : {
7201 "type" : "field",
7202 "value" : ["pppoe", "$valid$"]
7203 }
7204 }
7205 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007206 "true_next" : "tbl_bng342",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007207 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
7208 },
7209 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007210 "name" : "node_48",
7211 "id" : 19,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007212 "expression" : {
7213 "type" : "expression",
7214 "value" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007215 "op" : "not",
7216 "left" : null,
7217 "right" : {
7218 "type" : "expression",
7219 "value" : {
7220 "op" : "d2b",
7221 "left" : null,
7222 "right" : {
7223 "type" : "field",
7224 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
7225 }
7226 }
7227 }
7228 }
7229 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007230 "false_next" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007231 "true_next" : "node_49"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007232 },
7233 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007234 "name" : "node_49",
7235 "id" : 20,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007236 "source_info" : {
7237 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007238 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007239 "column" : 12,
7240 "source_fragment" : "hdr.ipv4.isValid()"
7241 },
7242 "expression" : {
7243 "type" : "expression",
7244 "value" : {
7245 "op" : "d2b",
7246 "left" : null,
7247 "right" : {
7248 "type" : "field",
7249 "value" : ["ipv4", "$valid$"]
7250 }
7251 }
7252 },
7253 "false_next" : null,
7254 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
7255 },
7256 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007257 "name" : "node_53",
7258 "id" : 21,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007259 "source_info" : {
7260 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007261 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007262 "column" : 16,
7263 "source_fragment" : "hdr.ipv4.isValid()"
7264 },
7265 "expression" : {
7266 "type" : "expression",
7267 "value" : {
7268 "op" : "d2b",
7269 "left" : null,
7270 "right" : {
7271 "type" : "field",
7272 "value" : ["ipv4", "$valid$"]
7273 }
7274 }
7275 },
7276 "false_next" : null,
7277 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007278 }
7279 ]
7280 },
7281 {
7282 "name" : "egress",
7283 "id" : 1,
7284 "source_info" : {
7285 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007286 "line" : 96,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007287 "column" : 8,
7288 "source_fragment" : "FabricEgress"
7289 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007290 "init_table" : "node_59",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007291 "tables" : [
7292 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007293 "name" : "tbl_packetio41",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007294 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007295 "source_info" : {
7296 "filename" : "include/control/packetio.p4",
7297 "line" : 41,
7298 "column" : 12,
7299 "source_fragment" : "exit"
7300 },
7301 "key" : [],
7302 "match_type" : "exact",
7303 "type" : "simple",
7304 "max_size" : 1024,
7305 "with_counters" : false,
7306 "support_timeout" : false,
7307 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007308 "action_ids" : [62],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007309 "actions" : ["packetio41"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007310 "base_default_next" : "node_61",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007311 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007312 "packetio41" : "node_61"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007313 },
7314 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007315 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007316 "action_const" : true,
7317 "action_data" : [],
7318 "action_entry_const" : true
7319 }
7320 },
7321 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007322 "name" : "tbl_packetio44",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007323 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007324 "source_info" : {
7325 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007326 "line" : 44,
7327 "column" : 12,
7328 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007329 },
7330 "key" : [],
7331 "match_type" : "exact",
7332 "type" : "simple",
7333 "max_size" : 1024,
7334 "with_counters" : false,
7335 "support_timeout" : false,
7336 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007337 "action_ids" : [63],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007338 "actions" : ["packetio44"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007339 "base_default_next" : "node_63",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007340 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007341 "packetio44" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007342 },
7343 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007344 "action_id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007345 "action_const" : true,
7346 "action_data" : [],
7347 "action_entry_const" : true
7348 }
7349 },
7350 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007351 "name" : "tbl_next283",
7352 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007353 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007354 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007355 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007356 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007357 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007358 },
7359 "key" : [],
7360 "match_type" : "exact",
7361 "type" : "simple",
7362 "max_size" : 1024,
7363 "with_counters" : false,
7364 "support_timeout" : false,
7365 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007366 "action_ids" : [64],
7367 "actions" : ["next283"],
7368 "base_default_next" : "node_65",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007369 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007370 "next283" : "node_65"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007371 },
7372 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007373 "action_id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007374 "action_const" : true,
7375 "action_data" : [],
7376 "action_entry_const" : true
7377 }
7378 },
7379 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007380 "name" : "tbl_egress_next_pop_mpls_if_present",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007381 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007382 "source_info" : {
7383 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007384 "line" : 287,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007385 "column" : 36,
7386 "source_fragment" : "pop_mpls_if_present()"
7387 },
7388 "key" : [],
7389 "match_type" : "exact",
7390 "type" : "simple",
7391 "max_size" : 1024,
7392 "with_counters" : false,
7393 "support_timeout" : false,
7394 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007395 "action_ids" : [55],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007396 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007397 "base_default_next" : "node_69",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007398 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007399 "FabricEgress.egress_next.pop_mpls_if_present" : "node_69"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007400 },
7401 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007402 "action_id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007403 "action_const" : true,
7404 "action_data" : [],
7405 "action_entry_const" : true
7406 }
7407 },
7408 {
7409 "name" : "tbl_egress_next_set_mpls",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007410 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007411 "source_info" : {
7412 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007413 "line" : 289,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007414 "column" : 12,
7415 "source_fragment" : "set_mpls()"
7416 },
7417 "key" : [],
7418 "match_type" : "exact",
7419 "type" : "simple",
7420 "max_size" : 1024,
7421 "with_counters" : false,
7422 "support_timeout" : false,
7423 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007424 "action_ids" : [56],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007425 "actions" : ["FabricEgress.egress_next.set_mpls"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007426 "base_default_next" : "node_69",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007427 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007428 "FabricEgress.egress_next.set_mpls" : "node_69"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007429 },
7430 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007431 "action_id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007432 "action_const" : true,
7433 "action_data" : [],
7434 "action_entry_const" : true
7435 }
7436 },
7437 {
pierventre48e78822020-12-15 17:34:54 +01007438 "name" : "tbl_egress_next_push_outer_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007439 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007440 "source_info" : {
7441 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007442 "line" : 295,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007443 "column" : 12,
pierventre48e78822020-12-15 17:34:54 +01007444 "source_fragment" : "push_outer_vlan()"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007445 },
7446 "key" : [],
7447 "match_type" : "exact",
7448 "type" : "simple",
7449 "max_size" : 1024,
7450 "with_counters" : false,
7451 "support_timeout" : false,
7452 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007453 "action_ids" : [57],
pierventre48e78822020-12-15 17:34:54 +01007454 "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007455 "base_default_next" : "tbl_egress_next_push_inner_vlan",
7456 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01007457 "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007458 },
7459 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007460 "action_id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007461 "action_const" : true,
7462 "action_data" : [],
7463 "action_entry_const" : true
7464 }
7465 },
7466 {
7467 "name" : "tbl_egress_next_push_inner_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007468 "id" : 39,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007469 "source_info" : {
7470 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007471 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007472 "column" : 12,
7473 "source_fragment" : "push_inner_vlan()"
7474 },
7475 "key" : [],
7476 "match_type" : "exact",
7477 "type" : "simple",
7478 "max_size" : 1024,
7479 "with_counters" : false,
7480 "support_timeout" : false,
7481 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007482 "action_ids" : [58],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007483 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007484 "base_default_next" : "node_74",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007485 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007486 "FabricEgress.egress_next.push_inner_vlan" : "node_74"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007487 },
7488 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007489 "action_id" : 58,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007490 "action_const" : true,
7491 "action_data" : [],
7492 "action_entry_const" : true
7493 }
7494 },
7495 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007496 "name" : "tbl_next299",
7497 "id" : 40,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007498 "source_info" : {
7499 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007500 "line" : 299,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007501 "column" : 12,
7502 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
7503 },
7504 "key" : [],
7505 "match_type" : "exact",
7506 "type" : "simple",
7507 "max_size" : 1024,
7508 "with_counters" : false,
7509 "support_timeout" : false,
7510 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007511 "action_ids" : [65],
7512 "actions" : ["next299"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007513 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
7514 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007515 "next299" : "FabricEgress.egress_next.egress_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007516 },
7517 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007518 "action_id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007519 "action_const" : true,
7520 "action_data" : [],
7521 "action_entry_const" : true
7522 }
7523 },
7524 {
7525 "name" : "FabricEgress.egress_next.egress_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007526 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007527 "source_info" : {
7528 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007529 "line" : 265,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007530 "column" : 10,
7531 "source_fragment" : "egress_vlan"
7532 },
7533 "key" : [
7534 {
7535 "match_type" : "exact",
7536 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007537 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007538 "mask" : null
7539 },
7540 {
7541 "match_type" : "exact",
7542 "name" : "eg_port",
7543 "target" : ["standard_metadata", "egress_port"],
7544 "mask" : null
7545 }
7546 ],
7547 "match_type" : "exact",
7548 "type" : "simple",
7549 "max_size" : 1024,
7550 "with_counters" : true,
7551 "support_timeout" : false,
7552 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007553 "action_ids" : [59, 60, 61],
pierventre48e78822020-12-15 17:34:54 +01007554 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007555 "base_default_next" : "node_74",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007556 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007557 "FabricEgress.egress_next.push_vlan" : "node_74",
7558 "FabricEgress.egress_next.pop_vlan" : "node_74",
7559 "FabricEgress.egress_next.drop" : "node_74"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007560 },
7561 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007562 "action_id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007563 "action_const" : true,
7564 "action_data" : [],
7565 "action_entry_const" : true
7566 }
7567 },
7568 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007569 "name" : "tbl_next309",
7570 "id" : 42,
pierventre48e78822020-12-15 17:34:54 +01007571 "source_info" : {
7572 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007573 "line" : 309,
pierventre48e78822020-12-15 17:34:54 +01007574 "column" : 25,
7575 "source_fragment" : "="
7576 },
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007577 "key" : [],
7578 "match_type" : "exact",
7579 "type" : "simple",
7580 "max_size" : 1024,
7581 "with_counters" : false,
7582 "support_timeout" : false,
7583 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007584 "action_ids" : [67],
7585 "actions" : ["next309"],
7586 "base_default_next" : "node_76",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007587 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007588 "next309" : "node_76"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007589 },
7590 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007591 "action_id" : 67,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007592 "action_const" : true,
7593 "action_data" : [],
7594 "action_entry_const" : true
7595 }
7596 },
7597 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007598 "name" : "tbl_next310",
7599 "id" : 43,
pierventre48e78822020-12-15 17:34:54 +01007600 "source_info" : {
7601 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007602 "line" : 310,
pierventre48e78822020-12-15 17:34:54 +01007603 "column" : 35,
7604 "source_fragment" : "mark_to_drop(standard_metadata)"
7605 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007606 "key" : [],
7607 "match_type" : "exact",
7608 "type" : "simple",
7609 "max_size" : 1024,
7610 "with_counters" : false,
7611 "support_timeout" : false,
7612 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007613 "action_ids" : [66],
7614 "actions" : ["next310"],
7615 "base_default_next" : "node_82",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007616 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007617 "next310" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007618 },
7619 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007620 "action_id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007621 "action_const" : true,
7622 "action_data" : [],
7623 "action_entry_const" : true
7624 }
7625 },
7626 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007627 "name" : "tbl_next313",
7628 "id" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007629 "source_info" : {
7630 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007631 "line" : 313,
pierventre48e78822020-12-15 17:34:54 +01007632 "column" : 29,
Daniele Morob3d199b2019-11-01 14:01:46 -07007633 "source_fragment" : "="
7634 },
7635 "key" : [],
7636 "match_type" : "exact",
7637 "type" : "simple",
7638 "max_size" : 1024,
7639 "with_counters" : false,
7640 "support_timeout" : false,
7641 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007642 "action_ids" : [69],
7643 "actions" : ["next313"],
7644 "base_default_next" : "node_80",
Daniele Morob3d199b2019-11-01 14:01:46 -07007645 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007646 "next313" : "node_80"
Daniele Morob3d199b2019-11-01 14:01:46 -07007647 },
7648 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007649 "action_id" : 69,
Daniele Morob3d199b2019-11-01 14:01:46 -07007650 "action_const" : true,
7651 "action_data" : [],
7652 "action_entry_const" : true
7653 }
7654 },
7655 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007656 "name" : "tbl_next314",
7657 "id" : 45,
Daniele Morob3d199b2019-11-01 14:01:46 -07007658 "source_info" : {
7659 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007660 "line" : 314,
pierventre48e78822020-12-15 17:34:54 +01007661 "column" : 39,
Daniele Morob3d199b2019-11-01 14:01:46 -07007662 "source_fragment" : "mark_to_drop(standard_metadata)"
7663 },
7664 "key" : [],
7665 "match_type" : "exact",
7666 "type" : "simple",
7667 "max_size" : 1024,
7668 "with_counters" : false,
7669 "support_timeout" : false,
7670 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007671 "action_ids" : [68],
7672 "actions" : ["next314"],
7673 "base_default_next" : "node_82",
Daniele Morob3d199b2019-11-01 14:01:46 -07007674 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007675 "next314" : "node_82"
Daniele Morob3d199b2019-11-01 14:01:46 -07007676 },
7677 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007678 "action_id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007679 "action_const" : true,
7680 "action_data" : [],
7681 "action_entry_const" : true
7682 }
7683 },
7684 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007685 "name" : "tbl_bng_egress_downstream_encap_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007686 "id" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007687 "source_info" : {
7688 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007689 "line" : 297,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007690 "column" : 12,
7691 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007692 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007693 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007694 "match_type" : "exact",
7695 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007696 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007697 "with_counters" : false,
7698 "support_timeout" : false,
7699 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007700 "action_ids" : [54],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007701 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007702 "base_default_next" : null,
7703 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007704 "FabricEgress.bng_egress.downstream.encap_v4" : null
7705 },
7706 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007707 "action_id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007708 "action_const" : true,
7709 "action_data" : [],
7710 "action_entry_const" : true
7711 }
7712 }
7713 ],
7714 "action_profiles" : [],
7715 "conditionals" : [
7716 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007717 "name" : "node_59",
7718 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007719 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007720 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007721 "line" : 108,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007722 "column" : 33,
7723 "source_fragment" : "fabric_metadata"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007724 },
7725 "expression" : {
7726 "type" : "expression",
7727 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007728 "op" : "d2b",
7729 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007730 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007731 "type" : "field",
7732 "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007733 }
7734 }
7735 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007736 "true_next" : "tbl_packetio41",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007737 "false_next" : "node_61"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007738 },
7739 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007740 "name" : "node_61",
7741 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007742 "source_info" : {
7743 "filename" : "include/control/packetio.p4",
7744 "line" : 43,
7745 "column" : 12,
7746 "source_fragment" : "standard_metadata.egress_port == 255"
7747 },
7748 "expression" : {
7749 "type" : "expression",
7750 "value" : {
7751 "op" : "==",
7752 "left" : {
7753 "type" : "field",
7754 "value" : ["standard_metadata", "egress_port"]
7755 },
7756 "right" : {
7757 "type" : "hexstr",
7758 "value" : "0x00ff"
7759 }
7760 }
7761 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007762 "true_next" : "tbl_packetio44",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007763 "false_next" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007764 },
7765 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007766 "name" : "node_63",
7767 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007768 "source_info" : {
7769 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007770 "line" : 281,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007771 "column" : 12,
7772 "source_fragment" : "fabric_metadata.is_multicast == true ..."
7773 },
7774 "expression" : {
7775 "type" : "expression",
7776 "value" : {
7777 "op" : "and",
7778 "left" : {
7779 "type" : "expression",
7780 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007781 "op" : "d2b",
7782 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007783 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007784 "type" : "field",
7785 "value" : ["scalars", "userMetadata._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007786 }
7787 }
7788 },
7789 "right" : {
7790 "type" : "expression",
7791 "value" : {
7792 "op" : "==",
7793 "left" : {
7794 "type" : "field",
7795 "value" : ["standard_metadata", "ingress_port"]
7796 },
7797 "right" : {
7798 "type" : "field",
7799 "value" : ["standard_metadata", "egress_port"]
7800 }
7801 }
7802 }
7803 }
7804 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007805 "true_next" : "tbl_next283",
7806 "false_next" : "node_65"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007807 },
7808 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007809 "name" : "node_65",
7810 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007811 "source_info" : {
7812 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007813 "line" : 286,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007814 "column" : 12,
7815 "source_fragment" : "fabric_metadata.mpls_label == 0"
7816 },
7817 "expression" : {
7818 "type" : "expression",
7819 "value" : {
7820 "op" : "==",
7821 "left" : {
7822 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007823 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007824 },
7825 "right" : {
7826 "type" : "hexstr",
7827 "value" : "0x000000"
7828 }
7829 }
7830 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007831 "true_next" : "node_66",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007832 "false_next" : "tbl_egress_next_set_mpls"
7833 },
7834 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007835 "name" : "node_66",
7836 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007837 "source_info" : {
7838 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007839 "line" : 287,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007840 "column" : 16,
7841 "source_fragment" : "hdr.mpls.isValid()"
7842 },
7843 "expression" : {
7844 "type" : "expression",
7845 "value" : {
7846 "op" : "d2b",
7847 "left" : null,
7848 "right" : {
7849 "type" : "field",
7850 "value" : ["mpls", "$valid$"]
7851 }
7852 }
7853 },
7854 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007855 "false_next" : "node_69"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007856 },
7857 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007858 "name" : "node_69",
7859 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007860 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007861 "filename" : "fabric.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007862 "line" : 109,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007863 "column" : 31,
7864 "source_fragment" : "fabric_metadata"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007865 },
7866 "expression" : {
7867 "type" : "expression",
7868 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007869 "op" : "d2b",
7870 "left" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007871 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007872 "type" : "field",
7873 "value" : ["scalars", "userMetadata._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07007874 }
7875 }
7876 },
pierventre48e78822020-12-15 17:34:54 +01007877 "true_next" : "tbl_egress_next_push_outer_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007878 "false_next" : "tbl_next299"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007879 },
7880 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007881 "name" : "node_74",
7882 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007883 "source_info" : {
7884 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007885 "line" : 308,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007886 "column" : 12,
7887 "source_fragment" : "hdr.mpls.isValid()"
7888 },
7889 "expression" : {
7890 "type" : "expression",
7891 "value" : {
7892 "op" : "d2b",
7893 "left" : null,
7894 "right" : {
7895 "type" : "field",
7896 "value" : ["mpls", "$valid$"]
7897 }
7898 }
7899 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007900 "true_next" : "tbl_next309",
7901 "false_next" : "node_78"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007902 },
7903 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007904 "name" : "node_76",
7905 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007906 "source_info" : {
7907 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007908 "line" : 310,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007909 "column" : 16,
7910 "source_fragment" : "hdr.mpls.ttl == 0"
7911 },
7912 "expression" : {
7913 "type" : "expression",
7914 "value" : {
7915 "op" : "==",
7916 "left" : {
7917 "type" : "field",
7918 "value" : ["mpls", "ttl"]
7919 },
7920 "right" : {
7921 "type" : "hexstr",
7922 "value" : "0x00"
7923 }
7924 }
7925 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007926 "true_next" : "tbl_next310",
7927 "false_next" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007928 },
7929 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007930 "name" : "node_78",
7931 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007932 "source_info" : {
7933 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007934 "line" : 312,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007935 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07007936 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007937 },
7938 "expression" : {
7939 "type" : "expression",
7940 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07007941 "op" : "and",
7942 "left" : {
7943 "type" : "expression",
7944 "value" : {
7945 "op" : "d2b",
7946 "left" : null,
7947 "right" : {
7948 "type" : "field",
7949 "value" : ["ipv4", "$valid$"]
7950 }
7951 }
7952 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007953 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07007954 "type" : "expression",
7955 "value" : {
7956 "op" : "!=",
7957 "left" : {
7958 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007959 "value" : ["scalars", "userMetadata._fwd_type12"]
Charles Chan74ad51e2020-09-12 19:05:42 -07007960 },
7961 "right" : {
7962 "type" : "hexstr",
7963 "value" : "0x00"
7964 }
7965 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007966 }
7967 }
7968 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007969 "true_next" : "tbl_next313",
7970 "false_next" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007971 },
7972 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007973 "name" : "node_80",
7974 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007975 "source_info" : {
7976 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007977 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007978 "column" : 20,
7979 "source_fragment" : "hdr.ipv4.ttl == 0"
7980 },
7981 "expression" : {
7982 "type" : "expression",
7983 "value" : {
7984 "op" : "==",
7985 "left" : {
7986 "type" : "field",
7987 "value" : ["ipv4", "ttl"]
7988 },
7989 "right" : {
7990 "type" : "hexstr",
7991 "value" : "0x00"
7992 }
7993 }
7994 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08007995 "true_next" : "tbl_next314",
7996 "false_next" : "node_82"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007997 },
7998 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007999 "name" : "node_82",
8000 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008001 "source_info" : {
8002 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008003 "line" : 358,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008004 "column" : 12,
8005 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
8006 },
8007 "expression" : {
8008 "type" : "expression",
8009 "value" : {
8010 "op" : "==",
8011 "left" : {
8012 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008013 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008014 },
8015 "right" : {
8016 "type" : "hexstr",
8017 "value" : "0x02"
8018 }
8019 }
8020 },
8021 "false_next" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008022 "true_next" : "node_83"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008023 },
8024 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008025 "name" : "node_83",
8026 "id" : 33,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008027 "source_info" : {
8028 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008029 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008030 "column" : 12,
8031 "source_fragment" : "hdr.ipv4.isValid()"
8032 },
8033 "expression" : {
8034 "type" : "expression",
8035 "value" : {
8036 "op" : "d2b",
8037 "left" : null,
8038 "right" : {
8039 "type" : "field",
8040 "value" : ["ipv4", "$valid$"]
8041 }
8042 }
8043 },
8044 "false_next" : null,
8045 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008046 }
8047 ]
8048 }
8049 ],
8050 "checksums" : [
8051 {
8052 "name" : "cksum",
8053 "id" : 0,
8054 "source_info" : {
8055 "filename" : "include/checksum.p4",
8056 "line" : 28,
8057 "column" : 8,
8058 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
8059 },
8060 "target" : ["ipv4", "hdr_checksum"],
8061 "type" : "generic",
8062 "calculation" : "calc",
8063 "verify" : false,
8064 "update" : true,
8065 "if_cond" : {
8066 "type" : "expression",
8067 "value" : {
8068 "op" : "d2b",
8069 "left" : null,
8070 "right" : {
8071 "type" : "field",
8072 "value" : ["ipv4", "$valid$"]
8073 }
8074 }
8075 }
8076 },
8077 {
8078 "name" : "cksum_0",
8079 "id" : 1,
8080 "source_info" : {
8081 "filename" : "include/checksum.p4",
8082 "line" : 57,
8083 "column" : 8,
8084 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
8085 },
8086 "target" : ["ipv4", "hdr_checksum"],
8087 "type" : "generic",
8088 "calculation" : "calc_0",
8089 "verify" : true,
8090 "update" : false,
8091 "if_cond" : {
8092 "type" : "expression",
8093 "value" : {
8094 "op" : "d2b",
8095 "left" : null,
8096 "right" : {
8097 "type" : "field",
8098 "value" : ["ipv4", "$valid$"]
8099 }
8100 }
8101 }
8102 }
8103 ],
8104 "force_arith" : [],
8105 "extern_instances" : [],
8106 "field_aliases" : [
8107 [
8108 "queueing_metadata.enq_timestamp",
8109 ["standard_metadata", "enq_timestamp"]
8110 ],
8111 [
8112 "queueing_metadata.enq_qdepth",
8113 ["standard_metadata", "enq_qdepth"]
8114 ],
8115 [
8116 "queueing_metadata.deq_timedelta",
8117 ["standard_metadata", "deq_timedelta"]
8118 ],
8119 [
8120 "queueing_metadata.deq_qdepth",
8121 ["standard_metadata", "deq_qdepth"]
8122 ],
8123 [
8124 "intrinsic_metadata.ingress_global_timestamp",
8125 ["standard_metadata", "ingress_global_timestamp"]
8126 ],
8127 [
8128 "intrinsic_metadata.egress_global_timestamp",
8129 ["standard_metadata", "egress_global_timestamp"]
8130 ],
8131 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008132 "intrinsic_metadata.mcast_grp",
8133 ["standard_metadata", "mcast_grp"]
8134 ],
8135 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008136 "intrinsic_metadata.egress_rid",
8137 ["standard_metadata", "egress_rid"]
8138 ],
8139 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008140 "intrinsic_metadata.priority",
8141 ["standard_metadata", "priority"]
8142 ]
8143 ],
8144 "program" : "fabric.p4",
8145 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008146 "version" : [2, 23],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008147 "compiler" : "https://github.com/p4lang/p4c"
8148 }
8149}