blob: 2d265cb9c2e99360c406dc4cc621cd11b2b9f6ec [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],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020010 ["gtpu_ext_len_0", 8, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020011 ["tmp_1", 16, false],
12 ["tmp_3", 16, false],
13 ["tmp_5", 4, false],
14 ["tmp_6", 16, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070015 ["tmp_7", 64, false],
16 ["tmp_8", 32, false],
17 ["tmp_9", 32, false],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020018 ["tmp_10", 32, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070019 ["bng_ingress_upstream_hasReturned", 1, false],
Daniele Moro08c9e7f2021-07-28 18:53:34 +020020 ["dscp_rewriter_tmp_dscp", 6, false],
21 ["userMetadata._lkp_is_ipv40", 1, false],
22 ["userMetadata._lkp_ipv4_src1", 32, false],
23 ["userMetadata._lkp_ipv4_dst2", 32, false],
24 ["userMetadata._lkp_ip_proto3", 8, false],
25 ["userMetadata._lkp_l4_sport4", 16, false],
26 ["userMetadata._lkp_l4_dport5", 16, false],
27 ["userMetadata._lkp_icmp_type6", 8, false],
28 ["userMetadata._lkp_icmp_code7", 8, false],
29 ["userMetadata._ip_eth_type8", 16, false],
30 ["userMetadata._vlan_id9", 12, false],
31 ["userMetadata._vlan_pri10", 3, false],
32 ["userMetadata._vlan_cfi11", 1, false],
33 ["userMetadata._push_double_vlan12", 1, false],
34 ["userMetadata._inner_vlan_id13", 12, false],
35 ["userMetadata._inner_vlan_pri14", 3, false],
36 ["userMetadata._inner_vlan_cfi15", 1, false],
37 ["userMetadata._mpls_label16", 20, false],
38 ["userMetadata._mpls_ttl17", 8, false],
39 ["userMetadata._skip_forwarding18", 1, false],
40 ["userMetadata._skip_next19", 1, false],
41 ["userMetadata._fwd_type20", 3, false],
42 ["userMetadata._next_id21", 32, false],
43 ["userMetadata._is_multicast22", 1, false],
44 ["userMetadata._is_controller_packet_out23", 1, false],
45 ["userMetadata._ip_proto24", 8, false],
46 ["userMetadata._l4_sport25", 16, false],
47 ["userMetadata._l4_dport26", 16, false],
48 ["userMetadata._ipv4_src_addr27", 32, false],
49 ["userMetadata._ipv4_dst_addr28", 32, false],
50 ["userMetadata._slice_id29", 4, false],
51 ["userMetadata._packet_color30", 2, false],
52 ["userMetadata._tc31", 2, false],
53 ["userMetadata._dscp32", 6, false],
54 ["userMetadata._bng_type33", 2, false],
55 ["userMetadata._bng_line_id34", 32, false],
56 ["userMetadata._bng_pppoe_session_id35", 16, false],
57 ["userMetadata._bng_ds_meter_result36", 32, false],
58 ["userMetadata._bng_s_tag37", 12, false],
59 ["userMetadata._bng_c_tag38", 12, false],
60 ["userMetadata._port_type39", 2, false],
61 ["_padding_0", 2, false]
Carmelo Cascone2388cc12021-05-26 19:30:30 +020062 ]
63 },
64 {
65 "name" : "packet_out_header_t",
66 "id" : 1,
67 "fields" : [
68 ["egress_port", 9, false],
69 ["do_forwarding", 1, false],
70 ["_pad", 6, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070071 ]
72 },
73 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070074 "name" : "gtpu_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020075 "id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070076 "fields" : [
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070077 ["version", 3, false],
78 ["pt", 1, false],
79 ["spare", 1, false],
80 ["ex_flag", 1, false],
81 ["seq_flag", 1, false],
82 ["npdu_flag", 1, false],
83 ["msgtype", 8, false],
84 ["msglen", 16, false],
85 ["teid", 32, false]
86 ]
87 },
88 {
89 "name" : "standard_metadata",
90 "id" : 3,
91 "fields" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070092 ["ingress_port", 9, false],
93 ["egress_spec", 9, false],
94 ["egress_port", 9, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070095 ["instance_type", 32, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070096 ["packet_length", 32, false],
97 ["enq_timestamp", 32, false],
98 ["enq_qdepth", 19, false],
99 ["deq_timedelta", 32, false],
100 ["deq_qdepth", 19, false],
101 ["ingress_global_timestamp", 48, false],
102 ["egress_global_timestamp", 48, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700103 ["mcast_grp", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700104 ["egress_rid", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700105 ["checksum_error", 1, false],
106 ["parser_error", 32, false],
107 ["priority", 3, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200108 ["_padding", 3, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700109 ]
110 },
111 {
112 "name" : "ethernet_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700113 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700114 "fields" : [
115 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700116 ["src_addr", 48, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700117 ]
118 },
119 {
120 "name" : "vlan_tag_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700121 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700122 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -0700123 ["eth_type", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700124 ["pri", 3, false],
125 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700126 ["vlan_id", 12, false]
127 ]
128 },
129 {
130 "name" : "eth_type_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700131 "id" : 6,
Daniele Moro5a2de712019-09-24 14:34:07 -0700132 "fields" : [
133 ["value", 16, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700134 ]
135 },
136 {
137 "name" : "pppoe_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700138 "id" : 7,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700139 "fields" : [
140 ["version", 4, false],
141 ["type_id", 4, false],
142 ["code", 8, false],
143 ["session_id", 16, false],
144 ["length", 16, false],
145 ["protocol", 16, false]
146 ]
147 },
148 {
149 "name" : "mpls_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700150 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700151 "fields" : [
152 ["label", 20, false],
153 ["tc", 3, false],
154 ["bos", 1, false],
155 ["ttl", 8, false]
156 ]
157 },
158 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200159 "name" : "gtpu_options_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700160 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700161 "fields" : [
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200162 ["seq_num", 16, false],
163 ["n_pdu_num", 8, false],
164 ["next_ext", 8, false]
165 ]
166 },
167 {
168 "name" : "gtpu_ext_psc_t",
169 "id" : 10,
170 "fields" : [
171 ["len", 8, false],
172 ["type", 4, false],
173 ["spare0", 4, false],
174 ["ppp", 1, false],
175 ["rqi", 1, false],
176 ["qfi", 6, false],
177 ["next_ext", 8, false]
178 ]
179 },
180 {
181 "name" : "ipv4_t",
182 "id" : 11,
183 "fields" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700184 ["version", 4, false],
185 ["ihl", 4, false],
186 ["dscp", 6, false],
187 ["ecn", 2, false],
188 ["total_len", 16, false],
189 ["identification", 16, false],
190 ["flags", 3, false],
191 ["frag_offset", 13, false],
192 ["ttl", 8, false],
193 ["protocol", 8, false],
194 ["hdr_checksum", 16, false],
195 ["src_addr", 32, false],
196 ["dst_addr", 32, false]
197 ]
198 },
199 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800200 "name" : "udp_t",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200201 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700202 "fields" : [
203 ["sport", 16, false],
204 ["dport", 16, false],
Wailok Shum4f51bde2021-06-11 22:48:41 +0800205 ["len", 16, false],
206 ["checksum", 16, false]
207 ]
208 },
209 {
210 "name" : "tcp_t",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200211 "id" : 13,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800212 "fields" : [
213 ["sport", 16, false],
214 ["dport", 16, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700215 ["seq_no", 32, false],
216 ["ack_no", 32, false],
217 ["data_offset", 4, false],
218 ["res", 3, false],
219 ["ecn", 3, false],
220 ["ctrl", 6, false],
221 ["window", 16, false],
222 ["checksum", 16, false],
223 ["urgent_ptr", 16, false]
224 ]
225 },
226 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700227 "name" : "icmp_t",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200228 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700229 "fields" : [
230 ["icmp_type", 8, false],
231 ["icmp_code", 8, false],
232 ["checksum", 16, false],
233 ["identifier", 16, false],
234 ["sequence_number", 16, false],
235 ["timestamp", 64, false]
236 ]
237 },
238 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700239 "name" : "packet_in_header_t",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200240 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700241 "fields" : [
242 ["ingress_port", 9, false],
243 ["_pad", 7, false]
244 ]
245 }
246 ],
247 "headers" : [
248 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200249 "name" : "tmp",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700250 "id" : 0,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200251 "header_type" : "packet_out_header_t",
252 "metadata" : false,
253 "pi_omit" : true
254 },
255 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700256 "name" : "gtpu_0",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200257 "id" : 1,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700258 "header_type" : "gtpu_t",
259 "metadata" : false,
260 "pi_omit" : true
261 },
262 {
263 "name" : "scalars",
264 "id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700265 "header_type" : "scalars_0",
266 "metadata" : true,
267 "pi_omit" : true
268 },
269 {
270 "name" : "standard_metadata",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700271 "id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700272 "header_type" : "standard_metadata",
273 "metadata" : true,
274 "pi_omit" : true
275 },
276 {
277 "name" : "ethernet",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700278 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700279 "header_type" : "ethernet_t",
280 "metadata" : false,
281 "pi_omit" : true
282 },
283 {
284 "name" : "vlan_tag",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700285 "id" : 5,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200286 "header_type" : "vlan_tag_t",
287 "metadata" : false,
288 "pi_omit" : true
289 },
290 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700291 "name" : "inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200292 "id" : 6,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700293 "header_type" : "vlan_tag_t",
294 "metadata" : false,
295 "pi_omit" : true
296 },
297 {
298 "name" : "eth_type",
299 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700300 "header_type" : "eth_type_t",
301 "metadata" : false,
302 "pi_omit" : true
303 },
304 {
305 "name" : "pppoe",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700306 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700307 "header_type" : "pppoe_t",
308 "metadata" : false,
309 "pi_omit" : true
310 },
311 {
312 "name" : "mpls",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700313 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700314 "header_type" : "mpls_t",
315 "metadata" : false,
316 "pi_omit" : true
317 },
318 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800319 "name" : "gtpu",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700320 "id" : 10,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800321 "header_type" : "gtpu_t",
322 "metadata" : false,
323 "pi_omit" : true
324 },
325 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200326 "name" : "gtpu_options",
Wailok Shum4f51bde2021-06-11 22:48:41 +0800327 "id" : 11,
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200328 "header_type" : "gtpu_options_t",
329 "metadata" : false,
330 "pi_omit" : true
331 },
332 {
333 "name" : "gtpu_ext_psc",
334 "id" : 12,
335 "header_type" : "gtpu_ext_psc_t",
336 "metadata" : false,
337 "pi_omit" : true
338 },
339 {
340 "name" : "inner_ipv4",
341 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700342 "header_type" : "ipv4_t",
343 "metadata" : false,
344 "pi_omit" : true
345 },
346 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800347 "name" : "inner_udp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200348 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700349 "header_type" : "udp_t",
350 "metadata" : false,
351 "pi_omit" : true
352 },
353 {
Wailok Shum4f51bde2021-06-11 22:48:41 +0800354 "name" : "inner_tcp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200355 "id" : 15,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800356 "header_type" : "tcp_t",
357 "metadata" : false,
358 "pi_omit" : true
359 },
360 {
361 "name" : "inner_icmp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200362 "id" : 16,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800363 "header_type" : "icmp_t",
364 "metadata" : false,
365 "pi_omit" : true
366 },
367 {
368 "name" : "ipv4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200369 "id" : 17,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800370 "header_type" : "ipv4_t",
371 "metadata" : false,
372 "pi_omit" : true
373 },
374 {
375 "name" : "tcp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200376 "id" : 18,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800377 "header_type" : "tcp_t",
378 "metadata" : false,
379 "pi_omit" : true
380 },
381 {
382 "name" : "udp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200383 "id" : 19,
Wailok Shum4f51bde2021-06-11 22:48:41 +0800384 "header_type" : "udp_t",
385 "metadata" : false,
386 "pi_omit" : true
387 },
388 {
389 "name" : "icmp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200390 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700391 "header_type" : "icmp_t",
392 "metadata" : false,
393 "pi_omit" : true
394 },
395 {
396 "name" : "packet_out",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200397 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700398 "header_type" : "packet_out_header_t",
399 "metadata" : false,
400 "pi_omit" : true
401 },
402 {
403 "name" : "packet_in",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200404 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700405 "header_type" : "packet_in_header_t",
406 "metadata" : false,
407 "pi_omit" : true
408 }
409 ],
410 "header_stacks" : [],
411 "header_union_types" : [],
412 "header_unions" : [],
413 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700414 "field_lists" : [
415 {
416 "id" : 1,
417 "name" : "fl",
418 "source_info" : {
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700419 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200420 "line" : 45,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700421 "column" : 40,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700422 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700423 },
424 "elements" : [
425 {
426 "type" : "field",
427 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700428 }
429 ]
430 }
431 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700432 "errors" : [
433 ["NoError", 1],
434 ["PacketTooShort", 2],
435 ["NoMatch", 3],
436 ["StackOutOfBounds", 4],
437 ["HeaderTooShort", 5],
438 ["ParserTimeout", 6],
439 ["ParserInvalidArgument", 7]
440 ],
441 "enums" : [],
442 "parsers" : [
443 {
444 "name" : "parser",
445 "id" : 0,
446 "init_state" : "start",
447 "parse_states" : [
448 {
449 "name" : "start",
450 "id" : 0,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400451 "parser_ops" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700452 "transitions" : [
453 {
454 "type" : "hexstr",
455 "value" : "0x00ff",
456 "mask" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200457 "next_state" : "check_packet_out"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700458 },
459 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200460 "type" : "default",
461 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700462 "mask" : null,
463 "next_state" : "parse_ethernet"
464 }
465 ],
466 "transition_key" : [
467 {
468 "type" : "field",
469 "value" : ["standard_metadata", "ingress_port"]
470 }
471 ]
472 },
473 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200474 "name" : "check_packet_out",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700475 "id" : 1,
476 "parser_ops" : [
477 {
478 "parameters" : [
479 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200480 "type" : "field",
481 "value" : ["scalars", "tmp_6"]
482 },
483 {
484 "type" : "lookahead",
485 "value" : [0, 16]
486 }
487 ],
488 "op" : "set"
489 },
490 {
491 "parameters" : [
492 {
493 "parameters" : [
494 {
495 "type" : "header",
496 "value" : "tmp"
497 }
498 ],
499 "op" : "add_header"
500 }
501 ],
502 "op" : "primitive"
503 },
504 {
505 "parameters" : [
506 {
507 "type" : "field",
508 "value" : ["tmp", "egress_port"]
509 },
510 {
511 "type" : "expression",
512 "value" : {
513 "type" : "expression",
514 "value" : {
515 "op" : "&",
516 "left" : {
517 "type" : "expression",
518 "value" : {
519 "op" : "&",
520 "left" : {
521 "type" : "expression",
522 "value" : {
523 "op" : ">>",
524 "left" : {
525 "type" : "field",
526 "value" : ["scalars", "tmp_6"]
527 },
528 "right" : {
529 "type" : "hexstr",
530 "value" : "0x7"
531 }
532 }
533 },
534 "right" : {
535 "type" : "hexstr",
536 "value" : "0xffff"
537 }
538 }
539 },
540 "right" : {
541 "type" : "hexstr",
542 "value" : "0x01ff"
543 }
544 }
545 }
546 }
547 ],
548 "op" : "set"
549 },
550 {
551 "parameters" : [
552 {
553 "type" : "field",
554 "value" : ["tmp", "do_forwarding"]
555 },
556 {
557 "type" : "expression",
558 "value" : {
559 "type" : "expression",
560 "value" : {
561 "op" : "&",
562 "left" : {
563 "type" : "expression",
564 "value" : {
565 "op" : "&",
566 "left" : {
567 "type" : "expression",
568 "value" : {
569 "op" : ">>",
570 "left" : {
571 "type" : "field",
572 "value" : ["scalars", "tmp_6"]
573 },
574 "right" : {
575 "type" : "hexstr",
576 "value" : "0x6"
577 }
578 }
579 },
580 "right" : {
581 "type" : "hexstr",
582 "value" : "0xffff"
583 }
584 }
585 },
586 "right" : {
587 "type" : "hexstr",
588 "value" : "0x01"
589 }
590 }
591 }
592 }
593 ],
594 "op" : "set"
595 },
596 {
597 "parameters" : [
598 {
599 "type" : "field",
600 "value" : ["tmp", "_pad"]
601 },
602 {
603 "type" : "expression",
604 "value" : {
605 "type" : "expression",
606 "value" : {
607 "op" : "&",
608 "left" : {
609 "type" : "field",
610 "value" : ["scalars", "tmp_6"]
611 },
612 "right" : {
613 "type" : "hexstr",
614 "value" : "0x3f"
615 }
616 }
617 }
618 }
619 ],
620 "op" : "set"
621 },
622 {
623 "parameters" : [
624 {
625 "type" : "field",
626 "value" : ["scalars", "tmp_0"]
627 },
628 {
629 "type" : "expression",
630 "value" : {
631 "type" : "expression",
632 "value" : {
633 "op" : "&",
634 "left" : {
635 "type" : "expression",
636 "value" : {
637 "op" : "&",
638 "left" : {
639 "type" : "expression",
640 "value" : {
641 "op" : ">>",
642 "left" : {
643 "type" : "field",
644 "value" : ["scalars", "tmp_6"]
645 },
646 "right" : {
647 "type" : "hexstr",
648 "value" : "0x6"
649 }
650 }
651 },
652 "right" : {
653 "type" : "hexstr",
654 "value" : "0xffff"
655 }
656 }
657 },
658 "right" : {
659 "type" : "hexstr",
660 "value" : "0x01"
661 }
662 }
663 }
664 }
665 ],
666 "op" : "set"
667 }
668 ],
669 "transitions" : [
670 {
671 "type" : "hexstr",
672 "value" : "0x00",
673 "mask" : null,
674 "next_state" : "parse_packet_out_and_accept"
675 },
676 {
677 "type" : "default",
678 "value" : null,
679 "mask" : null,
680 "next_state" : "strip_packet_out"
681 }
682 ],
683 "transition_key" : [
684 {
685 "type" : "field",
686 "value" : ["scalars", "tmp_0"]
687 }
688 ]
689 },
690 {
691 "name" : "parse_packet_out_and_accept",
692 "id" : 2,
693 "parser_ops" : [
694 {
695 "parameters" : [
696 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700697 "type" : "regular",
698 "value" : "packet_out"
699 }
700 ],
701 "op" : "extract"
702 }
703 ],
704 "transitions" : [
705 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200706 "type" : "default",
707 "value" : null,
708 "mask" : null,
709 "next_state" : null
710 }
711 ],
712 "transition_key" : []
713 },
714 {
715 "name" : "strip_packet_out",
716 "id" : 3,
717 "parser_ops" : [
718 {
719 "parameters" : [
720 {
721 "type" : "hexstr",
722 "value" : "0x00000010"
723 }
724 ],
725 "op" : "advance"
726 }
727 ],
728 "transitions" : [
729 {
730 "type" : "default",
731 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700732 "mask" : null,
733 "next_state" : "parse_ethernet"
734 }
735 ],
736 "transition_key" : []
737 },
738 {
739 "name" : "parse_ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200740 "id" : 4,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700741 "parser_ops" : [
742 {
743 "parameters" : [
744 {
745 "type" : "regular",
746 "value" : "ethernet"
747 }
748 ],
749 "op" : "extract"
750 },
751 {
752 "parameters" : [
753 {
754 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200755 "value" : ["scalars", "userMetadata._vlan_id9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700756 },
757 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700758 "type" : "hexstr",
759 "value" : "0x0ffe"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700760 }
761 ],
762 "op" : "set"
763 },
764 {
765 "parameters" : [
766 {
767 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200768 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700769 },
770 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700771 "type" : "lookahead",
772 "value" : [0, 16]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700773 }
774 ],
775 "op" : "set"
776 }
777 ],
778 "transitions" : [
779 {
780 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700781 "value" : "0x88a8",
782 "mask" : null,
783 "next_state" : "parse_vlan_tag"
784 },
785 {
786 "type" : "hexstr",
787 "value" : "0x9100",
788 "mask" : null,
789 "next_state" : "parse_vlan_tag"
790 },
791 {
792 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700793 "value" : "0x8100",
794 "mask" : null,
795 "next_state" : "parse_vlan_tag"
796 },
797 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200798 "type" : "default",
799 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700800 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700801 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700802 }
803 ],
804 "transition_key" : [
805 {
806 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200807 "value" : ["scalars", "tmp_1"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700808 }
809 ]
810 },
811 {
812 "name" : "parse_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200813 "id" : 5,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700814 "parser_ops" : [
815 {
816 "parameters" : [
817 {
818 "type" : "regular",
819 "value" : "vlan_tag"
820 }
821 ],
822 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700823 },
824 {
825 "parameters" : [
826 {
827 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200828 "value" : ["scalars", "userMetadata._bng_s_tag37"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700829 },
830 {
831 "type" : "field",
832 "value" : ["vlan_tag", "vlan_id"]
833 }
834 ],
835 "op" : "set"
836 },
837 {
838 "parameters" : [
839 {
840 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200841 "value" : ["scalars", "tmp_3"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700842 },
843 {
844 "type" : "lookahead",
845 "value" : [0, 16]
846 }
847 ],
848 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700849 }
850 ],
851 "transitions" : [
852 {
853 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700854 "value" : "0x8100",
855 "mask" : null,
856 "next_state" : "parse_inner_vlan_tag"
857 },
858 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200859 "type" : "default",
860 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700861 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700862 "next_state" : "parse_eth_type"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700863 }
864 ],
865 "transition_key" : [
866 {
867 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200868 "value" : ["scalars", "tmp_3"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700869 }
870 ]
871 },
872 {
873 "name" : "parse_inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200874 "id" : 6,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700875 "parser_ops" : [
876 {
877 "parameters" : [
878 {
879 "type" : "regular",
880 "value" : "inner_vlan_tag"
881 }
882 ],
883 "op" : "extract"
Daniele Morob3d199b2019-11-01 14:01:46 -0700884 },
885 {
886 "parameters" : [
887 {
888 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200889 "value" : ["scalars", "userMetadata._bng_c_tag38"]
Daniele Morob3d199b2019-11-01 14:01:46 -0700890 },
891 {
892 "type" : "field",
893 "value" : ["inner_vlan_tag", "vlan_id"]
894 }
895 ],
896 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700897 }
898 ],
899 "transitions" : [
900 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200901 "type" : "default",
902 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700903 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700904 "next_state" : "parse_eth_type"
905 }
906 ],
907 "transition_key" : []
908 },
909 {
910 "name" : "parse_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200911 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700912 "parser_ops" : [
913 {
914 "parameters" : [
915 {
916 "type" : "regular",
917 "value" : "eth_type"
918 }
919 ],
920 "op" : "extract"
921 }
922 ],
923 "transitions" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700924 {
925 "type" : "hexstr",
926 "value" : "0x8847",
927 "mask" : null,
928 "next_state" : "parse_mpls"
929 },
930 {
931 "type" : "hexstr",
Daniele Moro5a2de712019-09-24 14:34:07 -0700932 "value" : "0x0800",
933 "mask" : null,
934 "next_state" : "parse_ipv4"
935 },
936 {
937 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700938 "value" : "0x8863",
939 "mask" : null,
940 "next_state" : "parse_pppoe"
941 },
942 {
943 "type" : "hexstr",
944 "value" : "0x8864",
945 "mask" : null,
946 "next_state" : "parse_pppoe"
947 },
948 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200949 "type" : "default",
950 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700951 "mask" : null,
952 "next_state" : null
953 }
954 ],
955 "transition_key" : [
956 {
957 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700958 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700959 }
960 ]
961 },
962 {
963 "name" : "parse_pppoe",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200964 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700965 "parser_ops" : [
966 {
967 "parameters" : [
968 {
969 "type" : "regular",
970 "value" : "pppoe"
971 }
972 ],
973 "op" : "extract"
974 }
975 ],
976 "transitions" : [
977 {
978 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700979 "value" : "0x0281",
980 "mask" : null,
981 "next_state" : "parse_mpls"
982 },
983 {
984 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700985 "value" : "0x0021",
986 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700987 "next_state" : "parse_ipv4"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700988 },
989 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200990 "type" : "default",
991 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700992 "mask" : null,
993 "next_state" : null
994 }
995 ],
996 "transition_key" : [
997 {
998 "type" : "field",
999 "value" : ["pppoe", "protocol"]
1000 }
1001 ]
1002 },
1003 {
1004 "name" : "parse_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001005 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001006 "parser_ops" : [
1007 {
1008 "parameters" : [
1009 {
1010 "type" : "regular",
1011 "value" : "mpls"
1012 }
1013 ],
1014 "op" : "extract"
1015 },
1016 {
1017 "parameters" : [
1018 {
1019 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001020 "value" : ["scalars", "userMetadata._mpls_label16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001021 },
1022 {
1023 "type" : "field",
1024 "value" : ["mpls", "label"]
1025 }
1026 ],
1027 "op" : "set"
1028 },
1029 {
1030 "parameters" : [
1031 {
1032 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001033 "value" : ["scalars", "userMetadata._mpls_ttl17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001034 },
1035 {
1036 "type" : "field",
1037 "value" : ["mpls", "ttl"]
1038 }
1039 ],
1040 "op" : "set"
1041 },
1042 {
1043 "parameters" : [
1044 {
1045 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001046 "value" : ["scalars", "tmp_5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001047 },
1048 {
1049 "type" : "lookahead",
1050 "value" : [0, 4]
1051 }
1052 ],
1053 "op" : "set"
1054 }
1055 ],
1056 "transitions" : [
1057 {
1058 "type" : "hexstr",
1059 "value" : "0x04",
1060 "mask" : null,
1061 "next_state" : "parse_ipv4"
1062 },
1063 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001064 "type" : "default",
1065 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001066 "mask" : null,
1067 "next_state" : "parse_ethernet"
1068 }
1069 ],
1070 "transition_key" : [
1071 {
1072 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001073 "value" : ["scalars", "tmp_5"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001074 }
1075 ]
1076 },
1077 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07001078 "name" : "parse_ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001079 "id" : 10,
Daniele Moro7c3a0022019-07-12 13:38:34 -07001080 "parser_ops" : [
1081 {
1082 "parameters" : [
1083 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001084 "type" : "regular",
1085 "value" : "ipv4"
1086 }
1087 ],
1088 "op" : "extract"
1089 },
1090 {
1091 "parameters" : [
1092 {
1093 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001094 "value" : ["scalars", "userMetadata._ip_proto24"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001095 },
1096 {
1097 "type" : "field",
1098 "value" : ["ipv4", "protocol"]
1099 }
1100 ],
1101 "op" : "set"
1102 },
1103 {
1104 "parameters" : [
1105 {
1106 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001107 "value" : ["scalars", "userMetadata._ip_eth_type8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001108 },
1109 {
1110 "type" : "hexstr",
1111 "value" : "0x0800"
1112 }
1113 ],
1114 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001115 },
1116 {
1117 "parameters" : [
1118 {
1119 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001120 "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001121 },
1122 {
1123 "type" : "field",
1124 "value" : ["ipv4", "src_addr"]
1125 }
1126 ],
1127 "op" : "set"
1128 },
1129 {
1130 "parameters" : [
1131 {
1132 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001133 "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001134 },
1135 {
1136 "type" : "field",
1137 "value" : ["ipv4", "dst_addr"]
1138 }
1139 ],
1140 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001141 }
1142 ],
1143 "transitions" : [
1144 {
1145 "type" : "hexstr",
1146 "value" : "0x06",
1147 "mask" : null,
1148 "next_state" : "parse_tcp"
1149 },
1150 {
1151 "type" : "hexstr",
1152 "value" : "0x11",
1153 "mask" : null,
1154 "next_state" : "parse_udp"
1155 },
1156 {
1157 "type" : "hexstr",
1158 "value" : "0x01",
1159 "mask" : null,
1160 "next_state" : "parse_icmp"
1161 },
1162 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001163 "type" : "default",
1164 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001165 "mask" : null,
1166 "next_state" : null
1167 }
1168 ],
1169 "transition_key" : [
1170 {
1171 "type" : "field",
1172 "value" : ["ipv4", "protocol"]
1173 }
1174 ]
1175 },
1176 {
1177 "name" : "parse_tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001178 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001179 "parser_ops" : [
1180 {
1181 "parameters" : [
1182 {
1183 "type" : "regular",
1184 "value" : "tcp"
1185 }
1186 ],
1187 "op" : "extract"
1188 },
1189 {
1190 "parameters" : [
1191 {
1192 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001193 "value" : ["scalars", "userMetadata._l4_sport25"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001194 },
1195 {
1196 "type" : "field",
1197 "value" : ["tcp", "sport"]
1198 }
1199 ],
1200 "op" : "set"
1201 },
1202 {
1203 "parameters" : [
1204 {
1205 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001206 "value" : ["scalars", "userMetadata._l4_dport26"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001207 },
1208 {
1209 "type" : "field",
1210 "value" : ["tcp", "dport"]
1211 }
1212 ],
1213 "op" : "set"
1214 }
1215 ],
1216 "transitions" : [
1217 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001218 "type" : "default",
1219 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001220 "mask" : null,
1221 "next_state" : null
1222 }
1223 ],
1224 "transition_key" : []
1225 },
1226 {
1227 "name" : "parse_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001228 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001229 "parser_ops" : [
1230 {
1231 "parameters" : [
1232 {
1233 "type" : "regular",
1234 "value" : "udp"
1235 }
1236 ],
1237 "op" : "extract"
1238 },
1239 {
1240 "parameters" : [
1241 {
1242 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001243 "value" : ["scalars", "userMetadata._l4_sport25"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001244 },
1245 {
1246 "type" : "field",
1247 "value" : ["udp", "sport"]
1248 }
1249 ],
1250 "op" : "set"
1251 },
1252 {
1253 "parameters" : [
1254 {
1255 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001256 "value" : ["scalars", "userMetadata._l4_dport26"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001257 },
1258 {
1259 "type" : "field",
1260 "value" : ["udp", "dport"]
1261 }
1262 ],
1263 "op" : "set"
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001264 },
1265 {
1266 "parameters" : [
1267 {
1268 "type" : "field",
1269 "value" : ["scalars", "tmp_7"]
1270 },
1271 {
1272 "type" : "lookahead",
1273 "value" : [0, 64]
1274 }
1275 ],
1276 "op" : "set"
1277 },
1278 {
1279 "parameters" : [
1280 {
1281 "parameters" : [
1282 {
1283 "type" : "header",
1284 "value" : "gtpu_0"
1285 }
1286 ],
1287 "op" : "add_header"
1288 }
1289 ],
1290 "op" : "primitive"
1291 },
1292 {
1293 "parameters" : [
1294 {
1295 "type" : "field",
1296 "value" : ["gtpu_0", "version"]
1297 },
1298 {
1299 "type" : "expression",
1300 "value" : {
1301 "type" : "expression",
1302 "value" : {
1303 "op" : "&",
1304 "left" : {
1305 "type" : "expression",
1306 "value" : {
1307 "op" : "&",
1308 "left" : {
1309 "type" : "expression",
1310 "value" : {
1311 "op" : ">>",
1312 "left" : {
1313 "type" : "field",
1314 "value" : ["scalars", "tmp_7"]
1315 },
1316 "right" : {
1317 "type" : "hexstr",
1318 "value" : "0x3d"
1319 }
1320 }
1321 },
1322 "right" : {
1323 "type" : "hexstr",
1324 "value" : "0xffffffffffffffff"
1325 }
1326 }
1327 },
1328 "right" : {
1329 "type" : "hexstr",
1330 "value" : "0x07"
1331 }
1332 }
1333 }
1334 }
1335 ],
1336 "op" : "set"
1337 },
1338 {
1339 "parameters" : [
1340 {
1341 "type" : "field",
1342 "value" : ["gtpu_0", "pt"]
1343 },
1344 {
1345 "type" : "expression",
1346 "value" : {
1347 "type" : "expression",
1348 "value" : {
1349 "op" : "&",
1350 "left" : {
1351 "type" : "expression",
1352 "value" : {
1353 "op" : "&",
1354 "left" : {
1355 "type" : "expression",
1356 "value" : {
1357 "op" : ">>",
1358 "left" : {
1359 "type" : "field",
1360 "value" : ["scalars", "tmp_7"]
1361 },
1362 "right" : {
1363 "type" : "hexstr",
1364 "value" : "0x3c"
1365 }
1366 }
1367 },
1368 "right" : {
1369 "type" : "hexstr",
1370 "value" : "0xffffffffffffffff"
1371 }
1372 }
1373 },
1374 "right" : {
1375 "type" : "hexstr",
1376 "value" : "0x01"
1377 }
1378 }
1379 }
1380 }
1381 ],
1382 "op" : "set"
1383 },
1384 {
1385 "parameters" : [
1386 {
1387 "type" : "field",
1388 "value" : ["gtpu_0", "spare"]
1389 },
1390 {
1391 "type" : "expression",
1392 "value" : {
1393 "type" : "expression",
1394 "value" : {
1395 "op" : "&",
1396 "left" : {
1397 "type" : "expression",
1398 "value" : {
1399 "op" : "&",
1400 "left" : {
1401 "type" : "expression",
1402 "value" : {
1403 "op" : ">>",
1404 "left" : {
1405 "type" : "field",
1406 "value" : ["scalars", "tmp_7"]
1407 },
1408 "right" : {
1409 "type" : "hexstr",
1410 "value" : "0x3b"
1411 }
1412 }
1413 },
1414 "right" : {
1415 "type" : "hexstr",
1416 "value" : "0xffffffffffffffff"
1417 }
1418 }
1419 },
1420 "right" : {
1421 "type" : "hexstr",
1422 "value" : "0x01"
1423 }
1424 }
1425 }
1426 }
1427 ],
1428 "op" : "set"
1429 },
1430 {
1431 "parameters" : [
1432 {
1433 "type" : "field",
1434 "value" : ["gtpu_0", "ex_flag"]
1435 },
1436 {
1437 "type" : "expression",
1438 "value" : {
1439 "type" : "expression",
1440 "value" : {
1441 "op" : "&",
1442 "left" : {
1443 "type" : "expression",
1444 "value" : {
1445 "op" : "&",
1446 "left" : {
1447 "type" : "expression",
1448 "value" : {
1449 "op" : ">>",
1450 "left" : {
1451 "type" : "field",
1452 "value" : ["scalars", "tmp_7"]
1453 },
1454 "right" : {
1455 "type" : "hexstr",
1456 "value" : "0x3a"
1457 }
1458 }
1459 },
1460 "right" : {
1461 "type" : "hexstr",
1462 "value" : "0xffffffffffffffff"
1463 }
1464 }
1465 },
1466 "right" : {
1467 "type" : "hexstr",
1468 "value" : "0x01"
1469 }
1470 }
1471 }
1472 }
1473 ],
1474 "op" : "set"
1475 },
1476 {
1477 "parameters" : [
1478 {
1479 "type" : "field",
1480 "value" : ["gtpu_0", "seq_flag"]
1481 },
1482 {
1483 "type" : "expression",
1484 "value" : {
1485 "type" : "expression",
1486 "value" : {
1487 "op" : "&",
1488 "left" : {
1489 "type" : "expression",
1490 "value" : {
1491 "op" : "&",
1492 "left" : {
1493 "type" : "expression",
1494 "value" : {
1495 "op" : ">>",
1496 "left" : {
1497 "type" : "field",
1498 "value" : ["scalars", "tmp_7"]
1499 },
1500 "right" : {
1501 "type" : "hexstr",
1502 "value" : "0x39"
1503 }
1504 }
1505 },
1506 "right" : {
1507 "type" : "hexstr",
1508 "value" : "0xffffffffffffffff"
1509 }
1510 }
1511 },
1512 "right" : {
1513 "type" : "hexstr",
1514 "value" : "0x01"
1515 }
1516 }
1517 }
1518 }
1519 ],
1520 "op" : "set"
1521 },
1522 {
1523 "parameters" : [
1524 {
1525 "type" : "field",
1526 "value" : ["gtpu_0", "npdu_flag"]
1527 },
1528 {
1529 "type" : "expression",
1530 "value" : {
1531 "type" : "expression",
1532 "value" : {
1533 "op" : "&",
1534 "left" : {
1535 "type" : "expression",
1536 "value" : {
1537 "op" : "&",
1538 "left" : {
1539 "type" : "expression",
1540 "value" : {
1541 "op" : ">>",
1542 "left" : {
1543 "type" : "field",
1544 "value" : ["scalars", "tmp_7"]
1545 },
1546 "right" : {
1547 "type" : "hexstr",
1548 "value" : "0x38"
1549 }
1550 }
1551 },
1552 "right" : {
1553 "type" : "hexstr",
1554 "value" : "0xffffffffffffffff"
1555 }
1556 }
1557 },
1558 "right" : {
1559 "type" : "hexstr",
1560 "value" : "0x01"
1561 }
1562 }
1563 }
1564 }
1565 ],
1566 "op" : "set"
1567 },
1568 {
1569 "parameters" : [
1570 {
1571 "type" : "field",
1572 "value" : ["gtpu_0", "msgtype"]
1573 },
1574 {
1575 "type" : "expression",
1576 "value" : {
1577 "type" : "expression",
1578 "value" : {
1579 "op" : "&",
1580 "left" : {
1581 "type" : "expression",
1582 "value" : {
1583 "op" : "&",
1584 "left" : {
1585 "type" : "expression",
1586 "value" : {
1587 "op" : ">>",
1588 "left" : {
1589 "type" : "field",
1590 "value" : ["scalars", "tmp_7"]
1591 },
1592 "right" : {
1593 "type" : "hexstr",
1594 "value" : "0x30"
1595 }
1596 }
1597 },
1598 "right" : {
1599 "type" : "hexstr",
1600 "value" : "0xffffffffffffffff"
1601 }
1602 }
1603 },
1604 "right" : {
1605 "type" : "hexstr",
1606 "value" : "0xff"
1607 }
1608 }
1609 }
1610 }
1611 ],
1612 "op" : "set"
1613 },
1614 {
1615 "parameters" : [
1616 {
1617 "type" : "field",
1618 "value" : ["gtpu_0", "msglen"]
1619 },
1620 {
1621 "type" : "expression",
1622 "value" : {
1623 "type" : "expression",
1624 "value" : {
1625 "op" : "&",
1626 "left" : {
1627 "type" : "expression",
1628 "value" : {
1629 "op" : "&",
1630 "left" : {
1631 "type" : "expression",
1632 "value" : {
1633 "op" : ">>",
1634 "left" : {
1635 "type" : "field",
1636 "value" : ["scalars", "tmp_7"]
1637 },
1638 "right" : {
1639 "type" : "hexstr",
1640 "value" : "0x20"
1641 }
1642 }
1643 },
1644 "right" : {
1645 "type" : "hexstr",
1646 "value" : "0xffffffffffffffff"
1647 }
1648 }
1649 },
1650 "right" : {
1651 "type" : "hexstr",
1652 "value" : "0xffff"
1653 }
1654 }
1655 }
1656 }
1657 ],
1658 "op" : "set"
1659 },
1660 {
1661 "parameters" : [
1662 {
1663 "type" : "field",
1664 "value" : ["gtpu_0", "teid"]
1665 },
1666 {
1667 "type" : "expression",
1668 "value" : {
1669 "type" : "expression",
1670 "value" : {
1671 "op" : "&",
1672 "left" : {
1673 "type" : "field",
1674 "value" : ["scalars", "tmp_7"]
1675 },
1676 "right" : {
1677 "type" : "hexstr",
1678 "value" : "0xffffffff"
1679 }
1680 }
1681 }
1682 }
1683 ],
1684 "op" : "set"
1685 },
1686 {
1687 "parameters" : [
1688 {
1689 "type" : "field",
1690 "value" : ["scalars", "tmp_2"]
1691 },
1692 {
1693 "type" : "expression",
1694 "value" : {
1695 "type" : "expression",
1696 "value" : {
1697 "op" : "&",
1698 "left" : {
1699 "type" : "expression",
1700 "value" : {
1701 "op" : "&",
1702 "left" : {
1703 "type" : "expression",
1704 "value" : {
1705 "op" : ">>",
1706 "left" : {
1707 "type" : "field",
1708 "value" : ["scalars", "tmp_7"]
1709 },
1710 "right" : {
1711 "type" : "hexstr",
1712 "value" : "0x3d"
1713 }
1714 }
1715 },
1716 "right" : {
1717 "type" : "hexstr",
1718 "value" : "0xffffffffffffffff"
1719 }
1720 }
1721 },
1722 "right" : {
1723 "type" : "hexstr",
1724 "value" : "0x07"
1725 }
1726 }
1727 }
1728 }
1729 ],
1730 "op" : "set"
1731 },
1732 {
1733 "parameters" : [
1734 {
1735 "type" : "field",
1736 "value" : ["scalars", "tmp_4"]
1737 },
1738 {
1739 "type" : "expression",
1740 "value" : {
1741 "type" : "expression",
1742 "value" : {
1743 "op" : "&",
1744 "left" : {
1745 "type" : "expression",
1746 "value" : {
1747 "op" : "&",
1748 "left" : {
1749 "type" : "expression",
1750 "value" : {
1751 "op" : ">>",
1752 "left" : {
1753 "type" : "field",
1754 "value" : ["scalars", "tmp_7"]
1755 },
1756 "right" : {
1757 "type" : "hexstr",
1758 "value" : "0x30"
1759 }
1760 }
1761 },
1762 "right" : {
1763 "type" : "hexstr",
1764 "value" : "0xffffffffffffffff"
1765 }
1766 }
1767 },
1768 "right" : {
1769 "type" : "hexstr",
1770 "value" : "0xff"
1771 }
1772 }
1773 }
1774 }
1775 ],
1776 "op" : "set"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001777 }
1778 ],
1779 "transitions" : [
1780 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08001781 "type" : "hexstr",
1782 "value" : "0x086801ff",
1783 "mask" : null,
1784 "next_state" : "parse_gtpu"
1785 },
1786 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001787 "type" : "default",
1788 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001789 "mask" : null,
1790 "next_state" : null
1791 }
1792 ],
1793 "transition_key" : [
1794 {
1795 "type" : "field",
1796 "value" : ["udp", "dport"]
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001797 },
1798 {
1799 "type" : "field",
1800 "value" : ["scalars", "tmp_2"]
1801 },
1802 {
1803 "type" : "field",
1804 "value" : ["scalars", "tmp_4"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001805 }
1806 ]
1807 },
1808 {
1809 "name" : "parse_icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001810 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001811 "parser_ops" : [
1812 {
1813 "parameters" : [
1814 {
1815 "type" : "regular",
1816 "value" : "icmp"
1817 }
1818 ],
1819 "op" : "extract"
1820 }
1821 ],
1822 "transitions" : [
1823 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001824 "type" : "default",
1825 "value" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001826 "mask" : null,
1827 "next_state" : null
1828 }
1829 ],
1830 "transition_key" : []
Wailok Shum4f51bde2021-06-11 22:48:41 +08001831 },
1832 {
1833 "name" : "parse_gtpu",
1834 "id" : 14,
1835 "parser_ops" : [
1836 {
1837 "parameters" : [
1838 {
1839 "type" : "regular",
1840 "value" : "gtpu"
1841 }
1842 ],
1843 "op" : "extract"
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001844 }
1845 ],
1846 "transitions" : [
1847 {
1848 "type" : "hexstr",
1849 "value" : "0x000000",
1850 "mask" : null,
1851 "next_state" : "parse_inner_ipv4"
Wailok Shum4f51bde2021-06-11 22:48:41 +08001852 },
1853 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02001854 "type" : "default",
1855 "value" : null,
1856 "mask" : null,
1857 "next_state" : "parse_gtpu_options"
1858 }
1859 ],
1860 "transition_key" : [
1861 {
1862 "type" : "field",
1863 "value" : ["gtpu", "ex_flag"]
1864 },
1865 {
1866 "type" : "field",
1867 "value" : ["gtpu", "seq_flag"]
1868 },
1869 {
1870 "type" : "field",
1871 "value" : ["gtpu", "npdu_flag"]
1872 }
1873 ]
1874 },
1875 {
1876 "name" : "parse_gtpu_options",
1877 "id" : 15,
1878 "parser_ops" : [
1879 {
1880 "parameters" : [
1881 {
1882 "type" : "regular",
1883 "value" : "gtpu_options"
1884 }
1885 ],
1886 "op" : "extract"
1887 },
1888 {
1889 "parameters" : [
1890 {
1891 "type" : "field",
1892 "value" : ["scalars", "gtpu_ext_len_0"]
1893 },
1894 {
1895 "type" : "lookahead",
1896 "value" : [0, 8]
1897 }
1898 ],
1899 "op" : "set"
1900 }
1901 ],
1902 "transitions" : [
1903 {
1904 "type" : "hexstr",
1905 "value" : "0x8501",
1906 "mask" : null,
1907 "next_state" : "parse_gtpu_ext_psc"
1908 },
1909 {
1910 "type" : "default",
1911 "value" : null,
1912 "mask" : null,
1913 "next_state" : null
1914 }
1915 ],
1916 "transition_key" : [
1917 {
1918 "type" : "field",
1919 "value" : ["gtpu_options", "next_ext"]
1920 },
1921 {
1922 "type" : "field",
1923 "value" : ["scalars", "gtpu_ext_len_0"]
1924 }
1925 ]
1926 },
1927 {
1928 "name" : "parse_gtpu_ext_psc",
1929 "id" : 16,
1930 "parser_ops" : [
1931 {
1932 "parameters" : [
1933 {
1934 "type" : "regular",
1935 "value" : "gtpu_ext_psc"
1936 }
1937 ],
1938 "op" : "extract"
1939 }
1940 ],
1941 "transitions" : [
1942 {
1943 "type" : "hexstr",
1944 "value" : "0x00",
1945 "mask" : null,
1946 "next_state" : "parse_inner_ipv4"
1947 },
1948 {
1949 "type" : "default",
1950 "value" : null,
1951 "mask" : null,
1952 "next_state" : null
1953 }
1954 ],
1955 "transition_key" : [
1956 {
1957 "type" : "field",
1958 "value" : ["gtpu_ext_psc", "next_ext"]
1959 }
1960 ]
1961 },
1962 {
1963 "name" : "parse_inner_ipv4",
1964 "id" : 17,
1965 "parser_ops" : [
1966 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08001967 "parameters" : [
1968 {
1969 "type" : "regular",
1970 "value" : "inner_ipv4"
1971 }
1972 ],
1973 "op" : "extract"
1974 }
1975 ],
1976 "transitions" : [
1977 {
1978 "type" : "hexstr",
1979 "value" : "0x06",
1980 "mask" : null,
Daniele Moroae26f0a2021-07-08 12:53:26 +02001981 "next_state" : "parse_inner_tcp"
Wailok Shum4f51bde2021-06-11 22:48:41 +08001982 },
1983 {
1984 "type" : "hexstr",
1985 "value" : "0x11",
1986 "mask" : null,
1987 "next_state" : "parse_inner_udp"
1988 },
1989 {
1990 "type" : "hexstr",
1991 "value" : "0x01",
1992 "mask" : null,
Daniele Moroae26f0a2021-07-08 12:53:26 +02001993 "next_state" : "parse_inner_icmp"
Wailok Shum4f51bde2021-06-11 22:48:41 +08001994 },
1995 {
1996 "type" : "default",
1997 "value" : null,
1998 "mask" : null,
1999 "next_state" : null
2000 }
2001 ],
2002 "transition_key" : [
2003 {
2004 "type" : "field",
2005 "value" : ["inner_ipv4", "protocol"]
2006 }
2007 ]
2008 },
2009 {
2010 "name" : "parse_inner_udp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002011 "id" : 18,
Wailok Shum4f51bde2021-06-11 22:48:41 +08002012 "parser_ops" : [
2013 {
2014 "parameters" : [
2015 {
2016 "type" : "regular",
2017 "value" : "inner_udp"
2018 }
2019 ],
2020 "op" : "extract"
2021 }
2022 ],
2023 "transitions" : [
2024 {
2025 "type" : "default",
2026 "value" : null,
2027 "mask" : null,
2028 "next_state" : null
2029 }
2030 ],
2031 "transition_key" : []
Daniele Moroae26f0a2021-07-08 12:53:26 +02002032 },
2033 {
2034 "name" : "parse_inner_tcp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002035 "id" : 19,
Daniele Moroae26f0a2021-07-08 12:53:26 +02002036 "parser_ops" : [
2037 {
2038 "parameters" : [
2039 {
2040 "type" : "regular",
2041 "value" : "inner_tcp"
2042 }
2043 ],
2044 "op" : "extract"
2045 }
2046 ],
2047 "transitions" : [
2048 {
2049 "type" : "default",
2050 "value" : null,
2051 "mask" : null,
2052 "next_state" : null
2053 }
2054 ],
2055 "transition_key" : []
2056 },
2057 {
2058 "name" : "parse_inner_icmp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002059 "id" : 20,
Daniele Moroae26f0a2021-07-08 12:53:26 +02002060 "parser_ops" : [
2061 {
2062 "parameters" : [
2063 {
2064 "type" : "regular",
2065 "value" : "inner_icmp"
2066 }
2067 ],
2068 "op" : "extract"
2069 }
2070 ],
2071 "transitions" : [
2072 {
2073 "type" : "default",
2074 "value" : null,
2075 "mask" : null,
2076 "next_state" : null
2077 }
2078 ],
2079 "transition_key" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002080 }
2081 ]
2082 }
2083 ],
2084 "parse_vsets" : [],
2085 "deparsers" : [
2086 {
2087 "name" : "deparser",
2088 "id" : 0,
2089 "source_info" : {
2090 "filename" : "include/parser.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002091 "line" : 308,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002092 "column" : 8,
2093 "source_fragment" : "FabricDeparser"
2094 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002095 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "gtpu_options", "gtpu_ext_psc", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002096 "primitives" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002097 }
2098 ],
2099 "meter_arrays" : [
2100 {
2101 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
2102 "id" : 0,
2103 "source_info" : {
2104 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002105 "line" : 154,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002106 "column" : 33,
2107 "source_fragment" : "m_besteff"
2108 },
2109 "is_direct" : false,
2110 "size" : 8192,
2111 "rate_count" : 2,
2112 "type" : "bytes"
2113 },
2114 {
2115 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
2116 "id" : 1,
2117 "source_info" : {
2118 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002119 "line" : 155,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002120 "column" : 33,
2121 "source_fragment" : "m_prio"
2122 },
2123 "is_direct" : false,
2124 "size" : 8192,
2125 "rate_count" : 2,
2126 "type" : "bytes"
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002127 },
2128 {
2129 "name" : "FabricIngress.qos.slice_tc_meter",
2130 "id" : 2,
2131 "source_info" : {
2132 "filename" : "include/control/slicing.p4",
2133 "line" : 78,
2134 "column" : 41,
2135 "source_fragment" : "slice_tc_meter"
2136 },
2137 "is_direct" : false,
2138 "size" : 64,
2139 "rate_count" : 2,
2140 "type" : "bytes"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002141 }
2142 ],
2143 "counter_arrays" : [
2144 {
2145 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
2146 "id" : 0,
2147 "source_info" : {
2148 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002149 "line" : 36,
Daniele Moroce424ca2019-10-03 16:44:33 -07002150 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002151 "source_fragment" : "c_terminated"
2152 },
2153 "size" : 8192,
2154 "is_direct" : false
2155 },
2156 {
2157 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
2158 "id" : 1,
2159 "source_info" : {
2160 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002161 "line" : 37,
Daniele Moroce424ca2019-10-03 16:44:33 -07002162 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002163 "source_fragment" : "c_dropped"
2164 },
2165 "size" : 8192,
2166 "is_direct" : false
2167 },
2168 {
2169 "name" : "FabricIngress.bng_ingress.upstream.c_control",
2170 "id" : 2,
2171 "source_info" : {
2172 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002173 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002174 "column" : 39,
2175 "source_fragment" : "c_control"
2176 },
2177 "size" : 8192,
2178 "is_direct" : false
2179 },
2180 {
2181 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
2182 "id" : 3,
2183 "source_info" : {
2184 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002185 "line" : 152,
Daniele Moroce424ca2019-10-03 16:44:33 -07002186 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002187 "source_fragment" : "c_line_rx"
2188 },
2189 "size" : 8192,
2190 "is_direct" : false
2191 },
2192 {
2193 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
2194 "id" : 4,
2195 "is_direct" : true,
2196 "binding" : "FabricIngress.filtering.ingress_port_vlan",
2197 "source_info" : {
2198 "filename" : "include/control/filtering.p4",
2199 "line" : 31,
2200 "column" : 50,
2201 "source_fragment" : "ingress_port_vlan_counter"
2202 }
2203 },
2204 {
2205 "name" : "FabricIngress.filtering.fwd_classifier_counter",
2206 "id" : 5,
2207 "is_direct" : true,
2208 "binding" : "FabricIngress.filtering.fwd_classifier",
2209 "source_info" : {
2210 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002211 "line" : 87,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002212 "column" : 50,
2213 "source_fragment" : "fwd_classifier_counter"
2214 }
2215 },
2216 {
2217 "name" : "FabricIngress.forwarding.bridging_counter",
2218 "id" : 6,
2219 "is_direct" : true,
2220 "binding" : "FabricIngress.forwarding.bridging",
2221 "source_info" : {
2222 "filename" : "include/control/forwarding.p4",
2223 "line" : 36,
2224 "column" : 50,
2225 "source_fragment" : "bridging_counter"
2226 }
2227 },
2228 {
2229 "name" : "FabricIngress.forwarding.mpls_counter",
2230 "id" : 7,
2231 "is_direct" : true,
2232 "binding" : "FabricIngress.forwarding.mpls",
2233 "source_info" : {
2234 "filename" : "include/control/forwarding.p4",
2235 "line" : 63,
2236 "column" : 50,
2237 "source_fragment" : "mpls_counter"
2238 }
2239 },
2240 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002241 "name" : "FabricIngress.pre_next.next_mpls_counter",
Daniele Moro5a2de712019-09-24 14:34:07 -07002242 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002243 "is_direct" : true,
Wailok Shumfb7e7872021-06-18 17:30:08 +08002244 "binding" : "FabricIngress.pre_next.next_mpls",
2245 "source_info" : {
2246 "filename" : "include/control/pre_next.p4",
2247 "line" : 29,
2248 "column" : 50,
2249 "source_fragment" : "next_mpls_counter"
2250 }
2251 },
2252 {
2253 "name" : "FabricIngress.pre_next.next_vlan_counter",
2254 "id" : 9,
2255 "is_direct" : true,
2256 "binding" : "FabricIngress.pre_next.next_vlan",
2257 "source_info" : {
2258 "filename" : "include/control/pre_next.p4",
2259 "line" : 54,
2260 "column" : 50,
2261 "source_fragment" : "next_vlan_counter"
2262 }
2263 },
2264 {
2265 "name" : "FabricIngress.acl.acl_counter",
2266 "id" : 10,
2267 "is_direct" : true,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002268 "binding" : "FabricIngress.acl.acl",
2269 "source_info" : {
2270 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002271 "line" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002272 "column" : 50,
2273 "source_fragment" : "acl_counter"
2274 }
2275 },
2276 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002277 "name" : "FabricIngress.next.hashed_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002278 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002279 "is_direct" : true,
2280 "binding" : "FabricIngress.next.hashed",
2281 "source_info" : {
2282 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002283 "line" : 126,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002284 "column" : 50,
2285 "source_fragment" : "hashed_counter"
2286 }
2287 },
2288 {
2289 "name" : "FabricIngress.next.multicast_counter",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002290 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002291 "is_direct" : true,
2292 "binding" : "FabricIngress.next.multicast",
2293 "source_info" : {
2294 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002295 "line" : 163,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002296 "column" : 50,
2297 "source_fragment" : "multicast_counter"
2298 }
2299 },
2300 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002301 "name" : "FabricIngress.slice_tc_classifier.classifier_stats",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002302 "id" : 13,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002303 "is_direct" : true,
2304 "binding" : "FabricIngress.slice_tc_classifier.classifier",
2305 "source_info" : {
2306 "filename" : "include/control/slicing.p4",
2307 "line" : 32,
2308 "column" : 40,
2309 "source_fragment" : "classifier_stats"
2310 }
2311 },
2312 {
2313 "name" : "FabricIngress.qos.queues_stats",
2314 "id" : 14,
2315 "is_direct" : true,
2316 "binding" : "FabricIngress.qos.queues",
2317 "source_info" : {
2318 "filename" : "include/control/slicing.p4",
2319 "line" : 80,
2320 "column" : 40,
2321 "source_fragment" : "queues_stats"
2322 }
2323 },
2324 {
2325 "name" : "FabricIngress.port_counters_control.egress_port_counter",
2326 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002327 "source_info" : {
2328 "filename" : "include/control/port_counter.p4",
2329 "line" : 26,
2330 "column" : 48,
2331 "source_fragment" : "egress_port_counter"
2332 },
2333 "size" : 511,
2334 "is_direct" : false
2335 },
2336 {
2337 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002338 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002339 "source_info" : {
2340 "filename" : "include/control/port_counter.p4",
2341 "line" : 27,
2342 "column" : 48,
2343 "source_fragment" : "ingress_port_counter"
2344 },
2345 "size" : 511,
2346 "is_direct" : false
2347 },
2348 {
2349 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002350 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002351 "source_info" : {
2352 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002353 "line" : 267,
Daniele Moroce424ca2019-10-03 16:44:33 -07002354 "column" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002355 "source_fragment" : "c_line_tx"
2356 },
2357 "size" : 8192,
2358 "is_direct" : false
2359 },
2360 {
2361 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002362 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002363 "is_direct" : true,
2364 "binding" : "FabricEgress.egress_next.egress_vlan",
2365 "source_info" : {
2366 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002367 "line" : 248,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002368 "column" : 50,
2369 "source_fragment" : "egress_vlan_counter"
2370 }
2371 }
2372 ],
2373 "register_arrays" : [],
2374 "calculations" : [
2375 {
2376 "name" : "calc",
2377 "id" : 0,
2378 "source_info" : {
2379 "filename" : "include/checksum.p4",
2380 "line" : 28,
2381 "column" : 8,
2382 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
2383 },
2384 "algo" : "csum16",
2385 "input" : [
2386 {
2387 "type" : "field",
2388 "value" : ["ipv4", "version"]
2389 },
2390 {
2391 "type" : "field",
2392 "value" : ["ipv4", "ihl"]
2393 },
2394 {
2395 "type" : "field",
2396 "value" : ["ipv4", "dscp"]
2397 },
2398 {
2399 "type" : "field",
2400 "value" : ["ipv4", "ecn"]
2401 },
2402 {
2403 "type" : "field",
2404 "value" : ["ipv4", "total_len"]
2405 },
2406 {
2407 "type" : "field",
2408 "value" : ["ipv4", "identification"]
2409 },
2410 {
2411 "type" : "field",
2412 "value" : ["ipv4", "flags"]
2413 },
2414 {
2415 "type" : "field",
2416 "value" : ["ipv4", "frag_offset"]
2417 },
2418 {
2419 "type" : "field",
2420 "value" : ["ipv4", "ttl"]
2421 },
2422 {
2423 "type" : "field",
2424 "value" : ["ipv4", "protocol"]
2425 },
2426 {
2427 "type" : "field",
2428 "value" : ["ipv4", "src_addr"]
2429 },
2430 {
2431 "type" : "field",
2432 "value" : ["ipv4", "dst_addr"]
2433 }
2434 ]
2435 },
2436 {
2437 "name" : "calc_0",
2438 "id" : 1,
2439 "source_info" : {
2440 "filename" : "include/checksum.p4",
2441 "line" : 57,
2442 "column" : 8,
2443 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
2444 },
2445 "algo" : "csum16",
2446 "input" : [
2447 {
2448 "type" : "field",
2449 "value" : ["ipv4", "version"]
2450 },
2451 {
2452 "type" : "field",
2453 "value" : ["ipv4", "ihl"]
2454 },
2455 {
2456 "type" : "field",
2457 "value" : ["ipv4", "dscp"]
2458 },
2459 {
2460 "type" : "field",
2461 "value" : ["ipv4", "ecn"]
2462 },
2463 {
2464 "type" : "field",
2465 "value" : ["ipv4", "total_len"]
2466 },
2467 {
2468 "type" : "field",
2469 "value" : ["ipv4", "identification"]
2470 },
2471 {
2472 "type" : "field",
2473 "value" : ["ipv4", "flags"]
2474 },
2475 {
2476 "type" : "field",
2477 "value" : ["ipv4", "frag_offset"]
2478 },
2479 {
2480 "type" : "field",
2481 "value" : ["ipv4", "ttl"]
2482 },
2483 {
2484 "type" : "field",
2485 "value" : ["ipv4", "protocol"]
2486 },
2487 {
2488 "type" : "field",
2489 "value" : ["ipv4", "src_addr"]
2490 },
2491 {
2492 "type" : "field",
2493 "value" : ["ipv4", "dst_addr"]
2494 }
2495 ]
2496 }
2497 ],
2498 "learn_lists" : [],
2499 "actions" : [
2500 {
2501 "name" : "nop",
2502 "id" : 0,
2503 "runtime_data" : [],
2504 "primitives" : []
2505 },
2506 {
2507 "name" : "nop",
2508 "id" : 1,
2509 "runtime_data" : [],
2510 "primitives" : []
2511 },
2512 {
2513 "name" : "nop",
2514 "id" : 2,
2515 "runtime_data" : [],
2516 "primitives" : []
2517 },
2518 {
2519 "name" : "nop",
2520 "id" : 3,
2521 "runtime_data" : [],
2522 "primitives" : []
2523 },
2524 {
2525 "name" : "nop",
2526 "id" : 4,
2527 "runtime_data" : [],
2528 "primitives" : []
2529 },
2530 {
2531 "name" : "nop",
2532 "id" : 5,
2533 "runtime_data" : [],
2534 "primitives" : []
2535 },
2536 {
2537 "name" : "nop",
2538 "id" : 6,
2539 "runtime_data" : [],
2540 "primitives" : []
2541 },
2542 {
2543 "name" : "nop",
2544 "id" : 7,
2545 "runtime_data" : [],
2546 "primitives" : []
2547 },
2548 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002549 "name" : "nop",
Daniele Moro5a2de712019-09-24 14:34:07 -07002550 "id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002551 "runtime_data" : [],
Wailok Shumfb7e7872021-06-18 17:30:08 +08002552 "primitives" : []
2553 },
2554 {
2555 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
2556 "id" : 9,
2557 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002558 "primitives" : [
2559 {
2560 "op" : "assign",
2561 "parameters" : [
2562 {
2563 "type" : "field",
2564 "value" : ["standard_metadata", "egress_spec"]
2565 },
2566 {
2567 "type" : "hexstr",
2568 "value" : "0x00ff"
2569 }
2570 ],
2571 "source_info" : {
2572 "filename" : "include/bng.p4",
Daniele Moro7c3a0022019-07-12 13:38:34 -07002573 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002574 "column" : 8,
2575 "source_fragment" : "smeta.egress_spec = 255"
2576 }
2577 },
2578 {
Daniele Moro0cecfe12019-12-13 17:24:33 -08002579 "op" : "assign",
2580 "parameters" : [
2581 {
2582 "type" : "field",
2583 "value" : ["standard_metadata", "mcast_grp"]
2584 },
2585 {
2586 "type" : "hexstr",
2587 "value" : "0x0000"
2588 }
2589 ],
2590 "source_info" : {
2591 "filename" : "include/bng.p4",
2592 "line" : 47,
2593 "column" : 8,
2594 "source_fragment" : "smeta.mcast_grp = 0"
2595 }
2596 },
2597 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002598 "op" : "count",
2599 "parameters" : [
2600 {
2601 "type" : "counter_array",
2602 "value" : "FabricIngress.bng_ingress.upstream.c_control"
2603 },
2604 {
2605 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002606 "value" : ["scalars", "userMetadata._bng_line_id34"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002607 }
2608 ],
2609 "source_info" : {
2610 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002611 "line" : 48,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002612 "column" : 8,
2613 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
2614 }
2615 }
2616 ]
2617 },
2618 {
2619 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002620 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002621 "runtime_data" : [],
2622 "primitives" : [
2623 {
2624 "op" : "assign",
2625 "parameters" : [
2626 {
2627 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002628 "value" : ["scalars", "userMetadata._bng_type33"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002629 },
2630 {
2631 "type" : "hexstr",
2632 "value" : "0x00"
2633 }
2634 ],
2635 "source_info" : {
2636 "filename" : "include/control/../header.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002637 "line" : 184,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002638 "column" : 36,
2639 "source_fragment" : "2w0x0; ..."
2640 }
2641 },
2642 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002643 "op" : "mark_to_drop",
2644 "parameters" : [
2645 {
2646 "type" : "header",
2647 "value" : "standard_metadata"
2648 }
2649 ],
2650 "source_info" : {
2651 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002652 "line" : 77,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002653 "column" : 8,
2654 "source_fragment" : "mark_to_drop(smeta)"
2655 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002656 }
2657 ]
2658 },
2659 {
2660 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002661 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002662 "runtime_data" : [],
2663 "primitives" : [
2664 {
2665 "op" : "assign",
2666 "parameters" : [
2667 {
2668 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002669 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002670 },
2671 {
2672 "type" : "hexstr",
2673 "value" : "0x0800"
2674 }
2675 ],
2676 "source_info" : {
2677 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002678 "line" : 149,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002679 "column" : 31,
2680 "source_fragment" : "0x0800; ..."
2681 }
2682 },
2683 {
2684 "op" : "remove_header",
2685 "parameters" : [
2686 {
2687 "type" : "header",
2688 "value" : "pppoe"
2689 }
2690 ],
2691 "source_info" : {
2692 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002693 "line" : 71,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002694 "column" : 8,
2695 "source_fragment" : "hdr.pppoe.setInvalid()"
2696 }
2697 },
2698 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002699 "op" : "count",
2700 "parameters" : [
2701 {
2702 "type" : "counter_array",
2703 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
2704 },
2705 {
2706 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002707 "value" : ["scalars", "userMetadata._bng_line_id34"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002708 }
2709 ],
2710 "source_info" : {
2711 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002712 "line" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002713 "column" : 8,
2714 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
2715 }
2716 }
2717 ]
2718 },
2719 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002720 "name" : "FabricIngress.bng_ingress.downstream.set_session",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002721 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002722 "runtime_data" : [
2723 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002724 "name" : "pppoe_session_id",
2725 "bitwidth" : 16
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002726 }
2727 ],
2728 "primitives" : [
2729 {
2730 "op" : "assign",
2731 "parameters" : [
2732 {
2733 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002734 "value" : ["scalars", "userMetadata._bng_type33"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002735 },
2736 {
2737 "type" : "hexstr",
2738 "value" : "0x02"
2739 }
2740 ],
2741 "source_info" : {
2742 "filename" : "include/control/../header.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002743 "line" : 186,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002744 "column" : 39,
2745 "source_fragment" : "2w0x2;; ..."
2746 }
2747 },
2748 {
2749 "op" : "assign",
2750 "parameters" : [
2751 {
2752 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002753 "value" : ["scalars", "userMetadata._bng_pppoe_session_id35"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002754 },
2755 {
2756 "type" : "runtime_data",
2757 "value" : 0
2758 }
2759 ],
2760 "source_info" : {
2761 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002762 "line" : 159,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002763 "column" : 35,
2764 "source_fragment" : "= pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002765 }
2766 },
2767 {
2768 "op" : "count",
2769 "parameters" : [
2770 {
2771 "type" : "counter_array",
2772 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
2773 },
2774 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002775 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002776 "value" : ["scalars", "userMetadata._bng_line_id34"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002777 }
2778 ],
2779 "source_info" : {
2780 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002781 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002782 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002783 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002784 }
2785 }
2786 ]
2787 },
2788 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002789 "name" : "FabricIngress.bng_ingress.downstream.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002790 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002791 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002792 "primitives" : [
2793 {
2794 "op" : "assign",
2795 "parameters" : [
2796 {
2797 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002798 "value" : ["scalars", "userMetadata._bng_type33"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002799 },
2800 {
2801 "type" : "hexstr",
2802 "value" : "0x02"
2803 }
2804 ],
2805 "source_info" : {
2806 "filename" : "include/control/../header.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002807 "line" : 186,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002808 "column" : 39,
2809 "source_fragment" : "2w0x2;; ..."
2810 }
2811 },
2812 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002813 "op" : "count",
2814 "parameters" : [
2815 {
2816 "type" : "counter_array",
2817 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
2818 },
2819 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002820 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002821 "value" : ["scalars", "userMetadata._bng_line_id34"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002822 }
2823 ],
2824 "source_info" : {
2825 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002826 "line" : 165,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002827 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002828 "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002829 }
2830 },
2831 {
2832 "op" : "mark_to_drop",
2833 "parameters" : [
2834 {
2835 "type" : "header",
2836 "value" : "standard_metadata"
2837 }
2838 ],
2839 "source_info" : {
2840 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002841 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002842 "column" : 8,
2843 "source_fragment" : "mark_to_drop(smeta)"
2844 }
2845 }
2846 ]
2847 },
2848 {
2849 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
Daniele Moro5a2de712019-09-24 14:34:07 -07002850 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002851 "runtime_data" : [],
2852 "primitives" : []
2853 },
2854 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08002855 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
Daniele Moro5a2de712019-09-24 14:34:07 -07002856 "id" : 15,
Wailok Shumfb7e7872021-06-18 17:30:08 +08002857 "runtime_data" : [],
2858 "primitives" : []
2859 },
2860 {
2861 "name" : "FabricIngress.bng_ingress.set_line",
2862 "id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002863 "runtime_data" : [
2864 {
2865 "name" : "line_id",
2866 "bitwidth" : 32
2867 }
2868 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002869 "primitives" : [
2870 {
Daniele Moroe22b5742019-06-28 15:32:37 -07002871 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002872 "parameters" : [
2873 {
Daniele Moroe22b5742019-06-28 15:32:37 -07002874 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002875 "value" : ["scalars", "userMetadata._bng_line_id34"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002876 },
2877 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07002878 "type" : "runtime_data",
2879 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002880 }
2881 ],
2882 "source_info" : {
2883 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08002884 "line" : 320,
Daniele Moro7c3a0022019-07-12 13:38:34 -07002885 "column" : 30,
2886 "source_fragment" : "= line_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002887 }
2888 }
2889 ]
2890 },
2891 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002892 "name" : "FabricIngress.filtering.deny",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002893 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002894 "runtime_data" : [],
2895 "primitives" : [
2896 {
2897 "op" : "assign",
2898 "parameters" : [
2899 {
2900 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002901 "value" : ["scalars", "userMetadata._skip_forwarding18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002902 },
2903 {
2904 "type" : "expression",
2905 "value" : {
2906 "type" : "expression",
2907 "value" : {
2908 "op" : "b2d",
2909 "left" : null,
2910 "right" : {
2911 "type" : "bool",
2912 "value" : true
2913 }
2914 }
2915 }
2916 }
2917 ],
2918 "source_info" : {
2919 "filename" : "include/control/filtering.p4",
2920 "line" : 36,
2921 "column" : 40,
2922 "source_fragment" : "= true; ..."
2923 }
2924 },
2925 {
2926 "op" : "assign",
2927 "parameters" : [
2928 {
2929 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002930 "value" : ["scalars", "userMetadata._skip_next19"]
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/filtering.p4",
2949 "line" : 37,
2950 "column" : 34,
2951 "source_fragment" : "= true; ..."
2952 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08002953 },
2954 {
2955 "op" : "assign",
2956 "parameters" : [
2957 {
2958 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002959 "value" : ["scalars", "userMetadata._port_type39"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08002960 },
2961 {
2962 "type" : "hexstr",
2963 "value" : "0x00"
2964 }
2965 ],
2966 "source_info" : {
2967 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002968 "line" : 136,
Wailok Shumfb7e7872021-06-18 17:30:08 +08002969 "column" : 38,
2970 "source_fragment" : "0x0; ..."
2971 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002972 }
2973 ]
2974 },
2975 {
2976 "name" : "FabricIngress.filtering.permit",
Wailok Shumfb7e7872021-06-18 17:30:08 +08002977 "id" : 18,
2978 "runtime_data" : [
2979 {
2980 "name" : "port_type",
2981 "bitwidth" : 2
2982 }
2983 ],
2984 "primitives" : [
2985 {
2986 "op" : "assign",
2987 "parameters" : [
2988 {
2989 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02002990 "value" : ["scalars", "userMetadata._port_type39"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08002991 },
2992 {
2993 "type" : "runtime_data",
2994 "value" : 0
2995 }
2996 ],
2997 "source_info" : {
2998 "filename" : "include/control/filtering.p4",
2999 "line" : 44,
3000 "column" : 34,
3001 "source_fragment" : "= port_type; ..."
3002 }
3003 }
3004 ]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003005 },
3006 {
3007 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003008 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003009 "runtime_data" : [
3010 {
3011 "name" : "vlan_id",
3012 "bitwidth" : 12
Wailok Shumfb7e7872021-06-18 17:30:08 +08003013 },
3014 {
3015 "name" : "port_type",
3016 "bitwidth" : 2
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003017 }
3018 ],
3019 "primitives" : [
3020 {
3021 "op" : "assign",
3022 "parameters" : [
3023 {
3024 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003025 "value" : ["scalars", "userMetadata._vlan_id9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003026 },
3027 {
3028 "type" : "runtime_data",
3029 "value" : 0
3030 }
3031 ],
3032 "source_info" : {
3033 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003034 "line" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003035 "column" : 32,
3036 "source_fragment" : "= vlan_id; ..."
3037 }
Wailok Shumfb7e7872021-06-18 17:30:08 +08003038 },
3039 {
3040 "op" : "assign",
3041 "parameters" : [
3042 {
3043 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003044 "value" : ["scalars", "userMetadata._port_type39"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08003045 },
3046 {
3047 "type" : "runtime_data",
3048 "value" : 1
3049 }
3050 ],
3051 "source_info" : {
3052 "filename" : "include/control/filtering.p4",
3053 "line" : 44,
3054 "column" : 34,
3055 "source_fragment" : "= port_type; ..."
3056 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003057 }
3058 ]
3059 },
3060 {
3061 "name" : "FabricIngress.filtering.set_forwarding_type",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003062 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003063 "runtime_data" : [
3064 {
3065 "name" : "fwd_type",
3066 "bitwidth" : 3
3067 }
3068 ],
3069 "primitives" : [
3070 {
3071 "op" : "assign",
3072 "parameters" : [
3073 {
3074 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003075 "value" : ["scalars", "userMetadata._fwd_type20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003076 },
3077 {
3078 "type" : "runtime_data",
3079 "value" : 0
3080 }
3081 ],
3082 "source_info" : {
3083 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003084 "line" : 90,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003085 "column" : 33,
3086 "source_fragment" : "= fwd_type; ..."
3087 }
3088 }
3089 ]
3090 },
3091 {
3092 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003093 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003094 "runtime_data" : [
3095 {
3096 "name" : "next_id",
3097 "bitwidth" : 32
3098 }
3099 ],
3100 "primitives" : [
3101 {
3102 "op" : "assign",
3103 "parameters" : [
3104 {
3105 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003106 "value" : ["scalars", "userMetadata._next_id21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003107 },
3108 {
3109 "type" : "runtime_data",
3110 "value" : 0
3111 }
3112 ],
3113 "source_info" : {
3114 "filename" : "include/control/forwarding.p4",
3115 "line" : 30,
3116 "column" : 32,
3117 "source_fragment" : "= next_id; ..."
3118 }
3119 }
3120 ]
3121 },
3122 {
3123 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003124 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003125 "runtime_data" : [
3126 {
3127 "name" : "next_id",
3128 "bitwidth" : 32
3129 }
3130 ],
3131 "primitives" : [
3132 {
3133 "op" : "assign",
3134 "parameters" : [
3135 {
3136 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003137 "value" : ["scalars", "userMetadata._mpls_label16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003138 },
3139 {
3140 "type" : "hexstr",
3141 "value" : "0x000000"
3142 }
3143 ],
3144 "source_info" : {
3145 "filename" : "include/control/forwarding.p4",
3146 "line" : 66,
3147 "column" : 35,
3148 "source_fragment" : "= 0; ..."
3149 }
3150 },
3151 {
3152 "op" : "assign",
3153 "parameters" : [
3154 {
3155 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003156 "value" : ["scalars", "userMetadata._next_id21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003157 },
3158 {
3159 "type" : "runtime_data",
3160 "value" : 0
3161 }
3162 ],
3163 "source_info" : {
3164 "filename" : "include/control/forwarding.p4",
3165 "line" : 30,
3166 "column" : 32,
3167 "source_fragment" : "= next_id; ..."
3168 }
3169 }
3170 ]
3171 },
3172 {
3173 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003174 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003175 "runtime_data" : [
3176 {
3177 "name" : "next_id",
3178 "bitwidth" : 32
3179 }
3180 ],
3181 "primitives" : [
3182 {
3183 "op" : "assign",
3184 "parameters" : [
3185 {
3186 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003187 "value" : ["scalars", "userMetadata._next_id21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003188 },
3189 {
3190 "type" : "runtime_data",
3191 "value" : 0
3192 }
3193 ],
3194 "source_info" : {
3195 "filename" : "include/control/forwarding.p4",
3196 "line" : 30,
3197 "column" : 32,
3198 "source_fragment" : "= next_id; ..."
3199 }
3200 }
3201 ]
3202 },
3203 {
3204 "name" : "FabricIngress.forwarding.nop_routing_v4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003205 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003206 "runtime_data" : [],
3207 "primitives" : []
3208 },
3209 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08003210 "name" : "FabricIngress.pre_next.set_mpls_label",
3211 "id" : 25,
3212 "runtime_data" : [
3213 {
3214 "name" : "label",
3215 "bitwidth" : 20
3216 }
3217 ],
3218 "primitives" : [
3219 {
3220 "op" : "assign",
3221 "parameters" : [
3222 {
3223 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003224 "value" : ["scalars", "userMetadata._mpls_label16"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08003225 },
3226 {
3227 "type" : "runtime_data",
3228 "value" : 0
3229 }
3230 ],
3231 "source_info" : {
3232 "filename" : "include/control/pre_next.p4",
3233 "line" : 32,
3234 "column" : 35,
3235 "source_fragment" : "= label; ..."
3236 }
3237 }
3238 ]
3239 },
3240 {
3241 "name" : "FabricIngress.pre_next.set_vlan",
3242 "id" : 26,
3243 "runtime_data" : [
3244 {
3245 "name" : "vlan_id",
3246 "bitwidth" : 12
3247 }
3248 ],
3249 "primitives" : [
3250 {
3251 "op" : "assign",
3252 "parameters" : [
3253 {
3254 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003255 "value" : ["scalars", "userMetadata._vlan_id9"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08003256 },
3257 {
3258 "type" : "runtime_data",
3259 "value" : 0
3260 }
3261 ],
3262 "source_info" : {
3263 "filename" : "include/control/pre_next.p4",
3264 "line" : 57,
3265 "column" : 32,
3266 "source_fragment" : "= vlan_id; ..."
3267 }
3268 }
3269 ]
3270 },
3271 {
3272 "name" : "FabricIngress.pre_next.set_double_vlan",
3273 "id" : 27,
3274 "runtime_data" : [
3275 {
3276 "name" : "outer_vlan_id",
3277 "bitwidth" : 12
3278 },
3279 {
3280 "name" : "inner_vlan_id",
3281 "bitwidth" : 12
3282 }
3283 ],
3284 "primitives" : [
3285 {
3286 "op" : "assign",
3287 "parameters" : [
3288 {
3289 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003290 "value" : ["scalars", "userMetadata._vlan_id9"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08003291 },
3292 {
3293 "type" : "runtime_data",
3294 "value" : 0
3295 }
3296 ],
3297 "source_info" : {
3298 "filename" : "include/control/pre_next.p4",
3299 "line" : 57,
3300 "column" : 32,
3301 "source_fragment" : "= vlan_id; ..."
3302 }
3303 },
3304 {
3305 "op" : "assign",
3306 "parameters" : [
3307 {
3308 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003309 "value" : ["scalars", "userMetadata._push_double_vlan12"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08003310 },
3311 {
3312 "type" : "expression",
3313 "value" : {
3314 "type" : "expression",
3315 "value" : {
3316 "op" : "b2d",
3317 "left" : null,
3318 "right" : {
3319 "type" : "bool",
3320 "value" : true
3321 }
3322 }
3323 }
3324 }
3325 ],
3326 "source_info" : {
3327 "filename" : "include/control/pre_next.p4",
3328 "line" : 64,
3329 "column" : 41,
3330 "source_fragment" : "= true; ..."
3331 }
3332 },
3333 {
3334 "op" : "assign",
3335 "parameters" : [
3336 {
3337 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003338 "value" : ["scalars", "userMetadata._inner_vlan_id13"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08003339 },
3340 {
3341 "type" : "runtime_data",
3342 "value" : 1
3343 }
3344 ],
3345 "source_info" : {
3346 "filename" : "include/control/pre_next.p4",
3347 "line" : 65,
3348 "column" : 38,
3349 "source_fragment" : "= inner_vlan_id; ..."
3350 }
3351 },
3352 {
3353 "op" : "assign",
3354 "parameters" : [
3355 {
3356 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003357 "value" : ["scalars", "userMetadata._bng_s_tag37"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08003358 },
3359 {
3360 "type" : "runtime_data",
3361 "value" : 0
3362 }
3363 ],
3364 "source_info" : {
3365 "filename" : "include/control/pre_next.p4",
3366 "line" : 67,
3367 "column" : 34,
3368 "source_fragment" : "= outer_vlan_id; ..."
3369 }
3370 },
3371 {
3372 "op" : "assign",
3373 "parameters" : [
3374 {
3375 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003376 "value" : ["scalars", "userMetadata._bng_c_tag38"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08003377 },
3378 {
3379 "type" : "runtime_data",
3380 "value" : 1
3381 }
3382 ],
3383 "source_info" : {
3384 "filename" : "include/control/pre_next.p4",
3385 "line" : 68,
3386 "column" : 34,
3387 "source_fragment" : "= inner_vlan_id; ..."
3388 }
3389 }
3390 ]
3391 },
3392 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003393 "name" : "FabricIngress.acl.set_next_id_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003394 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003395 "runtime_data" : [
3396 {
3397 "name" : "next_id",
3398 "bitwidth" : 32
3399 }
3400 ],
3401 "primitives" : [
3402 {
3403 "op" : "assign",
3404 "parameters" : [
3405 {
3406 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003407 "value" : ["scalars", "userMetadata._next_id21"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003408 },
3409 {
3410 "type" : "runtime_data",
3411 "value" : 0
3412 }
3413 ],
3414 "source_info" : {
3415 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003416 "line" : 32,
3417 "column" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003418 "source_fragment" : "= next_id; ..."
3419 }
3420 }
3421 ]
3422 },
3423 {
3424 "name" : "FabricIngress.acl.punt_to_cpu",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003425 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003426 "runtime_data" : [],
3427 "primitives" : [
3428 {
3429 "op" : "assign",
3430 "parameters" : [
3431 {
3432 "type" : "field",
3433 "value" : ["standard_metadata", "egress_spec"]
3434 },
3435 {
3436 "type" : "hexstr",
3437 "value" : "0x00ff"
3438 }
3439 ],
3440 "source_info" : {
3441 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003442 "line" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003443 "column" : 8,
3444 "source_fragment" : "standard_metadata.egress_spec = 255"
3445 }
3446 },
3447 {
3448 "op" : "assign",
3449 "parameters" : [
3450 {
3451 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003452 "value" : ["scalars", "userMetadata._skip_next19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003453 },
3454 {
3455 "type" : "expression",
3456 "value" : {
3457 "type" : "expression",
3458 "value" : {
3459 "op" : "b2d",
3460 "left" : null,
3461 "right" : {
3462 "type" : "bool",
3463 "value" : true
3464 }
3465 }
3466 }
3467 }
3468 ],
3469 "source_info" : {
3470 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003471 "line" : 39,
3472 "column" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003473 "source_fragment" : "= true; ..."
3474 }
3475 }
3476 ]
3477 },
3478 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003479 "name" : "FabricIngress.acl.set_clone_session_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003480 "id" : 30,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003481 "runtime_data" : [
3482 {
3483 "name" : "clone_id",
3484 "bitwidth" : 32
3485 }
3486 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003487 "primitives" : [
3488 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003489 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003490 "parameters" : [
3491 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003492 "type" : "runtime_data",
3493 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003494 },
3495 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003496 "type" : "hexstr",
3497 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003498 }
3499 ],
3500 "source_info" : {
3501 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003502 "line" : 45,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003503 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003504 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003505 }
3506 }
3507 ]
3508 },
3509 {
3510 "name" : "FabricIngress.acl.drop",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003511 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003512 "runtime_data" : [],
3513 "primitives" : [
3514 {
3515 "op" : "mark_to_drop",
3516 "parameters" : [
3517 {
3518 "type" : "header",
3519 "value" : "standard_metadata"
3520 }
3521 ],
3522 "source_info" : {
3523 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003524 "line" : 50,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003525 "column" : 8,
3526 "source_fragment" : "mark_to_drop(standard_metadata)"
3527 }
3528 },
3529 {
3530 "op" : "assign",
3531 "parameters" : [
3532 {
3533 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003534 "value" : ["scalars", "userMetadata._skip_next19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003535 },
3536 {
3537 "type" : "expression",
3538 "value" : {
3539 "type" : "expression",
3540 "value" : {
3541 "op" : "b2d",
3542 "left" : null,
3543 "right" : {
3544 "type" : "bool",
3545 "value" : true
3546 }
3547 }
3548 }
3549 }
3550 ],
3551 "source_info" : {
3552 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003553 "line" : 51,
3554 "column" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003555 "source_fragment" : "= true; ..."
3556 }
3557 }
3558 ]
3559 },
3560 {
3561 "name" : "FabricIngress.acl.nop_acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003562 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003563 "runtime_data" : [],
3564 "primitives" : []
3565 },
3566 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07003567 "name" : "FabricIngress.next.output_hashed",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003568 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003569 "runtime_data" : [
3570 {
3571 "name" : "port_num",
3572 "bitwidth" : 9
3573 }
3574 ],
3575 "primitives" : [
3576 {
3577 "op" : "assign",
3578 "parameters" : [
3579 {
3580 "type" : "field",
3581 "value" : ["standard_metadata", "egress_spec"]
3582 },
3583 {
3584 "type" : "runtime_data",
3585 "value" : 0
3586 }
3587 ],
3588 "source_info" : {
3589 "filename" : "include/control/next.p4",
3590 "line" : 31,
3591 "column" : 5,
3592 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3593 }
3594 }
3595 ]
3596 },
3597 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003598 "name" : "FabricIngress.next.routing_hashed",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003599 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003600 "runtime_data" : [
3601 {
3602 "name" : "port_num",
3603 "bitwidth" : 9
3604 },
3605 {
3606 "name" : "smac",
3607 "bitwidth" : 48
3608 },
3609 {
3610 "name" : "dmac",
3611 "bitwidth" : 48
3612 }
3613 ],
3614 "primitives" : [
3615 {
3616 "op" : "assign",
3617 "parameters" : [
3618 {
3619 "type" : "field",
3620 "value" : ["ethernet", "src_addr"]
3621 },
3622 {
3623 "type" : "runtime_data",
3624 "value" : 1
3625 }
3626 ],
3627 "source_info" : {
3628 "filename" : "include/control/next.p4",
3629 "line" : 36,
3630 "column" : 8,
3631 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3632 }
3633 },
3634 {
3635 "op" : "assign",
3636 "parameters" : [
3637 {
3638 "type" : "field",
3639 "value" : ["ethernet", "dst_addr"]
3640 },
3641 {
3642 "type" : "runtime_data",
3643 "value" : 2
3644 }
3645 ],
3646 "source_info" : {
3647 "filename" : "include/control/next.p4",
3648 "line" : 41,
3649 "column" : 8,
3650 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3651 }
3652 },
3653 {
3654 "op" : "assign",
3655 "parameters" : [
3656 {
3657 "type" : "field",
3658 "value" : ["standard_metadata", "egress_spec"]
3659 },
3660 {
3661 "type" : "runtime_data",
3662 "value" : 0
3663 }
3664 ],
3665 "source_info" : {
3666 "filename" : "include/control/next.p4",
3667 "line" : 31,
3668 "column" : 5,
3669 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3670 }
3671 }
3672 ]
3673 },
3674 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003675 "name" : "FabricIngress.next.set_mcast_group_id",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003676 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003677 "runtime_data" : [
3678 {
3679 "name" : "group_id",
3680 "bitwidth" : 16
3681 }
3682 ],
3683 "primitives" : [
3684 {
3685 "op" : "assign",
3686 "parameters" : [
3687 {
3688 "type" : "field",
3689 "value" : ["standard_metadata", "mcast_grp"]
3690 },
3691 {
3692 "type" : "runtime_data",
3693 "value" : 0
3694 }
3695 ],
3696 "source_info" : {
3697 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003698 "line" : 166,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003699 "column" : 8,
3700 "source_fragment" : "standard_metadata.mcast_grp = group_id"
3701 }
3702 },
3703 {
3704 "op" : "assign",
3705 "parameters" : [
3706 {
3707 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003708 "value" : ["scalars", "userMetadata._is_multicast22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003709 },
3710 {
3711 "type" : "expression",
3712 "value" : {
3713 "type" : "expression",
3714 "value" : {
3715 "op" : "b2d",
3716 "left" : null,
3717 "right" : {
3718 "type" : "bool",
3719 "value" : true
3720 }
3721 }
3722 }
3723 }
3724 ],
3725 "source_info" : {
3726 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003727 "line" : 167,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003728 "column" : 37,
3729 "source_fragment" : "= true; ..."
3730 }
3731 }
3732 ]
3733 },
3734 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003735 "name" : "FabricIngress.slice_tc_classifier.set_slice_id_tc",
Wailok Shumfb7e7872021-06-18 17:30:08 +08003736 "id" : 36,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02003737 "runtime_data" : [
3738 {
3739 "name" : "slice_id",
3740 "bitwidth" : 4
3741 },
3742 {
3743 "name" : "tc",
3744 "bitwidth" : 2
3745 }
3746 ],
3747 "primitives" : [
3748 {
3749 "op" : "assign",
3750 "parameters" : [
3751 {
3752 "type" : "field",
3753 "value" : ["scalars", "userMetadata._slice_id29"]
3754 },
3755 {
3756 "type" : "runtime_data",
3757 "value" : 0
3758 }
3759 ],
3760 "source_info" : {
3761 "filename" : "include/control/slicing.p4",
3762 "line" : 35,
3763 "column" : 27,
3764 "source_fragment" : "= slice_id; ..."
3765 }
3766 },
3767 {
3768 "op" : "assign",
3769 "parameters" : [
3770 {
3771 "type" : "field",
3772 "value" : ["scalars", "userMetadata._tc31"]
3773 },
3774 {
3775 "type" : "runtime_data",
3776 "value" : 1
3777 }
3778 ],
3779 "source_info" : {
3780 "filename" : "include/control/slicing.p4",
3781 "line" : 36,
3782 "column" : 21,
3783 "source_fragment" : "= tc; ..."
3784 }
3785 }
3786 ]
3787 },
3788 {
3789 "name" : "FabricIngress.slice_tc_classifier.trust_dscp",
3790 "id" : 37,
3791 "runtime_data" : [],
3792 "primitives" : [
3793 {
3794 "op" : "assign",
3795 "parameters" : [
3796 {
3797 "type" : "field",
3798 "value" : ["scalars", "userMetadata._slice_id29"]
3799 },
3800 {
3801 "type" : "expression",
3802 "value" : {
3803 "type" : "expression",
3804 "value" : {
3805 "op" : "&",
3806 "left" : {
3807 "type" : "expression",
3808 "value" : {
3809 "op" : "&",
3810 "left" : {
3811 "type" : "expression",
3812 "value" : {
3813 "op" : ">>",
3814 "left" : {
3815 "type" : "field",
3816 "value" : ["ipv4", "dscp"]
3817 },
3818 "right" : {
3819 "type" : "hexstr",
3820 "value" : "0x2"
3821 }
3822 }
3823 },
3824 "right" : {
3825 "type" : "hexstr",
3826 "value" : "0x3f"
3827 }
3828 }
3829 },
3830 "right" : {
3831 "type" : "hexstr",
3832 "value" : "0x0f"
3833 }
3834 }
3835 }
3836 }
3837 ],
3838 "source_info" : {
3839 "filename" : "include/control/slicing.p4",
3840 "line" : 44,
3841 "column" : 27,
3842 "source_fragment" : "= hdr.ipv4.dscp[4 +2 -1:2]; ..."
3843 }
3844 },
3845 {
3846 "op" : "assign",
3847 "parameters" : [
3848 {
3849 "type" : "field",
3850 "value" : ["scalars", "userMetadata._tc31"]
3851 },
3852 {
3853 "type" : "expression",
3854 "value" : {
3855 "type" : "expression",
3856 "value" : {
3857 "op" : "&",
3858 "left" : {
3859 "type" : "field",
3860 "value" : ["ipv4", "dscp"]
3861 },
3862 "right" : {
3863 "type" : "hexstr",
3864 "value" : "0x03"
3865 }
3866 }
3867 }
3868 }
3869 ],
3870 "source_info" : {
3871 "filename" : "include/control/slicing.p4",
3872 "line" : 45,
3873 "column" : 21,
3874 "source_fragment" : "= hdr.ipv4.dscp[2 -1:0]; ..."
3875 }
3876 }
3877 ]
3878 },
3879 {
3880 "name" : "FabricIngress.qos.set_queue",
3881 "id" : 38,
3882 "runtime_data" : [
3883 {
3884 "name" : "qid",
3885 "bitwidth" : 5
3886 }
3887 ],
3888 "primitives" : []
3889 },
3890 {
3891 "name" : "FabricIngress.qos.meter_drop",
3892 "id" : 39,
3893 "runtime_data" : [],
3894 "primitives" : [
3895 {
3896 "op" : "mark_to_drop",
3897 "parameters" : [
3898 {
3899 "type" : "header",
3900 "value" : "standard_metadata"
3901 }
3902 ],
3903 "source_info" : {
3904 "filename" : "include/control/slicing.p4",
3905 "line" : 89,
3906 "column" : 8,
3907 "source_fragment" : "mark_to_drop(standard_metadata)"
3908 }
3909 }
3910 ]
3911 },
3912 {
3913 "name" : "lookup_md_init37",
3914 "id" : 40,
3915 "runtime_data" : [],
3916 "primitives" : [
3917 {
3918 "op" : "assign",
3919 "parameters" : [
3920 {
3921 "type" : "field",
3922 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
3923 },
3924 {
3925 "type" : "field",
3926 "value" : ["inner_tcp", "sport"]
3927 }
3928 ],
3929 "source_info" : {
3930 "filename" : "include/control/lookup_md_init.p4",
3931 "line" : 37,
3932 "column" : 32,
3933 "source_fragment" : "= hdr.inner_tcp.sport; ..."
3934 }
3935 },
3936 {
3937 "op" : "assign",
3938 "parameters" : [
3939 {
3940 "type" : "field",
3941 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
3942 },
3943 {
3944 "type" : "field",
3945 "value" : ["inner_tcp", "dport"]
3946 }
3947 ],
3948 "source_info" : {
3949 "filename" : "include/control/lookup_md_init.p4",
3950 "line" : 38,
3951 "column" : 32,
3952 "source_fragment" : "= hdr.inner_tcp.dport; ..."
3953 }
3954 }
3955 ]
3956 },
3957 {
3958 "name" : "lookup_md_init40",
3959 "id" : 41,
3960 "runtime_data" : [],
3961 "primitives" : [
3962 {
3963 "op" : "assign",
3964 "parameters" : [
3965 {
3966 "type" : "field",
3967 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
3968 },
3969 {
3970 "type" : "field",
3971 "value" : ["inner_udp", "sport"]
3972 }
3973 ],
3974 "source_info" : {
3975 "filename" : "include/control/lookup_md_init.p4",
3976 "line" : 40,
3977 "column" : 32,
3978 "source_fragment" : "= hdr.inner_udp.sport; ..."
3979 }
3980 },
3981 {
3982 "op" : "assign",
3983 "parameters" : [
3984 {
3985 "type" : "field",
3986 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
3987 },
3988 {
3989 "type" : "field",
3990 "value" : ["inner_udp", "dport"]
3991 }
3992 ],
3993 "source_info" : {
3994 "filename" : "include/control/lookup_md_init.p4",
3995 "line" : 41,
3996 "column" : 32,
3997 "source_fragment" : "= hdr.inner_udp.dport; ..."
3998 }
3999 }
4000 ]
4001 },
4002 {
4003 "name" : "lookup_md_init43",
4004 "id" : 42,
4005 "runtime_data" : [],
4006 "primitives" : [
4007 {
4008 "op" : "assign",
4009 "parameters" : [
4010 {
4011 "type" : "field",
4012 "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
4013 },
4014 {
4015 "type" : "field",
4016 "value" : ["inner_icmp", "icmp_type"]
4017 }
4018 ],
4019 "source_info" : {
4020 "filename" : "include/control/lookup_md_init.p4",
4021 "line" : 43,
4022 "column" : 33,
4023 "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
4024 }
4025 },
4026 {
4027 "op" : "assign",
4028 "parameters" : [
4029 {
4030 "type" : "field",
4031 "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
4032 },
4033 {
4034 "type" : "field",
4035 "value" : ["inner_icmp", "icmp_code"]
4036 }
4037 ],
4038 "source_info" : {
4039 "filename" : "include/control/lookup_md_init.p4",
4040 "line" : 44,
4041 "column" : 33,
4042 "source_fragment" : "= hdr.inner_icmp.icmp_code; ..."
4043 }
4044 }
4045 ]
4046 },
4047 {
4048 "name" : "lookup_md_init32",
4049 "id" : 43,
4050 "runtime_data" : [],
4051 "primitives" : [
4052 {
4053 "op" : "assign",
4054 "parameters" : [
4055 {
4056 "type" : "field",
4057 "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
4058 },
4059 {
4060 "type" : "expression",
4061 "value" : {
4062 "type" : "expression",
4063 "value" : {
4064 "op" : "b2d",
4065 "left" : null,
4066 "right" : {
4067 "type" : "bool",
4068 "value" : true
4069 }
4070 }
4071 }
4072 }
4073 ],
4074 "source_info" : {
4075 "filename" : "include/control/lookup_md_init.p4",
4076 "line" : 32,
4077 "column" : 27,
4078 "source_fragment" : "= true; ..."
4079 }
4080 },
4081 {
4082 "op" : "assign",
4083 "parameters" : [
4084 {
4085 "type" : "field",
4086 "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
4087 },
4088 {
4089 "type" : "field",
4090 "value" : ["inner_ipv4", "src_addr"]
4091 }
4092 ],
4093 "source_info" : {
4094 "filename" : "include/control/lookup_md_init.p4",
4095 "line" : 33,
4096 "column" : 28,
4097 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4098 }
4099 },
4100 {
4101 "op" : "assign",
4102 "parameters" : [
4103 {
4104 "type" : "field",
4105 "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
4106 },
4107 {
4108 "type" : "field",
4109 "value" : ["inner_ipv4", "dst_addr"]
4110 }
4111 ],
4112 "source_info" : {
4113 "filename" : "include/control/lookup_md_init.p4",
4114 "line" : 34,
4115 "column" : 28,
4116 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4117 }
4118 },
4119 {
4120 "op" : "assign",
4121 "parameters" : [
4122 {
4123 "type" : "field",
4124 "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
4125 },
4126 {
4127 "type" : "field",
4128 "value" : ["inner_ipv4", "protocol"]
4129 }
4130 ],
4131 "source_info" : {
4132 "filename" : "include/control/lookup_md_init.p4",
4133 "line" : 35,
4134 "column" : 28,
4135 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4136 }
4137 }
4138 ]
4139 },
4140 {
4141 "name" : "lookup_md_init52",
4142 "id" : 44,
4143 "runtime_data" : [],
4144 "primitives" : [
4145 {
4146 "op" : "assign",
4147 "parameters" : [
4148 {
4149 "type" : "field",
4150 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
4151 },
4152 {
4153 "type" : "field",
4154 "value" : ["tcp", "sport"]
4155 }
4156 ],
4157 "source_info" : {
4158 "filename" : "include/control/lookup_md_init.p4",
4159 "line" : 52,
4160 "column" : 32,
4161 "source_fragment" : "= hdr.tcp.sport; ..."
4162 }
4163 },
4164 {
4165 "op" : "assign",
4166 "parameters" : [
4167 {
4168 "type" : "field",
4169 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
4170 },
4171 {
4172 "type" : "field",
4173 "value" : ["tcp", "dport"]
4174 }
4175 ],
4176 "source_info" : {
4177 "filename" : "include/control/lookup_md_init.p4",
4178 "line" : 53,
4179 "column" : 32,
4180 "source_fragment" : "= hdr.tcp.dport; ..."
4181 }
4182 }
4183 ]
4184 },
4185 {
4186 "name" : "lookup_md_init55",
4187 "id" : 45,
4188 "runtime_data" : [],
4189 "primitives" : [
4190 {
4191 "op" : "assign",
4192 "parameters" : [
4193 {
4194 "type" : "field",
4195 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
4196 },
4197 {
4198 "type" : "field",
4199 "value" : ["udp", "sport"]
4200 }
4201 ],
4202 "source_info" : {
4203 "filename" : "include/control/lookup_md_init.p4",
4204 "line" : 55,
4205 "column" : 32,
4206 "source_fragment" : "= hdr.udp.sport; ..."
4207 }
4208 },
4209 {
4210 "op" : "assign",
4211 "parameters" : [
4212 {
4213 "type" : "field",
4214 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
4215 },
4216 {
4217 "type" : "field",
4218 "value" : ["udp", "dport"]
4219 }
4220 ],
4221 "source_info" : {
4222 "filename" : "include/control/lookup_md_init.p4",
4223 "line" : 56,
4224 "column" : 32,
4225 "source_fragment" : "= hdr.udp.dport; ..."
4226 }
4227 }
4228 ]
4229 },
4230 {
4231 "name" : "lookup_md_init58",
4232 "id" : 46,
4233 "runtime_data" : [],
4234 "primitives" : [
4235 {
4236 "op" : "assign",
4237 "parameters" : [
4238 {
4239 "type" : "field",
4240 "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
4241 },
4242 {
4243 "type" : "field",
4244 "value" : ["icmp", "icmp_type"]
4245 }
4246 ],
4247 "source_info" : {
4248 "filename" : "include/control/lookup_md_init.p4",
4249 "line" : 58,
4250 "column" : 33,
4251 "source_fragment" : "= hdr.icmp.icmp_type; ..."
4252 }
4253 },
4254 {
4255 "op" : "assign",
4256 "parameters" : [
4257 {
4258 "type" : "field",
4259 "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
4260 },
4261 {
4262 "type" : "field",
4263 "value" : ["icmp", "icmp_code"]
4264 }
4265 ],
4266 "source_info" : {
4267 "filename" : "include/control/lookup_md_init.p4",
4268 "line" : 59,
4269 "column" : 33,
4270 "source_fragment" : "= hdr.icmp.icmp_code; ..."
4271 }
4272 }
4273 ]
4274 },
4275 {
4276 "name" : "lookup_md_init47",
4277 "id" : 47,
4278 "runtime_data" : [],
4279 "primitives" : [
4280 {
4281 "op" : "assign",
4282 "parameters" : [
4283 {
4284 "type" : "field",
4285 "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
4286 },
4287 {
4288 "type" : "expression",
4289 "value" : {
4290 "type" : "expression",
4291 "value" : {
4292 "op" : "b2d",
4293 "left" : null,
4294 "right" : {
4295 "type" : "bool",
4296 "value" : true
4297 }
4298 }
4299 }
4300 }
4301 ],
4302 "source_info" : {
4303 "filename" : "include/control/lookup_md_init.p4",
4304 "line" : 47,
4305 "column" : 27,
4306 "source_fragment" : "= true; ..."
4307 }
4308 },
4309 {
4310 "op" : "assign",
4311 "parameters" : [
4312 {
4313 "type" : "field",
4314 "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
4315 },
4316 {
4317 "type" : "field",
4318 "value" : ["ipv4", "src_addr"]
4319 }
4320 ],
4321 "source_info" : {
4322 "filename" : "include/control/lookup_md_init.p4",
4323 "line" : 48,
4324 "column" : 28,
4325 "source_fragment" : "= hdr.ipv4.src_addr; ..."
4326 }
4327 },
4328 {
4329 "op" : "assign",
4330 "parameters" : [
4331 {
4332 "type" : "field",
4333 "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
4334 },
4335 {
4336 "type" : "field",
4337 "value" : ["ipv4", "dst_addr"]
4338 }
4339 ],
4340 "source_info" : {
4341 "filename" : "include/control/lookup_md_init.p4",
4342 "line" : 49,
4343 "column" : 28,
4344 "source_fragment" : "= hdr.ipv4.dst_addr; ..."
4345 }
4346 },
4347 {
4348 "op" : "assign",
4349 "parameters" : [
4350 {
4351 "type" : "field",
4352 "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
4353 },
4354 {
4355 "type" : "field",
4356 "value" : ["ipv4", "protocol"]
4357 }
4358 ],
4359 "source_info" : {
4360 "filename" : "include/control/lookup_md_init.p4",
4361 "line" : 50,
4362 "column" : 28,
4363 "source_fragment" : "= hdr.ipv4.protocol; ..."
4364 }
4365 }
4366 ]
4367 },
4368 {
4369 "name" : "lookup_md_init23",
4370 "id" : 48,
4371 "runtime_data" : [],
4372 "primitives" : [
4373 {
4374 "op" : "assign",
4375 "parameters" : [
4376 {
4377 "type" : "field",
4378 "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
4379 },
4380 {
4381 "type" : "expression",
4382 "value" : {
4383 "type" : "expression",
4384 "value" : {
4385 "op" : "b2d",
4386 "left" : null,
4387 "right" : {
4388 "type" : "bool",
4389 "value" : false
4390 }
4391 }
4392 }
4393 }
4394 ],
4395 "source_info" : {
4396 "filename" : "include/control/lookup_md_init.p4",
4397 "line" : 23,
4398 "column" : 23,
4399 "source_fragment" : "= false; ..."
4400 }
4401 },
4402 {
4403 "op" : "assign",
4404 "parameters" : [
4405 {
4406 "type" : "field",
4407 "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
4408 },
4409 {
4410 "type" : "hexstr",
4411 "value" : "0x00000000"
4412 }
4413 ],
4414 "source_info" : {
4415 "filename" : "include/control/lookup_md_init.p4",
4416 "line" : 24,
4417 "column" : 24,
4418 "source_fragment" : "= 0; ..."
4419 }
4420 },
4421 {
4422 "op" : "assign",
4423 "parameters" : [
4424 {
4425 "type" : "field",
4426 "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
4427 },
4428 {
4429 "type" : "hexstr",
4430 "value" : "0x00000000"
4431 }
4432 ],
4433 "source_info" : {
4434 "filename" : "include/control/lookup_md_init.p4",
4435 "line" : 25,
4436 "column" : 24,
4437 "source_fragment" : "= 0; ..."
4438 }
4439 },
4440 {
4441 "op" : "assign",
4442 "parameters" : [
4443 {
4444 "type" : "field",
4445 "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
4446 },
4447 {
4448 "type" : "hexstr",
4449 "value" : "0x00"
4450 }
4451 ],
4452 "source_info" : {
4453 "filename" : "include/control/lookup_md_init.p4",
4454 "line" : 26,
4455 "column" : 24,
4456 "source_fragment" : "= 0; ..."
4457 }
4458 },
4459 {
4460 "op" : "assign",
4461 "parameters" : [
4462 {
4463 "type" : "field",
4464 "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
4465 },
4466 {
4467 "type" : "hexstr",
4468 "value" : "0x0000"
4469 }
4470 ],
4471 "source_info" : {
4472 "filename" : "include/control/lookup_md_init.p4",
4473 "line" : 27,
4474 "column" : 24,
4475 "source_fragment" : "= 0; ..."
4476 }
4477 },
4478 {
4479 "op" : "assign",
4480 "parameters" : [
4481 {
4482 "type" : "field",
4483 "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
4484 },
4485 {
4486 "type" : "hexstr",
4487 "value" : "0x0000"
4488 }
4489 ],
4490 "source_info" : {
4491 "filename" : "include/control/lookup_md_init.p4",
4492 "line" : 28,
4493 "column" : 24,
4494 "source_fragment" : "= 0; ..."
4495 }
4496 },
4497 {
4498 "op" : "assign",
4499 "parameters" : [
4500 {
4501 "type" : "field",
4502 "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
4503 },
4504 {
4505 "type" : "hexstr",
4506 "value" : "0x00"
4507 }
4508 ],
4509 "source_info" : {
4510 "filename" : "include/control/lookup_md_init.p4",
4511 "line" : 29,
4512 "column" : 25,
4513 "source_fragment" : "= 0; ..."
4514 }
4515 },
4516 {
4517 "op" : "assign",
4518 "parameters" : [
4519 {
4520 "type" : "field",
4521 "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
4522 },
4523 {
4524 "type" : "hexstr",
4525 "value" : "0x00"
4526 }
4527 ],
4528 "source_info" : {
4529 "filename" : "include/control/lookup_md_init.p4",
4530 "line" : 30,
4531 "column" : 25,
4532 "source_fragment" : "= 0; ..."
4533 }
4534 }
4535 ]
4536 },
4537 {
4538 "name" : "packetio25",
4539 "id" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004540 "runtime_data" : [],
4541 "primitives" : [
4542 {
4543 "op" : "assign",
4544 "parameters" : [
4545 {
4546 "type" : "field",
4547 "value" : ["standard_metadata", "egress_spec"]
4548 },
4549 {
4550 "type" : "field",
4551 "value" : ["packet_out", "egress_port"]
4552 }
4553 ],
4554 "source_info" : {
4555 "filename" : "include/control/packetio.p4",
4556 "line" : 25,
4557 "column" : 12,
4558 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
4559 }
4560 },
4561 {
4562 "op" : "remove_header",
4563 "parameters" : [
4564 {
4565 "type" : "header",
4566 "value" : "packet_out"
4567 }
4568 ],
4569 "source_info" : {
4570 "filename" : "include/control/packetio.p4",
4571 "line" : 26,
4572 "column" : 12,
4573 "source_fragment" : "hdr.packet_out.setInvalid()"
4574 }
4575 },
4576 {
4577 "op" : "assign",
4578 "parameters" : [
4579 {
4580 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004581 "value" : ["scalars", "userMetadata._is_controller_packet_out23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004582 },
4583 {
4584 "type" : "expression",
4585 "value" : {
4586 "type" : "expression",
4587 "value" : {
4588 "op" : "b2d",
4589 "left" : null,
4590 "right" : {
4591 "type" : "bool",
4592 "value" : true
4593 }
4594 }
4595 }
4596 }
4597 ],
4598 "source_info" : {
4599 "filename" : "include/control/packetio.p4",
4600 "line" : 27,
4601 "column" : 53,
4602 "source_fragment" : "= true; ..."
4603 }
4604 },
4605 {
4606 "op" : "exit",
4607 "parameters" : [],
4608 "source_info" : {
4609 "filename" : "include/control/packetio.p4",
4610 "line" : 29,
4611 "column" : 12,
4612 "source_fragment" : "exit"
4613 }
4614 }
4615 ]
4616 },
4617 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08004618 "name" : "filtering113",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004619 "id" : 50,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004620 "runtime_data" : [],
4621 "primitives" : [
4622 {
4623 "op" : "assign",
4624 "parameters" : [
4625 {
4626 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004627 "value" : ["scalars", "userMetadata._vlan_id9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004628 },
4629 {
4630 "type" : "field",
4631 "value" : ["vlan_tag", "vlan_id"]
4632 }
4633 ],
4634 "source_info" : {
4635 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004636 "line" : 113,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004637 "column" : 36,
4638 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
4639 }
4640 },
4641 {
4642 "op" : "assign",
4643 "parameters" : [
4644 {
4645 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004646 "value" : ["scalars", "userMetadata._vlan_pri10"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004647 },
4648 {
4649 "type" : "field",
4650 "value" : ["vlan_tag", "pri"]
4651 }
4652 ],
4653 "source_info" : {
4654 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004655 "line" : 114,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004656 "column" : 37,
4657 "source_fragment" : "= hdr.vlan_tag.pri; ..."
4658 }
4659 },
4660 {
4661 "op" : "assign",
4662 "parameters" : [
4663 {
4664 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004665 "value" : ["scalars", "userMetadata._vlan_cfi11"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004666 },
4667 {
4668 "type" : "field",
4669 "value" : ["vlan_tag", "cfi"]
4670 }
4671 ],
4672 "source_info" : {
4673 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004674 "line" : 115,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004675 "column" : 37,
4676 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
4677 }
4678 }
4679 ]
4680 },
4681 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08004682 "name" : "filtering119",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004683 "id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004684 "runtime_data" : [],
4685 "primitives" : [
4686 {
4687 "op" : "assign",
4688 "parameters" : [
4689 {
4690 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004691 "value" : ["scalars", "userMetadata._inner_vlan_id13"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004692 },
4693 {
4694 "type" : "field",
4695 "value" : ["inner_vlan_tag", "vlan_id"]
4696 }
4697 ],
4698 "source_info" : {
4699 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004700 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004701 "column" : 42,
4702 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
4703 }
4704 },
4705 {
4706 "op" : "assign",
4707 "parameters" : [
4708 {
4709 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004710 "value" : ["scalars", "userMetadata._inner_vlan_pri14"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004711 },
4712 {
4713 "type" : "field",
4714 "value" : ["inner_vlan_tag", "pri"]
4715 }
4716 ],
4717 "source_info" : {
4718 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004719 "line" : 120,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004720 "column" : 43,
4721 "source_fragment" : "= hdr.inner_vlan_tag.pri; ..."
4722 }
4723 },
4724 {
4725 "op" : "assign",
4726 "parameters" : [
4727 {
4728 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004729 "value" : ["scalars", "userMetadata._inner_vlan_cfi15"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004730 },
4731 {
4732 "type" : "field",
4733 "value" : ["inner_vlan_tag", "cfi"]
4734 }
4735 ],
4736 "source_info" : {
4737 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004738 "line" : 121,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004739 "column" : 43,
4740 "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..."
4741 }
4742 }
4743 ]
4744 },
4745 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08004746 "name" : "filtering129",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004747 "id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004748 "runtime_data" : [],
4749 "primitives" : [
4750 {
4751 "op" : "assign",
4752 "parameters" : [
4753 {
4754 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004755 "value" : ["scalars", "userMetadata._mpls_ttl17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004756 },
4757 {
4758 "type" : "hexstr",
4759 "value" : "0x41"
4760 }
4761 ],
4762 "source_info" : {
4763 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08004764 "line" : 129,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004765 "column" : 37,
4766 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
4767 }
4768 }
4769 ]
4770 },
4771 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08004772 "name" : "port_counter31",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004773 "id" : 53,
Wailok Shum4f51bde2021-06-11 22:48:41 +08004774 "runtime_data" : [],
4775 "primitives" : [
4776 {
4777 "op" : "assign",
4778 "parameters" : [
4779 {
4780 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004781 "value" : ["scalars", "tmp_8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004782 },
4783 {
4784 "type" : "expression",
4785 "value" : {
4786 "type" : "expression",
4787 "value" : {
4788 "op" : "&",
4789 "left" : {
4790 "type" : "field",
4791 "value" : ["standard_metadata", "egress_spec"]
4792 },
4793 "right" : {
4794 "type" : "hexstr",
4795 "value" : "0xffffffff"
4796 }
4797 }
4798 }
4799 }
4800 ],
4801 "source_info" : {
4802 "filename" : "include/control/port_counter.p4",
4803 "line" : 31,
4804 "column" : 38,
4805 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
4806 }
4807 },
4808 {
4809 "op" : "count",
4810 "parameters" : [
4811 {
4812 "type" : "counter_array",
4813 "value" : "FabricIngress.port_counters_control.egress_port_counter"
4814 },
4815 {
4816 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004817 "value" : ["scalars", "tmp_8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004818 }
4819 ],
4820 "source_info" : {
4821 "filename" : "include/control/port_counter.p4",
4822 "line" : 31,
4823 "column" : 12,
4824 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4825 }
4826 }
4827 ]
4828 },
4829 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004830 "name" : "port_counter34",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004831 "id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004832 "runtime_data" : [],
4833 "primitives" : [
4834 {
4835 "op" : "assign",
4836 "parameters" : [
4837 {
4838 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004839 "value" : ["scalars", "tmp_9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004840 },
4841 {
4842 "type" : "expression",
4843 "value" : {
4844 "type" : "expression",
4845 "value" : {
4846 "op" : "&",
4847 "left" : {
4848 "type" : "field",
4849 "value" : ["standard_metadata", "ingress_port"]
4850 },
4851 "right" : {
4852 "type" : "hexstr",
4853 "value" : "0xffffffff"
4854 }
4855 }
4856 }
4857 }
4858 ],
4859 "source_info" : {
4860 "filename" : "include/control/port_counter.p4",
4861 "line" : 34,
4862 "column" : 39,
4863 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
4864 }
4865 },
4866 {
4867 "op" : "count",
4868 "parameters" : [
4869 {
4870 "type" : "counter_array",
4871 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
4872 },
4873 {
4874 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07004875 "value" : ["scalars", "tmp_9"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004876 }
4877 ],
4878 "source_info" : {
4879 "filename" : "include/control/port_counter.p4",
4880 "line" : 34,
4881 "column" : 12,
4882 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4883 }
4884 }
4885 ]
4886 },
4887 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004888 "name" : "bng126",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004889 "id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004890 "runtime_data" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004891 "primitives" : [
4892 {
4893 "op" : "assign",
4894 "parameters" : [
4895 {
4896 "type" : "field",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004897 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
4898 },
4899 {
4900 "type" : "expression",
4901 "value" : {
4902 "type" : "expression",
4903 "value" : {
4904 "op" : "b2d",
4905 "left" : null,
4906 "right" : {
4907 "type" : "bool",
4908 "value" : true
4909 }
4910 }
4911 }
4912 }
4913 ],
4914 "source_info" : {
4915 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08004916 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004917 "column" : 12,
4918 "source_fragment" : "return"
4919 }
4920 }
4921 ]
4922 },
4923 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004924 "name" : "bng342",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004925 "id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07004926 "runtime_data" : [],
4927 "primitives" : [
4928 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004929 "op" : "assign",
Daniele Moro7c3a0022019-07-12 13:38:34 -07004930 "parameters" : [
4931 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004932 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004933 "value" : ["scalars", "userMetadata._bng_type33"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004934 },
4935 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004936 "type" : "hexstr",
4937 "value" : "0x01"
Daniele Moro7c3a0022019-07-12 13:38:34 -07004938 }
4939 ],
4940 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004941 "filename" : "include/control/../header.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004942 "line" : 185,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004943 "column" : 37,
4944 "source_fragment" : "2w0x1; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07004945 }
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004946 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07004947 {
4948 "op" : "assign",
4949 "parameters" : [
4950 {
4951 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004952 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07004953 },
4954 {
4955 "type" : "expression",
4956 "value" : {
4957 "type" : "expression",
4958 "value" : {
4959 "op" : "b2d",
4960 "left" : null,
4961 "right" : {
4962 "type" : "bool",
4963 "value" : false
4964 }
4965 }
4966 }
4967 }
4968 ]
4969 }
4970 ]
4971 },
4972 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004973 "name" : "bng131",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004974 "id" : 57,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004975 "runtime_data" : [],
4976 "primitives" : [
4977 {
4978 "op" : "count",
4979 "parameters" : [
4980 {
4981 "type" : "counter_array",
4982 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
4983 },
4984 {
4985 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02004986 "value" : ["scalars", "userMetadata._bng_line_id34"]
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004987 }
4988 ],
4989 "source_info" : {
4990 "filename" : "include/bng.p4",
4991 "line" : 131,
4992 "column" : 20,
4993 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
4994 }
4995 }
4996 ]
4997 },
4998 {
4999 "name" : "bng238",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005000 "id" : 58,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005001 "runtime_data" : [],
5002 "primitives" : [
5003 {
5004 "op" : "execute_meter",
5005 "parameters" : [
5006 {
5007 "type" : "meter_array",
5008 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
5009 },
5010 {
5011 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005012 "value" : ["scalars", "userMetadata._bng_line_id34"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005013 },
5014 {
5015 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005016 "value" : ["scalars", "userMetadata._bng_ds_meter_result36"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005017 }
5018 ],
5019 "source_info" : {
5020 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005021 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005022 "column" : 24,
5023 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5024 }
5025 }
5026 ]
5027 },
5028 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005029 "name" : "bng241",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005030 "id" : 59,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005031 "runtime_data" : [],
5032 "primitives" : [
5033 {
5034 "op" : "execute_meter",
5035 "parameters" : [
5036 {
5037 "type" : "meter_array",
5038 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
5039 },
5040 {
5041 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005042 "value" : ["scalars", "userMetadata._bng_line_id34"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005043 },
5044 {
5045 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005046 "value" : ["scalars", "userMetadata._bng_ds_meter_result36"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005047 }
5048 ],
5049 "source_info" : {
5050 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005051 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005052 "column" : 24,
5053 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
5054 }
5055 }
5056 ]
5057 },
5058 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005059 "name" : "slicing114",
5060 "id" : 60,
5061 "runtime_data" : [],
5062 "primitives" : [
5063 {
5064 "op" : "assign",
5065 "parameters" : [
5066 {
5067 "type" : "field",
5068 "value" : ["scalars", "tmp_10"]
5069 },
5070 {
5071 "type" : "expression",
5072 "value" : {
5073 "type" : "expression",
5074 "value" : {
5075 "op" : "&",
5076 "left" : {
5077 "type" : "expression",
5078 "value" : {
5079 "op" : "|",
5080 "left" : {
5081 "type" : "expression",
5082 "value" : {
5083 "op" : "&",
5084 "left" : {
5085 "type" : "expression",
5086 "value" : {
5087 "op" : "<<",
5088 "left" : {
5089 "type" : "expression",
5090 "value" : {
5091 "op" : "&",
5092 "left" : {
5093 "type" : "field",
5094 "value" : ["scalars", "userMetadata._slice_id29"]
5095 },
5096 "right" : {
5097 "type" : "hexstr",
5098 "value" : "0x3f"
5099 }
5100 }
5101 },
5102 "right" : {
5103 "type" : "hexstr",
5104 "value" : "0x2"
5105 }
5106 }
5107 },
5108 "right" : {
5109 "type" : "hexstr",
5110 "value" : "0x3f"
5111 }
5112 }
5113 },
5114 "right" : {
5115 "type" : "expression",
5116 "value" : {
5117 "op" : "&",
5118 "left" : {
5119 "type" : "expression",
5120 "value" : {
5121 "op" : "&",
5122 "left" : {
5123 "type" : "field",
5124 "value" : ["scalars", "userMetadata._tc31"]
5125 },
5126 "right" : {
5127 "type" : "hexstr",
5128 "value" : "0x3f"
5129 }
5130 }
5131 },
5132 "right" : {
5133 "type" : "hexstr",
5134 "value" : "0x07"
5135 }
5136 }
5137 }
5138 }
5139 },
5140 "right" : {
5141 "type" : "hexstr",
5142 "value" : "0xffffffff"
5143 }
5144 }
5145 }
5146 }
5147 ],
5148 "source_info" : {
5149 "filename" : "include/control/slicing.p4",
5150 "line" : 114,
5151 "column" : 37,
5152 "source_fragment" : "(bit<32>) slice_tc"
5153 }
5154 },
5155 {
5156 "op" : "execute_meter",
5157 "parameters" : [
5158 {
5159 "type" : "meter_array",
5160 "value" : "FabricIngress.qos.slice_tc_meter"
5161 },
5162 {
5163 "type" : "field",
5164 "value" : ["scalars", "tmp_10"]
5165 },
5166 {
5167 "type" : "field",
5168 "value" : ["scalars", "userMetadata._packet_color30"]
5169 }
5170 ],
5171 "source_info" : {
5172 "filename" : "include/control/slicing.p4",
5173 "line" : 114,
5174 "column" : 8,
5175 "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color)"
5176 }
5177 },
5178 {
5179 "op" : "assign",
5180 "parameters" : [
5181 {
5182 "type" : "field",
5183 "value" : ["scalars", "userMetadata._dscp32"]
5184 },
5185 {
5186 "type" : "expression",
5187 "value" : {
5188 "type" : "expression",
5189 "value" : {
5190 "op" : "|",
5191 "left" : {
5192 "type" : "expression",
5193 "value" : {
5194 "op" : "&",
5195 "left" : {
5196 "type" : "expression",
5197 "value" : {
5198 "op" : "<<",
5199 "left" : {
5200 "type" : "expression",
5201 "value" : {
5202 "op" : "&",
5203 "left" : {
5204 "type" : "field",
5205 "value" : ["scalars", "userMetadata._slice_id29"]
5206 },
5207 "right" : {
5208 "type" : "hexstr",
5209 "value" : "0x3f"
5210 }
5211 }
5212 },
5213 "right" : {
5214 "type" : "hexstr",
5215 "value" : "0x2"
5216 }
5217 }
5218 },
5219 "right" : {
5220 "type" : "hexstr",
5221 "value" : "0x3f"
5222 }
5223 }
5224 },
5225 "right" : {
5226 "type" : "expression",
5227 "value" : {
5228 "op" : "&",
5229 "left" : {
5230 "type" : "expression",
5231 "value" : {
5232 "op" : "&",
5233 "left" : {
5234 "type" : "field",
5235 "value" : ["scalars", "userMetadata._tc31"]
5236 },
5237 "right" : {
5238 "type" : "hexstr",
5239 "value" : "0x3f"
5240 }
5241 }
5242 },
5243 "right" : {
5244 "type" : "hexstr",
5245 "value" : "0x07"
5246 }
5247 }
5248 }
5249 }
5250 }
5251 }
5252 ],
5253 "source_info" : {
5254 "filename" : "include/control/slicing.p4",
5255 "line" : 110,
5256 "column" : 26,
5257 "source_fragment" : "fabric_md.slice_id++fabric_md.tc; ..."
5258 }
5259 }
5260 ]
5261 },
5262 {
5263 "name" : "nop",
5264 "id" : 61,
5265 "runtime_data" : [],
5266 "primitives" : []
5267 },
5268 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005269 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005270 "id" : 62,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005271 "runtime_data" : [],
5272 "primitives" : [
5273 {
5274 "op" : "assign",
5275 "parameters" : [
5276 {
5277 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005278 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005279 },
5280 {
5281 "type" : "hexstr",
5282 "value" : "0x8864"
5283 }
5284 ],
5285 "source_info" : {
5286 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005287 "line" : 153,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005288 "column" : 33,
5289 "source_fragment" : "0x8864; ..."
5290 }
5291 },
5292 {
5293 "op" : "add_header",
5294 "parameters" : [
5295 {
5296 "type" : "header",
5297 "value" : "pppoe"
5298 }
5299 ],
5300 "source_info" : {
5301 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005302 "line" : 273,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005303 "column" : 8,
5304 "source_fragment" : "hdr.pppoe.setValid()"
5305 }
5306 },
5307 {
5308 "op" : "assign",
5309 "parameters" : [
5310 {
5311 "type" : "field",
5312 "value" : ["pppoe", "version"]
5313 },
5314 {
5315 "type" : "hexstr",
5316 "value" : "0x01"
5317 }
5318 ],
5319 "source_info" : {
5320 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005321 "line" : 274,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005322 "column" : 8,
5323 "source_fragment" : "hdr.pppoe.version = 4w1"
5324 }
5325 },
5326 {
5327 "op" : "assign",
5328 "parameters" : [
5329 {
5330 "type" : "field",
5331 "value" : ["pppoe", "type_id"]
5332 },
5333 {
5334 "type" : "hexstr",
5335 "value" : "0x01"
5336 }
5337 ],
5338 "source_info" : {
5339 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005340 "line" : 275,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005341 "column" : 8,
5342 "source_fragment" : "hdr.pppoe.type_id = 4w1"
5343 }
5344 },
5345 {
5346 "op" : "assign",
5347 "parameters" : [
5348 {
5349 "type" : "field",
5350 "value" : ["pppoe", "code"]
5351 },
5352 {
5353 "type" : "hexstr",
5354 "value" : "0x00"
5355 }
5356 ],
5357 "source_info" : {
5358 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005359 "line" : 276,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005360 "column" : 8,
5361 "source_fragment" : "hdr.pppoe.code = 8w0"
5362 }
5363 },
5364 {
5365 "op" : "assign",
5366 "parameters" : [
5367 {
5368 "type" : "field",
5369 "value" : ["pppoe", "session_id"]
5370 },
5371 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07005372 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005373 "value" : ["scalars", "userMetadata._bng_pppoe_session_id35"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005374 }
5375 ],
5376 "source_info" : {
5377 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005378 "line" : 277,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005379 "column" : 8,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005380 "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005381 }
5382 },
5383 {
5384 "op" : "count",
5385 "parameters" : [
5386 {
5387 "type" : "counter_array",
5388 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
5389 },
5390 {
5391 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005392 "value" : ["scalars", "userMetadata._bng_line_id34"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005393 }
5394 ],
5395 "source_info" : {
5396 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005397 "line" : 278,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005398 "column" : 8,
5399 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
5400 }
5401 },
5402 {
5403 "op" : "assign",
5404 "parameters" : [
5405 {
5406 "type" : "field",
5407 "value" : ["pppoe", "length"]
5408 },
5409 {
5410 "type" : "expression",
5411 "value" : {
5412 "type" : "expression",
5413 "value" : {
5414 "op" : "&",
5415 "left" : {
5416 "type" : "expression",
5417 "value" : {
5418 "op" : "+",
5419 "left" : {
5420 "type" : "field",
5421 "value" : ["ipv4", "total_len"]
5422 },
5423 "right" : {
5424 "type" : "hexstr",
5425 "value" : "0x0002"
5426 }
5427 }
5428 },
5429 "right" : {
5430 "type" : "hexstr",
5431 "value" : "0xffff"
5432 }
5433 }
5434 }
5435 }
5436 ],
5437 "source_info" : {
5438 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08005439 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005440 "column" : 8,
5441 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
5442 }
5443 },
5444 {
5445 "op" : "assign",
5446 "parameters" : [
5447 {
5448 "type" : "field",
5449 "value" : ["pppoe", "protocol"]
5450 },
5451 {
5452 "type" : "hexstr",
5453 "value" : "0x0021"
5454 }
5455 ],
5456 "source_info" : {
5457 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005458 "line" : 155,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005459 "column" : 35,
5460 "source_fragment" : "0x0021; ..."
5461 }
5462 }
5463 ]
5464 },
5465 {
5466 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005467 "id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005468 "runtime_data" : [],
5469 "primitives" : [
5470 {
5471 "op" : "remove_header",
5472 "parameters" : [
5473 {
5474 "type" : "header",
5475 "value" : "mpls"
5476 }
5477 ],
5478 "source_info" : {
5479 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005480 "line" : 204,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005481 "column" : 8,
5482 "source_fragment" : "hdr.mpls.setInvalid()"
5483 }
5484 },
5485 {
5486 "op" : "assign",
5487 "parameters" : [
5488 {
5489 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005490 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005491 },
5492 {
5493 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005494 "value" : ["scalars", "userMetadata._ip_eth_type8"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005495 }
5496 ],
5497 "source_info" : {
5498 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005499 "line" : 206,
Daniele Moro5a2de712019-09-24 14:34:07 -07005500 "column" : 8,
5501 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005502 }
5503 }
5504 ]
5505 },
5506 {
5507 "name" : "FabricEgress.egress_next.set_mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005508 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005509 "runtime_data" : [],
5510 "primitives" : [
5511 {
5512 "op" : "add_header",
5513 "parameters" : [
5514 {
5515 "type" : "header",
5516 "value" : "mpls"
5517 }
5518 ],
5519 "source_info" : {
5520 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005521 "line" : 211,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005522 "column" : 8,
5523 "source_fragment" : "hdr.mpls.setValid()"
5524 }
5525 },
5526 {
5527 "op" : "assign",
5528 "parameters" : [
5529 {
5530 "type" : "field",
5531 "value" : ["mpls", "label"]
5532 },
5533 {
5534 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005535 "value" : ["scalars", "userMetadata._mpls_label16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005536 }
5537 ],
5538 "source_info" : {
5539 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005540 "line" : 212,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005541 "column" : 8,
5542 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
5543 }
5544 },
5545 {
5546 "op" : "assign",
5547 "parameters" : [
5548 {
5549 "type" : "field",
5550 "value" : ["mpls", "tc"]
5551 },
5552 {
5553 "type" : "hexstr",
5554 "value" : "0x00"
5555 }
5556 ],
5557 "source_info" : {
5558 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005559 "line" : 213,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005560 "column" : 8,
5561 "source_fragment" : "hdr.mpls.tc = 3w0"
5562 }
5563 },
5564 {
5565 "op" : "assign",
5566 "parameters" : [
5567 {
5568 "type" : "field",
5569 "value" : ["mpls", "bos"]
5570 },
5571 {
5572 "type" : "hexstr",
5573 "value" : "0x01"
5574 }
5575 ],
5576 "source_info" : {
5577 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005578 "line" : 214,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005579 "column" : 8,
5580 "source_fragment" : "hdr.mpls.bos = 1w1"
5581 }
5582 },
5583 {
5584 "op" : "assign",
5585 "parameters" : [
5586 {
5587 "type" : "field",
5588 "value" : ["mpls", "ttl"]
5589 },
5590 {
5591 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005592 "value" : ["scalars", "userMetadata._mpls_ttl17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005593 }
5594 ],
5595 "source_info" : {
5596 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005597 "line" : 215,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005598 "column" : 8,
5599 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
5600 }
5601 },
5602 {
5603 "op" : "assign",
5604 "parameters" : [
5605 {
5606 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005607 "value" : ["eth_type", "value"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005608 },
5609 {
5610 "type" : "hexstr",
5611 "value" : "0x8847"
5612 }
5613 ],
5614 "source_info" : {
5615 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005616 "line" : 147,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005617 "column" : 31,
5618 "source_fragment" : "0x8847; ..."
5619 }
5620 }
5621 ]
5622 },
5623 {
pierventre48e78822020-12-15 17:34:54 +01005624 "name" : "FabricEgress.egress_next.push_outer_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005625 "id" : 65,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005626 "runtime_data" : [],
5627 "primitives" : [
5628 {
5629 "op" : "add_header",
5630 "parameters" : [
5631 {
5632 "type" : "header",
5633 "value" : "vlan_tag"
5634 }
5635 ],
5636 "source_info" : {
5637 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005638 "line" : 223,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005639 "column" : 8,
5640 "source_fragment" : "hdr.vlan_tag.setValid()"
5641 }
5642 },
5643 {
5644 "op" : "assign",
5645 "parameters" : [
5646 {
5647 "type" : "field",
5648 "value" : ["vlan_tag", "cfi"]
5649 },
5650 {
5651 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005652 "value" : ["scalars", "userMetadata._vlan_cfi11"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005653 }
5654 ],
5655 "source_info" : {
5656 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005657 "line" : 224,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005658 "column" : 8,
5659 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
5660 }
5661 },
5662 {
5663 "op" : "assign",
5664 "parameters" : [
5665 {
5666 "type" : "field",
5667 "value" : ["vlan_tag", "pri"]
5668 },
5669 {
5670 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005671 "value" : ["scalars", "userMetadata._vlan_pri10"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005672 }
5673 ],
5674 "source_info" : {
5675 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005676 "line" : 225,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005677 "column" : 8,
5678 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
5679 }
5680 },
5681 {
5682 "op" : "assign",
5683 "parameters" : [
5684 {
5685 "type" : "field",
5686 "value" : ["vlan_tag", "eth_type"]
5687 },
5688 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005689 "type" : "hexstr",
5690 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005691 }
5692 ],
5693 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005694 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005695 "line" : 146,
Daniele Moro5a2de712019-09-24 14:34:07 -07005696 "column" : 31,
5697 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07005698 }
5699 },
5700 {
5701 "op" : "assign",
5702 "parameters" : [
5703 {
5704 "type" : "field",
5705 "value" : ["vlan_tag", "vlan_id"]
5706 },
5707 {
5708 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005709 "value" : ["scalars", "userMetadata._vlan_id9"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005710 }
5711 ],
5712 "source_info" : {
5713 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005714 "line" : 227,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005715 "column" : 8,
5716 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
5717 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07005718 }
5719 ]
5720 },
5721 {
5722 "name" : "FabricEgress.egress_next.push_inner_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005723 "id" : 66,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005724 "runtime_data" : [],
5725 "primitives" : [
5726 {
5727 "op" : "add_header",
5728 "parameters" : [
5729 {
5730 "type" : "header",
5731 "value" : "inner_vlan_tag"
5732 }
5733 ],
5734 "source_info" : {
5735 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005736 "line" : 234,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005737 "column" : 8,
5738 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
5739 }
5740 },
5741 {
5742 "op" : "assign",
5743 "parameters" : [
5744 {
5745 "type" : "field",
5746 "value" : ["inner_vlan_tag", "cfi"]
5747 },
5748 {
5749 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005750 "value" : ["scalars", "userMetadata._inner_vlan_cfi15"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005751 }
5752 ],
5753 "source_info" : {
5754 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005755 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005756 "column" : 8,
5757 "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..."
5758 }
5759 },
5760 {
5761 "op" : "assign",
5762 "parameters" : [
5763 {
5764 "type" : "field",
5765 "value" : ["inner_vlan_tag", "pri"]
5766 },
5767 {
5768 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005769 "value" : ["scalars", "userMetadata._inner_vlan_pri14"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005770 }
5771 ],
5772 "source_info" : {
5773 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005774 "line" : 236,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005775 "column" : 8,
5776 "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..."
5777 }
5778 },
5779 {
5780 "op" : "assign",
5781 "parameters" : [
5782 {
5783 "type" : "field",
5784 "value" : ["inner_vlan_tag", "vlan_id"]
5785 },
5786 {
5787 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005788 "value" : ["scalars", "userMetadata._inner_vlan_id13"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07005789 }
5790 ],
5791 "source_info" : {
5792 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005793 "line" : 237,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005794 "column" : 8,
5795 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..."
5796 }
5797 },
5798 {
5799 "op" : "assign",
5800 "parameters" : [
5801 {
5802 "type" : "field",
5803 "value" : ["inner_vlan_tag", "eth_type"]
5804 },
5805 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005806 "type" : "hexstr",
5807 "value" : "0x8100"
Daniele Moro7c3a0022019-07-12 13:38:34 -07005808 }
5809 ],
5810 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005811 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005812 "line" : 146,
Daniele Moro5a2de712019-09-24 14:34:07 -07005813 "column" : 31,
5814 "source_fragment" : "0x8100; ..."
Daniele Moro7c3a0022019-07-12 13:38:34 -07005815 }
5816 },
5817 {
5818 "op" : "assign",
5819 "parameters" : [
5820 {
5821 "type" : "field",
5822 "value" : ["vlan_tag", "eth_type"]
5823 },
5824 {
5825 "type" : "hexstr",
5826 "value" : "0x8100"
5827 }
5828 ],
5829 "source_info" : {
5830 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005831 "line" : 146,
Daniele Moro7c3a0022019-07-12 13:38:34 -07005832 "column" : 31,
5833 "source_fragment" : "0x8100; ..."
5834 }
5835 }
5836 ]
5837 },
5838 {
pierventre48e78822020-12-15 17:34:54 +01005839 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005840 "id" : 67,
pierventre48e78822020-12-15 17:34:54 +01005841 "runtime_data" : [],
5842 "primitives" : [
5843 {
5844 "op" : "add_header",
5845 "parameters" : [
5846 {
5847 "type" : "header",
5848 "value" : "vlan_tag"
5849 }
5850 ],
5851 "source_info" : {
5852 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005853 "line" : 223,
pierventre48e78822020-12-15 17:34:54 +01005854 "column" : 8,
5855 "source_fragment" : "hdr.vlan_tag.setValid()"
5856 }
5857 },
5858 {
5859 "op" : "assign",
5860 "parameters" : [
5861 {
5862 "type" : "field",
5863 "value" : ["vlan_tag", "cfi"]
5864 },
5865 {
5866 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005867 "value" : ["scalars", "userMetadata._vlan_cfi11"]
pierventre48e78822020-12-15 17:34:54 +01005868 }
5869 ],
5870 "source_info" : {
5871 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005872 "line" : 224,
pierventre48e78822020-12-15 17:34:54 +01005873 "column" : 8,
5874 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
5875 }
5876 },
5877 {
5878 "op" : "assign",
5879 "parameters" : [
5880 {
5881 "type" : "field",
5882 "value" : ["vlan_tag", "pri"]
5883 },
5884 {
5885 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005886 "value" : ["scalars", "userMetadata._vlan_pri10"]
pierventre48e78822020-12-15 17:34:54 +01005887 }
5888 ],
5889 "source_info" : {
5890 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005891 "line" : 225,
pierventre48e78822020-12-15 17:34:54 +01005892 "column" : 8,
5893 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
5894 }
5895 },
5896 {
5897 "op" : "assign",
5898 "parameters" : [
5899 {
5900 "type" : "field",
5901 "value" : ["vlan_tag", "eth_type"]
5902 },
5903 {
5904 "type" : "hexstr",
5905 "value" : "0x8100"
5906 }
5907 ],
5908 "source_info" : {
5909 "filename" : "include/control/../define.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005910 "line" : 146,
pierventre48e78822020-12-15 17:34:54 +01005911 "column" : 31,
5912 "source_fragment" : "0x8100; ..."
5913 }
5914 },
5915 {
5916 "op" : "assign",
5917 "parameters" : [
5918 {
5919 "type" : "field",
5920 "value" : ["vlan_tag", "vlan_id"]
5921 },
5922 {
5923 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005924 "value" : ["scalars", "userMetadata._vlan_id9"]
pierventre48e78822020-12-15 17:34:54 +01005925 }
5926 ],
5927 "source_info" : {
5928 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005929 "line" : 227,
pierventre48e78822020-12-15 17:34:54 +01005930 "column" : 8,
5931 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
5932 }
5933 }
5934 ]
5935 },
5936 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005937 "name" : "FabricEgress.egress_next.pop_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005938 "id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005939 "runtime_data" : [],
5940 "primitives" : [
5941 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005942 "op" : "remove_header",
5943 "parameters" : [
5944 {
5945 "type" : "header",
5946 "value" : "vlan_tag"
5947 }
5948 ],
5949 "source_info" : {
5950 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005951 "line" : 256,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005952 "column" : 8,
5953 "source_fragment" : "hdr.vlan_tag.setInvalid()"
5954 }
5955 }
5956 ]
5957 },
5958 {
pierventre48e78822020-12-15 17:34:54 +01005959 "name" : "FabricEgress.egress_next.drop",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005960 "id" : 69,
pierventre48e78822020-12-15 17:34:54 +01005961 "runtime_data" : [],
5962 "primitives" : [
5963 {
5964 "op" : "mark_to_drop",
5965 "parameters" : [
5966 {
5967 "type" : "header",
5968 "value" : "standard_metadata"
5969 }
5970 ],
5971 "source_info" : {
5972 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08005973 "line" : 261,
pierventre48e78822020-12-15 17:34:54 +01005974 "column" : 8,
5975 "source_fragment" : "mark_to_drop(standard_metadata)"
5976 }
5977 }
5978 ]
5979 },
5980 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02005981 "name" : "FabricEgress.dscp_rewriter.rewrite",
5982 "id" : 70,
5983 "runtime_data" : [],
5984 "primitives" : []
5985 },
5986 {
5987 "name" : "FabricEgress.dscp_rewriter.clear",
5988 "id" : 71,
5989 "runtime_data" : [],
5990 "primitives" : [
5991 {
5992 "op" : "assign",
5993 "parameters" : [
5994 {
5995 "type" : "field",
5996 "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
5997 },
5998 {
5999 "type" : "hexstr",
6000 "value" : "0x00"
6001 }
6002 ],
6003 "source_info" : {
6004 "filename" : "include/control/slicing.p4",
6005 "line" : 135,
6006 "column" : 8,
6007 "source_fragment" : "tmp_dscp = 0"
6008 }
6009 }
6010 ]
6011 },
6012 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006013 "name" : "packetio41",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006014 "id" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006015 "runtime_data" : [],
6016 "primitives" : [
6017 {
6018 "op" : "exit",
6019 "parameters" : [],
6020 "source_info" : {
6021 "filename" : "include/control/packetio.p4",
6022 "line" : 41,
6023 "column" : 12,
6024 "source_fragment" : "exit"
6025 }
6026 }
6027 ]
6028 },
6029 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006030 "name" : "packetio44",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006031 "id" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006032 "runtime_data" : [],
6033 "primitives" : [
6034 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006035 "op" : "add_header",
6036 "parameters" : [
6037 {
6038 "type" : "header",
6039 "value" : "packet_in"
6040 }
6041 ],
6042 "source_info" : {
6043 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006044 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006045 "column" : 12,
6046 "source_fragment" : "hdr.packet_in.setValid()"
6047 }
6048 },
6049 {
6050 "op" : "assign",
6051 "parameters" : [
6052 {
6053 "type" : "field",
6054 "value" : ["packet_in", "ingress_port"]
6055 },
6056 {
6057 "type" : "field",
6058 "value" : ["standard_metadata", "ingress_port"]
6059 }
6060 ],
6061 "source_info" : {
6062 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006063 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006064 "column" : 12,
6065 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
6066 }
6067 },
6068 {
6069 "op" : "exit",
6070 "parameters" : [],
6071 "source_info" : {
6072 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006073 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006074 "column" : 12,
6075 "source_fragment" : "exit"
6076 }
6077 }
6078 ]
6079 },
6080 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006081 "name" : "next283",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006082 "id" : 74,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006083 "runtime_data" : [],
6084 "primitives" : [
6085 {
6086 "op" : "mark_to_drop",
6087 "parameters" : [
6088 {
6089 "type" : "header",
6090 "value" : "standard_metadata"
6091 }
6092 ],
6093 "source_info" : {
6094 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006095 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006096 "column" : 12,
6097 "source_fragment" : "mark_to_drop(standard_metadata)"
6098 }
6099 }
6100 ]
6101 },
6102 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006103 "name" : "next299",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006104 "id" : 75,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006105 "runtime_data" : [],
6106 "primitives" : [
6107 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006108 "op" : "remove_header",
6109 "parameters" : [
6110 {
6111 "type" : "header",
6112 "value" : "inner_vlan_tag"
6113 }
6114 ],
6115 "source_info" : {
6116 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006117 "line" : 299,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006118 "column" : 12,
6119 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
6120 }
6121 }
6122 ]
6123 },
6124 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006125 "name" : "next310",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006126 "id" : 76,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006127 "runtime_data" : [],
6128 "primitives" : [
6129 {
6130 "op" : "mark_to_drop",
6131 "parameters" : [
6132 {
6133 "type" : "header",
6134 "value" : "standard_metadata"
6135 }
6136 ],
6137 "source_info" : {
6138 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006139 "line" : 310,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006140 "column" : 35,
6141 "source_fragment" : "mark_to_drop(standard_metadata)"
6142 }
6143 }
6144 ]
6145 },
6146 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006147 "name" : "next309",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006148 "id" : 77,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006149 "runtime_data" : [],
6150 "primitives" : [
6151 {
6152 "op" : "assign",
6153 "parameters" : [
6154 {
6155 "type" : "field",
6156 "value" : ["mpls", "ttl"]
6157 },
6158 {
6159 "type" : "expression",
6160 "value" : {
6161 "type" : "expression",
6162 "value" : {
6163 "op" : "&",
6164 "left" : {
6165 "type" : "expression",
6166 "value" : {
6167 "op" : "+",
6168 "left" : {
6169 "type" : "field",
6170 "value" : ["mpls", "ttl"]
6171 },
6172 "right" : {
6173 "type" : "hexstr",
6174 "value" : "0xff"
6175 }
6176 }
6177 },
6178 "right" : {
6179 "type" : "hexstr",
6180 "value" : "0xff"
6181 }
6182 }
6183 }
6184 }
6185 ],
6186 "source_info" : {
6187 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006188 "line" : 309,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006189 "column" : 12,
6190 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
6191 }
6192 }
6193 ]
6194 },
6195 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006196 "name" : "next314",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006197 "id" : 78,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006198 "runtime_data" : [],
6199 "primitives" : [
6200 {
6201 "op" : "mark_to_drop",
6202 "parameters" : [
6203 {
6204 "type" : "header",
6205 "value" : "standard_metadata"
6206 }
6207 ],
6208 "source_info" : {
6209 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006210 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006211 "column" : 39,
6212 "source_fragment" : "mark_to_drop(standard_metadata)"
6213 }
6214 }
6215 ]
6216 },
6217 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006218 "name" : "next313",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006219 "id" : 79,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006220 "runtime_data" : [],
6221 "primitives" : [
6222 {
6223 "op" : "assign",
6224 "parameters" : [
6225 {
6226 "type" : "field",
6227 "value" : ["ipv4", "ttl"]
6228 },
6229 {
6230 "type" : "expression",
6231 "value" : {
6232 "type" : "expression",
6233 "value" : {
6234 "op" : "&",
6235 "left" : {
6236 "type" : "expression",
6237 "value" : {
6238 "op" : "+",
6239 "left" : {
6240 "type" : "field",
6241 "value" : ["ipv4", "ttl"]
6242 },
6243 "right" : {
6244 "type" : "hexstr",
6245 "value" : "0xff"
6246 }
6247 }
6248 },
6249 "right" : {
6250 "type" : "hexstr",
6251 "value" : "0xff"
6252 }
6253 }
6254 }
6255 }
6256 ],
6257 "source_info" : {
6258 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006259 "line" : 313,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006260 "column" : 16,
6261 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
6262 }
6263 }
6264 ]
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006265 },
6266 {
6267 "name" : "slicing159",
6268 "id" : 80,
6269 "runtime_data" : [],
6270 "primitives" : [
6271 {
6272 "op" : "assign",
6273 "parameters" : [
6274 {
6275 "type" : "field",
6276 "value" : ["inner_ipv4", "dscp"]
6277 },
6278 {
6279 "type" : "field",
6280 "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
6281 }
6282 ],
6283 "source_info" : {
6284 "filename" : "include/control/slicing.p4",
6285 "line" : 159,
6286 "column" : 16,
6287 "source_fragment" : "hdr.inner_ipv4.dscp = tmp_dscp"
6288 }
6289 }
6290 ]
6291 },
6292 {
6293 "name" : "slicing126",
6294 "id" : 81,
6295 "runtime_data" : [],
6296 "primitives" : [
6297 {
6298 "op" : "assign",
6299 "parameters" : [
6300 {
6301 "type" : "field",
6302 "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
6303 },
6304 {
6305 "type" : "field",
6306 "value" : ["scalars", "userMetadata._dscp32"]
6307 }
6308 ],
6309 "source_info" : {
6310 "filename" : "include/control/slicing.p4",
6311 "line" : 126,
6312 "column" : 4,
6313 "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp; ..."
6314 }
6315 }
6316 ]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006317 }
6318 ],
6319 "pipelines" : [
6320 {
6321 "name" : "ingress",
6322 "id" : 0,
6323 "source_info" : {
6324 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006325 "line" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006326 "column" : 8,
6327 "source_fragment" : "FabricIngress"
6328 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006329 "init_table" : "tbl_lookup_md_init23",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006330 "tables" : [
6331 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006332 "name" : "tbl_lookup_md_init23",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006333 "id" : 0,
6334 "source_info" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006335 "filename" : "include/control/lookup_md_init.p4",
6336 "line" : 23,
6337 "column" : 23,
6338 "source_fragment" : "= false; ..."
6339 },
6340 "key" : [],
6341 "match_type" : "exact",
6342 "type" : "simple",
6343 "max_size" : 1024,
6344 "with_counters" : false,
6345 "support_timeout" : false,
6346 "direct_meters" : null,
6347 "action_ids" : [48],
6348 "actions" : ["lookup_md_init23"],
6349 "base_default_next" : "node_3",
6350 "next_tables" : {
6351 "lookup_md_init23" : "node_3"
6352 },
6353 "default_entry" : {
6354 "action_id" : 48,
6355 "action_const" : true,
6356 "action_data" : [],
6357 "action_entry_const" : true
6358 }
6359 },
6360 {
6361 "name" : "tbl_lookup_md_init32",
6362 "id" : 1,
6363 "source_info" : {
6364 "filename" : "include/control/lookup_md_init.p4",
6365 "line" : 32,
6366 "column" : 27,
6367 "source_fragment" : "= true; ..."
6368 },
6369 "key" : [],
6370 "match_type" : "exact",
6371 "type" : "simple",
6372 "max_size" : 1024,
6373 "with_counters" : false,
6374 "support_timeout" : false,
6375 "direct_meters" : null,
6376 "action_ids" : [43],
6377 "actions" : ["lookup_md_init32"],
6378 "base_default_next" : "node_5",
6379 "next_tables" : {
6380 "lookup_md_init32" : "node_5"
6381 },
6382 "default_entry" : {
6383 "action_id" : 43,
6384 "action_const" : true,
6385 "action_data" : [],
6386 "action_entry_const" : true
6387 }
6388 },
6389 {
6390 "name" : "tbl_lookup_md_init37",
6391 "id" : 2,
6392 "source_info" : {
6393 "filename" : "include/control/lookup_md_init.p4",
6394 "line" : 37,
6395 "column" : 32,
6396 "source_fragment" : "= hdr.inner_tcp.sport; ..."
6397 },
6398 "key" : [],
6399 "match_type" : "exact",
6400 "type" : "simple",
6401 "max_size" : 1024,
6402 "with_counters" : false,
6403 "support_timeout" : false,
6404 "direct_meters" : null,
6405 "action_ids" : [40],
6406 "actions" : ["lookup_md_init37"],
6407 "base_default_next" : "node_19",
6408 "next_tables" : {
6409 "lookup_md_init37" : "node_19"
6410 },
6411 "default_entry" : {
6412 "action_id" : 40,
6413 "action_const" : true,
6414 "action_data" : [],
6415 "action_entry_const" : true
6416 }
6417 },
6418 {
6419 "name" : "tbl_lookup_md_init40",
6420 "id" : 3,
6421 "source_info" : {
6422 "filename" : "include/control/lookup_md_init.p4",
6423 "line" : 40,
6424 "column" : 32,
6425 "source_fragment" : "= hdr.inner_udp.sport; ..."
6426 },
6427 "key" : [],
6428 "match_type" : "exact",
6429 "type" : "simple",
6430 "max_size" : 1024,
6431 "with_counters" : false,
6432 "support_timeout" : false,
6433 "direct_meters" : null,
6434 "action_ids" : [41],
6435 "actions" : ["lookup_md_init40"],
6436 "base_default_next" : "node_19",
6437 "next_tables" : {
6438 "lookup_md_init40" : "node_19"
6439 },
6440 "default_entry" : {
6441 "action_id" : 41,
6442 "action_const" : true,
6443 "action_data" : [],
6444 "action_entry_const" : true
6445 }
6446 },
6447 {
6448 "name" : "tbl_lookup_md_init43",
6449 "id" : 4,
6450 "source_info" : {
6451 "filename" : "include/control/lookup_md_init.p4",
6452 "line" : 43,
6453 "column" : 33,
6454 "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
6455 },
6456 "key" : [],
6457 "match_type" : "exact",
6458 "type" : "simple",
6459 "max_size" : 1024,
6460 "with_counters" : false,
6461 "support_timeout" : false,
6462 "direct_meters" : null,
6463 "action_ids" : [42],
6464 "actions" : ["lookup_md_init43"],
6465 "base_default_next" : "node_19",
6466 "next_tables" : {
6467 "lookup_md_init43" : "node_19"
6468 },
6469 "default_entry" : {
6470 "action_id" : 42,
6471 "action_const" : true,
6472 "action_data" : [],
6473 "action_entry_const" : true
6474 }
6475 },
6476 {
6477 "name" : "tbl_lookup_md_init47",
6478 "id" : 5,
6479 "source_info" : {
6480 "filename" : "include/control/lookup_md_init.p4",
6481 "line" : 47,
6482 "column" : 27,
6483 "source_fragment" : "= true; ..."
6484 },
6485 "key" : [],
6486 "match_type" : "exact",
6487 "type" : "simple",
6488 "max_size" : 1024,
6489 "with_counters" : false,
6490 "support_timeout" : false,
6491 "direct_meters" : null,
6492 "action_ids" : [47],
6493 "actions" : ["lookup_md_init47"],
6494 "base_default_next" : "node_13",
6495 "next_tables" : {
6496 "lookup_md_init47" : "node_13"
6497 },
6498 "default_entry" : {
6499 "action_id" : 47,
6500 "action_const" : true,
6501 "action_data" : [],
6502 "action_entry_const" : true
6503 }
6504 },
6505 {
6506 "name" : "tbl_lookup_md_init52",
6507 "id" : 6,
6508 "source_info" : {
6509 "filename" : "include/control/lookup_md_init.p4",
6510 "line" : 52,
6511 "column" : 32,
6512 "source_fragment" : "= hdr.tcp.sport; ..."
6513 },
6514 "key" : [],
6515 "match_type" : "exact",
6516 "type" : "simple",
6517 "max_size" : 1024,
6518 "with_counters" : false,
6519 "support_timeout" : false,
6520 "direct_meters" : null,
6521 "action_ids" : [44],
6522 "actions" : ["lookup_md_init52"],
6523 "base_default_next" : "node_19",
6524 "next_tables" : {
6525 "lookup_md_init52" : "node_19"
6526 },
6527 "default_entry" : {
6528 "action_id" : 44,
6529 "action_const" : true,
6530 "action_data" : [],
6531 "action_entry_const" : true
6532 }
6533 },
6534 {
6535 "name" : "tbl_lookup_md_init55",
6536 "id" : 7,
6537 "source_info" : {
6538 "filename" : "include/control/lookup_md_init.p4",
6539 "line" : 55,
6540 "column" : 32,
6541 "source_fragment" : "= hdr.udp.sport; ..."
6542 },
6543 "key" : [],
6544 "match_type" : "exact",
6545 "type" : "simple",
6546 "max_size" : 1024,
6547 "with_counters" : false,
6548 "support_timeout" : false,
6549 "direct_meters" : null,
6550 "action_ids" : [45],
6551 "actions" : ["lookup_md_init55"],
6552 "base_default_next" : "node_19",
6553 "next_tables" : {
6554 "lookup_md_init55" : "node_19"
6555 },
6556 "default_entry" : {
6557 "action_id" : 45,
6558 "action_const" : true,
6559 "action_data" : [],
6560 "action_entry_const" : true
6561 }
6562 },
6563 {
6564 "name" : "tbl_lookup_md_init58",
6565 "id" : 8,
6566 "source_info" : {
6567 "filename" : "include/control/lookup_md_init.p4",
6568 "line" : 58,
6569 "column" : 33,
6570 "source_fragment" : "= hdr.icmp.icmp_type; ..."
6571 },
6572 "key" : [],
6573 "match_type" : "exact",
6574 "type" : "simple",
6575 "max_size" : 1024,
6576 "with_counters" : false,
6577 "support_timeout" : false,
6578 "direct_meters" : null,
6579 "action_ids" : [46],
6580 "actions" : ["lookup_md_init58"],
6581 "base_default_next" : "node_19",
6582 "next_tables" : {
6583 "lookup_md_init58" : "node_19"
6584 },
6585 "default_entry" : {
6586 "action_id" : 46,
6587 "action_const" : true,
6588 "action_data" : [],
6589 "action_entry_const" : true
6590 }
6591 },
6592 {
6593 "name" : "tbl_packetio25",
6594 "id" : 9,
6595 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006596 "filename" : "include/control/packetio.p4",
6597 "line" : 25,
6598 "column" : 42,
6599 "source_fragment" : "= hdr.packet_out.egress_port; ..."
6600 },
6601 "key" : [],
6602 "match_type" : "exact",
6603 "type" : "simple",
6604 "max_size" : 1024,
6605 "with_counters" : false,
6606 "support_timeout" : false,
6607 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006608 "action_ids" : [49],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006609 "actions" : ["packetio25"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006610 "base_default_next" : "FabricIngress.slice_tc_classifier.classifier",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006611 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006612 "packetio25" : "FabricIngress.slice_tc_classifier.classifier"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006613 },
6614 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006615 "action_id" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006616 "action_const" : true,
6617 "action_data" : [],
6618 "action_entry_const" : true
6619 }
6620 },
6621 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006622 "name" : "FabricIngress.slice_tc_classifier.classifier",
6623 "id" : 10,
6624 "source_info" : {
6625 "filename" : "include/control/slicing.p4",
6626 "line" : 49,
6627 "column" : 10,
6628 "source_fragment" : "classifier"
6629 },
6630 "key" : [
6631 {
6632 "match_type" : "ternary",
6633 "name" : "ig_port",
6634 "target" : ["standard_metadata", "ingress_port"],
6635 "mask" : null
6636 },
6637 {
6638 "match_type" : "ternary",
6639 "name" : "ipv4_src",
6640 "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
6641 "mask" : null
6642 },
6643 {
6644 "match_type" : "ternary",
6645 "name" : "ipv4_dst",
6646 "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
6647 "mask" : null
6648 },
6649 {
6650 "match_type" : "ternary",
6651 "name" : "ip_proto",
6652 "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
6653 "mask" : null
6654 },
6655 {
6656 "match_type" : "ternary",
6657 "name" : "l4_sport",
6658 "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
6659 "mask" : null
6660 },
6661 {
6662 "match_type" : "ternary",
6663 "name" : "l4_dport",
6664 "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
6665 "mask" : null
6666 }
6667 ],
6668 "match_type" : "ternary",
6669 "type" : "simple",
6670 "max_size" : 512,
6671 "with_counters" : true,
6672 "support_timeout" : false,
6673 "direct_meters" : null,
6674 "action_ids" : [36, 37],
6675 "actions" : ["FabricIngress.slice_tc_classifier.set_slice_id_tc", "FabricIngress.slice_tc_classifier.trust_dscp"],
6676 "base_default_next" : "node_22",
6677 "next_tables" : {
6678 "FabricIngress.slice_tc_classifier.set_slice_id_tc" : "node_22",
6679 "FabricIngress.slice_tc_classifier.trust_dscp" : "node_22"
6680 },
6681 "default_entry" : {
6682 "action_id" : 36,
6683 "action_const" : true,
6684 "action_data" : ["0x0", "0x0"],
6685 "action_entry_const" : true
6686 }
6687 },
6688 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006689 "name" : "tbl_filtering113",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006690 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006691 "source_info" : {
6692 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006693 "line" : 113,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006694 "column" : 36,
6695 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006696 },
6697 "key" : [],
6698 "match_type" : "exact",
6699 "type" : "simple",
6700 "max_size" : 1024,
6701 "with_counters" : false,
6702 "support_timeout" : false,
6703 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006704 "action_ids" : [50],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006705 "actions" : ["filtering113"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006706 "base_default_next" : "node_24",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006707 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006708 "filtering113" : "node_24"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006709 },
6710 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006711 "action_id" : 50,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006712 "action_const" : true,
6713 "action_data" : [],
6714 "action_entry_const" : true
6715 }
6716 },
6717 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006718 "name" : "tbl_filtering119",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006719 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006720 "source_info" : {
6721 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006722 "line" : 119,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006723 "column" : 42,
6724 "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..."
6725 },
6726 "key" : [],
6727 "match_type" : "exact",
6728 "type" : "simple",
6729 "max_size" : 1024,
6730 "with_counters" : false,
6731 "support_timeout" : false,
6732 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006733 "action_ids" : [51],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006734 "actions" : ["filtering119"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006735 "base_default_next" : "node_26",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006736 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006737 "filtering119" : "node_26"
Daniele Moro7c3a0022019-07-12 13:38:34 -07006738 },
6739 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006740 "action_id" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006741 "action_const" : true,
6742 "action_data" : [],
6743 "action_entry_const" : true
6744 }
6745 },
6746 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006747 "name" : "tbl_filtering129",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006748 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006749 "source_info" : {
6750 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006751 "line" : 129,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006752 "column" : 37,
6753 "source_fragment" : "="
6754 },
6755 "key" : [],
6756 "match_type" : "exact",
6757 "type" : "simple",
6758 "max_size" : 1024,
6759 "with_counters" : false,
6760 "support_timeout" : false,
6761 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006762 "action_ids" : [52],
Wailok Shumfb7e7872021-06-18 17:30:08 +08006763 "actions" : ["filtering129"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006764 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
6765 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006766 "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006767 },
6768 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006769 "action_id" : 52,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006770 "action_const" : true,
6771 "action_data" : [],
6772 "action_entry_const" : true
6773 }
6774 },
6775 {
6776 "name" : "FabricIngress.filtering.ingress_port_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006777 "id" : 14,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006778 "source_info" : {
6779 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006780 "line" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006781 "column" : 10,
6782 "source_fragment" : "ingress_port_vlan"
6783 },
6784 "key" : [
6785 {
6786 "match_type" : "exact",
6787 "name" : "ig_port",
6788 "target" : ["standard_metadata", "ingress_port"],
6789 "mask" : null
6790 },
6791 {
6792 "match_type" : "exact",
6793 "name" : "vlan_is_valid",
6794 "target" : ["vlan_tag", "$valid$"],
6795 "mask" : null
6796 },
6797 {
6798 "match_type" : "ternary",
6799 "name" : "vlan_id",
6800 "target" : ["vlan_tag", "vlan_id"],
6801 "mask" : null
Daniele Moro7c3a0022019-07-12 13:38:34 -07006802 },
6803 {
6804 "match_type" : "ternary",
6805 "name" : "inner_vlan_id",
6806 "target" : ["inner_vlan_tag", "vlan_id"],
6807 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006808 }
6809 ],
6810 "match_type" : "ternary",
6811 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07006812 "max_size" : 8192,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006813 "with_counters" : true,
6814 "support_timeout" : false,
6815 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006816 "action_ids" : [17, 18, 19],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006817 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
6818 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
6819 "next_tables" : {
6820 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
6821 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
6822 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
6823 },
6824 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006825 "action_id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006826 "action_const" : true,
6827 "action_data" : [],
6828 "action_entry_const" : true
6829 }
6830 },
6831 {
6832 "name" : "FabricIngress.filtering.fwd_classifier",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006833 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006834 "source_info" : {
6835 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08006836 "line" : 94,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006837 "column" : 10,
6838 "source_fragment" : "fwd_classifier"
6839 },
6840 "key" : [
6841 {
6842 "match_type" : "exact",
6843 "name" : "ig_port",
6844 "target" : ["standard_metadata", "ingress_port"],
6845 "mask" : null
6846 },
6847 {
6848 "match_type" : "ternary",
6849 "name" : "eth_dst",
6850 "target" : ["ethernet", "dst_addr"],
6851 "mask" : null
6852 },
6853 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006854 "match_type" : "ternary",
6855 "name" : "eth_type",
6856 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006857 "mask" : null
6858 },
6859 {
6860 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07006861 "name" : "ip_eth_type",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006862 "target" : ["scalars", "userMetadata._ip_eth_type8"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006863 "mask" : null
6864 }
6865 ],
6866 "match_type" : "ternary",
6867 "type" : "simple",
6868 "max_size" : 1024,
6869 "with_counters" : true,
6870 "support_timeout" : false,
6871 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006872 "action_ids" : [20],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006873 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006874 "base_default_next" : "node_30",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006875 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006876 "FabricIngress.filtering.set_forwarding_type" : "node_30"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006877 },
6878 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08006879 "action_id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006880 "action_const" : true,
6881 "action_data" : ["0x0"],
6882 "action_entry_const" : true
6883 }
6884 },
6885 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006886 "name" : "FabricIngress.forwarding.bridging",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006887 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006888 "source_info" : {
6889 "filename" : "include/control/forwarding.p4",
6890 "line" : 46,
6891 "column" : 10,
6892 "source_fragment" : "bridging"
6893 },
6894 "key" : [
6895 {
6896 "match_type" : "exact",
6897 "name" : "vlan_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006898 "target" : ["scalars", "userMetadata._vlan_id9"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006899 "mask" : null
6900 },
6901 {
6902 "match_type" : "ternary",
6903 "name" : "eth_dst",
6904 "target" : ["ethernet", "dst_addr"],
6905 "mask" : null
6906 }
6907 ],
6908 "match_type" : "ternary",
6909 "type" : "simple",
6910 "max_size" : 1024,
6911 "with_counters" : true,
6912 "support_timeout" : false,
6913 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006914 "action_ids" : [21, 2],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006915 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006916 "base_default_next" : "node_37",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006917 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006918 "FabricIngress.forwarding.set_next_id_bridging" : "node_37",
6919 "nop" : "node_37"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006920 },
6921 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006922 "action_id" : 2,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006923 "action_const" : true,
6924 "action_data" : [],
6925 "action_entry_const" : true
6926 }
6927 },
6928 {
6929 "name" : "FabricIngress.forwarding.mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006930 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006931 "source_info" : {
6932 "filename" : "include/control/forwarding.p4",
6933 "line" : 71,
6934 "column" : 10,
6935 "source_fragment" : "mpls"
6936 },
6937 "key" : [
6938 {
6939 "match_type" : "exact",
6940 "name" : "mpls_label",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006941 "target" : ["scalars", "userMetadata._mpls_label16"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006942 "mask" : null
6943 }
6944 ],
6945 "match_type" : "exact",
6946 "type" : "simple",
6947 "max_size" : 1024,
6948 "with_counters" : true,
6949 "support_timeout" : false,
6950 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006951 "action_ids" : [22, 3],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006952 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006953 "base_default_next" : "node_37",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006954 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006955 "FabricIngress.forwarding.pop_mpls_and_next" : "node_37",
6956 "nop" : "node_37"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006957 },
6958 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006959 "action_id" : 3,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006960 "action_const" : true,
6961 "action_data" : [],
6962 "action_entry_const" : true
6963 }
6964 },
6965 {
6966 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006967 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006968 "source_info" : {
6969 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006970 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006971 "column" : 10,
6972 "source_fragment" : "routing_v4"
6973 },
6974 "key" : [
6975 {
6976 "match_type" : "lpm",
6977 "name" : "ipv4_dst",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006978 "target" : ["scalars", "userMetadata._ipv4_dst_addr28"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006979 "mask" : null
6980 }
6981 ],
6982 "match_type" : "lpm",
6983 "type" : "simple",
6984 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07006985 "with_counters" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006986 "support_timeout" : false,
6987 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08006988 "action_ids" : [23, 24, 4],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006989 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006990 "base_default_next" : "node_37",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006991 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02006992 "FabricIngress.forwarding.set_next_id_routing_v4" : "node_37",
6993 "FabricIngress.forwarding.nop_routing_v4" : "node_37",
6994 "nop" : "node_37"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006995 },
6996 "default_entry" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006997 "action_id" : 4,
CyberHasHe9ba39c2019-10-11 05:59:12 +08006998 "action_const" : false,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006999 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08007000 "action_entry_const" : false
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007001 }
7002 },
7003 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007004 "name" : "FabricIngress.pre_next.next_mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007005 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007006 "source_info" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007007 "filename" : "include/control/pre_next.p4",
7008 "line" : 36,
7009 "column" : 10,
7010 "source_fragment" : "next_mpls"
7011 },
7012 "key" : [
7013 {
7014 "match_type" : "exact",
7015 "name" : "next_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007016 "target" : ["scalars", "userMetadata._next_id21"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007017 "mask" : null
7018 }
7019 ],
7020 "match_type" : "exact",
7021 "type" : "simple",
7022 "max_size" : 1024,
7023 "with_counters" : true,
7024 "support_timeout" : false,
7025 "direct_meters" : null,
7026 "action_ids" : [25, 5],
7027 "actions" : ["FabricIngress.pre_next.set_mpls_label", "nop"],
7028 "base_default_next" : "FabricIngress.pre_next.next_vlan",
7029 "next_tables" : {
7030 "FabricIngress.pre_next.set_mpls_label" : "FabricIngress.pre_next.next_vlan",
7031 "nop" : "FabricIngress.pre_next.next_vlan"
7032 },
7033 "default_entry" : {
7034 "action_id" : 5,
7035 "action_const" : true,
7036 "action_data" : [],
7037 "action_entry_const" : true
7038 }
7039 },
7040 {
7041 "name" : "FabricIngress.pre_next.next_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007042 "id" : 20,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007043 "source_info" : {
7044 "filename" : "include/control/pre_next.p4",
7045 "line" : 73,
7046 "column" : 10,
7047 "source_fragment" : "next_vlan"
7048 },
7049 "key" : [
7050 {
7051 "match_type" : "exact",
7052 "name" : "next_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007053 "target" : ["scalars", "userMetadata._next_id21"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007054 "mask" : null
7055 }
7056 ],
7057 "match_type" : "exact",
7058 "type" : "simple",
7059 "max_size" : 1024,
7060 "with_counters" : true,
7061 "support_timeout" : false,
7062 "direct_meters" : null,
7063 "action_ids" : [26, 27, 6],
7064 "actions" : ["FabricIngress.pre_next.set_vlan", "FabricIngress.pre_next.set_double_vlan", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007065 "base_default_next" : "FabricIngress.acl.acl",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007066 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007067 "FabricIngress.pre_next.set_vlan" : "FabricIngress.acl.acl",
7068 "FabricIngress.pre_next.set_double_vlan" : "FabricIngress.acl.acl",
7069 "nop" : "FabricIngress.acl.acl"
Wailok Shumfb7e7872021-06-18 17:30:08 +08007070 },
7071 "default_entry" : {
7072 "action_id" : 6,
7073 "action_const" : true,
7074 "action_data" : [],
7075 "action_entry_const" : true
7076 }
7077 },
7078 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08007079 "name" : "FabricIngress.acl.acl",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007080 "id" : 21,
Wailok Shum4f51bde2021-06-11 22:48:41 +08007081 "source_info" : {
7082 "filename" : "include/control/acl.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007083 "line" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007084 "column" : 10,
7085 "source_fragment" : "acl"
7086 },
7087 "key" : [
7088 {
7089 "match_type" : "ternary",
7090 "name" : "ig_port",
7091 "target" : ["standard_metadata", "ingress_port"],
7092 "mask" : null
7093 },
7094 {
7095 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007096 "name" : "eth_dst",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007097 "target" : ["ethernet", "dst_addr"],
7098 "mask" : null
7099 },
7100 {
7101 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007102 "name" : "eth_src",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007103 "target" : ["ethernet", "src_addr"],
7104 "mask" : null
7105 },
7106 {
7107 "match_type" : "ternary",
7108 "name" : "vlan_id",
7109 "target" : ["vlan_tag", "vlan_id"],
7110 "mask" : null
7111 },
7112 {
7113 "match_type" : "ternary",
7114 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07007115 "target" : ["eth_type", "value"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007116 "mask" : null
7117 },
7118 {
7119 "match_type" : "ternary",
7120 "name" : "ipv4_src",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007121 "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007122 "mask" : null
7123 },
7124 {
7125 "match_type" : "ternary",
7126 "name" : "ipv4_dst",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007127 "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007128 "mask" : null
7129 },
7130 {
7131 "match_type" : "ternary",
7132 "name" : "ip_proto",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007133 "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007134 "mask" : null
7135 },
7136 {
7137 "match_type" : "ternary",
7138 "name" : "icmp_type",
7139 "target" : ["icmp", "icmp_type"],
7140 "mask" : null
7141 },
7142 {
7143 "match_type" : "ternary",
7144 "name" : "icmp_code",
7145 "target" : ["icmp", "icmp_code"],
7146 "mask" : null
Wailok Shum4f51bde2021-06-11 22:48:41 +08007147 },
7148 {
7149 "match_type" : "ternary",
7150 "name" : "l4_sport",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007151 "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007152 "mask" : null
7153 },
7154 {
7155 "match_type" : "ternary",
7156 "name" : "l4_dport",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007157 "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08007158 "mask" : null
Wailok Shumfb7e7872021-06-18 17:30:08 +08007159 },
7160 {
7161 "match_type" : "ternary",
7162 "name" : "port_type",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007163 "target" : ["scalars", "userMetadata._port_type39"],
Wailok Shumfb7e7872021-06-18 17:30:08 +08007164 "mask" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007165 }
7166 ],
7167 "match_type" : "ternary",
7168 "type" : "simple",
7169 "max_size" : 1024,
7170 "with_counters" : true,
7171 "support_timeout" : false,
7172 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007173 "action_ids" : [28, 29, 30, 31, 32],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007174 "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"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007175 "base_default_next" : "node_41",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007176 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007177 "FabricIngress.acl.set_next_id_acl" : "node_41",
7178 "FabricIngress.acl.punt_to_cpu" : "node_41",
7179 "FabricIngress.acl.set_clone_session_id" : "node_41",
7180 "FabricIngress.acl.drop" : "node_41",
7181 "FabricIngress.acl.nop_acl" : "node_41"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007182 },
7183 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007184 "action_id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007185 "action_const" : true,
7186 "action_data" : [],
7187 "action_entry_const" : true
7188 }
7189 },
7190 {
7191 "name" : "FabricIngress.next.hashed",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007192 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007193 "source_info" : {
7194 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007195 "line" : 138,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007196 "column" : 10,
7197 "source_fragment" : "hashed"
7198 },
7199 "key" : [
7200 {
7201 "match_type" : "exact",
7202 "name" : "next_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007203 "target" : ["scalars", "userMetadata._next_id21"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007204 "mask" : null
7205 }
7206 ],
7207 "match_type" : "exact",
7208 "type" : "indirect_ws",
7209 "action_profile" : "FabricIngress.next.hashed_selector",
7210 "max_size" : 1024,
7211 "with_counters" : true,
7212 "support_timeout" : false,
7213 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007214 "action_ids" : [33, 34, 7],
7215 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007216 "base_default_next" : "FabricIngress.next.multicast",
7217 "next_tables" : {
7218 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
7219 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007220 "nop" : "FabricIngress.next.multicast"
7221 }
7222 },
7223 {
7224 "name" : "FabricIngress.next.multicast",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007225 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007226 "source_info" : {
7227 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007228 "line" : 171,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007229 "column" : 10,
7230 "source_fragment" : "multicast"
7231 },
7232 "key" : [
7233 {
7234 "match_type" : "exact",
7235 "name" : "next_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007236 "target" : ["scalars", "userMetadata._next_id21"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007237 "mask" : null
7238 }
7239 ],
7240 "match_type" : "exact",
7241 "type" : "simple",
7242 "max_size" : 1024,
7243 "with_counters" : true,
7244 "support_timeout" : false,
7245 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007246 "action_ids" : [35, 8],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007247 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007248 "base_default_next" : "node_44",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007249 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007250 "FabricIngress.next.set_mcast_group_id" : "node_44",
7251 "nop" : "node_44"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007252 },
7253 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007254 "action_id" : 8,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007255 "action_const" : true,
7256 "action_data" : [],
7257 "action_entry_const" : true
7258 }
7259 },
7260 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007261 "name" : "tbl_port_counter31",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007262 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007263 "source_info" : {
7264 "filename" : "include/control/port_counter.p4",
7265 "line" : 31,
7266 "column" : 12,
7267 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
7268 },
7269 "key" : [],
7270 "match_type" : "exact",
7271 "type" : "simple",
7272 "max_size" : 1024,
7273 "with_counters" : false,
7274 "support_timeout" : false,
7275 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007276 "action_ids" : [53],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007277 "actions" : ["port_counter31"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007278 "base_default_next" : "node_46",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007279 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007280 "port_counter31" : "node_46"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007281 },
7282 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007283 "action_id" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007284 "action_const" : true,
7285 "action_data" : [],
7286 "action_entry_const" : true
7287 }
7288 },
7289 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007290 "name" : "tbl_port_counter34",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007291 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007292 "source_info" : {
7293 "filename" : "include/control/port_counter.p4",
7294 "line" : 34,
7295 "column" : 12,
7296 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
7297 },
7298 "key" : [],
7299 "match_type" : "exact",
7300 "type" : "simple",
7301 "max_size" : 1024,
7302 "with_counters" : false,
7303 "support_timeout" : false,
7304 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007305 "action_ids" : [54],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007306 "actions" : ["port_counter34"],
Daniele Morob3d199b2019-11-01 14:01:46 -07007307 "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007308 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007309 "port_counter34" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007310 },
7311 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007312 "action_id" : 54,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007313 "action_const" : true,
7314 "action_data" : [],
7315 "action_entry_const" : true
7316 }
7317 },
7318 {
Daniele Morob3d199b2019-11-01 14:01:46 -07007319 "name" : "FabricIngress.bng_ingress.t_line_map",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007320 "id" : 26,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007321 "source_info" : {
7322 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007323 "line" : 323,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007324 "column" : 14,
7325 "source_fragment" : "t_line_map"
7326 },
7327 "key" : [
7328 {
7329 "match_type" : "exact",
7330 "name" : "s_tag",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007331 "target" : ["scalars", "userMetadata._bng_s_tag37"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007332 "mask" : null
7333 },
7334 {
7335 "match_type" : "exact",
7336 "name" : "c_tag",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007337 "target" : ["scalars", "userMetadata._bng_c_tag38"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007338 "mask" : null
7339 }
7340 ],
7341 "match_type" : "exact",
7342 "type" : "simple",
7343 "max_size" : 8192,
7344 "with_counters" : false,
7345 "support_timeout" : false,
7346 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007347 "action_ids" : [16],
Daniele Moro5a2de712019-09-24 14:34:07 -07007348 "actions" : ["FabricIngress.bng_ingress.set_line"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007349 "base_default_next" : "node_49",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007350 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007351 "FabricIngress.bng_ingress.set_line" : "node_49"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007352 },
7353 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007354 "action_id" : 16,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007355 "action_const" : true,
Daniele Moro5a2de712019-09-24 14:34:07 -07007356 "action_data" : ["0x0"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007357 "action_entry_const" : true
7358 }
7359 },
7360 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007361 "name" : "tbl_bng342",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007362 "id" : 27,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007363 "source_info" : {
7364 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007365 "line" : 342,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007366 "column" : 31,
7367 "source_fragment" : "="
7368 },
7369 "key" : [],
7370 "match_type" : "exact",
7371 "type" : "simple",
7372 "max_size" : 1024,
7373 "with_counters" : false,
7374 "support_timeout" : false,
7375 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007376 "action_ids" : [56],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007377 "actions" : ["bng342"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007378 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
7379 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007380 "bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007381 },
7382 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007383 "action_id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007384 "action_const" : true,
7385 "action_data" : [],
7386 "action_entry_const" : true
7387 }
7388 },
7389 {
7390 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007391 "id" : 28,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007392 "source_info" : {
7393 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007394 "line" : 51,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007395 "column" : 10,
7396 "source_fragment" : "t_pppoe_cp"
7397 },
7398 "key" : [
7399 {
7400 "match_type" : "exact",
7401 "name" : "pppoe_code",
7402 "target" : ["pppoe", "code"],
7403 "mask" : null
7404 },
7405 {
7406 "match_type" : "ternary",
7407 "name" : "pppoe_protocol",
7408 "target" : ["pppoe", "protocol"],
7409 "mask" : null
7410 }
7411 ],
7412 "match_type" : "ternary",
7413 "type" : "simple",
7414 "max_size" : 16,
7415 "with_counters" : false,
7416 "support_timeout" : false,
7417 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007418 "action_ids" : [9, 0],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007419 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007420 "base_default_next" : null,
7421 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007422 "__HIT__" : "tbl_bng126",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007423 "__MISS__" : "node_53"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007424 },
7425 "default_entry" : {
7426 "action_id" : 0,
7427 "action_const" : true,
7428 "action_data" : [],
7429 "action_entry_const" : true
7430 }
7431 },
7432 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007433 "name" : "tbl_bng126",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007434 "id" : 29,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007435 "source_info" : {
7436 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007437 "line" : 126,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007438 "column" : 12,
7439 "source_fragment" : "return"
7440 },
7441 "key" : [],
7442 "match_type" : "exact",
7443 "type" : "simple",
7444 "max_size" : 1024,
7445 "with_counters" : false,
7446 "support_timeout" : false,
7447 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007448 "action_ids" : [55],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007449 "actions" : ["bng126"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007450 "base_default_next" : "node_53",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007451 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007452 "bng126" : "node_53"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007453 },
7454 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007455 "action_id" : 55,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007456 "action_const" : true,
7457 "action_data" : [],
7458 "action_entry_const" : true
7459 }
7460 },
7461 {
7462 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007463 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007464 "source_info" : {
7465 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007466 "line" : 87,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007467 "column" : 10,
7468 "source_fragment" : "t_pppoe_term_v4"
7469 },
7470 "key" : [
7471 {
7472 "match_type" : "exact",
7473 "name" : "line_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007474 "target" : ["scalars", "userMetadata._bng_line_id34"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007475 "mask" : null
7476 },
7477 {
7478 "match_type" : "exact",
7479 "name" : "ipv4_src",
7480 "target" : ["ipv4", "src_addr"],
7481 "mask" : null
7482 },
7483 {
7484 "match_type" : "exact",
7485 "name" : "pppoe_session_id",
7486 "target" : ["pppoe", "session_id"],
7487 "mask" : null
7488 }
7489 ],
7490 "match_type" : "exact",
7491 "type" : "simple",
7492 "max_size" : 32768,
7493 "with_counters" : false,
7494 "support_timeout" : false,
7495 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007496 "action_ids" : [11, 10],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007497 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007498 "base_default_next" : "tbl_slicing114",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007499 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007500 "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_bng131",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007501 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : "tbl_slicing114"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007502 },
7503 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007504 "action_id" : 10,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007505 "action_const" : true,
7506 "action_data" : [],
7507 "action_entry_const" : true
7508 }
7509 },
7510 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007511 "name" : "tbl_bng131",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007512 "id" : 31,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007513 "source_info" : {
7514 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007515 "line" : 131,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007516 "column" : 20,
7517 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
7518 },
7519 "key" : [],
7520 "match_type" : "exact",
7521 "type" : "simple",
7522 "max_size" : 1024,
7523 "with_counters" : false,
7524 "support_timeout" : false,
7525 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007526 "action_ids" : [57],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007527 "actions" : ["bng131"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007528 "base_default_next" : "tbl_slicing114",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007529 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007530 "bng131" : "tbl_slicing114"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007531 },
7532 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007533 "action_id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007534 "action_const" : true,
7535 "action_data" : [],
7536 "action_entry_const" : true
7537 }
Daniele Moro7c3a0022019-07-12 13:38:34 -07007538 },
7539 {
7540 "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007541 "id" : 32,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007542 "source_info" : {
7543 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007544 "line" : 169,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007545 "column" : 10,
7546 "source_fragment" : "t_line_session_map"
7547 },
7548 "key" : [
7549 {
7550 "match_type" : "exact",
7551 "name" : "line_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007552 "target" : ["scalars", "userMetadata._bng_line_id34"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007553 "mask" : null
7554 }
7555 ],
7556 "match_type" : "exact",
7557 "type" : "simple",
7558 "max_size" : 8192,
7559 "with_counters" : false,
7560 "support_timeout" : false,
7561 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007562 "action_ids" : [1, 12, 13],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007563 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
7564 "base_default_next" : null,
7565 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007566 "__HIT__" : "node_58",
7567 "__MISS__" : "tbl_slicing114"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007568 },
7569 "default_entry" : {
7570 "action_id" : 1,
7571 "action_const" : true,
7572 "action_data" : [],
7573 "action_entry_const" : true
7574 }
7575 },
7576 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007577 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007578 "id" : 33,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007579 "source_info" : {
7580 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007581 "line" : 194,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007582 "column" : 10,
7583 "source_fragment" : "t_qos_v4"
7584 },
7585 "key" : [
7586 {
7587 "match_type" : "ternary",
7588 "name" : "line_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007589 "target" : ["scalars", "userMetadata._bng_line_id34"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007590 "mask" : null
7591 },
7592 {
7593 "match_type" : "lpm",
7594 "name" : "ipv4_src",
7595 "target" : ["ipv4", "src_addr"],
7596 "mask" : null
7597 },
7598 {
7599 "match_type" : "ternary",
7600 "name" : "ipv4_dscp",
7601 "target" : ["ipv4", "dscp"],
7602 "mask" : null
7603 },
7604 {
7605 "match_type" : "ternary",
7606 "name" : "ipv4_ecn",
7607 "target" : ["ipv4", "ecn"],
7608 "mask" : null
7609 }
7610 ],
7611 "match_type" : "ternary",
7612 "type" : "simple",
7613 "max_size" : 256,
7614 "with_counters" : false,
7615 "support_timeout" : false,
7616 "direct_meters" : null,
Wailok Shumfb7e7872021-06-18 17:30:08 +08007617 "action_ids" : [14, 15],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007618 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007619 "base_default_next" : "tbl_slicing114",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007620 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007621 "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_bng238",
7622 "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng241"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007623 },
7624 "default_entry" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08007625 "action_id" : 15,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007626 "action_const" : true,
7627 "action_data" : [],
7628 "action_entry_const" : true
7629 }
7630 },
7631 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007632 "name" : "tbl_bng238",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007633 "id" : 34,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007634 "source_info" : {
7635 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007636 "line" : 238,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007637 "column" : 24,
7638 "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
7639 },
7640 "key" : [],
7641 "match_type" : "exact",
7642 "type" : "simple",
7643 "max_size" : 1024,
7644 "with_counters" : false,
7645 "support_timeout" : false,
7646 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007647 "action_ids" : [58],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007648 "actions" : ["bng238"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007649 "base_default_next" : "tbl_slicing114",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007650 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007651 "bng238" : "tbl_slicing114"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007652 },
7653 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007654 "action_id" : 58,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007655 "action_const" : true,
7656 "action_data" : [],
7657 "action_entry_const" : true
7658 }
7659 },
7660 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007661 "name" : "tbl_bng241",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007662 "id" : 35,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007663 "source_info" : {
7664 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007665 "line" : 241,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007666 "column" : 24,
7667 "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)"
7668 },
7669 "key" : [],
7670 "match_type" : "exact",
7671 "type" : "simple",
7672 "max_size" : 1024,
7673 "with_counters" : false,
7674 "support_timeout" : false,
7675 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007676 "action_ids" : [59],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007677 "actions" : ["bng241"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007678 "base_default_next" : "tbl_slicing114",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007679 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007680 "bng241" : "tbl_slicing114"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007681 },
7682 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007683 "action_id" : 59,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007684 "action_const" : true,
7685 "action_data" : [],
7686 "action_entry_const" : true
7687 }
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007688 },
7689 {
7690 "name" : "tbl_slicing114",
7691 "id" : 36,
7692 "source_info" : {
7693 "filename" : "include/control/slicing.p4",
7694 "line" : 114,
7695 "column" : 8,
7696 "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color); ..."
7697 },
7698 "key" : [],
7699 "match_type" : "exact",
7700 "type" : "simple",
7701 "max_size" : 1024,
7702 "with_counters" : false,
7703 "support_timeout" : false,
7704 "direct_meters" : null,
7705 "action_ids" : [60],
7706 "actions" : ["slicing114"],
7707 "base_default_next" : "FabricIngress.qos.queues",
7708 "next_tables" : {
7709 "slicing114" : "FabricIngress.qos.queues"
7710 },
7711 "default_entry" : {
7712 "action_id" : 60,
7713 "action_const" : true,
7714 "action_data" : [],
7715 "action_entry_const" : true
7716 }
7717 },
7718 {
7719 "name" : "FabricIngress.qos.queues",
7720 "id" : 37,
7721 "source_info" : {
7722 "filename" : "include/control/slicing.p4",
7723 "line" : 93,
7724 "column" : 10,
7725 "source_fragment" : "queues"
7726 },
7727 "key" : [
7728 {
7729 "match_type" : "exact",
7730 "name" : "slice_id",
7731 "target" : ["scalars", "userMetadata._slice_id29"],
7732 "mask" : null
7733 },
7734 {
7735 "match_type" : "exact",
7736 "name" : "tc",
7737 "target" : ["scalars", "userMetadata._tc31"],
7738 "mask" : null
7739 },
7740 {
7741 "match_type" : "ternary",
7742 "name" : "color",
7743 "target" : ["scalars", "userMetadata._packet_color30"],
7744 "mask" : null
7745 }
7746 ],
7747 "match_type" : "ternary",
7748 "type" : "simple",
7749 "max_size" : 128,
7750 "with_counters" : true,
7751 "support_timeout" : false,
7752 "direct_meters" : null,
7753 "action_ids" : [38, 39],
7754 "actions" : ["FabricIngress.qos.set_queue", "FabricIngress.qos.meter_drop"],
7755 "base_default_next" : null,
7756 "next_tables" : {
7757 "FabricIngress.qos.set_queue" : null,
7758 "FabricIngress.qos.meter_drop" : null
7759 },
7760 "default_entry" : {
7761 "action_id" : 38,
7762 "action_const" : true,
7763 "action_data" : ["0x0"],
7764 "action_entry_const" : true
7765 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007766 }
7767 ],
7768 "action_profiles" : [
7769 {
7770 "name" : "FabricIngress.next.hashed_selector",
7771 "id" : 0,
7772 "source_info" : {
7773 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08007774 "line" : 125,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007775 "column" : 57,
7776 "source_fragment" : "hashed_selector"
7777 },
7778 "max_size" : 1024,
7779 "selector" : {
7780 "algo" : "crc16",
7781 "input" : [
7782 {
7783 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007784 "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007785 },
7786 {
7787 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007788 "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007789 },
7790 {
7791 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007792 "value" : ["scalars", "userMetadata._ip_proto24"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007793 },
7794 {
7795 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007796 "value" : ["scalars", "userMetadata._l4_sport25"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007797 },
7798 {
7799 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007800 "value" : ["scalars", "userMetadata._l4_dport26"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007801 }
7802 ]
7803 }
7804 }
7805 ],
7806 "conditionals" : [
7807 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007808 "name" : "node_3",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007809 "id" : 0,
7810 "source_info" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02007811 "filename" : "include/control/lookup_md_init.p4",
7812 "line" : 31,
7813 "column" : 12,
7814 "source_fragment" : "hdr.inner_ipv4.isValid()"
7815 },
7816 "expression" : {
7817 "type" : "expression",
7818 "value" : {
7819 "op" : "d2b",
7820 "left" : null,
7821 "right" : {
7822 "type" : "field",
7823 "value" : ["inner_ipv4", "$valid$"]
7824 }
7825 }
7826 },
7827 "true_next" : "tbl_lookup_md_init32",
7828 "false_next" : "node_11"
7829 },
7830 {
7831 "name" : "node_5",
7832 "id" : 1,
7833 "source_info" : {
7834 "filename" : "include/control/lookup_md_init.p4",
7835 "line" : 36,
7836 "column" : 16,
7837 "source_fragment" : "hdr.inner_tcp.isValid()"
7838 },
7839 "expression" : {
7840 "type" : "expression",
7841 "value" : {
7842 "op" : "d2b",
7843 "left" : null,
7844 "right" : {
7845 "type" : "field",
7846 "value" : ["inner_tcp", "$valid$"]
7847 }
7848 }
7849 },
7850 "true_next" : "tbl_lookup_md_init37",
7851 "false_next" : "node_7"
7852 },
7853 {
7854 "name" : "node_7",
7855 "id" : 2,
7856 "source_info" : {
7857 "filename" : "include/control/lookup_md_init.p4",
7858 "line" : 39,
7859 "column" : 23,
7860 "source_fragment" : "hdr.inner_udp.isValid()"
7861 },
7862 "expression" : {
7863 "type" : "expression",
7864 "value" : {
7865 "op" : "d2b",
7866 "left" : null,
7867 "right" : {
7868 "type" : "field",
7869 "value" : ["inner_udp", "$valid$"]
7870 }
7871 }
7872 },
7873 "true_next" : "tbl_lookup_md_init40",
7874 "false_next" : "node_9"
7875 },
7876 {
7877 "name" : "node_9",
7878 "id" : 3,
7879 "source_info" : {
7880 "filename" : "include/control/lookup_md_init.p4",
7881 "line" : 42,
7882 "column" : 23,
7883 "source_fragment" : "hdr.inner_icmp.isValid()"
7884 },
7885 "expression" : {
7886 "type" : "expression",
7887 "value" : {
7888 "op" : "d2b",
7889 "left" : null,
7890 "right" : {
7891 "type" : "field",
7892 "value" : ["inner_icmp", "$valid$"]
7893 }
7894 }
7895 },
7896 "true_next" : "tbl_lookup_md_init43",
7897 "false_next" : "node_19"
7898 },
7899 {
7900 "name" : "node_11",
7901 "id" : 4,
7902 "source_info" : {
7903 "filename" : "include/control/lookup_md_init.p4",
7904 "line" : 46,
7905 "column" : 19,
7906 "source_fragment" : "hdr.ipv4.isValid()"
7907 },
7908 "expression" : {
7909 "type" : "expression",
7910 "value" : {
7911 "op" : "d2b",
7912 "left" : null,
7913 "right" : {
7914 "type" : "field",
7915 "value" : ["ipv4", "$valid$"]
7916 }
7917 }
7918 },
7919 "true_next" : "tbl_lookup_md_init47",
7920 "false_next" : "node_19"
7921 },
7922 {
7923 "name" : "node_13",
7924 "id" : 5,
7925 "source_info" : {
7926 "filename" : "include/control/lookup_md_init.p4",
7927 "line" : 51,
7928 "column" : 16,
7929 "source_fragment" : "hdr.tcp.isValid()"
7930 },
7931 "expression" : {
7932 "type" : "expression",
7933 "value" : {
7934 "op" : "d2b",
7935 "left" : null,
7936 "right" : {
7937 "type" : "field",
7938 "value" : ["tcp", "$valid$"]
7939 }
7940 }
7941 },
7942 "true_next" : "tbl_lookup_md_init52",
7943 "false_next" : "node_15"
7944 },
7945 {
7946 "name" : "node_15",
7947 "id" : 6,
7948 "source_info" : {
7949 "filename" : "include/control/lookup_md_init.p4",
7950 "line" : 54,
7951 "column" : 23,
7952 "source_fragment" : "hdr.udp.isValid()"
7953 },
7954 "expression" : {
7955 "type" : "expression",
7956 "value" : {
7957 "op" : "d2b",
7958 "left" : null,
7959 "right" : {
7960 "type" : "field",
7961 "value" : ["udp", "$valid$"]
7962 }
7963 }
7964 },
7965 "true_next" : "tbl_lookup_md_init55",
7966 "false_next" : "node_17"
7967 },
7968 {
7969 "name" : "node_17",
7970 "id" : 7,
7971 "source_info" : {
7972 "filename" : "include/control/lookup_md_init.p4",
7973 "line" : 57,
7974 "column" : 23,
7975 "source_fragment" : "hdr.icmp.isValid()"
7976 },
7977 "expression" : {
7978 "type" : "expression",
7979 "value" : {
7980 "op" : "d2b",
7981 "left" : null,
7982 "right" : {
7983 "type" : "field",
7984 "value" : ["icmp", "$valid$"]
7985 }
7986 }
7987 },
7988 "true_next" : "tbl_lookup_md_init58",
7989 "false_next" : "node_19"
7990 },
7991 {
7992 "name" : "node_19",
7993 "id" : 8,
7994 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007995 "filename" : "include/control/packetio.p4",
7996 "line" : 24,
7997 "column" : 12,
7998 "source_fragment" : "hdr.packet_out.isValid()"
7999 },
8000 "expression" : {
8001 "type" : "expression",
8002 "value" : {
8003 "op" : "d2b",
8004 "left" : null,
8005 "right" : {
8006 "type" : "field",
8007 "value" : ["packet_out", "$valid$"]
8008 }
8009 }
8010 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008011 "true_next" : "tbl_packetio25",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008012 "false_next" : "FabricIngress.slice_tc_classifier.classifier"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008013 },
8014 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008015 "name" : "node_22",
8016 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008017 "source_info" : {
8018 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008019 "line" : 112,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008020 "column" : 12,
8021 "source_fragment" : "hdr.vlan_tag.isValid()"
8022 },
8023 "expression" : {
8024 "type" : "expression",
8025 "value" : {
8026 "op" : "d2b",
8027 "left" : null,
8028 "right" : {
8029 "type" : "field",
8030 "value" : ["vlan_tag", "$valid$"]
8031 }
8032 }
8033 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08008034 "true_next" : "tbl_filtering113",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008035 "false_next" : "node_24"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008036 },
8037 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008038 "name" : "node_24",
8039 "id" : 10,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008040 "source_info" : {
8041 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008042 "line" : 118,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008043 "column" : 12,
8044 "source_fragment" : "hdr.inner_vlan_tag.isValid()"
8045 },
8046 "expression" : {
8047 "type" : "expression",
8048 "value" : {
8049 "op" : "d2b",
8050 "left" : null,
8051 "right" : {
8052 "type" : "field",
8053 "value" : ["inner_vlan_tag", "$valid$"]
8054 }
8055 }
8056 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08008057 "true_next" : "tbl_filtering119",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008058 "false_next" : "node_26"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008059 },
8060 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008061 "name" : "node_26",
8062 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008063 "source_info" : {
8064 "filename" : "include/control/filtering.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008065 "line" : 124,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008066 "column" : 12,
8067 "source_fragment" : "!hdr.mpls.isValid()"
8068 },
8069 "expression" : {
8070 "type" : "expression",
8071 "value" : {
8072 "op" : "not",
8073 "left" : null,
8074 "right" : {
8075 "type" : "expression",
8076 "value" : {
8077 "op" : "d2b",
8078 "left" : null,
8079 "right" : {
8080 "type" : "field",
8081 "value" : ["mpls", "$valid$"]
8082 }
8083 }
8084 }
8085 }
8086 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08008087 "true_next" : "tbl_filtering129",
Daniele Moro5a2de712019-09-24 14:34:07 -07008088 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008089 },
8090 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008091 "name" : "node_30",
8092 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008093 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008094 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008095 "line" : 80,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008096 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008097 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008098 },
8099 "expression" : {
8100 "type" : "expression",
8101 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008102 "op" : "not",
8103 "left" : null,
8104 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008105 "type" : "expression",
8106 "value" : {
8107 "op" : "d2b",
8108 "left" : null,
8109 "right" : {
8110 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008111 "value" : ["scalars", "userMetadata._skip_forwarding18"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008112 }
8113 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008114 }
8115 }
8116 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008117 "true_next" : "node_31",
8118 "false_next" : "node_37"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008119 },
8120 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008121 "name" : "node_31",
8122 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008123 "source_info" : {
8124 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008125 "line" : 150,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008126 "column" : 12,
8127 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
8128 },
8129 "expression" : {
8130 "type" : "expression",
8131 "value" : {
8132 "op" : "==",
8133 "left" : {
8134 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008135 "value" : ["scalars", "userMetadata._fwd_type20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008136 },
8137 "right" : {
8138 "type" : "hexstr",
8139 "value" : "0x00"
8140 }
8141 }
8142 },
8143 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008144 "false_next" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008145 },
8146 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008147 "name" : "node_33",
8148 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008149 "source_info" : {
8150 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008151 "line" : 151,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008152 "column" : 17,
8153 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
8154 },
8155 "expression" : {
8156 "type" : "expression",
8157 "value" : {
8158 "op" : "==",
8159 "left" : {
8160 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008161 "value" : ["scalars", "userMetadata._fwd_type20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008162 },
8163 "right" : {
8164 "type" : "hexstr",
8165 "value" : "0x01"
8166 }
8167 }
8168 },
8169 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008170 "false_next" : "node_35"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008171 },
8172 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008173 "name" : "node_35",
8174 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008175 "source_info" : {
8176 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008177 "line" : 152,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008178 "column" : 17,
8179 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
8180 },
8181 "expression" : {
8182 "type" : "expression",
8183 "value" : {
8184 "op" : "==",
8185 "left" : {
8186 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008187 "value" : ["scalars", "userMetadata._fwd_type20"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008188 },
8189 "right" : {
8190 "type" : "hexstr",
8191 "value" : "0x02"
8192 }
8193 }
8194 },
8195 "true_next" : "FabricIngress.forwarding.routing_v4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008196 "false_next" : "node_37"
Wailok Shumfb7e7872021-06-18 17:30:08 +08008197 },
8198 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008199 "name" : "node_37",
8200 "id" : 16,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008201 "source_info" : {
8202 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008203 "line" : 83,
Wailok Shumfb7e7872021-06-18 17:30:08 +08008204 "column" : 12,
8205 "source_fragment" : "fabric_metadata.skip_next"
8206 },
8207 "expression" : {
8208 "type" : "expression",
8209 "value" : {
8210 "op" : "not",
8211 "left" : null,
8212 "right" : {
8213 "type" : "expression",
8214 "value" : {
8215 "op" : "d2b",
8216 "left" : null,
8217 "right" : {
8218 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008219 "value" : ["scalars", "userMetadata._skip_next19"]
Wailok Shumfb7e7872021-06-18 17:30:08 +08008220 }
8221 }
8222 }
8223 }
8224 },
8225 "true_next" : "FabricIngress.pre_next.next_mpls",
Wailok Shum4f51bde2021-06-11 22:48:41 +08008226 "false_next" : "FabricIngress.acl.acl"
8227 },
8228 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008229 "name" : "node_41",
8230 "id" : 17,
Wailok Shum4f51bde2021-06-11 22:48:41 +08008231 "source_info" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008232 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008233 "line" : 87,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008234 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008235 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008236 },
8237 "expression" : {
8238 "type" : "expression",
8239 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008240 "op" : "not",
8241 "left" : null,
8242 "right" : {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008243 "type" : "expression",
8244 "value" : {
8245 "op" : "d2b",
8246 "left" : null,
8247 "right" : {
8248 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008249 "value" : ["scalars", "userMetadata._skip_next19"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008250 }
8251 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008252 }
8253 }
8254 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07008255 "true_next" : "FabricIngress.next.hashed",
Daniele Morob3d199b2019-11-01 14:01:46 -07008256 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008257 },
8258 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008259 "name" : "node_44",
8260 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008261 "source_info" : {
8262 "filename" : "include/control/port_counter.p4",
8263 "line" : 30,
8264 "column" : 12,
8265 "source_fragment" : "standard_metadata.egress_spec < 511"
8266 },
8267 "expression" : {
8268 "type" : "expression",
8269 "value" : {
8270 "op" : "<",
8271 "left" : {
8272 "type" : "field",
8273 "value" : ["standard_metadata", "egress_spec"]
8274 },
8275 "right" : {
8276 "type" : "hexstr",
8277 "value" : "0x01ff"
8278 }
8279 }
8280 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008281 "true_next" : "tbl_port_counter31",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008282 "false_next" : "node_46"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008283 },
8284 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008285 "name" : "node_46",
8286 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008287 "source_info" : {
8288 "filename" : "include/control/port_counter.p4",
8289 "line" : 33,
8290 "column" : 12,
8291 "source_fragment" : "standard_metadata.ingress_port < 511"
8292 },
8293 "expression" : {
8294 "type" : "expression",
8295 "value" : {
8296 "op" : "<",
8297 "left" : {
8298 "type" : "field",
8299 "value" : ["standard_metadata", "ingress_port"]
8300 },
8301 "right" : {
8302 "type" : "hexstr",
8303 "value" : "0x01ff"
8304 }
8305 }
8306 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008307 "true_next" : "tbl_port_counter34",
Daniele Morob3d199b2019-11-01 14:01:46 -07008308 "false_next" : "FabricIngress.bng_ingress.t_line_map"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008309 },
8310 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008311 "name" : "node_49",
8312 "id" : 20,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008313 "source_info" : {
8314 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008315 "line" : 341,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008316 "column" : 16,
8317 "source_fragment" : "hdr.pppoe.isValid()"
8318 },
8319 "expression" : {
8320 "type" : "expression",
8321 "value" : {
8322 "op" : "d2b",
8323 "left" : null,
8324 "right" : {
8325 "type" : "field",
8326 "value" : ["pppoe", "$valid$"]
8327 }
8328 }
8329 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008330 "true_next" : "tbl_bng342",
Daniele Moro7c3a0022019-07-12 13:38:34 -07008331 "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
8332 },
8333 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008334 "name" : "node_53",
8335 "id" : 21,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008336 "expression" : {
8337 "type" : "expression",
8338 "value" : {
Daniele Moro7c3a0022019-07-12 13:38:34 -07008339 "op" : "not",
8340 "left" : null,
8341 "right" : {
8342 "type" : "expression",
8343 "value" : {
8344 "op" : "d2b",
8345 "left" : null,
8346 "right" : {
8347 "type" : "field",
8348 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
8349 }
8350 }
8351 }
8352 }
8353 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008354 "true_next" : "node_54",
8355 "false_next" : "tbl_slicing114"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008356 },
8357 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008358 "name" : "node_54",
8359 "id" : 22,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008360 "source_info" : {
8361 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008362 "line" : 128,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008363 "column" : 12,
8364 "source_fragment" : "hdr.ipv4.isValid()"
8365 },
8366 "expression" : {
8367 "type" : "expression",
8368 "value" : {
8369 "op" : "d2b",
8370 "left" : null,
8371 "right" : {
8372 "type" : "field",
8373 "value" : ["ipv4", "$valid$"]
8374 }
8375 }
8376 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008377 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
8378 "false_next" : "tbl_slicing114"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008379 },
8380 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008381 "name" : "node_58",
8382 "id" : 23,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008383 "source_info" : {
8384 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008385 "line" : 235,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008386 "column" : 16,
8387 "source_fragment" : "hdr.ipv4.isValid()"
8388 },
8389 "expression" : {
8390 "type" : "expression",
8391 "value" : {
8392 "op" : "d2b",
8393 "left" : null,
8394 "right" : {
8395 "type" : "field",
8396 "value" : ["ipv4", "$valid$"]
8397 }
8398 }
8399 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008400 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
8401 "false_next" : "tbl_slicing114"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008402 }
8403 ]
8404 },
8405 {
8406 "name" : "egress",
8407 "id" : 1,
8408 "source_info" : {
8409 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008410 "line" : 105,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008411 "column" : 8,
8412 "source_fragment" : "FabricEgress"
8413 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008414 "init_table" : "node_66",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008415 "tables" : [
8416 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008417 "name" : "tbl_packetio41",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008418 "id" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008419 "source_info" : {
8420 "filename" : "include/control/packetio.p4",
8421 "line" : 41,
8422 "column" : 12,
8423 "source_fragment" : "exit"
8424 },
8425 "key" : [],
8426 "match_type" : "exact",
8427 "type" : "simple",
8428 "max_size" : 1024,
8429 "with_counters" : false,
8430 "support_timeout" : false,
8431 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008432 "action_ids" : [72],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008433 "actions" : ["packetio41"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008434 "base_default_next" : "node_68",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008435 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008436 "packetio41" : "node_68"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008437 },
8438 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008439 "action_id" : 72,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008440 "action_const" : true,
8441 "action_data" : [],
8442 "action_entry_const" : true
8443 }
8444 },
8445 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008446 "name" : "tbl_packetio44",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008447 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008448 "source_info" : {
8449 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008450 "line" : 44,
8451 "column" : 12,
8452 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008453 },
8454 "key" : [],
8455 "match_type" : "exact",
8456 "type" : "simple",
8457 "max_size" : 1024,
8458 "with_counters" : false,
8459 "support_timeout" : false,
8460 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008461 "action_ids" : [73],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008462 "actions" : ["packetio44"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008463 "base_default_next" : "node_70",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008464 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008465 "packetio44" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008466 },
8467 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008468 "action_id" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008469 "action_const" : true,
8470 "action_data" : [],
8471 "action_entry_const" : true
8472 }
8473 },
8474 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008475 "name" : "tbl_next283",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008476 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008477 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008478 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008479 "line" : 283,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008480 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008481 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008482 },
8483 "key" : [],
8484 "match_type" : "exact",
8485 "type" : "simple",
8486 "max_size" : 1024,
8487 "with_counters" : false,
8488 "support_timeout" : false,
8489 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008490 "action_ids" : [74],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008491 "actions" : ["next283"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008492 "base_default_next" : "node_72",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008493 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008494 "next283" : "node_72"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008495 },
8496 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008497 "action_id" : 74,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008498 "action_const" : true,
8499 "action_data" : [],
8500 "action_entry_const" : true
8501 }
8502 },
8503 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008504 "name" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008505 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008506 "source_info" : {
8507 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008508 "line" : 287,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008509 "column" : 36,
8510 "source_fragment" : "pop_mpls_if_present()"
8511 },
8512 "key" : [],
8513 "match_type" : "exact",
8514 "type" : "simple",
8515 "max_size" : 1024,
8516 "with_counters" : false,
8517 "support_timeout" : false,
8518 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008519 "action_ids" : [63],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008520 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008521 "base_default_next" : "node_76",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008522 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008523 "FabricEgress.egress_next.pop_mpls_if_present" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008524 },
8525 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008526 "action_id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008527 "action_const" : true,
8528 "action_data" : [],
8529 "action_entry_const" : true
8530 }
8531 },
8532 {
8533 "name" : "tbl_egress_next_set_mpls",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008534 "id" : 42,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008535 "source_info" : {
8536 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008537 "line" : 289,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008538 "column" : 12,
8539 "source_fragment" : "set_mpls()"
8540 },
8541 "key" : [],
8542 "match_type" : "exact",
8543 "type" : "simple",
8544 "max_size" : 1024,
8545 "with_counters" : false,
8546 "support_timeout" : false,
8547 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008548 "action_ids" : [64],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008549 "actions" : ["FabricEgress.egress_next.set_mpls"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008550 "base_default_next" : "node_76",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008551 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008552 "FabricEgress.egress_next.set_mpls" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008553 },
8554 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008555 "action_id" : 64,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008556 "action_const" : true,
8557 "action_data" : [],
8558 "action_entry_const" : true
8559 }
8560 },
8561 {
pierventre48e78822020-12-15 17:34:54 +01008562 "name" : "tbl_egress_next_push_outer_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008563 "id" : 43,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008564 "source_info" : {
8565 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008566 "line" : 295,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008567 "column" : 12,
pierventre48e78822020-12-15 17:34:54 +01008568 "source_fragment" : "push_outer_vlan()"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008569 },
8570 "key" : [],
8571 "match_type" : "exact",
8572 "type" : "simple",
8573 "max_size" : 1024,
8574 "with_counters" : false,
8575 "support_timeout" : false,
8576 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008577 "action_ids" : [65],
pierventre48e78822020-12-15 17:34:54 +01008578 "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07008579 "base_default_next" : "tbl_egress_next_push_inner_vlan",
8580 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008581 "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008582 },
8583 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008584 "action_id" : 65,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008585 "action_const" : true,
8586 "action_data" : [],
8587 "action_entry_const" : true
8588 }
8589 },
8590 {
8591 "name" : "tbl_egress_next_push_inner_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008592 "id" : 44,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008593 "source_info" : {
8594 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008595 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008596 "column" : 12,
8597 "source_fragment" : "push_inner_vlan()"
8598 },
8599 "key" : [],
8600 "match_type" : "exact",
8601 "type" : "simple",
8602 "max_size" : 1024,
8603 "with_counters" : false,
8604 "support_timeout" : false,
8605 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008606 "action_ids" : [66],
Daniele Moro7c3a0022019-07-12 13:38:34 -07008607 "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008608 "base_default_next" : "node_81",
Daniele Moro7c3a0022019-07-12 13:38:34 -07008609 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008610 "FabricEgress.egress_next.push_inner_vlan" : "node_81"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008611 },
8612 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008613 "action_id" : 66,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008614 "action_const" : true,
8615 "action_data" : [],
8616 "action_entry_const" : true
8617 }
8618 },
8619 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008620 "name" : "tbl_next299",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008621 "id" : 45,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008622 "source_info" : {
8623 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008624 "line" : 299,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008625 "column" : 12,
8626 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
8627 },
8628 "key" : [],
8629 "match_type" : "exact",
8630 "type" : "simple",
8631 "max_size" : 1024,
8632 "with_counters" : false,
8633 "support_timeout" : false,
8634 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008635 "action_ids" : [75],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008636 "actions" : ["next299"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07008637 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
8638 "next_tables" : {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008639 "next299" : "FabricEgress.egress_next.egress_vlan"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008640 },
8641 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008642 "action_id" : 75,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008643 "action_const" : true,
8644 "action_data" : [],
8645 "action_entry_const" : true
8646 }
8647 },
8648 {
8649 "name" : "FabricEgress.egress_next.egress_vlan",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008650 "id" : 46,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008651 "source_info" : {
8652 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008653 "line" : 265,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008654 "column" : 10,
8655 "source_fragment" : "egress_vlan"
8656 },
8657 "key" : [
8658 {
8659 "match_type" : "exact",
8660 "name" : "vlan_id",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008661 "target" : ["scalars", "userMetadata._vlan_id9"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008662 "mask" : null
8663 },
8664 {
8665 "match_type" : "exact",
8666 "name" : "eg_port",
8667 "target" : ["standard_metadata", "egress_port"],
8668 "mask" : null
8669 }
8670 ],
8671 "match_type" : "exact",
8672 "type" : "simple",
8673 "max_size" : 1024,
8674 "with_counters" : true,
8675 "support_timeout" : false,
8676 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008677 "action_ids" : [67, 68, 69],
pierventre48e78822020-12-15 17:34:54 +01008678 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008679 "base_default_next" : "node_81",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008680 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008681 "FabricEgress.egress_next.push_vlan" : "node_81",
8682 "FabricEgress.egress_next.pop_vlan" : "node_81",
8683 "FabricEgress.egress_next.drop" : "node_81"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008684 },
8685 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008686 "action_id" : 69,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008687 "action_const" : true,
8688 "action_data" : [],
8689 "action_entry_const" : true
8690 }
8691 },
8692 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008693 "name" : "tbl_next309",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008694 "id" : 47,
pierventre48e78822020-12-15 17:34:54 +01008695 "source_info" : {
8696 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008697 "line" : 309,
pierventre48e78822020-12-15 17:34:54 +01008698 "column" : 25,
8699 "source_fragment" : "="
8700 },
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008701 "key" : [],
8702 "match_type" : "exact",
8703 "type" : "simple",
8704 "max_size" : 1024,
8705 "with_counters" : false,
8706 "support_timeout" : false,
8707 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008708 "action_ids" : [77],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008709 "actions" : ["next309"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008710 "base_default_next" : "node_83",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008711 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008712 "next309" : "node_83"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008713 },
8714 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008715 "action_id" : 77,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008716 "action_const" : true,
8717 "action_data" : [],
8718 "action_entry_const" : true
8719 }
8720 },
8721 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008722 "name" : "tbl_next310",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008723 "id" : 48,
pierventre48e78822020-12-15 17:34:54 +01008724 "source_info" : {
8725 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008726 "line" : 310,
pierventre48e78822020-12-15 17:34:54 +01008727 "column" : 35,
8728 "source_fragment" : "mark_to_drop(standard_metadata)"
8729 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008730 "key" : [],
8731 "match_type" : "exact",
8732 "type" : "simple",
8733 "max_size" : 1024,
8734 "with_counters" : false,
8735 "support_timeout" : false,
8736 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008737 "action_ids" : [76],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008738 "actions" : ["next310"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008739 "base_default_next" : "node_89",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008740 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008741 "next310" : "node_89"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008742 },
8743 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008744 "action_id" : 76,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008745 "action_const" : true,
8746 "action_data" : [],
8747 "action_entry_const" : true
8748 }
8749 },
8750 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008751 "name" : "tbl_next313",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008752 "id" : 49,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008753 "source_info" : {
8754 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008755 "line" : 313,
pierventre48e78822020-12-15 17:34:54 +01008756 "column" : 29,
Daniele Morob3d199b2019-11-01 14:01:46 -07008757 "source_fragment" : "="
8758 },
8759 "key" : [],
8760 "match_type" : "exact",
8761 "type" : "simple",
8762 "max_size" : 1024,
8763 "with_counters" : false,
8764 "support_timeout" : false,
8765 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008766 "action_ids" : [79],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008767 "actions" : ["next313"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008768 "base_default_next" : "node_87",
Daniele Morob3d199b2019-11-01 14:01:46 -07008769 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008770 "next313" : "node_87"
Daniele Morob3d199b2019-11-01 14:01:46 -07008771 },
8772 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008773 "action_id" : 79,
Daniele Morob3d199b2019-11-01 14:01:46 -07008774 "action_const" : true,
8775 "action_data" : [],
8776 "action_entry_const" : true
8777 }
8778 },
8779 {
Wailok Shumfb7e7872021-06-18 17:30:08 +08008780 "name" : "tbl_next314",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008781 "id" : 50,
Daniele Morob3d199b2019-11-01 14:01:46 -07008782 "source_info" : {
8783 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008784 "line" : 314,
pierventre48e78822020-12-15 17:34:54 +01008785 "column" : 39,
Daniele Morob3d199b2019-11-01 14:01:46 -07008786 "source_fragment" : "mark_to_drop(standard_metadata)"
8787 },
8788 "key" : [],
8789 "match_type" : "exact",
8790 "type" : "simple",
8791 "max_size" : 1024,
8792 "with_counters" : false,
8793 "support_timeout" : false,
8794 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008795 "action_ids" : [78],
Wailok Shumfb7e7872021-06-18 17:30:08 +08008796 "actions" : ["next314"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008797 "base_default_next" : "node_89",
Daniele Morob3d199b2019-11-01 14:01:46 -07008798 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008799 "next314" : "node_89"
Daniele Morob3d199b2019-11-01 14:01:46 -07008800 },
8801 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008802 "action_id" : 78,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008803 "action_const" : true,
8804 "action_data" : [],
8805 "action_entry_const" : true
8806 }
8807 },
8808 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07008809 "name" : "tbl_bng_egress_downstream_encap_v4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008810 "id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008811 "source_info" : {
8812 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008813 "line" : 297,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008814 "column" : 12,
8815 "source_fragment" : "encap_v4()"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008816 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07008817 "key" : [],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008818 "match_type" : "exact",
8819 "type" : "simple",
Daniele Moro7c3a0022019-07-12 13:38:34 -07008820 "max_size" : 1024,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008821 "with_counters" : false,
8822 "support_timeout" : false,
8823 "direct_meters" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008824 "action_ids" : [62],
Daniele Moro7c3a0022019-07-12 13:38:34 -07008825 "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008826 "base_default_next" : "tbl_slicing126",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008827 "next_tables" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008828 "FabricEgress.bng_egress.downstream.encap_v4" : "tbl_slicing126"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008829 },
8830 "default_entry" : {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008831 "action_id" : 62,
8832 "action_const" : true,
8833 "action_data" : [],
8834 "action_entry_const" : true
8835 }
8836 },
8837 {
8838 "name" : "tbl_slicing126",
8839 "id" : 52,
8840 "source_info" : {
8841 "filename" : "include/control/slicing.p4",
8842 "line" : 126,
8843 "column" : 4,
8844 "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp;"
8845 },
8846 "key" : [],
8847 "match_type" : "exact",
8848 "type" : "simple",
8849 "max_size" : 1024,
8850 "with_counters" : false,
8851 "support_timeout" : false,
8852 "direct_meters" : null,
8853 "action_ids" : [81],
8854 "actions" : ["slicing126"],
8855 "base_default_next" : "FabricEgress.dscp_rewriter.rewriter",
8856 "next_tables" : {
8857 "slicing126" : "FabricEgress.dscp_rewriter.rewriter"
8858 },
8859 "default_entry" : {
8860 "action_id" : 81,
8861 "action_const" : true,
8862 "action_data" : [],
8863 "action_entry_const" : true
8864 }
8865 },
8866 {
8867 "name" : "FabricEgress.dscp_rewriter.rewriter",
8868 "id" : 53,
8869 "source_info" : {
8870 "filename" : "include/control/slicing.p4",
8871 "line" : 138,
8872 "column" : 10,
8873 "source_fragment" : "rewriter"
8874 },
8875 "key" : [
8876 {
8877 "match_type" : "exact",
8878 "name" : "eg_port",
8879 "target" : ["standard_metadata", "egress_port"],
8880 "mask" : null
8881 }
8882 ],
8883 "match_type" : "exact",
8884 "type" : "simple",
8885 "max_size" : 512,
8886 "with_counters" : false,
8887 "support_timeout" : false,
8888 "direct_meters" : null,
8889 "action_ids" : [70, 71, 61],
8890 "actions" : ["FabricEgress.dscp_rewriter.rewrite", "FabricEgress.dscp_rewriter.clear", "nop"],
8891 "base_default_next" : null,
8892 "next_tables" : {
8893 "__MISS__" : null,
8894 "__HIT__" : "node_94"
8895 },
8896 "default_entry" : {
8897 "action_id" : 61,
8898 "action_const" : true,
8899 "action_data" : [],
8900 "action_entry_const" : true
8901 }
8902 },
8903 {
8904 "name" : "tbl_slicing159",
8905 "id" : 54,
8906 "source_info" : {
8907 "filename" : "include/control/slicing.p4",
8908 "line" : 159,
8909 "column" : 36,
8910 "source_fragment" : "="
8911 },
8912 "key" : [],
8913 "match_type" : "exact",
8914 "type" : "simple",
8915 "max_size" : 1024,
8916 "with_counters" : false,
8917 "support_timeout" : false,
8918 "direct_meters" : null,
8919 "action_ids" : [80],
8920 "actions" : ["slicing159"],
8921 "base_default_next" : null,
8922 "next_tables" : {
8923 "slicing159" : null
8924 },
8925 "default_entry" : {
8926 "action_id" : 80,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008927 "action_const" : true,
8928 "action_data" : [],
8929 "action_entry_const" : true
8930 }
8931 }
8932 ],
8933 "action_profiles" : [],
8934 "conditionals" : [
8935 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008936 "name" : "node_66",
8937 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008938 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008939 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008940 "line" : 118,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008941 "column" : 33,
8942 "source_fragment" : "fabric_metadata"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008943 },
8944 "expression" : {
8945 "type" : "expression",
8946 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008947 "op" : "d2b",
8948 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008949 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008950 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008951 "value" : ["scalars", "userMetadata._is_controller_packet_out23"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008952 }
8953 }
8954 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008955 "true_next" : "tbl_packetio41",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008956 "false_next" : "node_68"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008957 },
8958 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008959 "name" : "node_68",
8960 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008961 "source_info" : {
8962 "filename" : "include/control/packetio.p4",
8963 "line" : 43,
8964 "column" : 12,
8965 "source_fragment" : "standard_metadata.egress_port == 255"
8966 },
8967 "expression" : {
8968 "type" : "expression",
8969 "value" : {
8970 "op" : "==",
8971 "left" : {
8972 "type" : "field",
8973 "value" : ["standard_metadata", "egress_port"]
8974 },
8975 "right" : {
8976 "type" : "hexstr",
8977 "value" : "0x00ff"
8978 }
8979 }
8980 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008981 "true_next" : "tbl_packetio44",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008982 "false_next" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008983 },
8984 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02008985 "name" : "node_70",
8986 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008987 "source_info" : {
8988 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08008989 "line" : 281,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07008990 "column" : 12,
8991 "source_fragment" : "fabric_metadata.is_multicast == true ..."
8992 },
8993 "expression" : {
8994 "type" : "expression",
8995 "value" : {
8996 "op" : "and",
8997 "left" : {
8998 "type" : "expression",
8999 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009000 "op" : "d2b",
9001 "left" : null,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009002 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009003 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009004 "value" : ["scalars", "userMetadata._is_multicast22"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009005 }
9006 }
9007 },
9008 "right" : {
9009 "type" : "expression",
9010 "value" : {
9011 "op" : "==",
9012 "left" : {
9013 "type" : "field",
9014 "value" : ["standard_metadata", "ingress_port"]
9015 },
9016 "right" : {
9017 "type" : "field",
9018 "value" : ["standard_metadata", "egress_port"]
9019 }
9020 }
9021 }
9022 }
9023 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009024 "true_next" : "tbl_next283",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009025 "false_next" : "node_72"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009026 },
9027 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009028 "name" : "node_72",
9029 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009030 "source_info" : {
9031 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009032 "line" : 286,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009033 "column" : 12,
9034 "source_fragment" : "fabric_metadata.mpls_label == 0"
9035 },
9036 "expression" : {
9037 "type" : "expression",
9038 "value" : {
9039 "op" : "==",
9040 "left" : {
9041 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009042 "value" : ["scalars", "userMetadata._mpls_label16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009043 },
9044 "right" : {
9045 "type" : "hexstr",
9046 "value" : "0x000000"
9047 }
9048 }
9049 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009050 "true_next" : "node_73",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009051 "false_next" : "tbl_egress_next_set_mpls"
9052 },
9053 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009054 "name" : "node_73",
9055 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009056 "source_info" : {
9057 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009058 "line" : 287,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009059 "column" : 16,
9060 "source_fragment" : "hdr.mpls.isValid()"
9061 },
9062 "expression" : {
9063 "type" : "expression",
9064 "value" : {
9065 "op" : "d2b",
9066 "left" : null,
9067 "right" : {
9068 "type" : "field",
9069 "value" : ["mpls", "$valid$"]
9070 }
9071 }
9072 },
9073 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009074 "false_next" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009075 },
9076 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009077 "name" : "node_76",
9078 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009079 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009080 "filename" : "fabric.p4",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009081 "line" : 119,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009082 "column" : 31,
9083 "source_fragment" : "fabric_metadata"
Daniele Moro7c3a0022019-07-12 13:38:34 -07009084 },
9085 "expression" : {
9086 "type" : "expression",
9087 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009088 "op" : "d2b",
9089 "left" : null,
Daniele Moro7c3a0022019-07-12 13:38:34 -07009090 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009091 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009092 "value" : ["scalars", "userMetadata._push_double_vlan12"]
Daniele Moro7c3a0022019-07-12 13:38:34 -07009093 }
9094 }
9095 },
pierventre48e78822020-12-15 17:34:54 +01009096 "true_next" : "tbl_egress_next_push_outer_vlan",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009097 "false_next" : "tbl_next299"
Daniele Moro7c3a0022019-07-12 13:38:34 -07009098 },
9099 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009100 "name" : "node_81",
9101 "id" : 30,
Daniele Moro7c3a0022019-07-12 13:38:34 -07009102 "source_info" : {
9103 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009104 "line" : 308,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009105 "column" : 12,
9106 "source_fragment" : "hdr.mpls.isValid()"
9107 },
9108 "expression" : {
9109 "type" : "expression",
9110 "value" : {
9111 "op" : "d2b",
9112 "left" : null,
9113 "right" : {
9114 "type" : "field",
9115 "value" : ["mpls", "$valid$"]
9116 }
9117 }
9118 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009119 "true_next" : "tbl_next309",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009120 "false_next" : "node_85"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009121 },
9122 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009123 "name" : "node_83",
9124 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009125 "source_info" : {
9126 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009127 "line" : 310,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009128 "column" : 16,
9129 "source_fragment" : "hdr.mpls.ttl == 0"
9130 },
9131 "expression" : {
9132 "type" : "expression",
9133 "value" : {
9134 "op" : "==",
9135 "left" : {
9136 "type" : "field",
9137 "value" : ["mpls", "ttl"]
9138 },
9139 "right" : {
9140 "type" : "hexstr",
9141 "value" : "0x00"
9142 }
9143 }
9144 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009145 "true_next" : "tbl_next310",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009146 "false_next" : "node_89"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009147 },
9148 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009149 "name" : "node_85",
9150 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009151 "source_info" : {
9152 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009153 "line" : 312,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009154 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07009155 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009156 },
9157 "expression" : {
9158 "type" : "expression",
9159 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07009160 "op" : "and",
9161 "left" : {
9162 "type" : "expression",
9163 "value" : {
9164 "op" : "d2b",
9165 "left" : null,
9166 "right" : {
9167 "type" : "field",
9168 "value" : ["ipv4", "$valid$"]
9169 }
9170 }
9171 },
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009172 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07009173 "type" : "expression",
9174 "value" : {
9175 "op" : "!=",
9176 "left" : {
9177 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009178 "value" : ["scalars", "userMetadata._fwd_type20"]
Charles Chan74ad51e2020-09-12 19:05:42 -07009179 },
9180 "right" : {
9181 "type" : "hexstr",
9182 "value" : "0x00"
9183 }
9184 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009185 }
9186 }
9187 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009188 "true_next" : "tbl_next313",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009189 "false_next" : "node_89"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009190 },
9191 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009192 "name" : "node_87",
9193 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009194 "source_info" : {
9195 "filename" : "include/control/next.p4",
Wailok Shumfb7e7872021-06-18 17:30:08 +08009196 "line" : 314,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009197 "column" : 20,
9198 "source_fragment" : "hdr.ipv4.ttl == 0"
9199 },
9200 "expression" : {
9201 "type" : "expression",
9202 "value" : {
9203 "op" : "==",
9204 "left" : {
9205 "type" : "field",
9206 "value" : ["ipv4", "ttl"]
9207 },
9208 "right" : {
9209 "type" : "hexstr",
9210 "value" : "0x00"
9211 }
9212 }
9213 },
Wailok Shumfb7e7872021-06-18 17:30:08 +08009214 "true_next" : "tbl_next314",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009215 "false_next" : "node_89"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009216 },
9217 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009218 "name" : "node_89",
9219 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009220 "source_info" : {
9221 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08009222 "line" : 358,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009223 "column" : 12,
9224 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
9225 },
9226 "expression" : {
9227 "type" : "expression",
9228 "value" : {
9229 "op" : "==",
9230 "left" : {
9231 "type" : "field",
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009232 "value" : ["scalars", "userMetadata._bng_type33"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009233 },
9234 "right" : {
9235 "type" : "hexstr",
9236 "value" : "0x02"
9237 }
9238 }
9239 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009240 "true_next" : "node_90",
9241 "false_next" : "tbl_slicing126"
Daniele Moro7c3a0022019-07-12 13:38:34 -07009242 },
9243 {
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009244 "name" : "node_90",
9245 "id" : 35,
Daniele Moro7c3a0022019-07-12 13:38:34 -07009246 "source_info" : {
9247 "filename" : "include/bng.p4",
Daniele Moro0cecfe12019-12-13 17:24:33 -08009248 "line" : 296,
Daniele Moro7c3a0022019-07-12 13:38:34 -07009249 "column" : 12,
9250 "source_fragment" : "hdr.ipv4.isValid()"
9251 },
9252 "expression" : {
9253 "type" : "expression",
9254 "value" : {
9255 "op" : "d2b",
9256 "left" : null,
9257 "right" : {
9258 "type" : "field",
9259 "value" : ["ipv4", "$valid$"]
9260 }
9261 }
9262 },
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009263 "true_next" : "tbl_bng_egress_downstream_encap_v4",
9264 "false_next" : "tbl_slicing126"
9265 },
9266 {
9267 "name" : "node_94",
9268 "id" : 36,
9269 "source_info" : {
9270 "filename" : "include/control/slicing.p4",
9271 "line" : 158,
9272 "column" : 16,
9273 "source_fragment" : "hdr.ipv4.isValid()"
9274 },
9275 "expression" : {
9276 "type" : "expression",
9277 "value" : {
9278 "op" : "d2b",
9279 "left" : null,
9280 "right" : {
9281 "type" : "field",
9282 "value" : ["ipv4", "$valid$"]
9283 }
9284 }
9285 },
Daniele Moro7c3a0022019-07-12 13:38:34 -07009286 "false_next" : null,
Daniele Moro08c9e7f2021-07-28 18:53:34 +02009287 "true_next" : "tbl_slicing159"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009288 }
9289 ]
9290 }
9291 ],
9292 "checksums" : [
9293 {
9294 "name" : "cksum",
9295 "id" : 0,
9296 "source_info" : {
9297 "filename" : "include/checksum.p4",
9298 "line" : 28,
9299 "column" : 8,
9300 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
9301 },
9302 "target" : ["ipv4", "hdr_checksum"],
9303 "type" : "generic",
9304 "calculation" : "calc",
9305 "verify" : false,
9306 "update" : true,
9307 "if_cond" : {
9308 "type" : "expression",
9309 "value" : {
9310 "op" : "d2b",
9311 "left" : null,
9312 "right" : {
9313 "type" : "field",
9314 "value" : ["ipv4", "$valid$"]
9315 }
9316 }
9317 }
9318 },
9319 {
9320 "name" : "cksum_0",
9321 "id" : 1,
9322 "source_info" : {
9323 "filename" : "include/checksum.p4",
9324 "line" : 57,
9325 "column" : 8,
9326 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
9327 },
9328 "target" : ["ipv4", "hdr_checksum"],
9329 "type" : "generic",
9330 "calculation" : "calc_0",
9331 "verify" : true,
9332 "update" : false,
9333 "if_cond" : {
9334 "type" : "expression",
9335 "value" : {
9336 "op" : "d2b",
9337 "left" : null,
9338 "right" : {
9339 "type" : "field",
9340 "value" : ["ipv4", "$valid$"]
9341 }
9342 }
9343 }
9344 }
9345 ],
9346 "force_arith" : [],
9347 "extern_instances" : [],
9348 "field_aliases" : [
9349 [
9350 "queueing_metadata.enq_timestamp",
9351 ["standard_metadata", "enq_timestamp"]
9352 ],
9353 [
9354 "queueing_metadata.enq_qdepth",
9355 ["standard_metadata", "enq_qdepth"]
9356 ],
9357 [
9358 "queueing_metadata.deq_timedelta",
9359 ["standard_metadata", "deq_timedelta"]
9360 ],
9361 [
9362 "queueing_metadata.deq_qdepth",
9363 ["standard_metadata", "deq_qdepth"]
9364 ],
9365 [
9366 "intrinsic_metadata.ingress_global_timestamp",
9367 ["standard_metadata", "ingress_global_timestamp"]
9368 ],
9369 [
9370 "intrinsic_metadata.egress_global_timestamp",
9371 ["standard_metadata", "egress_global_timestamp"]
9372 ],
9373 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009374 "intrinsic_metadata.mcast_grp",
9375 ["standard_metadata", "mcast_grp"]
9376 ],
9377 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009378 "intrinsic_metadata.egress_rid",
9379 ["standard_metadata", "egress_rid"]
9380 ],
9381 [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009382 "intrinsic_metadata.priority",
9383 ["standard_metadata", "priority"]
9384 ]
9385 ],
9386 "program" : "fabric.p4",
9387 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009388 "version" : [2, 23],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07009389 "compiler" : "https://github.com/p4lang/p4c"
9390 }
9391}