blob: 7ca7062dbe4fc7f4d7c2f993e353efd238ef8368 [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],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070050 ["_padding_0", 1, false]
Carmelo Cascone2388cc12021-05-26 19:30:30 +020051 ]
52 },
53 {
54 "name" : "packet_out_header_t",
55 "id" : 1,
56 "fields" : [
57 ["egress_port", 9, false],
58 ["do_forwarding", 1, false],
59 ["_pad", 6, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070060 ]
61 },
62 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070063 "name" : "gtpu_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020064 "id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070065 "fields" : [
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070066 ["version", 3, false],
67 ["pt", 1, false],
68 ["spare", 1, false],
69 ["ex_flag", 1, false],
70 ["seq_flag", 1, false],
71 ["npdu_flag", 1, false],
72 ["msgtype", 8, false],
73 ["msglen", 16, false],
74 ["teid", 32, false]
75 ]
76 },
77 {
78 "name" : "standard_metadata",
79 "id" : 3,
80 "fields" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070081 ["ingress_port", 9, false],
82 ["egress_spec", 9, false],
83 ["egress_port", 9, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070084 ["instance_type", 32, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070085 ["packet_length", 32, false],
86 ["enq_timestamp", 32, false],
87 ["enq_qdepth", 19, false],
88 ["deq_timedelta", 32, false],
89 ["deq_qdepth", 19, false],
90 ["ingress_global_timestamp", 48, false],
91 ["egress_global_timestamp", 48, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070092 ["mcast_grp", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070093 ["egress_rid", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070094 ["checksum_error", 1, false],
95 ["parser_error", 32, false],
96 ["priority", 3, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020097 ["_padding", 3, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070098 ]
99 },
100 {
101 "name" : "ethernet_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700102 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700103 "fields" : [
104 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700105 ["src_addr", 48, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700106 ]
107 },
108 {
109 "name" : "vlan_tag_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700110 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700111 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -0700112 ["eth_type", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700113 ["pri", 3, false],
114 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700115 ["vlan_id", 12, false]
116 ]
117 },
118 {
119 "name" : "eth_type_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700120 "id" : 6,
Daniele Moro5a2de712019-09-24 14:34:07 -0700121 "fields" : [
122 ["value", 16, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700123 ]
124 },
125 {
126 "name" : "pppoe_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700127 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700128 "fields" : [
129 ["version", 4, false],
130 ["type_id", 4, false],
131 ["code", 8, false],
132 ["session_id", 16, false],
133 ["length", 16, false],
134 ["protocol", 16, false]
135 ]
136 },
137 {
138 "name" : "mpls_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700139 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700140 "fields" : [
141 ["label", 20, false],
142 ["tc", 3, false],
143 ["bos", 1, false],
144 ["ttl", 8, false]
145 ]
146 },
147 {
148 "name" : "ipv4_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700149 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700150 "fields" : [
151 ["version", 4, false],
152 ["ihl", 4, false],
153 ["dscp", 6, false],
154 ["ecn", 2, false],
155 ["total_len", 16, false],
156 ["identification", 16, false],
157 ["flags", 3, false],
158 ["frag_offset", 13, false],
159 ["ttl", 8, false],
160 ["protocol", 8, false],
161 ["hdr_checksum", 16, false],
162 ["src_addr", 32, false],
163 ["dst_addr", 32, false]
164 ]
165 },
166 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800167 "name" : "udp_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700168 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700169 "fields" : [
170 ["sport", 16, false],
171 ["dport", 16, false],
Wailok Shum4f51bde2021-06-11 22:48:41 +0800172 ["len", 16, false],
173 ["checksum", 16, false]
174 ]
175 },
176 {
177 "name" : "tcp_t",
178 "id" : 11,
179 "fields" : [
180 ["sport", 16, false],
181 ["dport", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700182 ["seq_no", 32, false],
183 ["ack_no", 32, false],
184 ["data_offset", 4, false],
185 ["res", 3, false],
186 ["ecn", 3, false],
187 ["ctrl", 6, false],
188 ["window", 16, false],
189 ["checksum", 16, false],
190 ["urgent_ptr", 16, false]
191 ]
192 },
193 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700194 "name" : "icmp_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700195 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700196 "fields" : [
197 ["icmp_type", 8, false],
198 ["icmp_code", 8, false],
199 ["checksum", 16, false],
200 ["identifier", 16, false],
201 ["sequence_number", 16, false],
202 ["timestamp", 64, false]
203 ]
204 },
205 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700206 "name" : "packet_in_header_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700207 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700208 "fields" : [
209 ["ingress_port", 9, false],
210 ["_pad", 7, false]
211 ]
212 }
213 ],
214 "headers" : [
215 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200216 "name" : "tmp",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700217 "id" : 0,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200218 "header_type" : "packet_out_header_t",
219 "metadata" : false,
220 "pi_omit" : true
221 },
222 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700223 "name" : "gtpu_0",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200224 "id" : 1,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700225 "header_type" : "gtpu_t",
226 "metadata" : false,
227 "pi_omit" : true
228 },
229 {
230 "name" : "scalars",
231 "id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700232 "header_type" : "scalars_0",
233 "metadata" : true,
234 "pi_omit" : true
235 },
236 {
237 "name" : "standard_metadata",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700238 "id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700239 "header_type" : "standard_metadata",
240 "metadata" : true,
241 "pi_omit" : true
242 },
243 {
244 "name" : "ethernet",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700245 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700246 "header_type" : "ethernet_t",
247 "metadata" : false,
248 "pi_omit" : true
249 },
250 {
251 "name" : "vlan_tag",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700252 "id" : 5,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200253 "header_type" : "vlan_tag_t",
254 "metadata" : false,
255 "pi_omit" : true
256 },
257 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700258 "name" : "inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200259 "id" : 6,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700260 "header_type" : "vlan_tag_t",
261 "metadata" : false,
262 "pi_omit" : true
263 },
264 {
265 "name" : "eth_type",
266 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700267 "header_type" : "eth_type_t",
268 "metadata" : false,
269 "pi_omit" : true
270 },
271 {
272 "name" : "pppoe",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700273 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700274 "header_type" : "pppoe_t",
275 "metadata" : false,
276 "pi_omit" : true
277 },
278 {
279 "name" : "mpls",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700280 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700281 "header_type" : "mpls_t",
282 "metadata" : false,
283 "pi_omit" : true
284 },
285 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800286 "name" : "gtpu",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700287 "id" : 10,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800288 "header_type" : "gtpu_t",
289 "metadata" : false,
290 "pi_omit" : true
291 },
292 {
293 "name" : "inner_ipv4",
294 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700295 "header_type" : "ipv4_t",
296 "metadata" : false,
297 "pi_omit" : true
298 },
299 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800300 "name" : "inner_udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700301 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700302 "header_type" : "udp_t",
303 "metadata" : false,
304 "pi_omit" : true
305 },
306 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800307 "name" : "inner_tcp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700308 "id" : 13,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800309 "header_type" : "tcp_t",
310 "metadata" : false,
311 "pi_omit" : true
312 },
313 {
314 "name" : "inner_icmp",
315 "id" : 14,
316 "header_type" : "icmp_t",
317 "metadata" : false,
318 "pi_omit" : true
319 },
320 {
321 "name" : "ipv4",
322 "id" : 15,
323 "header_type" : "ipv4_t",
324 "metadata" : false,
325 "pi_omit" : true
326 },
327 {
328 "name" : "tcp",
329 "id" : 16,
330 "header_type" : "tcp_t",
331 "metadata" : false,
332 "pi_omit" : true
333 },
334 {
335 "name" : "udp",
336 "id" : 17,
337 "header_type" : "udp_t",
338 "metadata" : false,
339 "pi_omit" : true
340 },
341 {
342 "name" : "icmp",
343 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700344 "header_type" : "icmp_t",
345 "metadata" : false,
346 "pi_omit" : true
347 },
348 {
349 "name" : "packet_out",
Wailok Shum4f51bde2021-06-11 22:48:41 +0800350 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700351 "header_type" : "packet_out_header_t",
352 "metadata" : false,
353 "pi_omit" : true
354 },
355 {
356 "name" : "packet_in",
Wailok Shum4f51bde2021-06-11 22:48:41 +0800357 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700358 "header_type" : "packet_in_header_t",
359 "metadata" : false,
360 "pi_omit" : true
361 }
362 ],
363 "header_stacks" : [],
364 "header_union_types" : [],
365 "header_unions" : [],
366 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700367 "field_lists" : [
368 {
369 "id" : 1,
370 "name" : "fl",
371 "source_info" : {
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700372 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +0800373 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700374 "column" : 40,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700375 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700376 },
377 "elements" : [
378 {
379 "type" : "field",
380 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700381 }
382 ]
383 }
384 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700385 "errors" : [
386 ["NoError", 1],
387 ["PacketTooShort", 2],
388 ["NoMatch", 3],
389 ["StackOutOfBounds", 4],
390 ["HeaderTooShort", 5],
391 ["ParserTimeout", 6],
392 ["ParserInvalidArgument", 7]
393 ],
394 "enums" : [],
395 "parsers" : [
396 {
397 "name" : "parser",
398 "id" : 0,
399 "init_state" : "start",
400 "parse_states" : [
401 {
402 "name" : "start",
403 "id" : 0,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400404 "parser_ops" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700405 "transitions" : [
406 {
407 "type" : "hexstr",
408 "value" : "0x00ff",
409 "mask" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200410 "next_state" : "check_packet_out"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700411 },
412 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200413 "type" : "default",
414 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700415 "mask" : null,
416 "next_state" : "parse_ethernet"
417 }
418 ],
419 "transition_key" : [
420 {
421 "type" : "field",
422 "value" : ["standard_metadata", "ingress_port"]
423 }
424 ]
425 },
426 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200427 "name" : "check_packet_out",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700428 "id" : 1,
429 "parser_ops" : [
430 {
431 "parameters" : [
432 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200433 "type" : "field",
434 "value" : ["scalars", "tmp_6"]
435 },
436 {
437 "type" : "lookahead",
438 "value" : [0, 16]
439 }
440 ],
441 "op" : "set"
442 },
443 {
444 "parameters" : [
445 {
446 "parameters" : [
447 {
448 "type" : "header",
449 "value" : "tmp"
450 }
451 ],
452 "op" : "add_header"
453 }
454 ],
455 "op" : "primitive"
456 },
457 {
458 "parameters" : [
459 {
460 "type" : "field",
461 "value" : ["tmp", "egress_port"]
462 },
463 {
464 "type" : "expression",
465 "value" : {
466 "type" : "expression",
467 "value" : {
468 "op" : "&",
469 "left" : {
470 "type" : "expression",
471 "value" : {
472 "op" : "&",
473 "left" : {
474 "type" : "expression",
475 "value" : {
476 "op" : ">>",
477 "left" : {
478 "type" : "field",
479 "value" : ["scalars", "tmp_6"]
480 },
481 "right" : {
482 "type" : "hexstr",
483 "value" : "0x7"
484 }
485 }
486 },
487 "right" : {
488 "type" : "hexstr",
489 "value" : "0xffff"
490 }
491 }
492 },
493 "right" : {
494 "type" : "hexstr",
495 "value" : "0x01ff"
496 }
497 }
498 }
499 }
500 ],
501 "op" : "set"
502 },
503 {
504 "parameters" : [
505 {
506 "type" : "field",
507 "value" : ["tmp", "do_forwarding"]
508 },
509 {
510 "type" : "expression",
511 "value" : {
512 "type" : "expression",
513 "value" : {
514 "op" : "&",
515 "left" : {
516 "type" : "expression",
517 "value" : {
518 "op" : "&",
519 "left" : {
520 "type" : "expression",
521 "value" : {
522 "op" : ">>",
523 "left" : {
524 "type" : "field",
525 "value" : ["scalars", "tmp_6"]
526 },
527 "right" : {
528 "type" : "hexstr",
529 "value" : "0x6"
530 }
531 }
532 },
533 "right" : {
534 "type" : "hexstr",
535 "value" : "0xffff"
536 }
537 }
538 },
539 "right" : {
540 "type" : "hexstr",
541 "value" : "0x01"
542 }
543 }
544 }
545 }
546 ],
547 "op" : "set"
548 },
549 {
550 "parameters" : [
551 {
552 "type" : "field",
553 "value" : ["tmp", "_pad"]
554 },
555 {
556 "type" : "expression",
557 "value" : {
558 "type" : "expression",
559 "value" : {
560 "op" : "&",
561 "left" : {
562 "type" : "field",
563 "value" : ["scalars", "tmp_6"]
564 },
565 "right" : {
566 "type" : "hexstr",
567 "value" : "0x3f"
568 }
569 }
570 }
571 }
572 ],
573 "op" : "set"
574 },
575 {
576 "parameters" : [
577 {
578 "type" : "field",
579 "value" : ["scalars", "tmp_0"]
580 },
581 {
582 "type" : "expression",
583 "value" : {
584 "type" : "expression",
585 "value" : {
586 "op" : "&",
587 "left" : {
588 "type" : "expression",
589 "value" : {
590 "op" : "&",
591 "left" : {
592 "type" : "expression",
593 "value" : {
594 "op" : ">>",
595 "left" : {
596 "type" : "field",
597 "value" : ["scalars", "tmp_6"]
598 },
599 "right" : {
600 "type" : "hexstr",
601 "value" : "0x6"
602 }
603 }
604 },
605 "right" : {
606 "type" : "hexstr",
607 "value" : "0xffff"
608 }
609 }
610 },
611 "right" : {
612 "type" : "hexstr",
613 "value" : "0x01"
614 }
615 }
616 }
617 }
618 ],
619 "op" : "set"
620 }
621 ],
622 "transitions" : [
623 {
624 "type" : "hexstr",
625 "value" : "0x00",
626 "mask" : null,
627 "next_state" : "parse_packet_out_and_accept"
628 },
629 {
630 "type" : "default",
631 "value" : null,
632 "mask" : null,
633 "next_state" : "strip_packet_out"
634 }
635 ],
636 "transition_key" : [
637 {
638 "type" : "field",
639 "value" : ["scalars", "tmp_0"]
640 }
641 ]
642 },
643 {
644 "name" : "parse_packet_out_and_accept",
645 "id" : 2,
646 "parser_ops" : [
647 {
648 "parameters" : [
649 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700650 "type" : "regular",
651 "value" : "packet_out"
652 }
653 ],
654 "op" : "extract"
655 }
656 ],
657 "transitions" : [
658 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200659 "type" : "default",
660 "value" : null,
661 "mask" : null,
662 "next_state" : null
663 }
664 ],
665 "transition_key" : []
666 },
667 {
668 "name" : "strip_packet_out",
669 "id" : 3,
670 "parser_ops" : [
671 {
672 "parameters" : [
673 {
674 "type" : "hexstr",
675 "value" : "0x00000010"
676 }
677 ],
678 "op" : "advance"
679 }
680 ],
681 "transitions" : [
682 {
683 "type" : "default",
684 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700685 "mask" : null,
686 "next_state" : "parse_ethernet"
687 }
688 ],
689 "transition_key" : []
690 },
691 {
692 "name" : "parse_ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200693 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700694 "parser_ops" : [
695 {
696 "parameters" : [
697 {
698 "type" : "regular",
699 "value" : "ethernet"
700 }
701 ],
702 "op" : "extract"
703 },
704 {
705 "parameters" : [
706 {
707 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200708 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700709 },
710 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700711 "type" : "hexstr",
712 "value" : "0x0ffe"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700713 }
714 ],
715 "op" : "set"
716 },
717 {
718 "parameters" : [
719 {
720 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200721 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700722 },
723 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700724 "type" : "lookahead",
725 "value" : [0, 16]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700726 }
727 ],
728 "op" : "set"
729 }
730 ],
731 "transitions" : [
732 {
733 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700734 "value" : "0x88a8",
735 "mask" : null,
736 "next_state" : "parse_vlan_tag"
737 },
738 {
739 "type" : "hexstr",
740 "value" : "0x9100",
741 "mask" : null,
742 "next_state" : "parse_vlan_tag"
743 },
744 {
745 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700746 "value" : "0x8100",
747 "mask" : null,
748 "next_state" : "parse_vlan_tag"
749 },
750 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200751 "type" : "default",
752 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700753 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700754 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700755 }
756 ],
757 "transition_key" : [
758 {
759 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200760 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700761 }
762 ]
763 },
764 {
765 "name" : "parse_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200766 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700767 "parser_ops" : [
768 {
769 "parameters" : [
770 {
771 "type" : "regular",
772 "value" : "vlan_tag"
773 }
774 ],
775 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700776 },
777 {
778 "parameters" : [
779 {
780 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200781 "value" : ["scalars", "userMetadata._bng_s_tag25"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700782 },
783 {
784 "type" : "field",
785 "value" : ["vlan_tag", "vlan_id"]
786 }
787 ],
788 "op" : "set"
789 },
790 {
791 "parameters" : [
792 {
793 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200794 "value" : ["scalars", "tmp_3"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700795 },
796 {
797 "type" : "lookahead",
798 "value" : [0, 16]
799 }
800 ],
801 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700802 }
803 ],
804 "transitions" : [
805 {
806 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700807 "value" : "0x8100",
808 "mask" : null,
809 "next_state" : "parse_inner_vlan_tag"
810 },
811 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200812 "type" : "default",
813 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700814 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700815 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700816 }
817 ],
818 "transition_key" : [
819 {
820 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200821 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700822 }
823 ]
824 },
825 {
826 "name" : "parse_inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200827 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700828 "parser_ops" : [
829 {
830 "parameters" : [
831 {
832 "type" : "regular",
833 "value" : "inner_vlan_tag"
834 }
835 ],
836 "op" : "extract"
Daniele Morob3d199b2019-11-01 14:01:46 -0700837 },
838 {
839 "parameters" : [
840 {
841 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200842 "value" : ["scalars", "userMetadata._bng_c_tag26"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700843 },
844 {
845 "type" : "field",
846 "value" : ["inner_vlan_tag", "vlan_id"]
847 }
848 ],
849 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700850 }
851 ],
852 "transitions" : [
853 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200854 "type" : "default",
855 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700856 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700857 "next_state" : "parse_eth_type"
858 }
859 ],
860 "transition_key" : []
861 },
862 {
863 "name" : "parse_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200864 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700865 "parser_ops" : [
866 {
867 "parameters" : [
868 {
869 "type" : "regular",
870 "value" : "eth_type"
871 }
872 ],
873 "op" : "extract"
874 }
875 ],
876 "transitions" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700877 {
878 "type" : "hexstr",
879 "value" : "0x8847",
880 "mask" : null,
881 "next_state" : "parse_mpls"
882 },
883 {
884 "type" : "hexstr",
Daniele Moro5a2de712019-09-24 14:34:07 -0700885 "value" : "0x0800",
886 "mask" : null,
887 "next_state" : "parse_ipv4"
888 },
889 {
890 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700891 "value" : "0x8863",
892 "mask" : null,
893 "next_state" : "parse_pppoe"
894 },
895 {
896 "type" : "hexstr",
897 "value" : "0x8864",
898 "mask" : null,
899 "next_state" : "parse_pppoe"
900 },
901 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200902 "type" : "default",
903 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700904 "mask" : null,
905 "next_state" : null
906 }
907 ],
908 "transition_key" : [
909 {
910 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700911 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700912 }
913 ]
914 },
915 {
916 "name" : "parse_pppoe",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200917 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700918 "parser_ops" : [
919 {
920 "parameters" : [
921 {
922 "type" : "regular",
923 "value" : "pppoe"
924 }
925 ],
926 "op" : "extract"
927 }
928 ],
929 "transitions" : [
930 {
931 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700932 "value" : "0x0281",
933 "mask" : null,
934 "next_state" : "parse_mpls"
935 },
936 {
937 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700938 "value" : "0x0021",
939 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700940 "next_state" : "parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700941 },
942 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200943 "type" : "default",
944 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700945 "mask" : null,
946 "next_state" : null
947 }
948 ],
949 "transition_key" : [
950 {
951 "type" : "field",
952 "value" : ["pppoe", "protocol"]
953 }
954 ]
955 },
956 {
957 "name" : "parse_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200958 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700959 "parser_ops" : [
960 {
961 "parameters" : [
962 {
963 "type" : "regular",
964 "value" : "mpls"
965 }
966 ],
967 "op" : "extract"
968 },
969 {
970 "parameters" : [
971 {
972 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200973 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700974 },
975 {
976 "type" : "field",
977 "value" : ["mpls", "label"]
978 }
979 ],
980 "op" : "set"
981 },
982 {
983 "parameters" : [
984 {
985 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200986 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700987 },
988 {
989 "type" : "field",
990 "value" : ["mpls", "ttl"]
991 }
992 ],
993 "op" : "set"
994 },
995 {
996 "parameters" : [
997 {
998 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200999 "value" : ["scalars", "tmp_5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001000 },
1001 {
1002 "type" : "lookahead",
1003 "value" : [0, 4]
1004 }
1005 ],
1006 "op" : "set"
1007 }
1008 ],
1009 "transitions" : [
1010 {
1011 "type" : "hexstr",
1012 "value" : "0x04",
1013 "mask" : null,
1014 "next_state" : "parse_ipv4"
1015 },
1016 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001017 "type" : "default",
1018 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001019 "mask" : null,
1020 "next_state" : "parse_ethernet"
1021 }
1022 ],
1023 "transition_key" : [
1024 {
1025 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001026 "value" : ["scalars", "tmp_5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001027 }
1028 ]
1029 },
1030 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001031 "name" : "parse_ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001032 "id" : 10,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001033 "parser_ops" : [
1034 {
1035 "parameters" : [
1036 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001037 "type" : "regular",
1038 "value" : "ipv4"
1039 }
1040 ],
1041 "op" : "extract"
1042 },
1043 {
1044 "parameters" : [
1045 {
1046 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001047 "value" : ["scalars", "userMetadata._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001048 },
1049 {
1050 "type" : "field",
1051 "value" : ["ipv4", "protocol"]
1052 }
1053 ],
1054 "op" : "set"
1055 },
1056 {
1057 "parameters" : [
1058 {
1059 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001060 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001061 },
1062 {
1063 "type" : "hexstr",
1064 "value" : "0x0800"
1065 }
1066 ],
1067 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001068 },
1069 {
1070 "parameters" : [
1071 {
1072 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001073 "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001074 },
1075 {
1076 "type" : "field",
1077 "value" : ["ipv4", "src_addr"]
1078 }
1079 ],
1080 "op" : "set"
1081 },
1082 {
1083 "parameters" : [
1084 {
1085 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001086 "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001087 },
1088 {
1089 "type" : "field",
1090 "value" : ["ipv4", "dst_addr"]
1091 }
1092 ],
1093 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001094 }
1095 ],
1096 "transitions" : [
1097 {
1098 "type" : "hexstr",
1099 "value" : "0x06",
1100 "mask" : null,
1101 "next_state" : "parse_tcp"
1102 },
1103 {
1104 "type" : "hexstr",
1105 "value" : "0x11",
1106 "mask" : null,
1107 "next_state" : "parse_udp"
1108 },
1109 {
1110 "type" : "hexstr",
1111 "value" : "0x01",
1112 "mask" : null,
1113 "next_state" : "parse_icmp"
1114 },
1115 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001116 "type" : "default",
1117 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001118 "mask" : null,
1119 "next_state" : null
1120 }
1121 ],
1122 "transition_key" : [
1123 {
1124 "type" : "field",
1125 "value" : ["ipv4", "protocol"]
1126 }
1127 ]
1128 },
1129 {
1130 "name" : "parse_tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001131 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001132 "parser_ops" : [
1133 {
1134 "parameters" : [
1135 {
1136 "type" : "regular",
1137 "value" : "tcp"
1138 }
1139 ],
1140 "op" : "extract"
1141 },
1142 {
1143 "parameters" : [
1144 {
1145 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001146 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001147 },
1148 {
1149 "type" : "field",
1150 "value" : ["tcp", "sport"]
1151 }
1152 ],
1153 "op" : "set"
1154 },
1155 {
1156 "parameters" : [
1157 {
1158 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001159 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001160 },
1161 {
1162 "type" : "field",
1163 "value" : ["tcp", "dport"]
1164 }
1165 ],
1166 "op" : "set"
1167 }
1168 ],
1169 "transitions" : [
1170 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001171 "type" : "default",
1172 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001173 "mask" : null,
1174 "next_state" : null
1175 }
1176 ],
1177 "transition_key" : []
1178 },
1179 {
1180 "name" : "parse_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001181 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001182 "parser_ops" : [
1183 {
1184 "parameters" : [
1185 {
1186 "type" : "regular",
1187 "value" : "udp"
1188 }
1189 ],
1190 "op" : "extract"
1191 },
1192 {
1193 "parameters" : [
1194 {
1195 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001196 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001197 },
1198 {
1199 "type" : "field",
1200 "value" : ["udp", "sport"]
1201 }
1202 ],
1203 "op" : "set"
1204 },
1205 {
1206 "parameters" : [
1207 {
1208 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001209 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001210 },
1211 {
1212 "type" : "field",
1213 "value" : ["udp", "dport"]
1214 }
1215 ],
1216 "op" : "set"
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001217 },
1218 {
1219 "parameters" : [
1220 {
1221 "type" : "field",
1222 "value" : ["scalars", "tmp_7"]
1223 },
1224 {
1225 "type" : "lookahead",
1226 "value" : [0, 64]
1227 }
1228 ],
1229 "op" : "set"
1230 },
1231 {
1232 "parameters" : [
1233 {
1234 "parameters" : [
1235 {
1236 "type" : "header",
1237 "value" : "gtpu_0"
1238 }
1239 ],
1240 "op" : "add_header"
1241 }
1242 ],
1243 "op" : "primitive"
1244 },
1245 {
1246 "parameters" : [
1247 {
1248 "type" : "field",
1249 "value" : ["gtpu_0", "version"]
1250 },
1251 {
1252 "type" : "expression",
1253 "value" : {
1254 "type" : "expression",
1255 "value" : {
1256 "op" : "&",
1257 "left" : {
1258 "type" : "expression",
1259 "value" : {
1260 "op" : "&",
1261 "left" : {
1262 "type" : "expression",
1263 "value" : {
1264 "op" : ">>",
1265 "left" : {
1266 "type" : "field",
1267 "value" : ["scalars", "tmp_7"]
1268 },
1269 "right" : {
1270 "type" : "hexstr",
1271 "value" : "0x3d"
1272 }
1273 }
1274 },
1275 "right" : {
1276 "type" : "hexstr",
1277 "value" : "0xffffffffffffffff"
1278 }
1279 }
1280 },
1281 "right" : {
1282 "type" : "hexstr",
1283 "value" : "0x07"
1284 }
1285 }
1286 }
1287 }
1288 ],
1289 "op" : "set"
1290 },
1291 {
1292 "parameters" : [
1293 {
1294 "type" : "field",
1295 "value" : ["gtpu_0", "pt"]
1296 },
1297 {
1298 "type" : "expression",
1299 "value" : {
1300 "type" : "expression",
1301 "value" : {
1302 "op" : "&",
1303 "left" : {
1304 "type" : "expression",
1305 "value" : {
1306 "op" : "&",
1307 "left" : {
1308 "type" : "expression",
1309 "value" : {
1310 "op" : ">>",
1311 "left" : {
1312 "type" : "field",
1313 "value" : ["scalars", "tmp_7"]
1314 },
1315 "right" : {
1316 "type" : "hexstr",
1317 "value" : "0x3c"
1318 }
1319 }
1320 },
1321 "right" : {
1322 "type" : "hexstr",
1323 "value" : "0xffffffffffffffff"
1324 }
1325 }
1326 },
1327 "right" : {
1328 "type" : "hexstr",
1329 "value" : "0x01"
1330 }
1331 }
1332 }
1333 }
1334 ],
1335 "op" : "set"
1336 },
1337 {
1338 "parameters" : [
1339 {
1340 "type" : "field",
1341 "value" : ["gtpu_0", "spare"]
1342 },
1343 {
1344 "type" : "expression",
1345 "value" : {
1346 "type" : "expression",
1347 "value" : {
1348 "op" : "&",
1349 "left" : {
1350 "type" : "expression",
1351 "value" : {
1352 "op" : "&",
1353 "left" : {
1354 "type" : "expression",
1355 "value" : {
1356 "op" : ">>",
1357 "left" : {
1358 "type" : "field",
1359 "value" : ["scalars", "tmp_7"]
1360 },
1361 "right" : {
1362 "type" : "hexstr",
1363 "value" : "0x3b"
1364 }
1365 }
1366 },
1367 "right" : {
1368 "type" : "hexstr",
1369 "value" : "0xffffffffffffffff"
1370 }
1371 }
1372 },
1373 "right" : {
1374 "type" : "hexstr",
1375 "value" : "0x01"
1376 }
1377 }
1378 }
1379 }
1380 ],
1381 "op" : "set"
1382 },
1383 {
1384 "parameters" : [
1385 {
1386 "type" : "field",
1387 "value" : ["gtpu_0", "ex_flag"]
1388 },
1389 {
1390 "type" : "expression",
1391 "value" : {
1392 "type" : "expression",
1393 "value" : {
1394 "op" : "&",
1395 "left" : {
1396 "type" : "expression",
1397 "value" : {
1398 "op" : "&",
1399 "left" : {
1400 "type" : "expression",
1401 "value" : {
1402 "op" : ">>",
1403 "left" : {
1404 "type" : "field",
1405 "value" : ["scalars", "tmp_7"]
1406 },
1407 "right" : {
1408 "type" : "hexstr",
1409 "value" : "0x3a"
1410 }
1411 }
1412 },
1413 "right" : {
1414 "type" : "hexstr",
1415 "value" : "0xffffffffffffffff"
1416 }
1417 }
1418 },
1419 "right" : {
1420 "type" : "hexstr",
1421 "value" : "0x01"
1422 }
1423 }
1424 }
1425 }
1426 ],
1427 "op" : "set"
1428 },
1429 {
1430 "parameters" : [
1431 {
1432 "type" : "field",
1433 "value" : ["gtpu_0", "seq_flag"]
1434 },
1435 {
1436 "type" : "expression",
1437 "value" : {
1438 "type" : "expression",
1439 "value" : {
1440 "op" : "&",
1441 "left" : {
1442 "type" : "expression",
1443 "value" : {
1444 "op" : "&",
1445 "left" : {
1446 "type" : "expression",
1447 "value" : {
1448 "op" : ">>",
1449 "left" : {
1450 "type" : "field",
1451 "value" : ["scalars", "tmp_7"]
1452 },
1453 "right" : {
1454 "type" : "hexstr",
1455 "value" : "0x39"
1456 }
1457 }
1458 },
1459 "right" : {
1460 "type" : "hexstr",
1461 "value" : "0xffffffffffffffff"
1462 }
1463 }
1464 },
1465 "right" : {
1466 "type" : "hexstr",
1467 "value" : "0x01"
1468 }
1469 }
1470 }
1471 }
1472 ],
1473 "op" : "set"
1474 },
1475 {
1476 "parameters" : [
1477 {
1478 "type" : "field",
1479 "value" : ["gtpu_0", "npdu_flag"]
1480 },
1481 {
1482 "type" : "expression",
1483 "value" : {
1484 "type" : "expression",
1485 "value" : {
1486 "op" : "&",
1487 "left" : {
1488 "type" : "expression",
1489 "value" : {
1490 "op" : "&",
1491 "left" : {
1492 "type" : "expression",
1493 "value" : {
1494 "op" : ">>",
1495 "left" : {
1496 "type" : "field",
1497 "value" : ["scalars", "tmp_7"]
1498 },
1499 "right" : {
1500 "type" : "hexstr",
1501 "value" : "0x38"
1502 }
1503 }
1504 },
1505 "right" : {
1506 "type" : "hexstr",
1507 "value" : "0xffffffffffffffff"
1508 }
1509 }
1510 },
1511 "right" : {
1512 "type" : "hexstr",
1513 "value" : "0x01"
1514 }
1515 }
1516 }
1517 }
1518 ],
1519 "op" : "set"
1520 },
1521 {
1522 "parameters" : [
1523 {
1524 "type" : "field",
1525 "value" : ["gtpu_0", "msgtype"]
1526 },
1527 {
1528 "type" : "expression",
1529 "value" : {
1530 "type" : "expression",
1531 "value" : {
1532 "op" : "&",
1533 "left" : {
1534 "type" : "expression",
1535 "value" : {
1536 "op" : "&",
1537 "left" : {
1538 "type" : "expression",
1539 "value" : {
1540 "op" : ">>",
1541 "left" : {
1542 "type" : "field",
1543 "value" : ["scalars", "tmp_7"]
1544 },
1545 "right" : {
1546 "type" : "hexstr",
1547 "value" : "0x30"
1548 }
1549 }
1550 },
1551 "right" : {
1552 "type" : "hexstr",
1553 "value" : "0xffffffffffffffff"
1554 }
1555 }
1556 },
1557 "right" : {
1558 "type" : "hexstr",
1559 "value" : "0xff"
1560 }
1561 }
1562 }
1563 }
1564 ],
1565 "op" : "set"
1566 },
1567 {
1568 "parameters" : [
1569 {
1570 "type" : "field",
1571 "value" : ["gtpu_0", "msglen"]
1572 },
1573 {
1574 "type" : "expression",
1575 "value" : {
1576 "type" : "expression",
1577 "value" : {
1578 "op" : "&",
1579 "left" : {
1580 "type" : "expression",
1581 "value" : {
1582 "op" : "&",
1583 "left" : {
1584 "type" : "expression",
1585 "value" : {
1586 "op" : ">>",
1587 "left" : {
1588 "type" : "field",
1589 "value" : ["scalars", "tmp_7"]
1590 },
1591 "right" : {
1592 "type" : "hexstr",
1593 "value" : "0x20"
1594 }
1595 }
1596 },
1597 "right" : {
1598 "type" : "hexstr",
1599 "value" : "0xffffffffffffffff"
1600 }
1601 }
1602 },
1603 "right" : {
1604 "type" : "hexstr",
1605 "value" : "0xffff"
1606 }
1607 }
1608 }
1609 }
1610 ],
1611 "op" : "set"
1612 },
1613 {
1614 "parameters" : [
1615 {
1616 "type" : "field",
1617 "value" : ["gtpu_0", "teid"]
1618 },
1619 {
1620 "type" : "expression",
1621 "value" : {
1622 "type" : "expression",
1623 "value" : {
1624 "op" : "&",
1625 "left" : {
1626 "type" : "field",
1627 "value" : ["scalars", "tmp_7"]
1628 },
1629 "right" : {
1630 "type" : "hexstr",
1631 "value" : "0xffffffff"
1632 }
1633 }
1634 }
1635 }
1636 ],
1637 "op" : "set"
1638 },
1639 {
1640 "parameters" : [
1641 {
1642 "type" : "field",
1643 "value" : ["scalars", "tmp_2"]
1644 },
1645 {
1646 "type" : "expression",
1647 "value" : {
1648 "type" : "expression",
1649 "value" : {
1650 "op" : "&",
1651 "left" : {
1652 "type" : "expression",
1653 "value" : {
1654 "op" : "&",
1655 "left" : {
1656 "type" : "expression",
1657 "value" : {
1658 "op" : ">>",
1659 "left" : {
1660 "type" : "field",
1661 "value" : ["scalars", "tmp_7"]
1662 },
1663 "right" : {
1664 "type" : "hexstr",
1665 "value" : "0x3d"
1666 }
1667 }
1668 },
1669 "right" : {
1670 "type" : "hexstr",
1671 "value" : "0xffffffffffffffff"
1672 }
1673 }
1674 },
1675 "right" : {
1676 "type" : "hexstr",
1677 "value" : "0x07"
1678 }
1679 }
1680 }
1681 }
1682 ],
1683 "op" : "set"
1684 },
1685 {
1686 "parameters" : [
1687 {
1688 "type" : "field",
1689 "value" : ["scalars", "tmp_4"]
1690 },
1691 {
1692 "type" : "expression",
1693 "value" : {
1694 "type" : "expression",
1695 "value" : {
1696 "op" : "&",
1697 "left" : {
1698 "type" : "expression",
1699 "value" : {
1700 "op" : "&",
1701 "left" : {
1702 "type" : "expression",
1703 "value" : {
1704 "op" : ">>",
1705 "left" : {
1706 "type" : "field",
1707 "value" : ["scalars", "tmp_7"]
1708 },
1709 "right" : {
1710 "type" : "hexstr",
1711 "value" : "0x30"
1712 }
1713 }
1714 },
1715 "right" : {
1716 "type" : "hexstr",
1717 "value" : "0xffffffffffffffff"
1718 }
1719 }
1720 },
1721 "right" : {
1722 "type" : "hexstr",
1723 "value" : "0xff"
1724 }
1725 }
1726 }
1727 }
1728 ],
1729 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001730 }
1731 ],
1732 "transitions" : [
1733 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08001734 "type" : "hexstr",
1735 "value" : "0x086801ff",
1736 "mask" : null,
1737 "next_state" : "parse_gtpu"
1738 },
1739 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001740 "type" : "default",
1741 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001742 "mask" : null,
1743 "next_state" : null
1744 }
1745 ],
1746 "transition_key" : [
1747 {
1748 "type" : "field",
1749 "value" : ["udp", "dport"]
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001750 },
1751 {
1752 "type" : "field",
1753 "value" : ["scalars", "tmp_2"]
1754 },
1755 {
1756 "type" : "field",
1757 "value" : ["scalars", "tmp_4"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001758 }
1759 ]
1760 },
1761 {
1762 "name" : "parse_icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001763 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001764 "parser_ops" : [
1765 {
1766 "parameters" : [
1767 {
1768 "type" : "regular",
1769 "value" : "icmp"
1770 }
1771 ],
1772 "op" : "extract"
1773 }
1774 ],
1775 "transitions" : [
1776 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001777 "type" : "default",
1778 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001779 "mask" : null,
1780 "next_state" : null
1781 }
1782 ],
1783 "transition_key" : []
Wailok Shum4f51bde2021-06-11 22:48:41 +08001784 },
1785 {
1786 "name" : "parse_gtpu",
1787 "id" : 14,
1788 "parser_ops" : [
1789 {
1790 "parameters" : [
1791 {
1792 "type" : "regular",
1793 "value" : "gtpu"
1794 }
1795 ],
1796 "op" : "extract"
1797 },
1798 {
1799 "parameters" : [
1800 {
1801 "type" : "regular",
1802 "value" : "inner_ipv4"
1803 }
1804 ],
1805 "op" : "extract"
1806 }
1807 ],
1808 "transitions" : [
1809 {
1810 "type" : "hexstr",
1811 "value" : "0x06",
1812 "mask" : null,
1813 "next_state" : "parse_tcp"
1814 },
1815 {
1816 "type" : "hexstr",
1817 "value" : "0x11",
1818 "mask" : null,
1819 "next_state" : "parse_inner_udp"
1820 },
1821 {
1822 "type" : "hexstr",
1823 "value" : "0x01",
1824 "mask" : null,
1825 "next_state" : "parse_icmp"
1826 },
1827 {
1828 "type" : "default",
1829 "value" : null,
1830 "mask" : null,
1831 "next_state" : null
1832 }
1833 ],
1834 "transition_key" : [
1835 {
1836 "type" : "field",
1837 "value" : ["inner_ipv4", "protocol"]
1838 }
1839 ]
1840 },
1841 {
1842 "name" : "parse_inner_udp",
1843 "id" : 15,
1844 "parser_ops" : [
1845 {
1846 "parameters" : [
1847 {
1848 "type" : "regular",
1849 "value" : "inner_udp"
1850 }
1851 ],
1852 "op" : "extract"
1853 }
1854 ],
1855 "transitions" : [
1856 {
1857 "type" : "default",
1858 "value" : null,
1859 "mask" : null,
1860 "next_state" : null
1861 }
1862 ],
1863 "transition_key" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001864 }
1865 ]
1866 }
1867 ],
1868 "parse_vsets" : [],
1869 "deparsers" : [
1870 {
1871 "name" : "deparser",
1872 "id" : 0,
1873 "source_info" : {
1874 "filename" : "include/parser.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001875 "line" : 285,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001876 "column" : 8,
1877 "source_fragment" : "FabricDeparser"
1878 },
Wailok Shum4f51bde2021-06-11 22:48:41 +08001879 "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 +02001880 "primitives" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001881 }
1882 ],
1883 "meter_arrays" : [
1884 {
1885 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
1886 "id" : 0,
1887 "source_info" : {
1888 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001889 "line" : 154,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001890 "column" : 33,
1891 "source_fragment" : "m_besteff"
1892 },
1893 "is_direct" : false,
1894 "size" : 8192,
1895 "rate_count" : 2,
1896 "type" : "bytes"
1897 },
1898 {
1899 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
1900 "id" : 1,
1901 "source_info" : {
1902 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001903 "line" : 155,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001904 "column" : 33,
1905 "source_fragment" : "m_prio"
1906 },
1907 "is_direct" : false,
1908 "size" : 8192,
1909 "rate_count" : 2,
1910 "type" : "bytes"
1911 }
1912 ],
1913 "counter_arrays" : [
1914 {
1915 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
1916 "id" : 0,
1917 "source_info" : {
1918 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001919 "line" : 36,
Daniele Moroce424ca2019-10-03 16:44:33 -07001920 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001921 "source_fragment" : "c_terminated"
1922 },
1923 "size" : 8192,
1924 "is_direct" : false
1925 },
1926 {
1927 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
1928 "id" : 1,
1929 "source_info" : {
1930 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001931 "line" : 37,
Daniele Moroce424ca2019-10-03 16:44:33 -07001932 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001933 "source_fragment" : "c_dropped"
1934 },
1935 "size" : 8192,
1936 "is_direct" : false
1937 },
1938 {
1939 "name" : "FabricIngress.bng_ingress.upstream.c_control",
1940 "id" : 2,
1941 "source_info" : {
1942 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07001943 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001944 "column" : 39,
1945 "source_fragment" : "c_control"
1946 },
1947 "size" : 8192,
1948 "is_direct" : false
1949 },
1950 {
1951 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
1952 "id" : 3,
1953 "source_info" : {
1954 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08001955 "line" : 152,
Daniele Moroce424ca2019-10-03 16:44:33 -07001956 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001957 "source_fragment" : "c_line_rx"
1958 },
1959 "size" : 8192,
1960 "is_direct" : false
1961 },
1962 {
1963 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1964 "id" : 4,
1965 "is_direct" : true,
1966 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1967 "source_info" : {
1968 "filename" : "include/control/filtering.p4",
1969 "line" : 31,
1970 "column" : 50,
1971 "source_fragment" : "ingress_port_vlan_counter"
1972 }
1973 },
1974 {
1975 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1976 "id" : 5,
1977 "is_direct" : true,
1978 "binding" : "FabricIngress.filtering.fwd_classifier",
1979 "source_info" : {
1980 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001981 "line" : 85,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001982 "column" : 50,
1983 "source_fragment" : "fwd_classifier_counter"
1984 }
1985 },
1986 {
1987 "name" : "FabricIngress.forwarding.bridging_counter",
1988 "id" : 6,
1989 "is_direct" : true,
1990 "binding" : "FabricIngress.forwarding.bridging",
1991 "source_info" : {
1992 "filename" : "include/control/forwarding.p4",
1993 "line" : 36,
1994 "column" : 50,
1995 "source_fragment" : "bridging_counter"
1996 }
1997 },
1998 {
1999 "name" : "FabricIngress.forwarding.mpls_counter",
2000 "id" : 7,
2001 "is_direct" : true,
2002 "binding" : "FabricIngress.forwarding.mpls",
2003 "source_info" : {
2004 "filename" : "include/control/forwarding.p4",
2005 "line" : 63,
2006 "column" : 50,
2007 "source_fragment" : "mpls_counter"
2008 }
2009 },
2010 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002011 "name" : "FabricIngress.acl.acl_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002012 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002013 "is_direct" : true,
2014 "binding" : "FabricIngress.acl.acl",
2015 "source_info" : {
2016 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002017 "line" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002018 "column" : 50,
2019 "source_fragment" : "acl_counter"
2020 }
2021 },
2022 {
2023 "name" : "FabricIngress.next.next_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002024 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002025 "is_direct" : true,
2026 "binding" : "FabricIngress.next.next_vlan",
2027 "source_info" : {
2028 "filename" : "include/control/next.p4",
2029 "line" : 67,
2030 "column" : 50,
2031 "source_fragment" : "next_vlan_counter"
2032 }
2033 },
2034 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002035 "name" : "FabricIngress.next.hashed_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002036 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002037 "is_direct" : true,
2038 "binding" : "FabricIngress.next.hashed",
2039 "source_info" : {
2040 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002041 "line" : 184,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002042 "column" : 50,
2043 "source_fragment" : "hashed_counter"
2044 }
2045 },
2046 {
2047 "name" : "FabricIngress.next.multicast_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002048 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002049 "is_direct" : true,
2050 "binding" : "FabricIngress.next.multicast",
2051 "source_info" : {
2052 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002053 "line" : 228,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002054 "column" : 50,
2055 "source_fragment" : "multicast_counter"
2056 }
2057 },
2058 {
2059 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002060 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002061 "source_info" : {
2062 "filename" : "include/control/port_counter.p4",
2063 "line" : 26,
2064 "column" : 48,
2065 "source_fragment" : "egress_port_counter"
2066 },
2067 "size" : 511,
2068 "is_direct" : false
2069 },
2070 {
2071 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002072 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002073 "source_info" : {
2074 "filename" : "include/control/port_counter.p4",
2075 "line" : 27,
2076 "column" : 48,
2077 "source_fragment" : "ingress_port_counter"
2078 },
2079 "size" : 511,
2080 "is_direct" : false
2081 },
2082 {
2083 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Daniele Moro5a2de712019-09-24 14:34:07 -07002084 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002085 "source_info" : {
2086 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002087 "line" : 267,
Daniele Moroce424ca2019-10-03 16:44:33 -07002088 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002089 "source_fragment" : "c_line_tx"
2090 },
2091 "size" : 8192,
2092 "is_direct" : false
2093 },
2094 {
2095 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002096 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002097 "is_direct" : true,
2098 "binding" : "FabricEgress.egress_next.egress_vlan",
2099 "source_info" : {
2100 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01002101 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002102 "column" : 50,
2103 "source_fragment" : "egress_vlan_counter"
2104 }
2105 }
2106 ],
2107 "register_arrays" : [],
2108 "calculations" : [
2109 {
2110 "name" : "calc",
2111 "id" : 0,
2112 "source_info" : {
2113 "filename" : "include/checksum.p4",
2114 "line" : 28,
2115 "column" : 8,
2116 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
2117 },
2118 "algo" : "csum16",
2119 "input" : [
2120 {
2121 "type" : "field",
2122 "value" : ["ipv4", "version"]
2123 },
2124 {
2125 "type" : "field",
2126 "value" : ["ipv4", "ihl"]
2127 },
2128 {
2129 "type" : "field",
2130 "value" : ["ipv4", "dscp"]
2131 },
2132 {
2133 "type" : "field",
2134 "value" : ["ipv4", "ecn"]
2135 },
2136 {
2137 "type" : "field",
2138 "value" : ["ipv4", "total_len"]
2139 },
2140 {
2141 "type" : "field",
2142 "value" : ["ipv4", "identification"]
2143 },
2144 {
2145 "type" : "field",
2146 "value" : ["ipv4", "flags"]
2147 },
2148 {
2149 "type" : "field",
2150 "value" : ["ipv4", "frag_offset"]
2151 },
2152 {
2153 "type" : "field",
2154 "value" : ["ipv4", "ttl"]
2155 },
2156 {
2157 "type" : "field",
2158 "value" : ["ipv4", "protocol"]
2159 },
2160 {
2161 "type" : "field",
2162 "value" : ["ipv4", "src_addr"]
2163 },
2164 {
2165 "type" : "field",
2166 "value" : ["ipv4", "dst_addr"]
2167 }
2168 ]
2169 },
2170 {
2171 "name" : "calc_0",
2172 "id" : 1,
2173 "source_info" : {
2174 "filename" : "include/checksum.p4",
2175 "line" : 57,
2176 "column" : 8,
2177 "source_fragment" : "verify_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 "learn_lists" : [],
2233 "actions" : [
2234 {
2235 "name" : "nop",
2236 "id" : 0,
2237 "runtime_data" : [],
2238 "primitives" : []
2239 },
2240 {
2241 "name" : "nop",
2242 "id" : 1,
2243 "runtime_data" : [],
2244 "primitives" : []
2245 },
2246 {
2247 "name" : "nop",
2248 "id" : 2,
2249 "runtime_data" : [],
2250 "primitives" : []
2251 },
2252 {
2253 "name" : "nop",
2254 "id" : 3,
2255 "runtime_data" : [],
2256 "primitives" : []
2257 },
2258 {
2259 "name" : "nop",
2260 "id" : 4,
2261 "runtime_data" : [],
2262 "primitives" : []
2263 },
2264 {
2265 "name" : "nop",
2266 "id" : 5,
2267 "runtime_data" : [],
2268 "primitives" : []
2269 },
2270 {
2271 "name" : "nop",
2272 "id" : 6,
2273 "runtime_data" : [],
2274 "primitives" : []
2275 },
2276 {
2277 "name" : "nop",
2278 "id" : 7,
2279 "runtime_data" : [],
2280 "primitives" : []
2281 },
2282 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002283 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07002284 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002285 "runtime_data" : [],
2286 "primitives" : [
2287 {
2288 "op" : "assign",
2289 "parameters" : [
2290 {
2291 "type" : "field",
2292 "value" : ["standard_metadata", "egress_spec"]
2293 },
2294 {
2295 "type" : "hexstr",
2296 "value" : "0x00ff"
2297 }
2298 ],
2299 "source_info" : {
2300 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002301 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002302 "column" : 8,
2303 "source_fragment" : "smeta.egress_spec = 255"
2304 }
2305 },
2306 {
Daniele Moro0cecfe12019-12-13 17:24:33 -08002307 "op" : "assign",
2308 "parameters" : [
2309 {
2310 "type" : "field",
2311 "value" : ["standard_metadata", "mcast_grp"]
2312 },
2313 {
2314 "type" : "hexstr",
2315 "value" : "0x0000"
2316 }
2317 ],
2318 "source_info" : {
2319 "filename" : "include/bng.p4",
2320 "line" : 47,
2321 "column" : 8,
2322 "source_fragment" : "smeta.mcast_grp = 0"
2323 }
2324 },
2325 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002326 "op" : "count",
2327 "parameters" : [
2328 {
2329 "type" : "counter_array",
2330 "value" : "FabricIngress.bng_ingress.upstream.c_control"
2331 },
2332 {
2333 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002334 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002335 }
2336 ],
2337 "source_info" : {
2338 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002339 "line" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002340 "column" : 8,
2341 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
2342 }
2343 }
2344 ]
2345 },
2346 {
2347 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Daniele Moro5a2de712019-09-24 14:34:07 -07002348 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002349 "runtime_data" : [],
2350 "primitives" : [
2351 {
2352 "op" : "assign",
2353 "parameters" : [
2354 {
2355 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002356 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002357 },
2358 {
2359 "type" : "hexstr",
2360 "value" : "0x00"
2361 }
2362 ],
2363 "source_info" : {
2364 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07002365 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002366 "column" : 36,
2367 "source_fragment" : "2w0x0; ..."
2368 }
2369 },
2370 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002371 "op" : "mark_to_drop",
2372 "parameters" : [
2373 {
2374 "type" : "header",
2375 "value" : "standard_metadata"
2376 }
2377 ],
2378 "source_info" : {
2379 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002380 "line" : 77,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002381 "column" : 8,
2382 "source_fragment" : "mark_to_drop(smeta)"
2383 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002384 }
2385 ]
2386 },
2387 {
2388 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002389 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002390 "runtime_data" : [],
2391 "primitives" : [
2392 {
2393 "op" : "assign",
2394 "parameters" : [
2395 {
2396 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002397 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002398 },
2399 {
2400 "type" : "hexstr",
2401 "value" : "0x0800"
2402 }
2403 ],
2404 "source_info" : {
2405 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002406 "line" : 120,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002407 "column" : 31,
2408 "source_fragment" : "0x0800; ..."
2409 }
2410 },
2411 {
2412 "op" : "remove_header",
2413 "parameters" : [
2414 {
2415 "type" : "header",
2416 "value" : "pppoe"
2417 }
2418 ],
2419 "source_info" : {
2420 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002421 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002422 "column" : 8,
2423 "source_fragment" : "hdr.pppoe.setInvalid()"
2424 }
2425 },
2426 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002427 "op" : "count",
2428 "parameters" : [
2429 {
2430 "type" : "counter_array",
2431 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
2432 },
2433 {
2434 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002435 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002436 }
2437 ],
2438 "source_info" : {
2439 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002440 "line" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002441 "column" : 8,
2442 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
2443 }
2444 }
2445 ]
2446 },
2447 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002448 "name" : "FabricIngress.bng_ingress.downstream.set_session",
Daniele Moro5a2de712019-09-24 14:34:07 -07002449 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002450 "runtime_data" : [
2451 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002452 "name" : "pppoe_session_id",
2453 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002454 }
2455 ],
2456 "primitives" : [
2457 {
2458 "op" : "assign",
2459 "parameters" : [
2460 {
2461 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002462 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002463 },
2464 {
2465 "type" : "hexstr",
2466 "value" : "0x02"
2467 }
2468 ],
2469 "source_info" : {
2470 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07002471 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002472 "column" : 39,
2473 "source_fragment" : "2w0x2;; ..."
2474 }
2475 },
2476 {
2477 "op" : "assign",
2478 "parameters" : [
2479 {
2480 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002481 "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002482 },
2483 {
2484 "type" : "runtime_data",
2485 "value" : 0
2486 }
2487 ],
2488 "source_info" : {
2489 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002490 "line" : 159,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002491 "column" : 35,
2492 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002493 }
2494 },
2495 {
2496 "op" : "count",
2497 "parameters" : [
2498 {
2499 "type" : "counter_array",
2500 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
2501 },
2502 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002503 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002504 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002505 }
2506 ],
2507 "source_info" : {
2508 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002509 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002510 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002511 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002512 }
2513 }
2514 ]
2515 },
2516 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002517 "name" : "FabricIngress.bng_ingress.downstream.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07002518 "id" : 12,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002519 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002520 "primitives" : [
2521 {
2522 "op" : "assign",
2523 "parameters" : [
2524 {
2525 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002526 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002527 },
2528 {
2529 "type" : "hexstr",
2530 "value" : "0x02"
2531 }
2532 ],
2533 "source_info" : {
2534 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07002535 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002536 "column" : 39,
2537 "source_fragment" : "2w0x2;; ..."
2538 }
2539 },
2540 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002541 "op" : "count",
2542 "parameters" : [
2543 {
2544 "type" : "counter_array",
2545 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
2546 },
2547 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002548 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002549 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002550 }
2551 ],
2552 "source_info" : {
2553 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002554 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002555 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002556 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002557 }
2558 },
2559 {
2560 "op" : "mark_to_drop",
2561 "parameters" : [
2562 {
2563 "type" : "header",
2564 "value" : "standard_metadata"
2565 }
2566 ],
2567 "source_info" : {
2568 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002569 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002570 "column" : 8,
2571 "source_fragment" : "mark_to_drop(smeta)"
2572 }
2573 }
2574 ]
2575 },
2576 {
2577 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro5a2de712019-09-24 14:34:07 -07002578 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002579 "runtime_data" : [],
Daniele Moro7c3a0022019-07-12 13:38:34 -07002580 "primitives" : []
2581 },
2582 {
2583 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
Daniele Moro5a2de712019-09-24 14:34:07 -07002584 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002585 "runtime_data" : [],
2586 "primitives" : []
2587 },
2588 {
2589 "name" : "FabricIngress.bng_ingress.set_line",
Daniele Moro5a2de712019-09-24 14:34:07 -07002590 "id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002591 "runtime_data" : [
2592 {
2593 "name" : "line_id",
2594 "bitwidth" : 32
2595 }
2596 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002597 "primitives" : [
2598 {
Daniele Moroe22b5742019-06-28 15:32:37 -07002599 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002600 "parameters" : [
2601 {
Daniele Moroe22b5742019-06-28 15:32:37 -07002602 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002603 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002604 },
2605 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002606 "type" : "runtime_data",
2607 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002608 }
2609 ],
2610 "source_info" : {
2611 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002612 "line" : 320,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002613 "column" : 30,
2614 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002615 }
2616 }
2617 ]
2618 },
2619 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002620 "name" : "FabricIngress.filtering.deny",
Daniele Moro5a2de712019-09-24 14:34:07 -07002621 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002622 "runtime_data" : [],
2623 "primitives" : [
2624 {
2625 "op" : "assign",
2626 "parameters" : [
2627 {
2628 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002629 "value" : ["scalars", "userMetadata._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002630 },
2631 {
2632 "type" : "expression",
2633 "value" : {
2634 "type" : "expression",
2635 "value" : {
2636 "op" : "b2d",
2637 "left" : null,
2638 "right" : {
2639 "type" : "bool",
2640 "value" : true
2641 }
2642 }
2643 }
2644 }
2645 ],
2646 "source_info" : {
2647 "filename" : "include/control/filtering.p4",
2648 "line" : 36,
2649 "column" : 40,
2650 "source_fragment" : "= true; ..."
2651 }
2652 },
2653 {
2654 "op" : "assign",
2655 "parameters" : [
2656 {
2657 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002658 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002659 },
2660 {
2661 "type" : "expression",
2662 "value" : {
2663 "type" : "expression",
2664 "value" : {
2665 "op" : "b2d",
2666 "left" : null,
2667 "right" : {
2668 "type" : "bool",
2669 "value" : true
2670 }
2671 }
2672 }
2673 }
2674 ],
2675 "source_info" : {
2676 "filename" : "include/control/filtering.p4",
2677 "line" : 37,
2678 "column" : 34,
2679 "source_fragment" : "= true; ..."
2680 }
2681 }
2682 ]
2683 },
2684 {
2685 "name" : "FabricIngress.filtering.permit",
Daniele Moro5a2de712019-09-24 14:34:07 -07002686 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002687 "runtime_data" : [],
2688 "primitives" : []
2689 },
2690 {
2691 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07002692 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002693 "runtime_data" : [
2694 {
2695 "name" : "vlan_id",
2696 "bitwidth" : 12
2697 }
2698 ],
2699 "primitives" : [
2700 {
2701 "op" : "assign",
2702 "parameters" : [
2703 {
2704 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002705 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002706 },
2707 {
2708 "type" : "runtime_data",
2709 "value" : 0
2710 }
2711 ],
2712 "source_info" : {
2713 "filename" : "include/control/filtering.p4",
2714 "line" : 47,
2715 "column" : 32,
2716 "source_fragment" : "= vlan_id; ..."
2717 }
2718 }
2719 ]
2720 },
2721 {
2722 "name" : "FabricIngress.filtering.set_forwarding_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07002723 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002724 "runtime_data" : [
2725 {
2726 "name" : "fwd_type",
2727 "bitwidth" : 3
2728 }
2729 ],
2730 "primitives" : [
2731 {
2732 "op" : "assign",
2733 "parameters" : [
2734 {
2735 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002736 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002737 },
2738 {
2739 "type" : "runtime_data",
2740 "value" : 0
2741 }
2742 ],
2743 "source_info" : {
2744 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002745 "line" : 88,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002746 "column" : 33,
2747 "source_fragment" : "= fwd_type; ..."
2748 }
2749 }
2750 ]
2751 },
2752 {
2753 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07002754 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002755 "runtime_data" : [
2756 {
2757 "name" : "next_id",
2758 "bitwidth" : 32
2759 }
2760 ],
2761 "primitives" : [
2762 {
2763 "op" : "assign",
2764 "parameters" : [
2765 {
2766 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002767 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002768 },
2769 {
2770 "type" : "runtime_data",
2771 "value" : 0
2772 }
2773 ],
2774 "source_info" : {
2775 "filename" : "include/control/forwarding.p4",
2776 "line" : 30,
2777 "column" : 32,
2778 "source_fragment" : "= next_id; ..."
2779 }
2780 }
2781 ]
2782 },
2783 {
2784 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Daniele Moro5a2de712019-09-24 14:34:07 -07002785 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002786 "runtime_data" : [
2787 {
2788 "name" : "next_id",
2789 "bitwidth" : 32
2790 }
2791 ],
2792 "primitives" : [
2793 {
2794 "op" : "assign",
2795 "parameters" : [
2796 {
2797 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002798 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002799 },
2800 {
2801 "type" : "hexstr",
2802 "value" : "0x000000"
2803 }
2804 ],
2805 "source_info" : {
2806 "filename" : "include/control/forwarding.p4",
2807 "line" : 66,
2808 "column" : 35,
2809 "source_fragment" : "= 0; ..."
2810 }
2811 },
2812 {
2813 "op" : "assign",
2814 "parameters" : [
2815 {
2816 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002817 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002818 },
2819 {
2820 "type" : "runtime_data",
2821 "value" : 0
2822 }
2823 ],
2824 "source_info" : {
2825 "filename" : "include/control/forwarding.p4",
2826 "line" : 30,
2827 "column" : 32,
2828 "source_fragment" : "= next_id; ..."
2829 }
2830 }
2831 ]
2832 },
2833 {
2834 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002835 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002836 "runtime_data" : [
2837 {
2838 "name" : "next_id",
2839 "bitwidth" : 32
2840 }
2841 ],
2842 "primitives" : [
2843 {
2844 "op" : "assign",
2845 "parameters" : [
2846 {
2847 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002848 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002849 },
2850 {
2851 "type" : "runtime_data",
2852 "value" : 0
2853 }
2854 ],
2855 "source_info" : {
2856 "filename" : "include/control/forwarding.p4",
2857 "line" : 30,
2858 "column" : 32,
2859 "source_fragment" : "= next_id; ..."
2860 }
2861 }
2862 ]
2863 },
2864 {
2865 "name" : "FabricIngress.forwarding.nop_routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07002866 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002867 "runtime_data" : [],
2868 "primitives" : []
2869 },
2870 {
2871 "name" : "FabricIngress.acl.set_next_id_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07002872 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002873 "runtime_data" : [
2874 {
2875 "name" : "next_id",
2876 "bitwidth" : 32
2877 }
2878 ],
2879 "primitives" : [
2880 {
2881 "op" : "assign",
2882 "parameters" : [
2883 {
2884 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002885 "value" : ["scalars", "userMetadata._next_id13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002886 },
2887 {
2888 "type" : "runtime_data",
2889 "value" : 0
2890 }
2891 ],
2892 "source_info" : {
2893 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002894 "line" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002895 "column" : 32,
2896 "source_fragment" : "= next_id; ..."
2897 }
2898 }
2899 ]
2900 },
2901 {
2902 "name" : "FabricIngress.acl.punt_to_cpu",
Daniele Moro5a2de712019-09-24 14:34:07 -07002903 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002904 "runtime_data" : [],
2905 "primitives" : [
2906 {
2907 "op" : "assign",
2908 "parameters" : [
2909 {
2910 "type" : "field",
2911 "value" : ["standard_metadata", "egress_spec"]
2912 },
2913 {
2914 "type" : "hexstr",
2915 "value" : "0x00ff"
2916 }
2917 ],
2918 "source_info" : {
2919 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002920 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002921 "column" : 8,
2922 "source_fragment" : "standard_metadata.egress_spec = 255"
2923 }
2924 },
2925 {
2926 "op" : "assign",
2927 "parameters" : [
2928 {
2929 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002930 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002931 },
2932 {
2933 "type" : "expression",
2934 "value" : {
2935 "type" : "expression",
2936 "value" : {
2937 "op" : "b2d",
2938 "left" : null,
2939 "right" : {
2940 "type" : "bool",
2941 "value" : true
2942 }
2943 }
2944 }
2945 }
2946 ],
2947 "source_info" : {
2948 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002949 "line" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002950 "column" : 34,
2951 "source_fragment" : "= true; ..."
2952 }
2953 }
2954 ]
2955 },
2956 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002957 "name" : "FabricIngress.acl.set_clone_session_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07002958 "id" : 26,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002959 "runtime_data" : [
2960 {
2961 "name" : "clone_id",
2962 "bitwidth" : 32
2963 }
2964 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002965 "primitives" : [
2966 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002967 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002968 "parameters" : [
2969 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002970 "type" : "runtime_data",
2971 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002972 },
2973 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002974 "type" : "hexstr",
2975 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002976 }
2977 ],
2978 "source_info" : {
2979 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002980 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002981 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07002982 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002983 }
2984 }
2985 ]
2986 },
2987 {
2988 "name" : "FabricIngress.acl.drop",
Daniele Moro5a2de712019-09-24 14:34:07 -07002989 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002990 "runtime_data" : [],
2991 "primitives" : [
2992 {
2993 "op" : "mark_to_drop",
2994 "parameters" : [
2995 {
2996 "type" : "header",
2997 "value" : "standard_metadata"
2998 }
2999 ],
3000 "source_info" : {
3001 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003002 "line" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003003 "column" : 8,
3004 "source_fragment" : "mark_to_drop(standard_metadata)"
3005 }
3006 },
3007 {
3008 "op" : "assign",
3009 "parameters" : [
3010 {
3011 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003012 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003013 },
3014 {
3015 "type" : "expression",
3016 "value" : {
3017 "type" : "expression",
3018 "value" : {
3019 "op" : "b2d",
3020 "left" : null,
3021 "right" : {
3022 "type" : "bool",
3023 "value" : true
3024 }
3025 }
3026 }
3027 }
3028 ],
3029 "source_info" : {
3030 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003031 "line" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003032 "column" : 34,
3033 "source_fragment" : "= true; ..."
3034 }
3035 }
3036 ]
3037 },
3038 {
3039 "name" : "FabricIngress.acl.nop_acl",
Daniele Moro5a2de712019-09-24 14:34:07 -07003040 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003041 "runtime_data" : [],
3042 "primitives" : []
3043 },
3044 {
3045 "name" : "FabricIngress.next.set_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07003046 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003047 "runtime_data" : [
3048 {
3049 "name" : "vlan_id",
3050 "bitwidth" : 12
3051 }
3052 ],
3053 "primitives" : [
3054 {
3055 "op" : "assign",
3056 "parameters" : [
3057 {
3058 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003059 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003060 },
3061 {
3062 "type" : "runtime_data",
3063 "value" : 0
3064 }
3065 ],
3066 "source_info" : {
3067 "filename" : "include/control/next.p4",
3068 "line" : 70,
3069 "column" : 32,
3070 "source_fragment" : "= vlan_id; ..."
3071 }
3072 }
3073 ]
3074 },
3075 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003076 "name" : "FabricIngress.next.set_double_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07003077 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003078 "runtime_data" : [
3079 {
3080 "name" : "outer_vlan_id",
3081 "bitwidth" : 12
3082 },
3083 {
3084 "name" : "inner_vlan_id",
3085 "bitwidth" : 12
3086 }
3087 ],
3088 "primitives" : [
3089 {
3090 "op" : "assign",
3091 "parameters" : [
3092 {
3093 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003094 "value" : ["scalars", "userMetadata._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003095 },
3096 {
3097 "type" : "runtime_data",
3098 "value" : 0
3099 }
3100 ],
3101 "source_info" : {
3102 "filename" : "include/control/next.p4",
3103 "line" : 70,
3104 "column" : 32,
3105 "source_fragment" : "= vlan_id; ..."
3106 }
3107 },
3108 {
3109 "op" : "assign",
3110 "parameters" : [
3111 {
3112 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003113 "value" : ["scalars", "userMetadata._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003114 },
3115 {
3116 "type" : "expression",
3117 "value" : {
3118 "type" : "expression",
3119 "value" : {
3120 "op" : "b2d",
3121 "left" : null,
3122 "right" : {
3123 "type" : "bool",
3124 "value" : true
3125 }
3126 }
3127 }
3128 }
3129 ],
3130 "source_info" : {
3131 "filename" : "include/control/next.p4",
3132 "line" : 77,
3133 "column" : 41,
3134 "source_fragment" : "= true; ..."
3135 }
3136 },
3137 {
3138 "op" : "assign",
3139 "parameters" : [
3140 {
3141 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003142 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003143 },
3144 {
3145 "type" : "runtime_data",
3146 "value" : 1
3147 }
3148 ],
3149 "source_info" : {
3150 "filename" : "include/control/next.p4",
3151 "line" : 78,
3152 "column" : 38,
3153 "source_fragment" : "= inner_vlan_id; ..."
3154 }
Daniele Morob3d199b2019-11-01 14:01:46 -07003155 },
3156 {
3157 "op" : "assign",
3158 "parameters" : [
3159 {
3160 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003161 "value" : ["scalars", "userMetadata._bng_s_tag25"]
Daniele Morob3d199b2019-11-01 14:01:46 -07003162 },
3163 {
3164 "type" : "runtime_data",
3165 "value" : 0
3166 }
3167 ],
3168 "source_info" : {
3169 "filename" : "include/control/next.p4",
3170 "line" : 80,
3171 "column" : 34,
3172 "source_fragment" : "= outer_vlan_id; ..."
3173 }
3174 },
3175 {
3176 "op" : "assign",
3177 "parameters" : [
3178 {
3179 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003180 "value" : ["scalars", "userMetadata._bng_c_tag26"]
Daniele Morob3d199b2019-11-01 14:01:46 -07003181 },
3182 {
3183 "type" : "runtime_data",
3184 "value" : 1
3185 }
3186 ],
3187 "source_info" : {
3188 "filename" : "include/control/next.p4",
3189 "line" : 81,
3190 "column" : 34,
3191 "source_fragment" : "= inner_vlan_id; ..."
3192 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07003193 }
3194 ]
3195 },
3196 {
3197 "name" : "FabricIngress.next.output_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07003198 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003199 "runtime_data" : [
3200 {
3201 "name" : "port_num",
3202 "bitwidth" : 9
3203 }
3204 ],
3205 "primitives" : [
3206 {
3207 "op" : "assign",
3208 "parameters" : [
3209 {
3210 "type" : "field",
3211 "value" : ["standard_metadata", "egress_spec"]
3212 },
3213 {
3214 "type" : "runtime_data",
3215 "value" : 0
3216 }
3217 ],
3218 "source_info" : {
3219 "filename" : "include/control/next.p4",
3220 "line" : 31,
3221 "column" : 5,
3222 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3223 }
3224 }
3225 ]
3226 },
3227 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003228 "name" : "FabricIngress.next.routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07003229 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003230 "runtime_data" : [
3231 {
3232 "name" : "port_num",
3233 "bitwidth" : 9
3234 },
3235 {
3236 "name" : "smac",
3237 "bitwidth" : 48
3238 },
3239 {
3240 "name" : "dmac",
3241 "bitwidth" : 48
3242 }
3243 ],
3244 "primitives" : [
3245 {
3246 "op" : "assign",
3247 "parameters" : [
3248 {
3249 "type" : "field",
3250 "value" : ["ethernet", "src_addr"]
3251 },
3252 {
3253 "type" : "runtime_data",
3254 "value" : 1
3255 }
3256 ],
3257 "source_info" : {
3258 "filename" : "include/control/next.p4",
3259 "line" : 36,
3260 "column" : 8,
3261 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3262 }
3263 },
3264 {
3265 "op" : "assign",
3266 "parameters" : [
3267 {
3268 "type" : "field",
3269 "value" : ["ethernet", "dst_addr"]
3270 },
3271 {
3272 "type" : "runtime_data",
3273 "value" : 2
3274 }
3275 ],
3276 "source_info" : {
3277 "filename" : "include/control/next.p4",
3278 "line" : 41,
3279 "column" : 8,
3280 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3281 }
3282 },
3283 {
3284 "op" : "assign",
3285 "parameters" : [
3286 {
3287 "type" : "field",
3288 "value" : ["standard_metadata", "egress_spec"]
3289 },
3290 {
3291 "type" : "runtime_data",
3292 "value" : 0
3293 }
3294 ],
3295 "source_info" : {
3296 "filename" : "include/control/next.p4",
3297 "line" : 31,
3298 "column" : 5,
3299 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3300 }
3301 }
3302 ]
3303 },
3304 {
3305 "name" : "FabricIngress.next.mpls_routing_hashed",
Daniele Moro5a2de712019-09-24 14:34:07 -07003306 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003307 "runtime_data" : [
3308 {
3309 "name" : "port_num",
3310 "bitwidth" : 9
3311 },
3312 {
3313 "name" : "smac",
3314 "bitwidth" : 48
3315 },
3316 {
3317 "name" : "dmac",
3318 "bitwidth" : 48
3319 },
3320 {
3321 "name" : "label",
3322 "bitwidth" : 20
3323 }
3324 ],
3325 "primitives" : [
3326 {
3327 "op" : "assign",
3328 "parameters" : [
3329 {
3330 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003331 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003332 },
3333 {
3334 "type" : "runtime_data",
3335 "value" : 3
3336 }
3337 ],
3338 "source_info" : {
3339 "filename" : "include/control/next.p4",
3340 "line" : 46,
3341 "column" : 35,
3342 "source_fragment" : "= label; ..."
3343 }
3344 },
3345 {
3346 "op" : "assign",
3347 "parameters" : [
3348 {
3349 "type" : "field",
3350 "value" : ["ethernet", "src_addr"]
3351 },
3352 {
3353 "type" : "runtime_data",
3354 "value" : 1
3355 }
3356 ],
3357 "source_info" : {
3358 "filename" : "include/control/next.p4",
3359 "line" : 36,
3360 "column" : 8,
3361 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3362 }
3363 },
3364 {
3365 "op" : "assign",
3366 "parameters" : [
3367 {
3368 "type" : "field",
3369 "value" : ["ethernet", "dst_addr"]
3370 },
3371 {
3372 "type" : "runtime_data",
3373 "value" : 2
3374 }
3375 ],
3376 "source_info" : {
3377 "filename" : "include/control/next.p4",
3378 "line" : 41,
3379 "column" : 8,
3380 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3381 }
3382 },
3383 {
3384 "op" : "assign",
3385 "parameters" : [
3386 {
3387 "type" : "field",
3388 "value" : ["standard_metadata", "egress_spec"]
3389 },
3390 {
3391 "type" : "runtime_data",
3392 "value" : 0
3393 }
3394 ],
3395 "source_info" : {
3396 "filename" : "include/control/next.p4",
3397 "line" : 31,
3398 "column" : 5,
3399 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3400 }
3401 }
3402 ]
3403 },
3404 {
3405 "name" : "FabricIngress.next.set_mcast_group_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07003406 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003407 "runtime_data" : [
3408 {
3409 "name" : "group_id",
3410 "bitwidth" : 16
3411 }
3412 ],
3413 "primitives" : [
3414 {
3415 "op" : "assign",
3416 "parameters" : [
3417 {
3418 "type" : "field",
3419 "value" : ["standard_metadata", "mcast_grp"]
3420 },
3421 {
3422 "type" : "runtime_data",
3423 "value" : 0
3424 }
3425 ],
3426 "source_info" : {
3427 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003428 "line" : 231,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003429 "column" : 8,
3430 "source_fragment" : "standard_metadata.mcast_grp = group_id"
3431 }
3432 },
3433 {
3434 "op" : "assign",
3435 "parameters" : [
3436 {
3437 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003438 "value" : ["scalars", "userMetadata._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003439 },
3440 {
3441 "type" : "expression",
3442 "value" : {
3443 "type" : "expression",
3444 "value" : {
3445 "op" : "b2d",
3446 "left" : null,
3447 "right" : {
3448 "type" : "bool",
3449 "value" : true
3450 }
3451 }
3452 }
3453 }
3454 ],
3455 "source_info" : {
3456 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003457 "line" : 232,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003458 "column" : 37,
3459 "source_fragment" : "= true; ..."
3460 }
3461 }
3462 ]
3463 },
3464 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003465 "name" : "packetio25",
Daniele Moro5a2de712019-09-24 14:34:07 -07003466 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003467 "runtime_data" : [],
3468 "primitives" : [
3469 {
3470 "op" : "assign",
3471 "parameters" : [
3472 {
3473 "type" : "field",
3474 "value" : ["standard_metadata", "egress_spec"]
3475 },
3476 {
3477 "type" : "field",
3478 "value" : ["packet_out", "egress_port"]
3479 }
3480 ],
3481 "source_info" : {
3482 "filename" : "include/control/packetio.p4",
3483 "line" : 25,
3484 "column" : 12,
3485 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
3486 }
3487 },
3488 {
3489 "op" : "remove_header",
3490 "parameters" : [
3491 {
3492 "type" : "header",
3493 "value" : "packet_out"
3494 }
3495 ],
3496 "source_info" : {
3497 "filename" : "include/control/packetio.p4",
3498 "line" : 26,
3499 "column" : 12,
3500 "source_fragment" : "hdr.packet_out.setInvalid()"
3501 }
3502 },
3503 {
3504 "op" : "assign",
3505 "parameters" : [
3506 {
3507 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003508 "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003509 },
3510 {
3511 "type" : "expression",
3512 "value" : {
3513 "type" : "expression",
3514 "value" : {
3515 "op" : "b2d",
3516 "left" : null,
3517 "right" : {
3518 "type" : "bool",
3519 "value" : true
3520 }
3521 }
3522 }
3523 }
3524 ],
3525 "source_info" : {
3526 "filename" : "include/control/packetio.p4",
3527 "line" : 27,
3528 "column" : 53,
3529 "source_fragment" : "= true; ..."
3530 }
3531 },
3532 {
3533 "op" : "exit",
3534 "parameters" : [],
3535 "source_info" : {
3536 "filename" : "include/control/packetio.p4",
3537 "line" : 29,
3538 "column" : 12,
3539 "source_fragment" : "exit"
3540 }
3541 }
3542 ]
3543 },
3544 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003545 "name" : "filtering111",
Daniele Moro5a2de712019-09-24 14:34:07 -07003546 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003547 "runtime_data" : [],
3548 "primitives" : [
3549 {
3550 "op" : "assign",
3551 "parameters" : [
3552 {
3553 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003554 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003555 },
3556 {
3557 "type" : "field",
3558 "value" : ["vlan_tag", "vlan_id"]
3559 }
3560 ],
3561 "source_info" : {
3562 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003563 "line" : 111,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003564 "column" : 36,
3565 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
3566 }
3567 },
3568 {
3569 "op" : "assign",
3570 "parameters" : [
3571 {
3572 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003573 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003574 },
3575 {
3576 "type" : "field",
3577 "value" : ["vlan_tag", "pri"]
3578 }
3579 ],
3580 "source_info" : {
3581 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003582 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003583 "column" : 37,
3584 "source_fragment" : "= hdr.vlan_tag.pri; ..."
3585 }
3586 },
3587 {
3588 "op" : "assign",
3589 "parameters" : [
3590 {
3591 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003592 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003593 },
3594 {
3595 "type" : "field",
3596 "value" : ["vlan_tag", "cfi"]
3597 }
3598 ],
3599 "source_info" : {
3600 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003601 "line" : 113,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003602 "column" : 37,
3603 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
3604 }
3605 }
3606 ]
3607 },
3608 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003609 "name" : "filtering117",
Daniele Moro5a2de712019-09-24 14:34:07 -07003610 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003611 "runtime_data" : [],
3612 "primitives" : [
3613 {
3614 "op" : "assign",
3615 "parameters" : [
3616 {
3617 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003618 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003619 },
3620 {
3621 "type" : "field",
3622 "value" : ["inner_vlan_tag", "vlan_id"]
3623 }
3624 ],
3625 "source_info" : {
3626 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003627 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003628 "column" : 42,
3629 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
3630 }
3631 },
3632 {
3633 "op" : "assign",
3634 "parameters" : [
3635 {
3636 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003637 "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003638 },
3639 {
3640 "type" : "field",
3641 "value" : ["inner_vlan_tag", "pri"]
3642 }
3643 ],
3644 "source_info" : {
3645 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003646 "line" : 118,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003647 "column" : 43,
3648 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
3649 }
3650 },
3651 {
3652 "op" : "assign",
3653 "parameters" : [
3654 {
3655 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003656 "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07003657 },
3658 {
3659 "type" : "field",
3660 "value" : ["inner_vlan_tag", "cfi"]
3661 }
3662 ],
3663 "source_info" : {
3664 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003665 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003666 "column" : 43,
3667 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
3668 }
3669 }
3670 ]
3671 },
3672 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003673 "name" : "filtering127",
Daniele Moro5a2de712019-09-24 14:34:07 -07003674 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07003675 "runtime_data" : [],
3676 "primitives" : [
3677 {
3678 "op" : "assign",
3679 "parameters" : [
3680 {
3681 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003682 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003683 },
3684 {
3685 "type" : "hexstr",
3686 "value" : "0x41"
3687 }
3688 ],
3689 "source_info" : {
3690 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003691 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003692 "column" : 37,
3693 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
3694 }
3695 }
3696 ]
3697 },
3698 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08003699 "name" : "acl101",
Daniele Moro5a2de712019-09-24 14:34:07 -07003700 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003701 "runtime_data" : [],
3702 "primitives" : [
3703 {
3704 "op" : "assign",
3705 "parameters" : [
3706 {
3707 "type" : "field",
Wailok Shum4f51bde2021-06-11 22:48:41 +08003708 "value" : ["scalars", "acl_l4_sport"]
3709 },
3710 {
3711 "type" : "field",
3712 "value" : ["inner_tcp", "sport"]
3713 }
3714 ],
3715 "source_info" : {
3716 "filename" : "include/control/acl.p4",
3717 "line" : 101,
3718 "column" : 16,
3719 "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
3720 }
3721 },
3722 {
3723 "op" : "assign",
3724 "parameters" : [
3725 {
3726 "type" : "field",
3727 "value" : ["scalars", "acl_l4_dport"]
3728 },
3729 {
3730 "type" : "field",
3731 "value" : ["inner_tcp", "dport"]
3732 }
3733 ],
3734 "source_info" : {
3735 "filename" : "include/control/acl.p4",
3736 "line" : 102,
3737 "column" : 16,
3738 "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
3739 }
3740 }
3741 ]
3742 },
3743 {
3744 "name" : "acl104",
3745 "id" : 40,
3746 "runtime_data" : [],
3747 "primitives" : [
3748 {
3749 "op" : "assign",
3750 "parameters" : [
3751 {
3752 "type" : "field",
3753 "value" : ["scalars", "acl_l4_sport"]
3754 },
3755 {
3756 "type" : "field",
3757 "value" : ["inner_udp", "sport"]
3758 }
3759 ],
3760 "source_info" : {
3761 "filename" : "include/control/acl.p4",
3762 "line" : 104,
3763 "column" : 16,
3764 "source_fragment" : "l4_sport = hdr.inner_udp.sport"
3765 }
3766 },
3767 {
3768 "op" : "assign",
3769 "parameters" : [
3770 {
3771 "type" : "field",
3772 "value" : ["scalars", "acl_l4_dport"]
3773 },
3774 {
3775 "type" : "field",
3776 "value" : ["inner_udp", "dport"]
3777 }
3778 ],
3779 "source_info" : {
3780 "filename" : "include/control/acl.p4",
3781 "line" : 105,
3782 "column" : 16,
3783 "source_fragment" : "l4_dport = hdr.inner_udp.dport"
3784 }
3785 }
3786 ]
3787 },
3788 {
3789 "name" : "acl97",
3790 "id" : 41,
3791 "runtime_data" : [],
3792 "primitives" : [
3793 {
3794 "op" : "assign",
3795 "parameters" : [
3796 {
3797 "type" : "field",
3798 "value" : ["scalars", "acl_ipv4_src"]
3799 },
3800 {
3801 "type" : "field",
3802 "value" : ["inner_ipv4", "src_addr"]
3803 }
3804 ],
3805 "source_info" : {
3806 "filename" : "include/control/acl.p4",
3807 "line" : 97,
3808 "column" : 12,
3809 "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
3810 }
3811 },
3812 {
3813 "op" : "assign",
3814 "parameters" : [
3815 {
3816 "type" : "field",
3817 "value" : ["scalars", "acl_ipv4_dst"]
3818 },
3819 {
3820 "type" : "field",
3821 "value" : ["inner_ipv4", "dst_addr"]
3822 }
3823 ],
3824 "source_info" : {
3825 "filename" : "include/control/acl.p4",
3826 "line" : 98,
3827 "column" : 12,
3828 "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
3829 }
3830 },
3831 {
3832 "op" : "assign",
3833 "parameters" : [
3834 {
3835 "type" : "field",
3836 "value" : ["scalars", "acl_ip_proto"]
3837 },
3838 {
3839 "type" : "field",
3840 "value" : ["inner_ipv4", "protocol"]
3841 }
3842 ],
3843 "source_info" : {
3844 "filename" : "include/control/acl.p4",
3845 "line" : 99,
3846 "column" : 12,
3847 "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
3848 }
3849 }
3850 ]
3851 },
3852 {
3853 "name" : "acl112",
3854 "id" : 42,
3855 "runtime_data" : [],
3856 "primitives" : [
3857 {
3858 "op" : "assign",
3859 "parameters" : [
3860 {
3861 "type" : "field",
3862 "value" : ["scalars", "acl_l4_sport"]
3863 },
3864 {
3865 "type" : "field",
3866 "value" : ["tcp", "sport"]
3867 }
3868 ],
3869 "source_info" : {
3870 "filename" : "include/control/acl.p4",
3871 "line" : 112,
3872 "column" : 16,
3873 "source_fragment" : "l4_sport = hdr.tcp.sport"
3874 }
3875 },
3876 {
3877 "op" : "assign",
3878 "parameters" : [
3879 {
3880 "type" : "field",
3881 "value" : ["scalars", "acl_l4_dport"]
3882 },
3883 {
3884 "type" : "field",
3885 "value" : ["tcp", "dport"]
3886 }
3887 ],
3888 "source_info" : {
3889 "filename" : "include/control/acl.p4",
3890 "line" : 113,
3891 "column" : 16,
3892 "source_fragment" : "l4_dport = hdr.tcp.dport"
3893 }
3894 }
3895 ]
3896 },
3897 {
3898 "name" : "acl115",
3899 "id" : 43,
3900 "runtime_data" : [],
3901 "primitives" : [
3902 {
3903 "op" : "assign",
3904 "parameters" : [
3905 {
3906 "type" : "field",
3907 "value" : ["scalars", "acl_l4_sport"]
3908 },
3909 {
3910 "type" : "field",
3911 "value" : ["udp", "sport"]
3912 }
3913 ],
3914 "source_info" : {
3915 "filename" : "include/control/acl.p4",
3916 "line" : 115,
3917 "column" : 16,
3918 "source_fragment" : "l4_sport = hdr.udp.sport"
3919 }
3920 },
3921 {
3922 "op" : "assign",
3923 "parameters" : [
3924 {
3925 "type" : "field",
3926 "value" : ["scalars", "acl_l4_dport"]
3927 },
3928 {
3929 "type" : "field",
3930 "value" : ["udp", "dport"]
3931 }
3932 ],
3933 "source_info" : {
3934 "filename" : "include/control/acl.p4",
3935 "line" : 116,
3936 "column" : 16,
3937 "source_fragment" : "l4_dport = hdr.udp.dport"
3938 }
3939 }
3940 ]
3941 },
3942 {
3943 "name" : "acl108",
3944 "id" : 44,
3945 "runtime_data" : [],
3946 "primitives" : [
3947 {
3948 "op" : "assign",
3949 "parameters" : [
3950 {
3951 "type" : "field",
3952 "value" : ["scalars", "acl_ipv4_src"]
3953 },
3954 {
3955 "type" : "field",
3956 "value" : ["ipv4", "src_addr"]
3957 }
3958 ],
3959 "source_info" : {
3960 "filename" : "include/control/acl.p4",
3961 "line" : 108,
3962 "column" : 12,
3963 "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
3964 }
3965 },
3966 {
3967 "op" : "assign",
3968 "parameters" : [
3969 {
3970 "type" : "field",
3971 "value" : ["scalars", "acl_ipv4_dst"]
3972 },
3973 {
3974 "type" : "field",
3975 "value" : ["ipv4", "dst_addr"]
3976 }
3977 ],
3978 "source_info" : {
3979 "filename" : "include/control/acl.p4",
3980 "line" : 109,
3981 "column" : 12,
3982 "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
3983 }
3984 },
3985 {
3986 "op" : "assign",
3987 "parameters" : [
3988 {
3989 "type" : "field",
3990 "value" : ["scalars", "acl_ip_proto"]
3991 },
3992 {
3993 "type" : "field",
3994 "value" : ["ipv4", "protocol"]
3995 }
3996 ],
3997 "source_info" : {
3998 "filename" : "include/control/acl.p4",
3999 "line" : 110,
4000 "column" : 12,
4001 "source_fragment" : "ip_proto = hdr.ipv4.protocol"
4002 }
4003 }
4004 ]
4005 },
4006 {
4007 "name" : "acl27",
4008 "id" : 45,
4009 "runtime_data" : [],
4010 "primitives" : [
4011 {
4012 "op" : "assign",
4013 "parameters" : [
4014 {
4015 "type" : "field",
4016 "value" : ["scalars", "acl_ipv4_src"]
4017 },
4018 {
4019 "type" : "hexstr",
4020 "value" : "0x00000000"
4021 }
4022 ],
4023 "source_info" : {
4024 "filename" : "include/control/acl.p4",
4025 "line" : 27,
4026 "column" : 4,
4027 "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
4028 }
4029 },
4030 {
4031 "op" : "assign",
4032 "parameters" : [
4033 {
4034 "type" : "field",
4035 "value" : ["scalars", "acl_ipv4_dst"]
4036 },
4037 {
4038 "type" : "hexstr",
4039 "value" : "0x00000000"
4040 }
4041 ],
4042 "source_info" : {
4043 "filename" : "include/control/acl.p4",
4044 "line" : 28,
4045 "column" : 4,
4046 "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
4047 }
4048 },
4049 {
4050 "op" : "assign",
4051 "parameters" : [
4052 {
4053 "type" : "field",
4054 "value" : ["scalars", "acl_ip_proto"]
4055 },
4056 {
4057 "type" : "hexstr",
4058 "value" : "0x00"
4059 }
4060 ],
4061 "source_info" : {
4062 "filename" : "include/control/acl.p4",
4063 "line" : 29,
4064 "column" : 4,
4065 "source_fragment" : "bit<8> ip_proto = 0;"
4066 }
4067 },
4068 {
4069 "op" : "assign",
4070 "parameters" : [
4071 {
4072 "type" : "field",
4073 "value" : ["scalars", "acl_l4_sport"]
4074 },
4075 {
4076 "type" : "hexstr",
4077 "value" : "0x0000"
4078 }
4079 ],
4080 "source_info" : {
4081 "filename" : "include/control/acl.p4",
4082 "line" : 30,
4083 "column" : 4,
4084 "source_fragment" : "l4_port_t l4_sport = 0;"
4085 }
4086 },
4087 {
4088 "op" : "assign",
4089 "parameters" : [
4090 {
4091 "type" : "field",
4092 "value" : ["scalars", "acl_l4_dport"]
4093 },
4094 {
4095 "type" : "hexstr",
4096 "value" : "0x0000"
4097 }
4098 ],
4099 "source_info" : {
4100 "filename" : "include/control/acl.p4",
4101 "line" : 31,
4102 "column" : 4,
4103 "source_fragment" : "l4_port_t l4_dport = 0;"
4104 }
4105 }
4106 ]
4107 },
4108 {
4109 "name" : "port_counter31",
4110 "id" : 46,
4111 "runtime_data" : [],
4112 "primitives" : [
4113 {
4114 "op" : "assign",
4115 "parameters" : [
4116 {
4117 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004118 "value" : ["scalars", "tmp_8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004119 },
4120 {
4121 "type" : "expression",
4122 "value" : {
4123 "type" : "expression",
4124 "value" : {
4125 "op" : "&",
4126 "left" : {
4127 "type" : "field",
4128 "value" : ["standard_metadata", "egress_spec"]
4129 },
4130 "right" : {
4131 "type" : "hexstr",
4132 "value" : "0xffffffff"
4133 }
4134 }
4135 }
4136 }
4137 ],
4138 "source_info" : {
4139 "filename" : "include/control/port_counter.p4",
4140 "line" : 31,
4141 "column" : 38,
4142 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
4143 }
4144 },
4145 {
4146 "op" : "count",
4147 "parameters" : [
4148 {
4149 "type" : "counter_array",
4150 "value" : "FabricIngress.port_counters_control.egress_port_counter"
4151 },
4152 {
4153 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004154 "value" : ["scalars", "tmp_8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004155 }
4156 ],
4157 "source_info" : {
4158 "filename" : "include/control/port_counter.p4",
4159 "line" : 31,
4160 "column" : 12,
4161 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4162 }
4163 }
4164 ]
4165 },
4166 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004167 "name" : "port_counter34",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004168 "id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004169 "runtime_data" : [],
4170 "primitives" : [
4171 {
4172 "op" : "assign",
4173 "parameters" : [
4174 {
4175 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004176 "value" : ["scalars", "tmp_9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004177 },
4178 {
4179 "type" : "expression",
4180 "value" : {
4181 "type" : "expression",
4182 "value" : {
4183 "op" : "&",
4184 "left" : {
4185 "type" : "field",
4186 "value" : ["standard_metadata", "ingress_port"]
4187 },
4188 "right" : {
4189 "type" : "hexstr",
4190 "value" : "0xffffffff"
4191 }
4192 }
4193 }
4194 }
4195 ],
4196 "source_info" : {
4197 "filename" : "include/control/port_counter.p4",
4198 "line" : 34,
4199 "column" : 39,
4200 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
4201 }
4202 },
4203 {
4204 "op" : "count",
4205 "parameters" : [
4206 {
4207 "type" : "counter_array",
4208 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
4209 },
4210 {
4211 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004212 "value" : ["scalars", "tmp_9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004213 }
4214 ],
4215 "source_info" : {
4216 "filename" : "include/control/port_counter.p4",
4217 "line" : 34,
4218 "column" : 12,
4219 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4220 }
4221 }
4222 ]
4223 },
4224 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004225 "name" : "bng126",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004226 "id" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004227 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004228 "primitives" : [
4229 {
4230 "op" : "assign",
4231 "parameters" : [
4232 {
4233 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004234 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
4235 },
4236 {
4237 "type" : "expression",
4238 "value" : {
4239 "type" : "expression",
4240 "value" : {
4241 "op" : "b2d",
4242 "left" : null,
4243 "right" : {
4244 "type" : "bool",
4245 "value" : true
4246 }
4247 }
4248 }
4249 }
4250 ],
4251 "source_info" : {
4252 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004253 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004254 "column" : 12,
4255 "source_fragment" : "return"
4256 }
4257 }
4258 ]
4259 },
4260 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004261 "name" : "bng342",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004262 "id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004263 "runtime_data" : [],
4264 "primitives" : [
4265 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004266 "op" : "assign",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004267 "parameters" : [
4268 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004269 "type" : "field",
4270 "value" : ["scalars", "userMetadata._bng_type21"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004271 },
4272 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004273 "type" : "hexstr",
4274 "value" : "0x01"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004275 }
4276 ],
4277 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004278 "filename" : "include/control/../header.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004279 "line" : 164,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004280 "column" : 37,
4281 "source_fragment" : "2w0x1; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07004282 }
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004283 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07004284 {
4285 "op" : "assign",
4286 "parameters" : [
4287 {
4288 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004289 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004290 },
4291 {
4292 "type" : "expression",
4293 "value" : {
4294 "type" : "expression",
4295 "value" : {
4296 "op" : "b2d",
4297 "left" : null,
4298 "right" : {
4299 "type" : "bool",
4300 "value" : false
4301 }
4302 }
4303 }
4304 }
4305 ]
4306 }
4307 ]
4308 },
4309 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004310 "name" : "bng131",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004311 "id" : 50,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004312 "runtime_data" : [],
4313 "primitives" : [
4314 {
4315 "op" : "count",
4316 "parameters" : [
4317 {
4318 "type" : "counter_array",
4319 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
4320 },
4321 {
4322 "type" : "field",
4323 "value" : ["scalars", "userMetadata._bng_line_id22"]
4324 }
4325 ],
4326 "source_info" : {
4327 "filename" : "include/bng.p4",
4328 "line" : 131,
4329 "column" : 20,
4330 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
4331 }
4332 }
4333 ]
4334 },
4335 {
4336 "name" : "bng238",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004337 "id" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004338 "runtime_data" : [],
4339 "primitives" : [
4340 {
4341 "op" : "execute_meter",
4342 "parameters" : [
4343 {
4344 "type" : "meter_array",
4345 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
4346 },
4347 {
4348 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004349 "value" : ["scalars", "userMetadata._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004350 },
4351 {
4352 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004353 "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004354 }
4355 ],
4356 "source_info" : {
4357 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004358 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004359 "column" : 24,
4360 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
4361 }
4362 }
4363 ]
4364 },
4365 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004366 "name" : "bng241",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004367 "id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004368 "runtime_data" : [],
4369 "primitives" : [
4370 {
4371 "op" : "execute_meter",
4372 "parameters" : [
4373 {
4374 "type" : "meter_array",
4375 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
4376 },
4377 {
4378 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004379 "value" : ["scalars", "userMetadata._bng_line_id22"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004380 },
4381 {
4382 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004383 "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004384 }
4385 ],
4386 "source_info" : {
4387 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004388 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004389 "column" : 24,
4390 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
4391 }
4392 }
4393 ]
4394 },
4395 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004396 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004397 "id" : 53,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004398 "runtime_data" : [],
4399 "primitives" : [
4400 {
4401 "op" : "assign",
4402 "parameters" : [
4403 {
4404 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004405 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004406 },
4407 {
4408 "type" : "hexstr",
4409 "value" : "0x8864"
4410 }
4411 ],
4412 "source_info" : {
4413 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004414 "line" : 124,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004415 "column" : 33,
4416 "source_fragment" : "0x8864; ..."
4417 }
4418 },
4419 {
4420 "op" : "add_header",
4421 "parameters" : [
4422 {
4423 "type" : "header",
4424 "value" : "pppoe"
4425 }
4426 ],
4427 "source_info" : {
4428 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004429 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004430 "column" : 8,
4431 "source_fragment" : "hdr.pppoe.setValid()"
4432 }
4433 },
4434 {
4435 "op" : "assign",
4436 "parameters" : [
4437 {
4438 "type" : "field",
4439 "value" : ["pppoe", "version"]
4440 },
4441 {
4442 "type" : "hexstr",
4443 "value" : "0x01"
4444 }
4445 ],
4446 "source_info" : {
4447 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004448 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004449 "column" : 8,
4450 "source_fragment" : "hdr.pppoe.version = 4w1"
4451 }
4452 },
4453 {
4454 "op" : "assign",
4455 "parameters" : [
4456 {
4457 "type" : "field",
4458 "value" : ["pppoe", "type_id"]
4459 },
4460 {
4461 "type" : "hexstr",
4462 "value" : "0x01"
4463 }
4464 ],
4465 "source_info" : {
4466 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004467 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004468 "column" : 8,
4469 "source_fragment" : "hdr.pppoe.type_id = 4w1"
4470 }
4471 },
4472 {
4473 "op" : "assign",
4474 "parameters" : [
4475 {
4476 "type" : "field",
4477 "value" : ["pppoe", "code"]
4478 },
4479 {
4480 "type" : "hexstr",
4481 "value" : "0x00"
4482 }
4483 ],
4484 "source_info" : {
4485 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004486 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004487 "column" : 8,
4488 "source_fragment" : "hdr.pppoe.code = 8w0"
4489 }
4490 },
4491 {
4492 "op" : "assign",
4493 "parameters" : [
4494 {
4495 "type" : "field",
4496 "value" : ["pppoe", "session_id"]
4497 },
4498 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07004499 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004500 "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004501 }
4502 ],
4503 "source_info" : {
4504 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004505 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004506 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004507 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004508 }
4509 },
4510 {
4511 "op" : "count",
4512 "parameters" : [
4513 {
4514 "type" : "counter_array",
4515 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
4516 },
4517 {
4518 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004519 "value" : ["scalars", "userMetadata._bng_line_id22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004520 }
4521 ],
4522 "source_info" : {
4523 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004524 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004525 "column" : 8,
4526 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
4527 }
4528 },
4529 {
4530 "op" : "assign",
4531 "parameters" : [
4532 {
4533 "type" : "field",
4534 "value" : ["pppoe", "length"]
4535 },
4536 {
4537 "type" : "expression",
4538 "value" : {
4539 "type" : "expression",
4540 "value" : {
4541 "op" : "&",
4542 "left" : {
4543 "type" : "expression",
4544 "value" : {
4545 "op" : "+",
4546 "left" : {
4547 "type" : "field",
4548 "value" : ["ipv4", "total_len"]
4549 },
4550 "right" : {
4551 "type" : "hexstr",
4552 "value" : "0x0002"
4553 }
4554 }
4555 },
4556 "right" : {
4557 "type" : "hexstr",
4558 "value" : "0xffff"
4559 }
4560 }
4561 }
4562 }
4563 ],
4564 "source_info" : {
4565 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004566 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004567 "column" : 8,
4568 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
4569 }
4570 },
4571 {
4572 "op" : "assign",
4573 "parameters" : [
4574 {
4575 "type" : "field",
4576 "value" : ["pppoe", "protocol"]
4577 },
4578 {
4579 "type" : "hexstr",
4580 "value" : "0x0021"
4581 }
4582 ],
4583 "source_info" : {
4584 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004585 "line" : 126,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004586 "column" : 35,
4587 "source_fragment" : "0x0021; ..."
4588 }
4589 }
4590 ]
4591 },
4592 {
4593 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004594 "id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004595 "runtime_data" : [],
4596 "primitives" : [
4597 {
4598 "op" : "remove_header",
4599 "parameters" : [
4600 {
4601 "type" : "header",
4602 "value" : "mpls"
4603 }
4604 ],
4605 "source_info" : {
4606 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004607 "line" : 270,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004608 "column" : 8,
4609 "source_fragment" : "hdr.mpls.setInvalid()"
4610 }
4611 },
4612 {
4613 "op" : "assign",
4614 "parameters" : [
4615 {
4616 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004617 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004618 },
4619 {
4620 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004621 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004622 }
4623 ],
4624 "source_info" : {
4625 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004626 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07004627 "column" : 8,
4628 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004629 }
4630 }
4631 ]
4632 },
4633 {
4634 "name" : "FabricEgress.egress_next.set_mpls",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004635 "id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004636 "runtime_data" : [],
4637 "primitives" : [
4638 {
4639 "op" : "add_header",
4640 "parameters" : [
4641 {
4642 "type" : "header",
4643 "value" : "mpls"
4644 }
4645 ],
4646 "source_info" : {
4647 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004648 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004649 "column" : 8,
4650 "source_fragment" : "hdr.mpls.setValid()"
4651 }
4652 },
4653 {
4654 "op" : "assign",
4655 "parameters" : [
4656 {
4657 "type" : "field",
4658 "value" : ["mpls", "label"]
4659 },
4660 {
4661 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004662 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004663 }
4664 ],
4665 "source_info" : {
4666 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004667 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004668 "column" : 8,
4669 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
4670 }
4671 },
4672 {
4673 "op" : "assign",
4674 "parameters" : [
4675 {
4676 "type" : "field",
4677 "value" : ["mpls", "tc"]
4678 },
4679 {
4680 "type" : "hexstr",
4681 "value" : "0x00"
4682 }
4683 ],
4684 "source_info" : {
4685 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004686 "line" : 279,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004687 "column" : 8,
4688 "source_fragment" : "hdr.mpls.tc = 3w0"
4689 }
4690 },
4691 {
4692 "op" : "assign",
4693 "parameters" : [
4694 {
4695 "type" : "field",
4696 "value" : ["mpls", "bos"]
4697 },
4698 {
4699 "type" : "hexstr",
4700 "value" : "0x01"
4701 }
4702 ],
4703 "source_info" : {
4704 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004705 "line" : 280,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004706 "column" : 8,
4707 "source_fragment" : "hdr.mpls.bos = 1w1"
4708 }
4709 },
4710 {
4711 "op" : "assign",
4712 "parameters" : [
4713 {
4714 "type" : "field",
4715 "value" : ["mpls", "ttl"]
4716 },
4717 {
4718 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004719 "value" : ["scalars", "userMetadata._mpls_ttl9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004720 }
4721 ],
4722 "source_info" : {
4723 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004724 "line" : 281,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004725 "column" : 8,
4726 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
4727 }
4728 },
4729 {
4730 "op" : "assign",
4731 "parameters" : [
4732 {
4733 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004734 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004735 },
4736 {
4737 "type" : "hexstr",
4738 "value" : "0x8847"
4739 }
4740 ],
4741 "source_info" : {
4742 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004743 "line" : 118,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004744 "column" : 31,
4745 "source_fragment" : "0x8847; ..."
4746 }
4747 }
4748 ]
4749 },
4750 {
pierventre48e78822020-12-15 17:34:54 +01004751 "name" : "FabricEgress.egress_next.push_outer_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004752 "id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004753 "runtime_data" : [],
4754 "primitives" : [
4755 {
4756 "op" : "add_header",
4757 "parameters" : [
4758 {
4759 "type" : "header",
4760 "value" : "vlan_tag"
4761 }
4762 ],
4763 "source_info" : {
4764 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004765 "line" : 289,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004766 "column" : 8,
4767 "source_fragment" : "hdr.vlan_tag.setValid()"
4768 }
4769 },
4770 {
4771 "op" : "assign",
4772 "parameters" : [
4773 {
4774 "type" : "field",
4775 "value" : ["vlan_tag", "cfi"]
4776 },
4777 {
4778 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004779 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004780 }
4781 ],
4782 "source_info" : {
4783 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004784 "line" : 290,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004785 "column" : 8,
4786 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
4787 }
4788 },
4789 {
4790 "op" : "assign",
4791 "parameters" : [
4792 {
4793 "type" : "field",
4794 "value" : ["vlan_tag", "pri"]
4795 },
4796 {
4797 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004798 "value" : ["scalars", "userMetadata._vlan_pri2"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004799 }
4800 ],
4801 "source_info" : {
4802 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004803 "line" : 291,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004804 "column" : 8,
4805 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
4806 }
4807 },
4808 {
4809 "op" : "assign",
4810 "parameters" : [
4811 {
4812 "type" : "field",
4813 "value" : ["vlan_tag", "eth_type"]
4814 },
4815 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004816 "type" : "hexstr",
4817 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004818 }
4819 ],
4820 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004821 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004822 "line" : 117,
Daniele Moro5a2de712019-09-24 14:34:07 -07004823 "column" : 31,
4824 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07004825 }
4826 },
4827 {
4828 "op" : "assign",
4829 "parameters" : [
4830 {
4831 "type" : "field",
4832 "value" : ["vlan_tag", "vlan_id"]
4833 },
4834 {
4835 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004836 "value" : ["scalars", "userMetadata._vlan_id1"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004837 }
4838 ],
4839 "source_info" : {
4840 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004841 "line" : 293,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004842 "column" : 8,
4843 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
4844 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07004845 }
4846 ]
4847 },
4848 {
4849 "name" : "FabricEgress.egress_next.push_inner_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004850 "id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004851 "runtime_data" : [],
4852 "primitives" : [
4853 {
4854 "op" : "add_header",
4855 "parameters" : [
4856 {
4857 "type" : "header",
4858 "value" : "inner_vlan_tag"
4859 }
4860 ],
4861 "source_info" : {
4862 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004863 "line" : 300,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004864 "column" : 8,
4865 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
4866 }
4867 },
4868 {
4869 "op" : "assign",
4870 "parameters" : [
4871 {
4872 "type" : "field",
4873 "value" : ["inner_vlan_tag", "cfi"]
4874 },
4875 {
4876 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004877 "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004878 }
4879 ],
4880 "source_info" : {
4881 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004882 "line" : 301,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004883 "column" : 8,
4884 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
4885 }
4886 },
4887 {
4888 "op" : "assign",
4889 "parameters" : [
4890 {
4891 "type" : "field",
4892 "value" : ["inner_vlan_tag", "pri"]
4893 },
4894 {
4895 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004896 "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004897 }
4898 ],
4899 "source_info" : {
4900 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004901 "line" : 302,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004902 "column" : 8,
4903 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
4904 }
4905 },
4906 {
4907 "op" : "assign",
4908 "parameters" : [
4909 {
4910 "type" : "field",
4911 "value" : ["inner_vlan_tag", "vlan_id"]
4912 },
4913 {
4914 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004915 "value" : ["scalars", "userMetadata._inner_vlan_id5"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004916 }
4917 ],
4918 "source_info" : {
4919 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004920 "line" : 303,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004921 "column" : 8,
4922 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
4923 }
4924 },
4925 {
4926 "op" : "assign",
4927 "parameters" : [
4928 {
4929 "type" : "field",
4930 "value" : ["inner_vlan_tag", "eth_type"]
4931 },
4932 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004933 "type" : "hexstr",
4934 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004935 }
4936 ],
4937 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004938 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004939 "line" : 117,
Daniele Moro5a2de712019-09-24 14:34:07 -07004940 "column" : 31,
4941 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07004942 }
4943 },
4944 {
4945 "op" : "assign",
4946 "parameters" : [
4947 {
4948 "type" : "field",
4949 "value" : ["vlan_tag", "eth_type"]
4950 },
4951 {
4952 "type" : "hexstr",
4953 "value" : "0x8100"
4954 }
4955 ],
4956 "source_info" : {
4957 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004958 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004959 "column" : 31,
4960 "source_fragment" : "0x8100; ..."
4961 }
4962 }
4963 ]
4964 },
4965 {
pierventre48e78822020-12-15 17:34:54 +01004966 "name" : "FabricEgress.egress_next.push_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08004967 "id" : 58,
pierventre48e78822020-12-15 17:34:54 +01004968 "runtime_data" : [],
4969 "primitives" : [
4970 {
4971 "op" : "add_header",
4972 "parameters" : [
4973 {
4974 "type" : "header",
4975 "value" : "vlan_tag"
4976 }
4977 ],
4978 "source_info" : {
4979 "filename" : "include/control/next.p4",
4980 "line" : 289,
4981 "column" : 8,
4982 "source_fragment" : "hdr.vlan_tag.setValid()"
4983 }
4984 },
4985 {
4986 "op" : "assign",
4987 "parameters" : [
4988 {
4989 "type" : "field",
4990 "value" : ["vlan_tag", "cfi"]
4991 },
4992 {
4993 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004994 "value" : ["scalars", "userMetadata._vlan_cfi3"]
pierventre48e78822020-12-15 17:34:54 +01004995 }
4996 ],
4997 "source_info" : {
4998 "filename" : "include/control/next.p4",
4999 "line" : 290,
5000 "column" : 8,
5001 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
5002 }
5003 },
5004 {
5005 "op" : "assign",
5006 "parameters" : [
5007 {
5008 "type" : "field",
5009 "value" : ["vlan_tag", "pri"]
5010 },
5011 {
5012 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005013 "value" : ["scalars", "userMetadata._vlan_pri2"]
pierventre48e78822020-12-15 17:34:54 +01005014 }
5015 ],
5016 "source_info" : {
5017 "filename" : "include/control/next.p4",
5018 "line" : 291,
5019 "column" : 8,
5020 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
5021 }
5022 },
5023 {
5024 "op" : "assign",
5025 "parameters" : [
5026 {
5027 "type" : "field",
5028 "value" : ["vlan_tag", "eth_type"]
5029 },
5030 {
5031 "type" : "hexstr",
5032 "value" : "0x8100"
5033 }
5034 ],
5035 "source_info" : {
5036 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005037 "line" : 117,
pierventre48e78822020-12-15 17:34:54 +01005038 "column" : 31,
5039 "source_fragment" : "0x8100; ..."
5040 }
5041 },
5042 {
5043 "op" : "assign",
5044 "parameters" : [
5045 {
5046 "type" : "field",
5047 "value" : ["vlan_tag", "vlan_id"]
5048 },
5049 {
5050 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005051 "value" : ["scalars", "userMetadata._vlan_id1"]
pierventre48e78822020-12-15 17:34:54 +01005052 }
5053 ],
5054 "source_info" : {
5055 "filename" : "include/control/next.p4",
5056 "line" : 293,
5057 "column" : 8,
5058 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
5059 }
5060 }
5061 ]
5062 },
5063 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005064 "name" : "FabricEgress.egress_next.pop_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005065 "id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005066 "runtime_data" : [],
5067 "primitives" : [
5068 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005069 "op" : "remove_header",
5070 "parameters" : [
5071 {
5072 "type" : "header",
5073 "value" : "vlan_tag"
5074 }
5075 ],
5076 "source_info" : {
5077 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005078 "line" : 322,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005079 "column" : 8,
5080 "source_fragment" : "hdr.vlan_tag.setInvalid()"
5081 }
5082 }
5083 ]
5084 },
5085 {
pierventre48e78822020-12-15 17:34:54 +01005086 "name" : "FabricEgress.egress_next.drop",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005087 "id" : 60,
pierventre48e78822020-12-15 17:34:54 +01005088 "runtime_data" : [],
5089 "primitives" : [
5090 {
5091 "op" : "mark_to_drop",
5092 "parameters" : [
5093 {
5094 "type" : "header",
5095 "value" : "standard_metadata"
5096 }
5097 ],
5098 "source_info" : {
5099 "filename" : "include/control/next.p4",
5100 "line" : 327,
5101 "column" : 8,
5102 "source_fragment" : "mark_to_drop(standard_metadata)"
5103 }
5104 }
5105 ]
5106 },
5107 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005108 "name" : "packetio41",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005109 "id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005110 "runtime_data" : [],
5111 "primitives" : [
5112 {
5113 "op" : "exit",
5114 "parameters" : [],
5115 "source_info" : {
5116 "filename" : "include/control/packetio.p4",
5117 "line" : 41,
5118 "column" : 12,
5119 "source_fragment" : "exit"
5120 }
5121 }
5122 ]
5123 },
5124 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005125 "name" : "packetio44",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005126 "id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005127 "runtime_data" : [],
5128 "primitives" : [
5129 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005130 "op" : "add_header",
5131 "parameters" : [
5132 {
5133 "type" : "header",
5134 "value" : "packet_in"
5135 }
5136 ],
5137 "source_info" : {
5138 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005139 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005140 "column" : 12,
5141 "source_fragment" : "hdr.packet_in.setValid()"
5142 }
5143 },
5144 {
5145 "op" : "assign",
5146 "parameters" : [
5147 {
5148 "type" : "field",
5149 "value" : ["packet_in", "ingress_port"]
5150 },
5151 {
5152 "type" : "field",
5153 "value" : ["standard_metadata", "ingress_port"]
5154 }
5155 ],
5156 "source_info" : {
5157 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005158 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005159 "column" : 12,
5160 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
5161 }
5162 },
5163 {
5164 "op" : "exit",
5165 "parameters" : [],
5166 "source_info" : {
5167 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005168 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005169 "column" : 12,
5170 "source_fragment" : "exit"
5171 }
5172 }
5173 ]
5174 },
5175 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005176 "name" : "next349",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005177 "id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005178 "runtime_data" : [],
5179 "primitives" : [
5180 {
5181 "op" : "mark_to_drop",
5182 "parameters" : [
5183 {
5184 "type" : "header",
5185 "value" : "standard_metadata"
5186 }
5187 ],
5188 "source_info" : {
5189 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005190 "line" : 349,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005191 "column" : 12,
5192 "source_fragment" : "mark_to_drop(standard_metadata)"
5193 }
5194 }
5195 ]
5196 },
5197 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005198 "name" : "next365",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005199 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005200 "runtime_data" : [],
5201 "primitives" : [
5202 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005203 "op" : "remove_header",
5204 "parameters" : [
5205 {
5206 "type" : "header",
5207 "value" : "inner_vlan_tag"
5208 }
5209 ],
5210 "source_info" : {
5211 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005212 "line" : 365,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005213 "column" : 12,
5214 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
5215 }
5216 }
5217 ]
5218 },
5219 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005220 "name" : "next376",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005221 "id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005222 "runtime_data" : [],
5223 "primitives" : [
5224 {
5225 "op" : "mark_to_drop",
5226 "parameters" : [
5227 {
5228 "type" : "header",
5229 "value" : "standard_metadata"
5230 }
5231 ],
5232 "source_info" : {
5233 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005234 "line" : 376,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005235 "column" : 35,
5236 "source_fragment" : "mark_to_drop(standard_metadata)"
5237 }
5238 }
5239 ]
5240 },
5241 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005242 "name" : "next375",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005243 "id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005244 "runtime_data" : [],
5245 "primitives" : [
5246 {
5247 "op" : "assign",
5248 "parameters" : [
5249 {
5250 "type" : "field",
5251 "value" : ["mpls", "ttl"]
5252 },
5253 {
5254 "type" : "expression",
5255 "value" : {
5256 "type" : "expression",
5257 "value" : {
5258 "op" : "&",
5259 "left" : {
5260 "type" : "expression",
5261 "value" : {
5262 "op" : "+",
5263 "left" : {
5264 "type" : "field",
5265 "value" : ["mpls", "ttl"]
5266 },
5267 "right" : {
5268 "type" : "hexstr",
5269 "value" : "0xff"
5270 }
5271 }
5272 },
5273 "right" : {
5274 "type" : "hexstr",
5275 "value" : "0xff"
5276 }
5277 }
5278 }
5279 }
5280 ],
5281 "source_info" : {
5282 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005283 "line" : 375,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005284 "column" : 12,
5285 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
5286 }
5287 }
5288 ]
5289 },
5290 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005291 "name" : "next380",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005292 "id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005293 "runtime_data" : [],
5294 "primitives" : [
5295 {
5296 "op" : "mark_to_drop",
5297 "parameters" : [
5298 {
5299 "type" : "header",
5300 "value" : "standard_metadata"
5301 }
5302 ],
5303 "source_info" : {
5304 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005305 "line" : 380,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005306 "column" : 39,
5307 "source_fragment" : "mark_to_drop(standard_metadata)"
5308 }
5309 }
5310 ]
5311 },
5312 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005313 "name" : "next379",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005314 "id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005315 "runtime_data" : [],
5316 "primitives" : [
5317 {
5318 "op" : "assign",
5319 "parameters" : [
5320 {
5321 "type" : "field",
5322 "value" : ["ipv4", "ttl"]
5323 },
5324 {
5325 "type" : "expression",
5326 "value" : {
5327 "type" : "expression",
5328 "value" : {
5329 "op" : "&",
5330 "left" : {
5331 "type" : "expression",
5332 "value" : {
5333 "op" : "+",
5334 "left" : {
5335 "type" : "field",
5336 "value" : ["ipv4", "ttl"]
5337 },
5338 "right" : {
5339 "type" : "hexstr",
5340 "value" : "0xff"
5341 }
5342 }
5343 },
5344 "right" : {
5345 "type" : "hexstr",
5346 "value" : "0xff"
5347 }
5348 }
5349 }
5350 }
5351 ],
5352 "source_info" : {
5353 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005354 "line" : 379,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005355 "column" : 16,
5356 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
5357 }
5358 }
5359 ]
5360 }
5361 ],
5362 "pipelines" : [
5363 {
5364 "name" : "ingress",
5365 "id" : 0,
5366 "source_info" : {
5367 "filename" : "fabric.p4",
5368 "line" : 46,
5369 "column" : 8,
5370 "source_fragment" : "FabricIngress"
5371 },
5372 "init_table" : "node_2",
5373 "tables" : [
5374 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005375 "name" : "tbl_packetio25",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005376 "id" : 0,
5377 "source_info" : {
5378 "filename" : "include/control/packetio.p4",
5379 "line" : 25,
5380 "column" : 42,
5381 "source_fragment" : "= hdr.packet_out.egress_port; ..."
5382 },
5383 "key" : [],
5384 "match_type" : "exact",
5385 "type" : "simple",
5386 "max_size" : 1024,
5387 "with_counters" : false,
5388 "support_timeout" : false,
5389 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005390 "action_ids" : [35],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005391 "actions" : ["packetio25"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005392 "base_default_next" : "node_4",
5393 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005394 "packetio25" : "node_4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005395 },
5396 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005397 "action_id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005398 "action_const" : true,
5399 "action_data" : [],
5400 "action_entry_const" : true
5401 }
5402 },
5403 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005404 "name" : "tbl_filtering111",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005405 "id" : 1,
5406 "source_info" : {
5407 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005408 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005409 "column" : 36,
5410 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005411 },
5412 "key" : [],
5413 "match_type" : "exact",
5414 "type" : "simple",
5415 "max_size" : 1024,
5416 "with_counters" : false,
5417 "support_timeout" : false,
5418 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005419 "action_ids" : [36],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005420 "actions" : ["filtering111"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005421 "base_default_next" : "node_6",
5422 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005423 "filtering111" : "node_6"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005424 },
5425 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005426 "action_id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005427 "action_const" : true,
5428 "action_data" : [],
5429 "action_entry_const" : true
5430 }
5431 },
5432 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005433 "name" : "tbl_filtering117",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005434 "id" : 2,
5435 "source_info" : {
5436 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005437 "line" : 117,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005438 "column" : 42,
5439 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
5440 },
5441 "key" : [],
5442 "match_type" : "exact",
5443 "type" : "simple",
5444 "max_size" : 1024,
5445 "with_counters" : false,
5446 "support_timeout" : false,
5447 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005448 "action_ids" : [37],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005449 "actions" : ["filtering117"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005450 "base_default_next" : "node_8",
5451 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005452 "filtering117" : "node_8"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005453 },
5454 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005455 "action_id" : 37,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005456 "action_const" : true,
5457 "action_data" : [],
5458 "action_entry_const" : true
5459 }
5460 },
5461 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005462 "name" : "tbl_filtering127",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005463 "id" : 3,
5464 "source_info" : {
5465 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005466 "line" : 127,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005467 "column" : 37,
5468 "source_fragment" : "="
5469 },
5470 "key" : [],
5471 "match_type" : "exact",
5472 "type" : "simple",
5473 "max_size" : 1024,
5474 "with_counters" : false,
5475 "support_timeout" : false,
5476 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005477 "action_ids" : [38],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005478 "actions" : ["filtering127"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005479 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
5480 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005481 "filtering127" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005482 },
5483 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005484 "action_id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005485 "action_const" : true,
5486 "action_data" : [],
5487 "action_entry_const" : true
5488 }
5489 },
5490 {
5491 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro5a2de712019-09-24 14:34:07 -07005492 "id" : 4,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005493 "source_info" : {
5494 "filename" : "include/control/filtering.p4",
5495 "line" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005496 "column" : 10,
5497 "source_fragment" : "ingress_port_vlan"
5498 },
5499 "key" : [
5500 {
5501 "match_type" : "exact",
5502 "name" : "ig_port",
5503 "target" : ["standard_metadata", "ingress_port"],
5504 "mask" : null
5505 },
5506 {
5507 "match_type" : "exact",
5508 "name" : "vlan_is_valid",
5509 "target" : ["vlan_tag", "$valid$"],
5510 "mask" : null
5511 },
5512 {
5513 "match_type" : "ternary",
5514 "name" : "vlan_id",
5515 "target" : ["vlan_tag", "vlan_id"],
5516 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07005517 },
5518 {
5519 "match_type" : "ternary",
5520 "name" : "inner_vlan_id",
5521 "target" : ["inner_vlan_tag", "vlan_id"],
5522 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005523 }
5524 ],
5525 "match_type" : "ternary",
5526 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07005527 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005528 "with_counters" : true,
5529 "support_timeout" : false,
5530 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005531 "action_ids" : [16, 17, 18],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005532 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
5533 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
5534 "next_tables" : {
5535 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
5536 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
5537 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
5538 },
5539 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005540 "action_id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005541 "action_const" : true,
5542 "action_data" : [],
5543 "action_entry_const" : true
5544 }
5545 },
5546 {
5547 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro5a2de712019-09-24 14:34:07 -07005548 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005549 "source_info" : {
5550 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005551 "line" : 92,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005552 "column" : 10,
5553 "source_fragment" : "fwd_classifier"
5554 },
5555 "key" : [
5556 {
5557 "match_type" : "exact",
5558 "name" : "ig_port",
5559 "target" : ["standard_metadata", "ingress_port"],
5560 "mask" : null
5561 },
5562 {
5563 "match_type" : "ternary",
5564 "name" : "eth_dst",
5565 "target" : ["ethernet", "dst_addr"],
5566 "mask" : null
5567 },
5568 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005569 "match_type" : "ternary",
5570 "name" : "eth_type",
5571 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07005572 "mask" : null
5573 },
5574 {
5575 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07005576 "name" : "ip_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005577 "target" : ["scalars", "userMetadata._ip_eth_type0"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005578 "mask" : null
5579 }
5580 ],
5581 "match_type" : "ternary",
5582 "type" : "simple",
5583 "max_size" : 1024,
5584 "with_counters" : true,
5585 "support_timeout" : false,
5586 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005587 "action_ids" : [19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005588 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro5a2de712019-09-24 14:34:07 -07005589 "base_default_next" : "node_12",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005590 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005591 "FabricIngress.filtering.set_forwarding_type" : "node_12"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005592 },
5593 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005594 "action_id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005595 "action_const" : true,
5596 "action_data" : ["0x0"],
5597 "action_entry_const" : true
5598 }
5599 },
5600 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005601 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07005602 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005603 "source_info" : {
5604 "filename" : "include/control/forwarding.p4",
5605 "line" : 46,
5606 "column" : 10,
5607 "source_fragment" : "bridging"
5608 },
5609 "key" : [
5610 {
5611 "match_type" : "exact",
5612 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005613 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005614 "mask" : null
5615 },
5616 {
5617 "match_type" : "ternary",
5618 "name" : "eth_dst",
5619 "target" : ["ethernet", "dst_addr"],
5620 "mask" : null
5621 }
5622 ],
5623 "match_type" : "ternary",
5624 "type" : "simple",
5625 "max_size" : 1024,
5626 "with_counters" : true,
5627 "support_timeout" : false,
5628 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005629 "action_ids" : [20, 2],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005630 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005631 "base_default_next" : "tbl_acl27",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005632 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08005633 "FabricIngress.forwarding.set_next_id_bridging" : "tbl_acl27",
5634 "nop" : "tbl_acl27"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005635 },
5636 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005637 "action_id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005638 "action_const" : true,
5639 "action_data" : [],
5640 "action_entry_const" : true
5641 }
5642 },
5643 {
5644 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07005645 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005646 "source_info" : {
5647 "filename" : "include/control/forwarding.p4",
5648 "line" : 71,
5649 "column" : 10,
5650 "source_fragment" : "mpls"
5651 },
5652 "key" : [
5653 {
5654 "match_type" : "exact",
5655 "name" : "mpls_label",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005656 "target" : ["scalars", "userMetadata._mpls_label8"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005657 "mask" : null
5658 }
5659 ],
5660 "match_type" : "exact",
5661 "type" : "simple",
5662 "max_size" : 1024,
5663 "with_counters" : true,
5664 "support_timeout" : false,
5665 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005666 "action_ids" : [21, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005667 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005668 "base_default_next" : "tbl_acl27",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005669 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08005670 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_acl27",
5671 "nop" : "tbl_acl27"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005672 },
5673 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005674 "action_id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005675 "action_const" : true,
5676 "action_data" : [],
5677 "action_entry_const" : true
5678 }
5679 },
5680 {
5681 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005682 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005683 "source_info" : {
5684 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07005685 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005686 "column" : 10,
5687 "source_fragment" : "routing_v4"
5688 },
5689 "key" : [
5690 {
5691 "match_type" : "lpm",
5692 "name" : "ipv4_dst",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005693 "target" : ["scalars", "userMetadata._ipv4_dst_addr20"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005694 "mask" : null
5695 }
5696 ],
5697 "match_type" : "lpm",
5698 "type" : "simple",
5699 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07005700 "with_counters" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005701 "support_timeout" : false,
5702 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07005703 "action_ids" : [22, 23, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005704 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08005705 "base_default_next" : "tbl_acl27",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005706 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08005707 "FabricIngress.forwarding.set_next_id_routing_v4" : "tbl_acl27",
5708 "FabricIngress.forwarding.nop_routing_v4" : "tbl_acl27",
5709 "nop" : "tbl_acl27"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005710 },
5711 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005712 "action_id" : 4,
CyberHasHe9ba39c2019-10-11 05:59:12 +08005713 "action_const" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005714 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08005715 "action_entry_const" : false
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005716 }
5717 },
5718 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08005719 "name" : "tbl_acl27",
Daniele Moro5a2de712019-09-24 14:34:07 -07005720 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005721 "source_info" : {
5722 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005723 "line" : 27,
5724 "column" : 4,
5725 "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
5726 },
5727 "key" : [],
5728 "match_type" : "exact",
5729 "type" : "simple",
5730 "max_size" : 1024,
5731 "with_counters" : false,
5732 "support_timeout" : false,
5733 "direct_meters" : null,
5734 "action_ids" : [45],
5735 "actions" : ["acl27"],
5736 "base_default_next" : "node_20",
5737 "next_tables" : {
5738 "acl27" : "node_20"
5739 },
5740 "default_entry" : {
5741 "action_id" : 45,
5742 "action_const" : true,
5743 "action_data" : [],
5744 "action_entry_const" : true
5745 }
5746 },
5747 {
5748 "name" : "tbl_acl97",
5749 "id" : 10,
5750 "source_info" : {
5751 "filename" : "include/control/acl.p4",
5752 "line" : 97,
5753 "column" : 21,
5754 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
5755 },
5756 "key" : [],
5757 "match_type" : "exact",
5758 "type" : "simple",
5759 "max_size" : 1024,
5760 "with_counters" : false,
5761 "support_timeout" : false,
5762 "direct_meters" : null,
5763 "action_ids" : [41],
5764 "actions" : ["acl97"],
5765 "base_default_next" : "node_22",
5766 "next_tables" : {
5767 "acl97" : "node_22"
5768 },
5769 "default_entry" : {
5770 "action_id" : 41,
5771 "action_const" : true,
5772 "action_data" : [],
5773 "action_entry_const" : true
5774 }
5775 },
5776 {
5777 "name" : "tbl_acl101",
5778 "id" : 11,
5779 "source_info" : {
5780 "filename" : "include/control/acl.p4",
5781 "line" : 101,
5782 "column" : 25,
5783 "source_fragment" : "= hdr.inner_tcp.sport; ..."
5784 },
5785 "key" : [],
5786 "match_type" : "exact",
5787 "type" : "simple",
5788 "max_size" : 1024,
5789 "with_counters" : false,
5790 "support_timeout" : false,
5791 "direct_meters" : null,
5792 "action_ids" : [39],
5793 "actions" : ["acl101"],
5794 "base_default_next" : "FabricIngress.acl.acl",
5795 "next_tables" : {
5796 "acl101" : "FabricIngress.acl.acl"
5797 },
5798 "default_entry" : {
5799 "action_id" : 39,
5800 "action_const" : true,
5801 "action_data" : [],
5802 "action_entry_const" : true
5803 }
5804 },
5805 {
5806 "name" : "tbl_acl104",
5807 "id" : 12,
5808 "source_info" : {
5809 "filename" : "include/control/acl.p4",
5810 "line" : 104,
5811 "column" : 25,
5812 "source_fragment" : "= hdr.inner_udp.sport; ..."
5813 },
5814 "key" : [],
5815 "match_type" : "exact",
5816 "type" : "simple",
5817 "max_size" : 1024,
5818 "with_counters" : false,
5819 "support_timeout" : false,
5820 "direct_meters" : null,
5821 "action_ids" : [40],
5822 "actions" : ["acl104"],
5823 "base_default_next" : "FabricIngress.acl.acl",
5824 "next_tables" : {
5825 "acl104" : "FabricIngress.acl.acl"
5826 },
5827 "default_entry" : {
5828 "action_id" : 40,
5829 "action_const" : true,
5830 "action_data" : [],
5831 "action_entry_const" : true
5832 }
5833 },
5834 {
5835 "name" : "tbl_acl108",
5836 "id" : 13,
5837 "source_info" : {
5838 "filename" : "include/control/acl.p4",
5839 "line" : 108,
5840 "column" : 21,
5841 "source_fragment" : "= hdr.ipv4.src_addr; ..."
5842 },
5843 "key" : [],
5844 "match_type" : "exact",
5845 "type" : "simple",
5846 "max_size" : 1024,
5847 "with_counters" : false,
5848 "support_timeout" : false,
5849 "direct_meters" : null,
5850 "action_ids" : [44],
5851 "actions" : ["acl108"],
5852 "base_default_next" : "node_28",
5853 "next_tables" : {
5854 "acl108" : "node_28"
5855 },
5856 "default_entry" : {
5857 "action_id" : 44,
5858 "action_const" : true,
5859 "action_data" : [],
5860 "action_entry_const" : true
5861 }
5862 },
5863 {
5864 "name" : "tbl_acl112",
5865 "id" : 14,
5866 "source_info" : {
5867 "filename" : "include/control/acl.p4",
5868 "line" : 112,
5869 "column" : 25,
5870 "source_fragment" : "= hdr.tcp.sport; ..."
5871 },
5872 "key" : [],
5873 "match_type" : "exact",
5874 "type" : "simple",
5875 "max_size" : 1024,
5876 "with_counters" : false,
5877 "support_timeout" : false,
5878 "direct_meters" : null,
5879 "action_ids" : [42],
5880 "actions" : ["acl112"],
5881 "base_default_next" : "FabricIngress.acl.acl",
5882 "next_tables" : {
5883 "acl112" : "FabricIngress.acl.acl"
5884 },
5885 "default_entry" : {
5886 "action_id" : 42,
5887 "action_const" : true,
5888 "action_data" : [],
5889 "action_entry_const" : true
5890 }
5891 },
5892 {
5893 "name" : "tbl_acl115",
5894 "id" : 15,
5895 "source_info" : {
5896 "filename" : "include/control/acl.p4",
5897 "line" : 115,
5898 "column" : 25,
5899 "source_fragment" : "= hdr.udp.sport; ..."
5900 },
5901 "key" : [],
5902 "match_type" : "exact",
5903 "type" : "simple",
5904 "max_size" : 1024,
5905 "with_counters" : false,
5906 "support_timeout" : false,
5907 "direct_meters" : null,
5908 "action_ids" : [43],
5909 "actions" : ["acl115"],
5910 "base_default_next" : "FabricIngress.acl.acl",
5911 "next_tables" : {
5912 "acl115" : "FabricIngress.acl.acl"
5913 },
5914 "default_entry" : {
5915 "action_id" : 43,
5916 "action_const" : true,
5917 "action_data" : [],
5918 "action_entry_const" : true
5919 }
5920 },
5921 {
5922 "name" : "FabricIngress.acl.acl",
5923 "id" : 16,
5924 "source_info" : {
5925 "filename" : "include/control/acl.p4",
5926 "line" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005927 "column" : 10,
5928 "source_fragment" : "acl"
5929 },
5930 "key" : [
5931 {
5932 "match_type" : "ternary",
5933 "name" : "ig_port",
5934 "target" : ["standard_metadata", "ingress_port"],
5935 "mask" : null
5936 },
5937 {
5938 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005939 "name" : "eth_dst",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005940 "target" : ["ethernet", "dst_addr"],
5941 "mask" : null
5942 },
5943 {
5944 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005945 "name" : "eth_src",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005946 "target" : ["ethernet", "src_addr"],
5947 "mask" : null
5948 },
5949 {
5950 "match_type" : "ternary",
5951 "name" : "vlan_id",
5952 "target" : ["vlan_tag", "vlan_id"],
5953 "mask" : null
5954 },
5955 {
5956 "match_type" : "ternary",
5957 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07005958 "target" : ["eth_type", "value"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005959 "mask" : null
5960 },
5961 {
5962 "match_type" : "ternary",
5963 "name" : "ipv4_src",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005964 "target" : ["scalars", "acl_ipv4_src"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005965 "mask" : null
5966 },
5967 {
5968 "match_type" : "ternary",
5969 "name" : "ipv4_dst",
Wailok Shum4f51bde2021-06-11 22:48:41 +08005970 "target" : ["scalars", "acl_ipv4_dst"],
5971 "mask" : null
5972 },
5973 {
5974 "match_type" : "ternary",
5975 "name" : "ip_proto",
5976 "target" : ["scalars", "acl_ip_proto"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005977 "mask" : null
5978 },
5979 {
5980 "match_type" : "ternary",
5981 "name" : "icmp_type",
5982 "target" : ["icmp", "icmp_type"],
5983 "mask" : null
5984 },
5985 {
5986 "match_type" : "ternary",
5987 "name" : "icmp_code",
5988 "target" : ["icmp", "icmp_code"],
5989 "mask" : null
Wailok Shum4f51bde2021-06-11 22:48:41 +08005990 },
5991 {
5992 "match_type" : "ternary",
5993 "name" : "l4_sport",
5994 "target" : ["scalars", "acl_l4_sport"],
5995 "mask" : null
5996 },
5997 {
5998 "match_type" : "ternary",
5999 "name" : "l4_dport",
6000 "target" : ["scalars", "acl_l4_dport"],
6001 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006002 }
6003 ],
6004 "match_type" : "ternary",
6005 "type" : "simple",
6006 "max_size" : 1024,
6007 "with_counters" : true,
6008 "support_timeout" : false,
6009 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006010 "action_ids" : [24, 25, 26, 27, 28],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006011 "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 Shum4f51bde2021-06-11 22:48:41 +08006012 "base_default_next" : "node_33",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006013 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006014 "FabricIngress.acl.set_next_id_acl" : "node_33",
6015 "FabricIngress.acl.punt_to_cpu" : "node_33",
6016 "FabricIngress.acl.set_clone_session_id" : "node_33",
6017 "FabricIngress.acl.drop" : "node_33",
6018 "FabricIngress.acl.nop_acl" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006019 },
6020 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006021 "action_id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006022 "action_const" : true,
6023 "action_data" : [],
6024 "action_entry_const" : true
6025 }
6026 },
6027 {
6028 "name" : "FabricIngress.next.hashed",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006029 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006030 "source_info" : {
6031 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006032 "line" : 202,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006033 "column" : 10,
6034 "source_fragment" : "hashed"
6035 },
6036 "key" : [
6037 {
6038 "match_type" : "exact",
6039 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006040 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006041 "mask" : null
6042 }
6043 ],
6044 "match_type" : "exact",
6045 "type" : "indirect_ws",
6046 "action_profile" : "FabricIngress.next.hashed_selector",
6047 "max_size" : 1024,
6048 "with_counters" : true,
6049 "support_timeout" : false,
6050 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006051 "action_ids" : [31, 32, 33, 6],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006052 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
6053 "base_default_next" : "FabricIngress.next.multicast",
6054 "next_tables" : {
6055 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
6056 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
6057 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
6058 "nop" : "FabricIngress.next.multicast"
6059 }
6060 },
6061 {
6062 "name" : "FabricIngress.next.multicast",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006063 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006064 "source_info" : {
6065 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006066 "line" : 236,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006067 "column" : 10,
6068 "source_fragment" : "multicast"
6069 },
6070 "key" : [
6071 {
6072 "match_type" : "exact",
6073 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006074 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006075 "mask" : null
6076 }
6077 ],
6078 "match_type" : "exact",
6079 "type" : "simple",
6080 "max_size" : 1024,
6081 "with_counters" : true,
6082 "support_timeout" : false,
6083 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006084 "action_ids" : [34, 7],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006085 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
6086 "base_default_next" : "FabricIngress.next.next_vlan",
6087 "next_tables" : {
6088 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
6089 "nop" : "FabricIngress.next.next_vlan"
6090 },
6091 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006092 "action_id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006093 "action_const" : true,
6094 "action_data" : [],
6095 "action_entry_const" : true
6096 }
6097 },
6098 {
6099 "name" : "FabricIngress.next.next_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006100 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006101 "source_info" : {
6102 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006103 "line" : 86,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006104 "column" : 10,
6105 "source_fragment" : "next_vlan"
6106 },
6107 "key" : [
6108 {
6109 "match_type" : "exact",
6110 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006111 "target" : ["scalars", "userMetadata._next_id13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006112 "mask" : null
6113 }
6114 ],
6115 "match_type" : "exact",
6116 "type" : "simple",
6117 "max_size" : 1024,
6118 "with_counters" : true,
6119 "support_timeout" : false,
6120 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006121 "action_ids" : [29, 30, 5],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006122 "actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08006123 "base_default_next" : "node_37",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006124 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006125 "FabricIngress.next.set_vlan" : "node_37",
6126 "FabricIngress.next.set_double_vlan" : "node_37",
6127 "nop" : "node_37"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006128 },
6129 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006130 "action_id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006131 "action_const" : true,
6132 "action_data" : [],
6133 "action_entry_const" : true
6134 }
6135 },
6136 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006137 "name" : "tbl_port_counter31",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006138 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006139 "source_info" : {
6140 "filename" : "include/control/port_counter.p4",
6141 "line" : 31,
6142 "column" : 12,
6143 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
6144 },
6145 "key" : [],
6146 "match_type" : "exact",
6147 "type" : "simple",
6148 "max_size" : 1024,
6149 "with_counters" : false,
6150 "support_timeout" : false,
6151 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006152 "action_ids" : [46],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006153 "actions" : ["port_counter31"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08006154 "base_default_next" : "node_39",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006155 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006156 "port_counter31" : "node_39"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006157 },
6158 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006159 "action_id" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006160 "action_const" : true,
6161 "action_data" : [],
6162 "action_entry_const" : true
6163 }
6164 },
6165 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006166 "name" : "tbl_port_counter34",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006167 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006168 "source_info" : {
6169 "filename" : "include/control/port_counter.p4",
6170 "line" : 34,
6171 "column" : 12,
6172 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
6173 },
6174 "key" : [],
6175 "match_type" : "exact",
6176 "type" : "simple",
6177 "max_size" : 1024,
6178 "with_counters" : false,
6179 "support_timeout" : false,
6180 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006181 "action_ids" : [47],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006182 "actions" : ["port_counter34"],
Daniele Morob3d199b2019-11-01 14:01:46 -07006183 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006184 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006185 "port_counter34" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006186 },
6187 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006188 "action_id" : 47,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006189 "action_const" : true,
6190 "action_data" : [],
6191 "action_entry_const" : true
6192 }
6193 },
6194 {
Daniele Morob3d199b2019-11-01 14:01:46 -07006195 "name" : "FabricIngress.bng_ingress.t_line_map",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006196 "id" : 22,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006197 "source_info" : {
6198 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006199 "line" : 323,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006200 "column" : 14,
6201 "source_fragment" : "t_line_map"
6202 },
6203 "key" : [
6204 {
6205 "match_type" : "exact",
6206 "name" : "s_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006207 "target" : ["scalars", "userMetadata._bng_s_tag25"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006208 "mask" : null
6209 },
6210 {
6211 "match_type" : "exact",
6212 "name" : "c_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006213 "target" : ["scalars", "userMetadata._bng_c_tag26"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006214 "mask" : null
6215 }
6216 ],
6217 "match_type" : "exact",
6218 "type" : "simple",
6219 "max_size" : 8192,
6220 "with_counters" : false,
6221 "support_timeout" : false,
6222 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006223 "action_ids" : [15],
6224 "actions" : ["FabricIngress.bng_ingress.set_line"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08006225 "base_default_next" : "node_42",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006226 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006227 "FabricIngress.bng_ingress.set_line" : "node_42"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006228 },
6229 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006230 "action_id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006231 "action_const" : true,
Daniele Moro5a2de712019-09-24 14:34:07 -07006232 "action_data" : ["0x0"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006233 "action_entry_const" : true
6234 }
6235 },
6236 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006237 "name" : "tbl_bng342",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006238 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006239 "source_info" : {
6240 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006241 "line" : 342,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006242 "column" : 31,
6243 "source_fragment" : "="
6244 },
6245 "key" : [],
6246 "match_type" : "exact",
6247 "type" : "simple",
6248 "max_size" : 1024,
6249 "with_counters" : false,
6250 "support_timeout" : false,
6251 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006252 "action_ids" : [49],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006253 "actions" : ["bng342"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006254 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
6255 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006256 "bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006257 },
6258 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006259 "action_id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006260 "action_const" : true,
6261 "action_data" : [],
6262 "action_entry_const" : true
6263 }
6264 },
6265 {
6266 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006267 "id" : 24,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006268 "source_info" : {
6269 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006270 "line" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006271 "column" : 10,
6272 "source_fragment" : "t_pppoe_cp"
6273 },
6274 "key" : [
6275 {
6276 "match_type" : "exact",
6277 "name" : "pppoe_code",
6278 "target" : ["pppoe", "code"],
6279 "mask" : null
6280 },
6281 {
6282 "match_type" : "ternary",
6283 "name" : "pppoe_protocol",
6284 "target" : ["pppoe", "protocol"],
6285 "mask" : null
6286 }
6287 ],
6288 "match_type" : "ternary",
6289 "type" : "simple",
6290 "max_size" : 16,
6291 "with_counters" : false,
6292 "support_timeout" : false,
6293 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006294 "action_ids" : [8, 0],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006295 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006296 "base_default_next" : null,
6297 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006298 "__HIT__" : "tbl_bng126",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006299 "__MISS__" : "node_46"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006300 },
6301 "default_entry" : {
6302 "action_id" : 0,
6303 "action_const" : true,
6304 "action_data" : [],
6305 "action_entry_const" : true
6306 }
6307 },
6308 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006309 "name" : "tbl_bng126",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006310 "id" : 25,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006311 "source_info" : {
6312 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006313 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006314 "column" : 12,
6315 "source_fragment" : "return"
6316 },
6317 "key" : [],
6318 "match_type" : "exact",
6319 "type" : "simple",
6320 "max_size" : 1024,
6321 "with_counters" : false,
6322 "support_timeout" : false,
6323 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006324 "action_ids" : [48],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006325 "actions" : ["bng126"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08006326 "base_default_next" : "node_46",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006327 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006328 "bng126" : "node_46"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006329 },
6330 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006331 "action_id" : 48,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006332 "action_const" : true,
6333 "action_data" : [],
6334 "action_entry_const" : true
6335 }
6336 },
6337 {
6338 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006339 "id" : 26,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006340 "source_info" : {
6341 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006342 "line" : 87,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006343 "column" : 10,
6344 "source_fragment" : "t_pppoe_term_v4"
6345 },
6346 "key" : [
6347 {
6348 "match_type" : "exact",
6349 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006350 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006351 "mask" : null
6352 },
6353 {
6354 "match_type" : "exact",
6355 "name" : "ipv4_src",
6356 "target" : ["ipv4", "src_addr"],
6357 "mask" : null
6358 },
6359 {
6360 "match_type" : "exact",
6361 "name" : "pppoe_session_id",
6362 "target" : ["pppoe", "session_id"],
6363 "mask" : null
6364 }
6365 ],
6366 "match_type" : "exact",
6367 "type" : "simple",
6368 "max_size" : 32768,
6369 "with_counters" : false,
6370 "support_timeout" : false,
6371 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006372 "action_ids" : [10, 9],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006373 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
6374 "base_default_next" : null,
6375 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006376 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_bng131",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006377 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
6378 },
6379 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006380 "action_id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006381 "action_const" : true,
6382 "action_data" : [],
6383 "action_entry_const" : true
6384 }
6385 },
6386 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006387 "name" : "tbl_bng131",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006388 "id" : 27,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006389 "source_info" : {
6390 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006391 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006392 "column" : 20,
6393 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
6394 },
6395 "key" : [],
6396 "match_type" : "exact",
6397 "type" : "simple",
6398 "max_size" : 1024,
6399 "with_counters" : false,
6400 "support_timeout" : false,
6401 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006402 "action_ids" : [50],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006403 "actions" : ["bng131"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006404 "base_default_next" : null,
6405 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006406 "bng131" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006407 },
6408 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006409 "action_id" : 50,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006410 "action_const" : true,
6411 "action_data" : [],
6412 "action_entry_const" : true
6413 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07006414 },
6415 {
6416 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006417 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006418 "source_info" : {
6419 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006420 "line" : 169,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006421 "column" : 10,
6422 "source_fragment" : "t_line_session_map"
6423 },
6424 "key" : [
6425 {
6426 "match_type" : "exact",
6427 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006428 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006429 "mask" : null
6430 }
6431 ],
6432 "match_type" : "exact",
6433 "type" : "simple",
6434 "max_size" : 8192,
6435 "with_counters" : false,
6436 "support_timeout" : false,
6437 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006438 "action_ids" : [1, 11, 12],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006439 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
6440 "base_default_next" : null,
6441 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006442 "__MISS__" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006443 "__HIT__" : "node_51"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006444 },
6445 "default_entry" : {
6446 "action_id" : 1,
6447 "action_const" : true,
6448 "action_data" : [],
6449 "action_entry_const" : true
6450 }
6451 },
6452 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006453 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006454 "id" : 29,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006455 "source_info" : {
6456 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006457 "line" : 194,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006458 "column" : 10,
6459 "source_fragment" : "t_qos_v4"
6460 },
6461 "key" : [
6462 {
6463 "match_type" : "ternary",
6464 "name" : "line_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006465 "target" : ["scalars", "userMetadata._bng_line_id22"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006466 "mask" : null
6467 },
6468 {
6469 "match_type" : "lpm",
6470 "name" : "ipv4_src",
6471 "target" : ["ipv4", "src_addr"],
6472 "mask" : null
6473 },
6474 {
6475 "match_type" : "ternary",
6476 "name" : "ipv4_dscp",
6477 "target" : ["ipv4", "dscp"],
6478 "mask" : null
6479 },
6480 {
6481 "match_type" : "ternary",
6482 "name" : "ipv4_ecn",
6483 "target" : ["ipv4", "ecn"],
6484 "mask" : null
6485 }
6486 ],
6487 "match_type" : "ternary",
6488 "type" : "simple",
6489 "max_size" : 256,
6490 "with_counters" : false,
6491 "support_timeout" : false,
6492 "direct_meters" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -07006493 "action_ids" : [13, 14],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006494 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
6495 "base_default_next" : null,
6496 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006497 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_bng238",
6498 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng241"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006499 },
6500 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006501 "action_id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006502 "action_const" : true,
6503 "action_data" : [],
6504 "action_entry_const" : true
6505 }
6506 },
6507 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006508 "name" : "tbl_bng238",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006509 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006510 "source_info" : {
6511 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006512 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006513 "column" : 24,
6514 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
6515 },
6516 "key" : [],
6517 "match_type" : "exact",
6518 "type" : "simple",
6519 "max_size" : 1024,
6520 "with_counters" : false,
6521 "support_timeout" : false,
6522 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006523 "action_ids" : [51],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006524 "actions" : ["bng238"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006525 "base_default_next" : null,
6526 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006527 "bng238" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07006528 },
6529 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006530 "action_id" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006531 "action_const" : true,
6532 "action_data" : [],
6533 "action_entry_const" : true
6534 }
6535 },
6536 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006537 "name" : "tbl_bng241",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006538 "id" : 31,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006539 "source_info" : {
6540 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006541 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006542 "column" : 24,
6543 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
6544 },
6545 "key" : [],
6546 "match_type" : "exact",
6547 "type" : "simple",
6548 "max_size" : 1024,
6549 "with_counters" : false,
6550 "support_timeout" : false,
6551 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08006552 "action_ids" : [52],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006553 "actions" : ["bng241"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006554 "base_default_next" : null,
6555 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006556 "bng241" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07006557 },
6558 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006559 "action_id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006560 "action_const" : true,
6561 "action_data" : [],
6562 "action_entry_const" : true
6563 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006564 }
6565 ],
6566 "action_profiles" : [
6567 {
6568 "name" : "FabricIngress.next.hashed_selector",
6569 "id" : 0,
6570 "source_info" : {
6571 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006572 "line" : 183,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006573 "column" : 57,
6574 "source_fragment" : "hashed_selector"
6575 },
6576 "max_size" : 1024,
6577 "selector" : {
6578 "algo" : "crc16",
6579 "input" : [
6580 {
6581 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006582 "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006583 },
6584 {
6585 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006586 "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006587 },
6588 {
6589 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006590 "value" : ["scalars", "userMetadata._ip_proto16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006591 },
6592 {
6593 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006594 "value" : ["scalars", "userMetadata._l4_sport17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006595 },
6596 {
6597 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006598 "value" : ["scalars", "userMetadata._l4_dport18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006599 }
6600 ]
6601 }
6602 }
6603 ],
6604 "conditionals" : [
6605 {
6606 "name" : "node_2",
6607 "id" : 0,
6608 "source_info" : {
6609 "filename" : "include/control/packetio.p4",
6610 "line" : 24,
6611 "column" : 12,
6612 "source_fragment" : "hdr.packet_out.isValid()"
6613 },
6614 "expression" : {
6615 "type" : "expression",
6616 "value" : {
6617 "op" : "d2b",
6618 "left" : null,
6619 "right" : {
6620 "type" : "field",
6621 "value" : ["packet_out", "$valid$"]
6622 }
6623 }
6624 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006625 "true_next" : "tbl_packetio25",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006626 "false_next" : "node_4"
6627 },
6628 {
6629 "name" : "node_4",
6630 "id" : 1,
6631 "source_info" : {
6632 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006633 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006634 "column" : 12,
6635 "source_fragment" : "hdr.vlan_tag.isValid()"
6636 },
6637 "expression" : {
6638 "type" : "expression",
6639 "value" : {
6640 "op" : "d2b",
6641 "left" : null,
6642 "right" : {
6643 "type" : "field",
6644 "value" : ["vlan_tag", "$valid$"]
6645 }
6646 }
6647 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006648 "true_next" : "tbl_filtering111",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006649 "false_next" : "node_6"
6650 },
6651 {
6652 "name" : "node_6",
6653 "id" : 2,
6654 "source_info" : {
6655 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006656 "line" : 116,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006657 "column" : 12,
6658 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
6659 },
6660 "expression" : {
6661 "type" : "expression",
6662 "value" : {
6663 "op" : "d2b",
6664 "left" : null,
6665 "right" : {
6666 "type" : "field",
6667 "value" : ["inner_vlan_tag", "$valid$"]
6668 }
6669 }
6670 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006671 "true_next" : "tbl_filtering117",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006672 "false_next" : "node_8"
6673 },
6674 {
6675 "name" : "node_8",
6676 "id" : 3,
6677 "source_info" : {
6678 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006679 "line" : 122,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006680 "column" : 12,
6681 "source_fragment" : "!hdr.mpls.isValid()"
6682 },
6683 "expression" : {
6684 "type" : "expression",
6685 "value" : {
6686 "op" : "not",
6687 "left" : null,
6688 "right" : {
6689 "type" : "expression",
6690 "value" : {
6691 "op" : "d2b",
6692 "left" : null,
6693 "right" : {
6694 "type" : "field",
6695 "value" : ["mpls", "$valid$"]
6696 }
6697 }
6698 }
6699 }
6700 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006701 "true_next" : "tbl_filtering127",
Daniele Moro5a2de712019-09-24 14:34:07 -07006702 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006703 },
6704 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006705 "name" : "node_12",
Daniele Moro5a2de712019-09-24 14:34:07 -07006706 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006707 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006708 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07006709 "line" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006710 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006711 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006712 },
6713 "expression" : {
6714 "type" : "expression",
6715 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006716 "op" : "not",
6717 "left" : null,
6718 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006719 "type" : "expression",
6720 "value" : {
6721 "op" : "d2b",
6722 "left" : null,
6723 "right" : {
6724 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006725 "value" : ["scalars", "userMetadata._skip_forwarding10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006726 }
6727 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006728 }
6729 }
6730 },
Daniele Moro5a2de712019-09-24 14:34:07 -07006731 "true_next" : "node_13",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006732 "false_next" : "tbl_acl27"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006733 },
6734 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006735 "name" : "node_13",
6736 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006737 "source_info" : {
6738 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006739 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006740 "column" : 12,
6741 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
6742 },
6743 "expression" : {
6744 "type" : "expression",
6745 "value" : {
6746 "op" : "==",
6747 "left" : {
6748 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006749 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006750 },
6751 "right" : {
6752 "type" : "hexstr",
6753 "value" : "0x00"
6754 }
6755 }
6756 },
6757 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro5a2de712019-09-24 14:34:07 -07006758 "false_next" : "node_15"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006759 },
6760 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006761 "name" : "node_15",
6762 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006763 "source_info" : {
6764 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006765 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006766 "column" : 17,
6767 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
6768 },
6769 "expression" : {
6770 "type" : "expression",
6771 "value" : {
6772 "op" : "==",
6773 "left" : {
6774 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006775 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006776 },
6777 "right" : {
6778 "type" : "hexstr",
6779 "value" : "0x01"
6780 }
6781 }
6782 },
6783 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -07006784 "false_next" : "node_17"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006785 },
6786 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006787 "name" : "node_17",
6788 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006789 "source_info" : {
6790 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006791 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006792 "column" : 17,
6793 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
6794 },
6795 "expression" : {
6796 "type" : "expression",
6797 "value" : {
6798 "op" : "==",
6799 "left" : {
6800 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006801 "value" : ["scalars", "userMetadata._fwd_type12"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006802 },
6803 "right" : {
6804 "type" : "hexstr",
6805 "value" : "0x02"
6806 }
6807 }
6808 },
6809 "true_next" : "FabricIngress.forwarding.routing_v4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006810 "false_next" : "tbl_acl27"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006811 },
6812 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006813 "name" : "node_20",
6814 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006815 "source_info" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006816 "filename" : "include/control/acl.p4",
6817 "line" : 96,
6818 "column" : 12,
6819 "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
6820 },
6821 "expression" : {
6822 "type" : "expression",
6823 "value" : {
6824 "op" : "and",
6825 "left" : {
6826 "type" : "expression",
6827 "value" : {
6828 "op" : "d2b",
6829 "left" : null,
6830 "right" : {
6831 "type" : "field",
6832 "value" : ["gtpu", "$valid$"]
6833 }
6834 }
6835 },
6836 "right" : {
6837 "type" : "expression",
6838 "value" : {
6839 "op" : "d2b",
6840 "left" : null,
6841 "right" : {
6842 "type" : "field",
6843 "value" : ["inner_ipv4", "$valid$"]
6844 }
6845 }
6846 }
6847 }
6848 },
6849 "true_next" : "tbl_acl97",
6850 "false_next" : "node_26"
6851 },
6852 {
6853 "name" : "node_22",
6854 "id" : 9,
6855 "source_info" : {
6856 "filename" : "include/control/acl.p4",
6857 "line" : 100,
6858 "column" : 16,
6859 "source_fragment" : "hdr.inner_tcp.isValid()"
6860 },
6861 "expression" : {
6862 "type" : "expression",
6863 "value" : {
6864 "op" : "d2b",
6865 "left" : null,
6866 "right" : {
6867 "type" : "field",
6868 "value" : ["inner_tcp", "$valid$"]
6869 }
6870 }
6871 },
6872 "true_next" : "tbl_acl101",
6873 "false_next" : "node_24"
6874 },
6875 {
6876 "name" : "node_24",
6877 "id" : 10,
6878 "source_info" : {
6879 "filename" : "include/control/acl.p4",
6880 "line" : 103,
6881 "column" : 23,
6882 "source_fragment" : "hdr.inner_udp.isValid()"
6883 },
6884 "expression" : {
6885 "type" : "expression",
6886 "value" : {
6887 "op" : "d2b",
6888 "left" : null,
6889 "right" : {
6890 "type" : "field",
6891 "value" : ["inner_udp", "$valid$"]
6892 }
6893 }
6894 },
6895 "true_next" : "tbl_acl104",
6896 "false_next" : "FabricIngress.acl.acl"
6897 },
6898 {
6899 "name" : "node_26",
6900 "id" : 11,
6901 "source_info" : {
6902 "filename" : "include/control/acl.p4",
6903 "line" : 107,
6904 "column" : 19,
6905 "source_fragment" : "hdr.ipv4.isValid()"
6906 },
6907 "expression" : {
6908 "type" : "expression",
6909 "value" : {
6910 "op" : "d2b",
6911 "left" : null,
6912 "right" : {
6913 "type" : "field",
6914 "value" : ["ipv4", "$valid$"]
6915 }
6916 }
6917 },
6918 "true_next" : "tbl_acl108",
6919 "false_next" : "FabricIngress.acl.acl"
6920 },
6921 {
6922 "name" : "node_28",
6923 "id" : 12,
6924 "source_info" : {
6925 "filename" : "include/control/acl.p4",
6926 "line" : 111,
6927 "column" : 16,
6928 "source_fragment" : "hdr.tcp.isValid()"
6929 },
6930 "expression" : {
6931 "type" : "expression",
6932 "value" : {
6933 "op" : "d2b",
6934 "left" : null,
6935 "right" : {
6936 "type" : "field",
6937 "value" : ["tcp", "$valid$"]
6938 }
6939 }
6940 },
6941 "true_next" : "tbl_acl112",
6942 "false_next" : "node_30"
6943 },
6944 {
6945 "name" : "node_30",
6946 "id" : 13,
6947 "source_info" : {
6948 "filename" : "include/control/acl.p4",
6949 "line" : 114,
6950 "column" : 23,
6951 "source_fragment" : "hdr.udp.isValid()"
6952 },
6953 "expression" : {
6954 "type" : "expression",
6955 "value" : {
6956 "op" : "d2b",
6957 "left" : null,
6958 "right" : {
6959 "type" : "field",
6960 "value" : ["udp", "$valid$"]
6961 }
6962 }
6963 },
6964 "true_next" : "tbl_acl115",
6965 "false_next" : "FabricIngress.acl.acl"
6966 },
6967 {
6968 "name" : "node_33",
6969 "id" : 14,
6970 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006971 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07006972 "line" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006973 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006974 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006975 },
6976 "expression" : {
6977 "type" : "expression",
6978 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006979 "op" : "not",
6980 "left" : null,
6981 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006982 "type" : "expression",
6983 "value" : {
6984 "op" : "d2b",
6985 "left" : null,
6986 "right" : {
6987 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006988 "value" : ["scalars", "userMetadata._skip_next11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006989 }
6990 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006991 }
6992 }
6993 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07006994 "true_next" : "FabricIngress.next.hashed",
Daniele Morob3d199b2019-11-01 14:01:46 -07006995 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006996 },
6997 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006998 "name" : "node_37",
6999 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007000 "source_info" : {
7001 "filename" : "include/control/port_counter.p4",
7002 "line" : 30,
7003 "column" : 12,
7004 "source_fragment" : "standard_metadata.egress_spec < 511"
7005 },
7006 "expression" : {
7007 "type" : "expression",
7008 "value" : {
7009 "op" : "<",
7010 "left" : {
7011 "type" : "field",
7012 "value" : ["standard_metadata", "egress_spec"]
7013 },
7014 "right" : {
7015 "type" : "hexstr",
7016 "value" : "0x01ff"
7017 }
7018 }
7019 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007020 "true_next" : "tbl_port_counter31",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007021 "false_next" : "node_39"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007022 },
7023 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007024 "name" : "node_39",
7025 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007026 "source_info" : {
7027 "filename" : "include/control/port_counter.p4",
7028 "line" : 33,
7029 "column" : 12,
7030 "source_fragment" : "standard_metadata.ingress_port < 511"
7031 },
7032 "expression" : {
7033 "type" : "expression",
7034 "value" : {
7035 "op" : "<",
7036 "left" : {
7037 "type" : "field",
7038 "value" : ["standard_metadata", "ingress_port"]
7039 },
7040 "right" : {
7041 "type" : "hexstr",
7042 "value" : "0x01ff"
7043 }
7044 }
7045 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007046 "true_next" : "tbl_port_counter34",
Daniele Morob3d199b2019-11-01 14:01:46 -07007047 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007048 },
7049 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007050 "name" : "node_42",
7051 "id" : 17,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007052 "source_info" : {
7053 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007054 "line" : 341,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007055 "column" : 16,
7056 "source_fragment" : "hdr.pppoe.isValid()"
7057 },
7058 "expression" : {
7059 "type" : "expression",
7060 "value" : {
7061 "op" : "d2b",
7062 "left" : null,
7063 "right" : {
7064 "type" : "field",
7065 "value" : ["pppoe", "$valid$"]
7066 }
7067 }
7068 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007069 "true_next" : "tbl_bng342",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007070 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
7071 },
7072 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007073 "name" : "node_46",
7074 "id" : 18,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007075 "expression" : {
7076 "type" : "expression",
7077 "value" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007078 "op" : "not",
7079 "left" : null,
7080 "right" : {
7081 "type" : "expression",
7082 "value" : {
7083 "op" : "d2b",
7084 "left" : null,
7085 "right" : {
7086 "type" : "field",
7087 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
7088 }
7089 }
7090 }
7091 }
7092 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007093 "false_next" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007094 "true_next" : "node_47"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007095 },
7096 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007097 "name" : "node_47",
7098 "id" : 19,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007099 "source_info" : {
7100 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007101 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007102 "column" : 12,
7103 "source_fragment" : "hdr.ipv4.isValid()"
7104 },
7105 "expression" : {
7106 "type" : "expression",
7107 "value" : {
7108 "op" : "d2b",
7109 "left" : null,
7110 "right" : {
7111 "type" : "field",
7112 "value" : ["ipv4", "$valid$"]
7113 }
7114 }
7115 },
7116 "false_next" : null,
7117 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
7118 },
7119 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007120 "name" : "node_51",
7121 "id" : 20,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007122 "source_info" : {
7123 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007124 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007125 "column" : 16,
7126 "source_fragment" : "hdr.ipv4.isValid()"
7127 },
7128 "expression" : {
7129 "type" : "expression",
7130 "value" : {
7131 "op" : "d2b",
7132 "left" : null,
7133 "right" : {
7134 "type" : "field",
7135 "value" : ["ipv4", "$valid$"]
7136 }
7137 }
7138 },
7139 "false_next" : null,
7140 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007141 }
7142 ]
7143 },
7144 {
7145 "name" : "egress",
7146 "id" : 1,
7147 "source_info" : {
7148 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07007149 "line" : 91,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007150 "column" : 8,
7151 "source_fragment" : "FabricEgress"
7152 },
Wailok Shum4f51bde2021-06-11 22:48:41 +08007153 "init_table" : "node_57",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007154 "tables" : [
7155 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007156 "name" : "tbl_packetio41",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007157 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007158 "source_info" : {
7159 "filename" : "include/control/packetio.p4",
7160 "line" : 41,
7161 "column" : 12,
7162 "source_fragment" : "exit"
7163 },
7164 "key" : [],
7165 "match_type" : "exact",
7166 "type" : "simple",
7167 "max_size" : 1024,
7168 "with_counters" : false,
7169 "support_timeout" : false,
7170 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007171 "action_ids" : [61],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007172 "actions" : ["packetio41"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007173 "base_default_next" : "node_59",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007174 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007175 "packetio41" : "node_59"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007176 },
7177 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007178 "action_id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007179 "action_const" : true,
7180 "action_data" : [],
7181 "action_entry_const" : true
7182 }
7183 },
7184 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007185 "name" : "tbl_packetio44",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007186 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007187 "source_info" : {
7188 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007189 "line" : 44,
7190 "column" : 12,
7191 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007192 },
7193 "key" : [],
7194 "match_type" : "exact",
7195 "type" : "simple",
7196 "max_size" : 1024,
7197 "with_counters" : false,
7198 "support_timeout" : false,
7199 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007200 "action_ids" : [62],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007201 "actions" : ["packetio44"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007202 "base_default_next" : "node_61",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007203 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007204 "packetio44" : "node_61"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007205 },
7206 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007207 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007208 "action_const" : true,
7209 "action_data" : [],
7210 "action_entry_const" : true
7211 }
7212 },
7213 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007214 "name" : "tbl_next349",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007215 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007216 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007217 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007218 "line" : 349,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007219 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007220 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007221 },
7222 "key" : [],
7223 "match_type" : "exact",
7224 "type" : "simple",
7225 "max_size" : 1024,
7226 "with_counters" : false,
7227 "support_timeout" : false,
7228 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007229 "action_ids" : [63],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007230 "actions" : ["next349"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007231 "base_default_next" : "node_63",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007232 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007233 "next349" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007234 },
7235 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007236 "action_id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007237 "action_const" : true,
7238 "action_data" : [],
7239 "action_entry_const" : true
7240 }
7241 },
7242 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007243 "name" : "tbl_egress_next_pop_mpls_if_present",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007244 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007245 "source_info" : {
7246 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007247 "line" : 353,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007248 "column" : 36,
7249 "source_fragment" : "pop_mpls_if_present()"
7250 },
7251 "key" : [],
7252 "match_type" : "exact",
7253 "type" : "simple",
7254 "max_size" : 1024,
7255 "with_counters" : false,
7256 "support_timeout" : false,
7257 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007258 "action_ids" : [54],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007259 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007260 "base_default_next" : "node_67",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007261 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007262 "FabricEgress.egress_next.pop_mpls_if_present" : "node_67"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007263 },
7264 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007265 "action_id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007266 "action_const" : true,
7267 "action_data" : [],
7268 "action_entry_const" : true
7269 }
7270 },
7271 {
7272 "name" : "tbl_egress_next_set_mpls",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007273 "id" : 36,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007274 "source_info" : {
7275 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007276 "line" : 355,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007277 "column" : 12,
7278 "source_fragment" : "set_mpls()"
7279 },
7280 "key" : [],
7281 "match_type" : "exact",
7282 "type" : "simple",
7283 "max_size" : 1024,
7284 "with_counters" : false,
7285 "support_timeout" : false,
7286 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007287 "action_ids" : [55],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007288 "actions" : ["FabricEgress.egress_next.set_mpls"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007289 "base_default_next" : "node_67",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007290 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007291 "FabricEgress.egress_next.set_mpls" : "node_67"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007292 },
7293 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007294 "action_id" : 55,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007295 "action_const" : true,
7296 "action_data" : [],
7297 "action_entry_const" : true
7298 }
7299 },
7300 {
pierventre48e78822020-12-15 17:34:54 +01007301 "name" : "tbl_egress_next_push_outer_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007302 "id" : 37,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007303 "source_info" : {
7304 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007305 "line" : 361,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007306 "column" : 12,
pierventre48e78822020-12-15 17:34:54 +01007307 "source_fragment" : "push_outer_vlan()"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007308 },
7309 "key" : [],
7310 "match_type" : "exact",
7311 "type" : "simple",
7312 "max_size" : 1024,
7313 "with_counters" : false,
7314 "support_timeout" : false,
7315 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007316 "action_ids" : [56],
pierventre48e78822020-12-15 17:34:54 +01007317 "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007318 "base_default_next" : "tbl_egress_next_push_inner_vlan",
7319 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01007320 "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007321 },
7322 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007323 "action_id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007324 "action_const" : true,
7325 "action_data" : [],
7326 "action_entry_const" : true
7327 }
7328 },
7329 {
7330 "name" : "tbl_egress_next_push_inner_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007331 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007332 "source_info" : {
7333 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007334 "line" : 362,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007335 "column" : 12,
7336 "source_fragment" : "push_inner_vlan()"
7337 },
7338 "key" : [],
7339 "match_type" : "exact",
7340 "type" : "simple",
7341 "max_size" : 1024,
7342 "with_counters" : false,
7343 "support_timeout" : false,
7344 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007345 "action_ids" : [57],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007346 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007347 "base_default_next" : "node_72",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007348 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007349 "FabricEgress.egress_next.push_inner_vlan" : "node_72"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007350 },
7351 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007352 "action_id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007353 "action_const" : true,
7354 "action_data" : [],
7355 "action_entry_const" : true
7356 }
7357 },
7358 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007359 "name" : "tbl_next365",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007360 "id" : 39,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007361 "source_info" : {
7362 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007363 "line" : 365,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007364 "column" : 12,
7365 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
7366 },
7367 "key" : [],
7368 "match_type" : "exact",
7369 "type" : "simple",
7370 "max_size" : 1024,
7371 "with_counters" : false,
7372 "support_timeout" : false,
7373 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007374 "action_ids" : [64],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007375 "actions" : ["next365"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007376 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
7377 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007378 "next365" : "FabricEgress.egress_next.egress_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007379 },
7380 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007381 "action_id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007382 "action_const" : true,
7383 "action_data" : [],
7384 "action_entry_const" : true
7385 }
7386 },
7387 {
7388 "name" : "FabricEgress.egress_next.egress_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007389 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007390 "source_info" : {
7391 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007392 "line" : 331,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007393 "column" : 10,
7394 "source_fragment" : "egress_vlan"
7395 },
7396 "key" : [
7397 {
7398 "match_type" : "exact",
7399 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007400 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007401 "mask" : null
7402 },
7403 {
7404 "match_type" : "exact",
7405 "name" : "eg_port",
7406 "target" : ["standard_metadata", "egress_port"],
7407 "mask" : null
7408 }
7409 ],
7410 "match_type" : "exact",
7411 "type" : "simple",
7412 "max_size" : 1024,
7413 "with_counters" : true,
7414 "support_timeout" : false,
7415 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007416 "action_ids" : [58, 59, 60],
pierventre48e78822020-12-15 17:34:54 +01007417 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007418 "base_default_next" : "node_72",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007419 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007420 "FabricEgress.egress_next.push_vlan" : "node_72",
7421 "FabricEgress.egress_next.pop_vlan" : "node_72",
7422 "FabricEgress.egress_next.drop" : "node_72"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007423 },
7424 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007425 "action_id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007426 "action_const" : true,
7427 "action_data" : [],
7428 "action_entry_const" : true
7429 }
7430 },
7431 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007432 "name" : "tbl_next375",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007433 "id" : 41,
pierventre48e78822020-12-15 17:34:54 +01007434 "source_info" : {
7435 "filename" : "include/control/next.p4",
7436 "line" : 375,
7437 "column" : 25,
7438 "source_fragment" : "="
7439 },
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007440 "key" : [],
7441 "match_type" : "exact",
7442 "type" : "simple",
7443 "max_size" : 1024,
7444 "with_counters" : false,
7445 "support_timeout" : false,
7446 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007447 "action_ids" : [66],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007448 "actions" : ["next375"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007449 "base_default_next" : "node_74",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007450 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007451 "next375" : "node_74"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007452 },
7453 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007454 "action_id" : 66,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007455 "action_const" : true,
7456 "action_data" : [],
7457 "action_entry_const" : true
7458 }
7459 },
7460 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007461 "name" : "tbl_next376",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007462 "id" : 42,
pierventre48e78822020-12-15 17:34:54 +01007463 "source_info" : {
7464 "filename" : "include/control/next.p4",
7465 "line" : 376,
7466 "column" : 35,
7467 "source_fragment" : "mark_to_drop(standard_metadata)"
7468 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007469 "key" : [],
7470 "match_type" : "exact",
7471 "type" : "simple",
7472 "max_size" : 1024,
7473 "with_counters" : false,
7474 "support_timeout" : false,
7475 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007476 "action_ids" : [65],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007477 "actions" : ["next376"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007478 "base_default_next" : "node_80",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007479 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007480 "next376" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007481 },
7482 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007483 "action_id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007484 "action_const" : true,
7485 "action_data" : [],
7486 "action_entry_const" : true
7487 }
7488 },
7489 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007490 "name" : "tbl_next379",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007491 "id" : 43,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007492 "source_info" : {
7493 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007494 "line" : 379,
7495 "column" : 29,
Daniele Morob3d199b2019-11-01 14:01:46 -07007496 "source_fragment" : "="
7497 },
7498 "key" : [],
7499 "match_type" : "exact",
7500 "type" : "simple",
7501 "max_size" : 1024,
7502 "with_counters" : false,
7503 "support_timeout" : false,
7504 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007505 "action_ids" : [68],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007506 "actions" : ["next379"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007507 "base_default_next" : "node_78",
Daniele Morob3d199b2019-11-01 14:01:46 -07007508 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007509 "next379" : "node_78"
Daniele Morob3d199b2019-11-01 14:01:46 -07007510 },
7511 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007512 "action_id" : 68,
Daniele Morob3d199b2019-11-01 14:01:46 -07007513 "action_const" : true,
7514 "action_data" : [],
7515 "action_entry_const" : true
7516 }
7517 },
7518 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007519 "name" : "tbl_next380",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007520 "id" : 44,
Daniele Morob3d199b2019-11-01 14:01:46 -07007521 "source_info" : {
7522 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007523 "line" : 380,
7524 "column" : 39,
Daniele Morob3d199b2019-11-01 14:01:46 -07007525 "source_fragment" : "mark_to_drop(standard_metadata)"
7526 },
7527 "key" : [],
7528 "match_type" : "exact",
7529 "type" : "simple",
7530 "max_size" : 1024,
7531 "with_counters" : false,
7532 "support_timeout" : false,
7533 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007534 "action_ids" : [67],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007535 "actions" : ["next380"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007536 "base_default_next" : "node_80",
Daniele Morob3d199b2019-11-01 14:01:46 -07007537 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007538 "next380" : "node_80"
Daniele Morob3d199b2019-11-01 14:01:46 -07007539 },
7540 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007541 "action_id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007542 "action_const" : true,
7543 "action_data" : [],
7544 "action_entry_const" : true
7545 }
7546 },
7547 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007548 "name" : "tbl_bng_egress_downstream_encap_v4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007549 "id" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007550 "source_info" : {
7551 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007552 "line" : 297,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007553 "column" : 12,
7554 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007555 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07007556 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007557 "match_type" : "exact",
7558 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007559 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007560 "with_counters" : false,
7561 "support_timeout" : false,
7562 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007563 "action_ids" : [53],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007564 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007565 "base_default_next" : null,
7566 "next_tables" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007567 "FabricEgress.bng_egress.downstream.encap_v4" : null
7568 },
7569 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007570 "action_id" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007571 "action_const" : true,
7572 "action_data" : [],
7573 "action_entry_const" : true
7574 }
7575 }
7576 ],
7577 "action_profiles" : [],
7578 "conditionals" : [
7579 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007580 "name" : "node_57",
7581 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007582 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007583 "filename" : "fabric.p4",
7584 "line" : 103,
7585 "column" : 33,
7586 "source_fragment" : "fabric_metadata"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007587 },
7588 "expression" : {
7589 "type" : "expression",
7590 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007591 "op" : "d2b",
7592 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007593 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007594 "type" : "field",
7595 "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007596 }
7597 }
7598 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007599 "true_next" : "tbl_packetio41",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007600 "false_next" : "node_59"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007601 },
7602 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007603 "name" : "node_59",
7604 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007605 "source_info" : {
7606 "filename" : "include/control/packetio.p4",
7607 "line" : 43,
7608 "column" : 12,
7609 "source_fragment" : "standard_metadata.egress_port == 255"
7610 },
7611 "expression" : {
7612 "type" : "expression",
7613 "value" : {
7614 "op" : "==",
7615 "left" : {
7616 "type" : "field",
7617 "value" : ["standard_metadata", "egress_port"]
7618 },
7619 "right" : {
7620 "type" : "hexstr",
7621 "value" : "0x00ff"
7622 }
7623 }
7624 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007625 "true_next" : "tbl_packetio44",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007626 "false_next" : "node_61"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007627 },
7628 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007629 "name" : "node_61",
7630 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007631 "source_info" : {
7632 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007633 "line" : 347,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007634 "column" : 12,
7635 "source_fragment" : "fabric_metadata.is_multicast == true ..."
7636 },
7637 "expression" : {
7638 "type" : "expression",
7639 "value" : {
7640 "op" : "and",
7641 "left" : {
7642 "type" : "expression",
7643 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007644 "op" : "d2b",
7645 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007646 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007647 "type" : "field",
7648 "value" : ["scalars", "userMetadata._is_multicast14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007649 }
7650 }
7651 },
7652 "right" : {
7653 "type" : "expression",
7654 "value" : {
7655 "op" : "==",
7656 "left" : {
7657 "type" : "field",
7658 "value" : ["standard_metadata", "ingress_port"]
7659 },
7660 "right" : {
7661 "type" : "field",
7662 "value" : ["standard_metadata", "egress_port"]
7663 }
7664 }
7665 }
7666 }
7667 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007668 "true_next" : "tbl_next349",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007669 "false_next" : "node_63"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007670 },
7671 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007672 "name" : "node_63",
7673 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007674 "source_info" : {
7675 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007676 "line" : 352,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007677 "column" : 12,
7678 "source_fragment" : "fabric_metadata.mpls_label == 0"
7679 },
7680 "expression" : {
7681 "type" : "expression",
7682 "value" : {
7683 "op" : "==",
7684 "left" : {
7685 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007686 "value" : ["scalars", "userMetadata._mpls_label8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007687 },
7688 "right" : {
7689 "type" : "hexstr",
7690 "value" : "0x000000"
7691 }
7692 }
7693 },
Wailok Shum4f51bde2021-06-11 22:48:41 +08007694 "true_next" : "node_64",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007695 "false_next" : "tbl_egress_next_set_mpls"
7696 },
7697 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007698 "name" : "node_64",
7699 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007700 "source_info" : {
7701 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007702 "line" : 353,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007703 "column" : 16,
7704 "source_fragment" : "hdr.mpls.isValid()"
7705 },
7706 "expression" : {
7707 "type" : "expression",
7708 "value" : {
7709 "op" : "d2b",
7710 "left" : null,
7711 "right" : {
7712 "type" : "field",
7713 "value" : ["mpls", "$valid$"]
7714 }
7715 }
7716 },
7717 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007718 "false_next" : "node_67"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007719 },
7720 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007721 "name" : "node_67",
7722 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007723 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007724 "filename" : "fabric.p4",
7725 "line" : 104,
7726 "column" : 31,
7727 "source_fragment" : "fabric_metadata"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007728 },
7729 "expression" : {
7730 "type" : "expression",
7731 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007732 "op" : "d2b",
7733 "left" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007734 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007735 "type" : "field",
7736 "value" : ["scalars", "userMetadata._push_double_vlan4"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07007737 }
7738 }
7739 },
pierventre48e78822020-12-15 17:34:54 +01007740 "true_next" : "tbl_egress_next_push_outer_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007741 "false_next" : "tbl_next365"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007742 },
7743 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007744 "name" : "node_72",
7745 "id" : 27,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007746 "source_info" : {
7747 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007748 "line" : 374,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007749 "column" : 12,
7750 "source_fragment" : "hdr.mpls.isValid()"
7751 },
7752 "expression" : {
7753 "type" : "expression",
7754 "value" : {
7755 "op" : "d2b",
7756 "left" : null,
7757 "right" : {
7758 "type" : "field",
7759 "value" : ["mpls", "$valid$"]
7760 }
7761 }
7762 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007763 "true_next" : "tbl_next375",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007764 "false_next" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007765 },
7766 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007767 "name" : "node_74",
7768 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007769 "source_info" : {
7770 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007771 "line" : 376,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007772 "column" : 16,
7773 "source_fragment" : "hdr.mpls.ttl == 0"
7774 },
7775 "expression" : {
7776 "type" : "expression",
7777 "value" : {
7778 "op" : "==",
7779 "left" : {
7780 "type" : "field",
7781 "value" : ["mpls", "ttl"]
7782 },
7783 "right" : {
7784 "type" : "hexstr",
7785 "value" : "0x00"
7786 }
7787 }
7788 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007789 "true_next" : "tbl_next376",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007790 "false_next" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007791 },
7792 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007793 "name" : "node_76",
7794 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007795 "source_info" : {
7796 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007797 "line" : 378,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007798 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07007799 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007800 },
7801 "expression" : {
7802 "type" : "expression",
7803 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07007804 "op" : "and",
7805 "left" : {
7806 "type" : "expression",
7807 "value" : {
7808 "op" : "d2b",
7809 "left" : null,
7810 "right" : {
7811 "type" : "field",
7812 "value" : ["ipv4", "$valid$"]
7813 }
7814 }
7815 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007816 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07007817 "type" : "expression",
7818 "value" : {
7819 "op" : "!=",
7820 "left" : {
7821 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007822 "value" : ["scalars", "userMetadata._fwd_type12"]
Charles Chan74ad51e2020-09-12 19:05:42 -07007823 },
7824 "right" : {
7825 "type" : "hexstr",
7826 "value" : "0x00"
7827 }
7828 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007829 }
7830 }
7831 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007832 "true_next" : "tbl_next379",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007833 "false_next" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007834 },
7835 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007836 "name" : "node_78",
7837 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007838 "source_info" : {
7839 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007840 "line" : 380,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007841 "column" : 20,
7842 "source_fragment" : "hdr.ipv4.ttl == 0"
7843 },
7844 "expression" : {
7845 "type" : "expression",
7846 "value" : {
7847 "op" : "==",
7848 "left" : {
7849 "type" : "field",
7850 "value" : ["ipv4", "ttl"]
7851 },
7852 "right" : {
7853 "type" : "hexstr",
7854 "value" : "0x00"
7855 }
7856 }
7857 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007858 "true_next" : "tbl_next380",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007859 "false_next" : "node_80"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007860 },
7861 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007862 "name" : "node_80",
7863 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007864 "source_info" : {
7865 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007866 "line" : 358,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007867 "column" : 12,
7868 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
7869 },
7870 "expression" : {
7871 "type" : "expression",
7872 "value" : {
7873 "op" : "==",
7874 "left" : {
7875 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007876 "value" : ["scalars", "userMetadata._bng_type21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007877 },
7878 "right" : {
7879 "type" : "hexstr",
7880 "value" : "0x02"
7881 }
7882 }
7883 },
7884 "false_next" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007885 "true_next" : "node_81"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007886 },
7887 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007888 "name" : "node_81",
7889 "id" : 32,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007890 "source_info" : {
7891 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007892 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007893 "column" : 12,
7894 "source_fragment" : "hdr.ipv4.isValid()"
7895 },
7896 "expression" : {
7897 "type" : "expression",
7898 "value" : {
7899 "op" : "d2b",
7900 "left" : null,
7901 "right" : {
7902 "type" : "field",
7903 "value" : ["ipv4", "$valid$"]
7904 }
7905 }
7906 },
7907 "false_next" : null,
7908 "true_next" : "tbl_bng_egress_downstream_encap_v4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007909 }
7910 ]
7911 }
7912 ],
7913 "checksums" : [
7914 {
7915 "name" : "cksum",
7916 "id" : 0,
7917 "source_info" : {
7918 "filename" : "include/checksum.p4",
7919 "line" : 28,
7920 "column" : 8,
7921 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
7922 },
7923 "target" : ["ipv4", "hdr_checksum"],
7924 "type" : "generic",
7925 "calculation" : "calc",
7926 "verify" : false,
7927 "update" : true,
7928 "if_cond" : {
7929 "type" : "expression",
7930 "value" : {
7931 "op" : "d2b",
7932 "left" : null,
7933 "right" : {
7934 "type" : "field",
7935 "value" : ["ipv4", "$valid$"]
7936 }
7937 }
7938 }
7939 },
7940 {
7941 "name" : "cksum_0",
7942 "id" : 1,
7943 "source_info" : {
7944 "filename" : "include/checksum.p4",
7945 "line" : 57,
7946 "column" : 8,
7947 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
7948 },
7949 "target" : ["ipv4", "hdr_checksum"],
7950 "type" : "generic",
7951 "calculation" : "calc_0",
7952 "verify" : true,
7953 "update" : false,
7954 "if_cond" : {
7955 "type" : "expression",
7956 "value" : {
7957 "op" : "d2b",
7958 "left" : null,
7959 "right" : {
7960 "type" : "field",
7961 "value" : ["ipv4", "$valid$"]
7962 }
7963 }
7964 }
7965 }
7966 ],
7967 "force_arith" : [],
7968 "extern_instances" : [],
7969 "field_aliases" : [
7970 [
7971 "queueing_metadata.enq_timestamp",
7972 ["standard_metadata", "enq_timestamp"]
7973 ],
7974 [
7975 "queueing_metadata.enq_qdepth",
7976 ["standard_metadata", "enq_qdepth"]
7977 ],
7978 [
7979 "queueing_metadata.deq_timedelta",
7980 ["standard_metadata", "deq_timedelta"]
7981 ],
7982 [
7983 "queueing_metadata.deq_qdepth",
7984 ["standard_metadata", "deq_qdepth"]
7985 ],
7986 [
7987 "intrinsic_metadata.ingress_global_timestamp",
7988 ["standard_metadata", "ingress_global_timestamp"]
7989 ],
7990 [
7991 "intrinsic_metadata.egress_global_timestamp",
7992 ["standard_metadata", "egress_global_timestamp"]
7993 ],
7994 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007995 "intrinsic_metadata.mcast_grp",
7996 ["standard_metadata", "mcast_grp"]
7997 ],
7998 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007999 "intrinsic_metadata.egress_rid",
8000 ["standard_metadata", "egress_rid"]
8001 ],
8002 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008003 "intrinsic_metadata.priority",
8004 ["standard_metadata", "priority"]
8005 ]
8006 ],
8007 "program" : "fabric.p4",
8008 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008009 "version" : [2, 23],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008010 "compiler" : "https://github.com/p4lang/p4c"
8011 }
8012}