blob: 18163deda994e52dd0581820767e1b4b76259473 [file] [log] [blame]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001{
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
Robert MacDavidde12b982020-07-15 18:38:59 -07007 ["tmp_0", 16, false],
8 ["tmp_1", 16, false],
9 ["tmp_2", 4, false],
10 ["tmp", 32, false],
11 ["tmp_3", 32, false],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080012 ["spgw_ingress_hasReturned", 1, false],
13 ["egress_next_tmp", 1, false],
Robert MacDavidde12b982020-07-15 18:38:59 -070014 ["spgw_egress_hasReturned", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070015 ["fabric_metadata_t._ip_eth_type0", 16, false],
16 ["fabric_metadata_t._vlan_id1", 12, false],
17 ["fabric_metadata_t._vlan_pri2", 3, false],
18 ["fabric_metadata_t._vlan_cfi3", 1, false],
19 ["fabric_metadata_t._mpls_label4", 20, false],
20 ["fabric_metadata_t._mpls_ttl5", 8, false],
21 ["fabric_metadata_t._skip_forwarding6", 1, false],
22 ["fabric_metadata_t._skip_next7", 1, false],
23 ["fabric_metadata_t._fwd_type8", 3, false],
24 ["fabric_metadata_t._next_id9", 32, false],
25 ["fabric_metadata_t._is_multicast10", 1, false],
26 ["fabric_metadata_t._is_controller_packet_out11", 1, false],
27 ["fabric_metadata_t._ip_proto12", 8, false],
28 ["fabric_metadata_t._l4_sport13", 16, false],
29 ["fabric_metadata_t._l4_dport14", 16, false],
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040030 ["fabric_metadata_t._ipv4_src_addr15", 32, false],
31 ["fabric_metadata_t._ipv4_dst_addr16", 32, false],
Robert MacDavidde12b982020-07-15 18:38:59 -070032 ["fabric_metadata_t._inner_l4_sport17", 16, false],
33 ["fabric_metadata_t._inner_l4_dport18", 16, false],
34 ["fabric_metadata_t._spgw_direction19", 2, false],
35 ["fabric_metadata_t._spgw_ipv4_len20", 16, false],
36 ["fabric_metadata_t._spgw_teid21", 32, false],
37 ["fabric_metadata_t._spgw_tunnel_src_port22", 16, false],
38 ["fabric_metadata_t._spgw_tunnel_src_addr23", 32, false],
39 ["fabric_metadata_t._spgw_tunnel_dst_addr24", 32, false],
40 ["fabric_metadata_t._spgw_ctr_id25", 32, false],
41 ["fabric_metadata_t._spgw_far_id26", 32, false],
42 ["fabric_metadata_t._spgw_src_iface27", 8, false],
43 ["fabric_metadata_t._spgw_skip_spgw28", 1, false],
44 ["fabric_metadata_t._spgw_pdr_hit29", 1, false],
45 ["fabric_metadata_t._spgw_far_dropped30", 1, false],
46 ["fabric_metadata_t._spgw_notify_spgwc31", 1, false],
47 ["fabric_metadata_t._spgw_needs_gtpu_encap32", 1, false],
48 ["fabric_metadata_t._spgw_needs_gtpu_decap33", 1, false],
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040049 ["_padding_0", 6, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080050 ]
51 },
52 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +020053 "name" : "standard_metadata",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080054 "id" : 1,
55 "fields" : [
Carmelo Cascone6af4e172018-06-15 16:01:30 +020056 ["ingress_port", 9, false],
57 ["egress_spec", 9, false],
58 ["egress_port", 9, false],
59 ["clone_spec", 32, false],
60 ["instance_type", 32, false],
61 ["drop", 1, false],
62 ["recirculate_port", 16, false],
63 ["packet_length", 32, false],
64 ["enq_timestamp", 32, false],
65 ["enq_qdepth", 19, false],
66 ["deq_timedelta", 32, false],
67 ["deq_qdepth", 19, false],
68 ["ingress_global_timestamp", 48, false],
69 ["egress_global_timestamp", 48, false],
70 ["lf_field_list", 32, false],
71 ["mcast_grp", 16, false],
72 ["resubmit_flag", 32, false],
73 ["egress_rid", 16, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020074 ["recirculate_flag", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070075 ["checksum_error", 1, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070076 ["parser_error", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070077 ["priority", 3, false],
78 ["_padding", 2, false]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020079 ]
80 },
81 {
82 "name" : "ethernet_t",
83 "id" : 2,
84 "fields" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080085 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070086 ["src_addr", 48, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080087 ]
88 },
89 {
90 "name" : "vlan_tag_t",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020091 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080092 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -070093 ["eth_type", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080094 ["pri", 3, false],
95 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070096 ["vlan_id", 12, false]
97 ]
98 },
99 {
100 "name" : "eth_type_t",
101 "id" : 4,
102 "fields" : [
103 ["value", 16, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800104 ]
105 },
106 {
107 "name" : "mpls_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700108 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800109 "fields" : [
110 ["label", 20, false],
111 ["tc", 3, false],
112 ["bos", 1, false],
113 ["ttl", 8, false]
114 ]
115 },
116 {
117 "name" : "ipv4_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700118 "id" : 6,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800119 "fields" : [
120 ["version", 4, false],
121 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900122 ["dscp", 6, false],
123 ["ecn", 2, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800124 ["total_len", 16, false],
125 ["identification", 16, false],
126 ["flags", 3, false],
127 ["frag_offset", 13, false],
128 ["ttl", 8, false],
129 ["protocol", 8, false],
130 ["hdr_checksum", 16, false],
131 ["src_addr", 32, false],
132 ["dst_addr", 32, false]
133 ]
134 },
135 {
136 "name" : "udp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700137 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800138 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800139 ["sport", 16, false],
140 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800141 ["len", 16, false],
142 ["checksum", 16, false]
143 ]
144 },
145 {
146 "name" : "gtpu_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700147 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800148 "fields" : [
149 ["version", 3, false],
150 ["pt", 1, false],
151 ["spare", 1, false],
152 ["ex_flag", 1, false],
153 ["seq_flag", 1, false],
154 ["npdu_flag", 1, false],
155 ["msgtype", 8, false],
156 ["msglen", 16, false],
157 ["teid", 32, false]
158 ]
159 },
160 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800161 "name" : "tcp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700162 "id" : 9,
Yi Tseng27b9bc02018-04-12 14:52:40 +0800163 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800164 ["sport", 16, false],
165 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800166 ["seq_no", 32, false],
167 ["ack_no", 32, false],
168 ["data_offset", 4, false],
169 ["res", 3, false],
170 ["ecn", 3, false],
171 ["ctrl", 6, false],
172 ["window", 16, false],
173 ["checksum", 16, false],
174 ["urgent_ptr", 16, false]
175 ]
176 },
177 {
178 "name" : "icmp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700179 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800180 "fields" : [
181 ["icmp_type", 8, false],
182 ["icmp_code", 8, false],
183 ["checksum", 16, false],
184 ["identifier", 16, false],
185 ["sequence_number", 16, false],
186 ["timestamp", 64, false]
187 ]
188 },
189 {
190 "name" : "packet_out_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700191 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800192 "fields" : [
193 ["egress_port", 9, false],
194 ["_pad", 7, false]
195 ]
196 },
197 {
198 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700199 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800200 "fields" : [
201 ["ingress_port", 9, false],
202 ["_pad", 7, false]
203 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800204 }
205 ],
206 "headers" : [
207 {
208 "name" : "scalars",
209 "id" : 0,
210 "header_type" : "scalars_0",
211 "metadata" : true,
212 "pi_omit" : true
213 },
214 {
215 "name" : "standard_metadata",
216 "id" : 1,
217 "header_type" : "standard_metadata",
218 "metadata" : true,
219 "pi_omit" : true
220 },
221 {
222 "name" : "ethernet",
223 "id" : 2,
224 "header_type" : "ethernet_t",
225 "metadata" : false,
226 "pi_omit" : true
227 },
228 {
229 "name" : "vlan_tag",
230 "id" : 3,
231 "header_type" : "vlan_tag_t",
232 "metadata" : false,
233 "pi_omit" : true
234 },
235 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800236 "name" : "inner_vlan_tag",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800237 "id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800238 "header_type" : "vlan_tag_t",
239 "metadata" : false,
240 "pi_omit" : true
241 },
242 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700243 "name" : "eth_type",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800244 "id" : 5,
Daniele Moro5a2de712019-09-24 14:34:07 -0700245 "header_type" : "eth_type_t",
246 "metadata" : false,
247 "pi_omit" : true
248 },
249 {
250 "name" : "mpls",
251 "id" : 6,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800252 "header_type" : "mpls_t",
253 "metadata" : false,
254 "pi_omit" : true
255 },
256 {
257 "name" : "gtpu_ipv4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700258 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800259 "header_type" : "ipv4_t",
260 "metadata" : false,
261 "pi_omit" : true
262 },
263 {
264 "name" : "gtpu_udp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700265 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800266 "header_type" : "udp_t",
267 "metadata" : false,
268 "pi_omit" : true
269 },
270 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700271 "name" : "outer_gtpu",
Daniele Moro5a2de712019-09-24 14:34:07 -0700272 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800273 "header_type" : "gtpu_t",
274 "metadata" : false,
275 "pi_omit" : true
276 },
277 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700278 "name" : "gtpu",
Daniele Moro5a2de712019-09-24 14:34:07 -0700279 "id" : 10,
Robert MacDavidde12b982020-07-15 18:38:59 -0700280 "header_type" : "gtpu_t",
281 "metadata" : false,
282 "pi_omit" : true
283 },
284 {
285 "name" : "inner_ipv4",
286 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800287 "header_type" : "ipv4_t",
288 "metadata" : false,
289 "pi_omit" : true
290 },
291 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700292 "name" : "inner_udp",
Robert MacDavidde12b982020-07-15 18:38:59 -0700293 "id" : 12,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700294 "header_type" : "udp_t",
295 "metadata" : false,
296 "pi_omit" : true
297 },
298 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700299 "name" : "inner_tcp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700300 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800301 "header_type" : "tcp_t",
302 "metadata" : false,
303 "pi_omit" : true
304 },
305 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700306 "name" : "inner_icmp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700307 "id" : 14,
Robert MacDavidde12b982020-07-15 18:38:59 -0700308 "header_type" : "icmp_t",
309 "metadata" : false,
310 "pi_omit" : true
311 },
312 {
313 "name" : "ipv4",
314 "id" : 15,
315 "header_type" : "ipv4_t",
316 "metadata" : false,
317 "pi_omit" : true
318 },
319 {
320 "name" : "tcp",
321 "id" : 16,
322 "header_type" : "tcp_t",
323 "metadata" : false,
324 "pi_omit" : true
325 },
326 {
327 "name" : "udp",
328 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800329 "header_type" : "udp_t",
330 "metadata" : false,
331 "pi_omit" : true
332 },
333 {
334 "name" : "icmp",
Robert MacDavidde12b982020-07-15 18:38:59 -0700335 "id" : 18,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800336 "header_type" : "icmp_t",
337 "metadata" : false,
338 "pi_omit" : true
339 },
340 {
341 "name" : "packet_out",
Robert MacDavidde12b982020-07-15 18:38:59 -0700342 "id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800343 "header_type" : "packet_out_header_t",
344 "metadata" : false,
345 "pi_omit" : true
346 },
347 {
348 "name" : "packet_in",
Robert MacDavidde12b982020-07-15 18:38:59 -0700349 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800350 "header_type" : "packet_in_header_t",
351 "metadata" : false,
352 "pi_omit" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800353 }
354 ],
355 "header_stacks" : [],
356 "header_union_types" : [],
357 "header_unions" : [],
358 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700359 "field_lists" : [
360 {
361 "id" : 1,
362 "name" : "fl",
363 "source_info" : {
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700364 "filename" : "include/control/acl.p4",
365 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700366 "column" : 40,
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700367 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700368 },
369 "elements" : [
370 {
371 "type" : "field",
372 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700373 }
374 ]
375 }
376 ],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700377 "errors" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700378 ["NoError", 1],
379 ["PacketTooShort", 2],
380 ["NoMatch", 3],
381 ["StackOutOfBounds", 4],
382 ["HeaderTooShort", 5],
383 ["ParserTimeout", 6],
384 ["ParserInvalidArgument", 7]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700385 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800386 "enums" : [],
387 "parsers" : [
388 {
389 "name" : "parser",
390 "id" : 0,
391 "init_state" : "start",
392 "parse_states" : [
393 {
394 "name" : "start",
395 "id" : 0,
396 "parser_ops" : [],
397 "transitions" : [
398 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800399 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800400 "value" : "0x00ff",
401 "mask" : null,
402 "next_state" : "parse_packet_out"
403 },
404 {
405 "value" : "default",
406 "mask" : null,
407 "next_state" : "parse_ethernet"
408 }
409 ],
410 "transition_key" : [
411 {
412 "type" : "field",
413 "value" : ["standard_metadata", "ingress_port"]
414 }
415 ]
416 },
417 {
418 "name" : "parse_packet_out",
419 "id" : 1,
420 "parser_ops" : [
421 {
422 "parameters" : [
423 {
424 "type" : "regular",
425 "value" : "packet_out"
426 }
427 ],
428 "op" : "extract"
429 }
430 ],
431 "transitions" : [
432 {
433 "value" : "default",
434 "mask" : null,
435 "next_state" : "parse_ethernet"
436 }
437 ],
438 "transition_key" : []
439 },
440 {
441 "name" : "parse_ethernet",
442 "id" : 2,
443 "parser_ops" : [
444 {
445 "parameters" : [
446 {
447 "type" : "regular",
448 "value" : "ethernet"
449 }
450 ],
451 "op" : "extract"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800452 },
453 {
454 "parameters" : [
455 {
456 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700457 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800458 },
459 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700460 "type" : "hexstr",
461 "value" : "0x0ffe"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800462 }
463 ],
464 "op" : "set"
465 },
466 {
467 "parameters" : [
468 {
469 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -0700470 "value" : ["scalars", "tmp_0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800471 },
472 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700473 "type" : "lookahead",
474 "value" : [0, 16]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800475 }
476 ],
477 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800478 }
479 ],
480 "transitions" : [
481 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800482 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700483 "value" : "0x88a8",
484 "mask" : null,
485 "next_state" : "parse_vlan_tag"
486 },
487 {
488 "type" : "hexstr",
489 "value" : "0x9100",
490 "mask" : null,
491 "next_state" : "parse_vlan_tag"
492 },
493 {
494 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800495 "value" : "0x8100",
496 "mask" : null,
497 "next_state" : "parse_vlan_tag"
498 },
499 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800500 "value" : "default",
501 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700502 "next_state" : "parse_eth_type"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800503 }
504 ],
505 "transition_key" : [
506 {
507 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -0700508 "value" : ["scalars", "tmp_0"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800509 }
510 ]
511 },
512 {
513 "name" : "parse_vlan_tag",
514 "id" : 3,
515 "parser_ops" : [
516 {
517 "parameters" : [
518 {
519 "type" : "regular",
520 "value" : "vlan_tag"
521 }
522 ],
523 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700524 },
525 {
526 "parameters" : [
527 {
528 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -0700529 "value" : ["scalars", "tmp_1"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700530 },
531 {
532 "type" : "lookahead",
533 "value" : [0, 16]
534 }
535 ],
536 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800537 }
538 ],
539 "transitions" : [
540 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800541 "type" : "hexstr",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800542 "value" : "0x8100",
543 "mask" : null,
544 "next_state" : "parse_inner_vlan_tag"
545 },
546 {
547 "value" : "default",
548 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700549 "next_state" : "parse_eth_type"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800550 }
551 ],
552 "transition_key" : [
553 {
554 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -0700555 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800556 }
557 ]
558 },
559 {
560 "name" : "parse_inner_vlan_tag",
561 "id" : 4,
562 "parser_ops" : [
563 {
564 "parameters" : [
565 {
566 "type" : "regular",
567 "value" : "inner_vlan_tag"
568 }
569 ],
570 "op" : "extract"
571 }
572 ],
573 "transitions" : [
574 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700575 "value" : "default",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800576 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700577 "next_state" : "parse_eth_type"
578 }
579 ],
580 "transition_key" : []
581 },
582 {
583 "name" : "parse_eth_type",
584 "id" : 5,
585 "parser_ops" : [
586 {
587 "parameters" : [
588 {
589 "type" : "regular",
590 "value" : "eth_type"
591 }
592 ],
593 "op" : "extract"
594 }
595 ],
596 "transitions" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800597 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800598 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800599 "value" : "0x8847",
600 "mask" : null,
601 "next_state" : "parse_mpls"
602 },
603 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700604 "type" : "hexstr",
605 "value" : "0x0800",
606 "mask" : null,
607 "next_state" : "parse_ipv4"
608 },
609 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800610 "value" : "default",
611 "mask" : null,
612 "next_state" : null
613 }
614 ],
615 "transition_key" : [
616 {
617 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700618 "value" : ["eth_type", "value"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800619 }
620 ]
621 },
622 {
623 "name" : "parse_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700624 "id" : 6,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800625 "parser_ops" : [
626 {
627 "parameters" : [
628 {
629 "type" : "regular",
630 "value" : "mpls"
631 }
632 ],
633 "op" : "extract"
634 },
635 {
636 "parameters" : [
637 {
638 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700639 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800640 },
641 {
642 "type" : "field",
643 "value" : ["mpls", "label"]
644 }
645 ],
646 "op" : "set"
647 },
648 {
649 "parameters" : [
650 {
651 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700652 "value" : ["scalars", "fabric_metadata_t._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800653 },
654 {
655 "type" : "field",
656 "value" : ["mpls", "ttl"]
657 }
658 ],
659 "op" : "set"
660 },
661 {
662 "parameters" : [
663 {
664 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -0700665 "value" : ["scalars", "tmp_2"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800666 },
667 {
668 "type" : "lookahead",
669 "value" : [0, 4]
670 }
671 ],
672 "op" : "set"
673 }
674 ],
675 "transitions" : [
676 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800677 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800678 "value" : "0x04",
679 "mask" : null,
680 "next_state" : "parse_ipv4"
681 },
682 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800683 "value" : "default",
684 "mask" : null,
685 "next_state" : "parse_ethernet"
686 }
687 ],
688 "transition_key" : [
689 {
690 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -0700691 "value" : ["scalars", "tmp_2"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800692 }
693 ]
694 },
695 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700696 "name" : "parse_ipv4",
697 "id" : 7,
698 "parser_ops" : [
699 {
700 "parameters" : [
701 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800702 "type" : "regular",
703 "value" : "ipv4"
704 }
705 ],
706 "op" : "extract"
707 },
708 {
709 "parameters" : [
710 {
711 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700712 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800713 },
714 {
715 "type" : "field",
716 "value" : ["ipv4", "protocol"]
717 }
718 ],
719 "op" : "set"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800720 },
721 {
722 "parameters" : [
723 {
724 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700725 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800726 },
727 {
728 "type" : "hexstr",
729 "value" : "0x0800"
730 }
731 ],
732 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400733 },
734 {
735 "parameters" : [
736 {
737 "type" : "field",
738 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
739 },
740 {
741 "type" : "field",
742 "value" : ["ipv4", "src_addr"]
743 }
744 ],
745 "op" : "set"
746 },
747 {
748 "parameters" : [
749 {
750 "type" : "field",
751 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
752 },
753 {
754 "type" : "field",
755 "value" : ["ipv4", "dst_addr"]
756 }
757 ],
758 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800759 }
760 ],
761 "transitions" : [
762 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800763 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800764 "value" : "0x06",
765 "mask" : null,
766 "next_state" : "parse_tcp"
767 },
768 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800769 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800770 "value" : "0x11",
771 "mask" : null,
772 "next_state" : "parse_udp"
773 },
774 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800775 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800776 "value" : "0x01",
777 "mask" : null,
778 "next_state" : "parse_icmp"
779 },
780 {
781 "value" : "default",
782 "mask" : null,
783 "next_state" : null
784 }
785 ],
786 "transition_key" : [
787 {
788 "type" : "field",
789 "value" : ["ipv4", "protocol"]
790 }
791 ]
792 },
793 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800794 "name" : "parse_tcp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700795 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800796 "parser_ops" : [
797 {
798 "parameters" : [
799 {
800 "type" : "regular",
801 "value" : "tcp"
802 }
803 ],
804 "op" : "extract"
805 },
806 {
807 "parameters" : [
808 {
809 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700810 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800811 },
812 {
813 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800814 "value" : ["tcp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800815 }
816 ],
817 "op" : "set"
818 },
819 {
820 "parameters" : [
821 {
822 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700823 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800824 },
825 {
826 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800827 "value" : ["tcp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800828 }
829 ],
830 "op" : "set"
831 }
832 ],
833 "transitions" : [
834 {
835 "value" : "default",
836 "mask" : null,
837 "next_state" : null
838 }
839 ],
840 "transition_key" : []
841 },
842 {
843 "name" : "parse_udp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700844 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800845 "parser_ops" : [
846 {
847 "parameters" : [
848 {
849 "type" : "regular",
850 "value" : "udp"
851 }
852 ],
853 "op" : "extract"
854 },
855 {
856 "parameters" : [
857 {
858 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700859 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800860 },
861 {
862 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800863 "value" : ["udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800864 }
865 ],
866 "op" : "set"
867 },
868 {
869 "parameters" : [
870 {
871 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700872 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800873 },
874 {
875 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800876 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800877 }
878 ],
879 "op" : "set"
880 }
881 ],
882 "transitions" : [
883 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800884 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800885 "value" : "0x0868",
886 "mask" : null,
887 "next_state" : "parse_gtpu"
888 },
889 {
890 "value" : "default",
891 "mask" : null,
892 "next_state" : null
893 }
894 ],
895 "transition_key" : [
896 {
897 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800898 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800899 }
900 ]
901 },
902 {
903 "name" : "parse_icmp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700904 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800905 "parser_ops" : [
906 {
907 "parameters" : [
908 {
909 "type" : "regular",
910 "value" : "icmp"
911 }
912 ],
913 "op" : "extract"
914 }
915 ],
916 "transitions" : [
917 {
918 "value" : "default",
919 "mask" : null,
920 "next_state" : null
921 }
922 ],
923 "transition_key" : []
924 },
925 {
926 "name" : "parse_gtpu",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700927 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800928 "parser_ops" : [
929 {
930 "parameters" : [
931 {
932 "type" : "regular",
933 "value" : "gtpu"
934 }
935 ],
936 "op" : "extract"
937 },
938 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800939 "parameters" : [
940 {
941 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700942 "value" : "inner_ipv4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800943 }
944 ],
945 "op" : "extract"
946 }
947 ],
948 "transitions" : [
949 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800950 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800951 "value" : "0x06",
952 "mask" : null,
953 "next_state" : "parse_tcp"
954 },
955 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800956 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800957 "value" : "0x11",
958 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700959 "next_state" : "parse_inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800960 },
961 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800962 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800963 "value" : "0x01",
964 "mask" : null,
965 "next_state" : "parse_icmp"
966 },
967 {
968 "value" : "default",
969 "mask" : null,
970 "next_state" : null
971 }
972 ],
973 "transition_key" : [
974 {
975 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700976 "value" : ["inner_ipv4", "protocol"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800977 }
978 ]
979 },
980 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700981 "name" : "parse_inner_udp",
Robert MacDavidde12b982020-07-15 18:38:59 -0700982 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800983 "parser_ops" : [
984 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800985 "parameters" : [
986 {
987 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700988 "value" : "inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800989 }
990 ],
991 "op" : "extract"
992 },
993 {
994 "parameters" : [
995 {
996 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -0700997 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800998 },
999 {
1000 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001001 "value" : ["inner_udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001002 }
1003 ],
1004 "op" : "set"
1005 },
1006 {
1007 "parameters" : [
1008 {
1009 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07001010 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001011 },
1012 {
1013 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001014 "value" : ["inner_udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001015 }
1016 ],
1017 "op" : "set"
1018 }
1019 ],
1020 "transitions" : [
1021 {
1022 "value" : "default",
1023 "mask" : null,
1024 "next_state" : null
1025 }
1026 ],
1027 "transition_key" : []
1028 }
1029 ]
1030 }
1031 ],
Yi Tseng27b9bc02018-04-12 14:52:40 +08001032 "parse_vsets" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001033 "deparsers" : [
1034 {
1035 "name" : "deparser",
1036 "id" : 0,
1037 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001038 "filename" : "include/parser.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07001039 "line" : 268,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001040 "column" : 8,
1041 "source_fragment" : "FabricDeparser"
1042 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001043 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001044 }
1045 ],
1046 "meter_arrays" : [],
1047 "counter_arrays" : [
1048 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001049 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001050 "id" : 0,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001051 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001052 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1053 "source_info" : {
1054 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001055 "line" : 31,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001056 "column" : 50,
1057 "source_fragment" : "ingress_port_vlan_counter"
1058 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001059 },
1060 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001061 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001062 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001063 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001064 "binding" : "FabricIngress.filtering.fwd_classifier",
1065 "source_info" : {
1066 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001067 "line" : 85,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001068 "column" : 50,
1069 "source_fragment" : "fwd_classifier_counter"
1070 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001071 },
1072 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001073 "name" : "FabricIngress.forwarding.bridging_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001074 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001075 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001076 "binding" : "FabricIngress.forwarding.bridging",
1077 "source_info" : {
1078 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001079 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001080 "column" : 50,
1081 "source_fragment" : "bridging_counter"
1082 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001083 },
1084 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001085 "name" : "FabricIngress.forwarding.mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001086 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001087 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001088 "binding" : "FabricIngress.forwarding.mpls",
1089 "source_info" : {
1090 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001091 "line" : 63,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001092 "column" : 50,
1093 "source_fragment" : "mpls_counter"
1094 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001095 },
1096 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001097 "name" : "FabricIngress.acl.acl_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001098 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001099 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001100 "binding" : "FabricIngress.acl.acl",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001101 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001102 "filename" : "include/control/acl.p4",
1103 "line" : 30,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001104 "column" : 50,
1105 "source_fragment" : "acl_counter"
1106 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001107 },
1108 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001109 "name" : "FabricIngress.next.next_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001110 "id" : 5,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001111 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001112 "binding" : "FabricIngress.next.next_vlan",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001113 "source_info" : {
1114 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001115 "line" : 67,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001116 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001117 "source_fragment" : "next_vlan_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001118 }
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001119 },
1120 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001121 "name" : "FabricIngress.next.xconnect_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001122 "id" : 6,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001123 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001124 "binding" : "FabricIngress.next.xconnect",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001125 "source_info" : {
1126 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001127 "line" : 107,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001128 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001129 "source_fragment" : "xconnect_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001130 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001131 },
1132 {
1133 "name" : "FabricIngress.next.hashed_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001134 "id" : 7,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001135 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001136 "binding" : "FabricIngress.next.hashed",
1137 "source_info" : {
1138 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001139 "line" : 184,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001140 "column" : 50,
1141 "source_fragment" : "hashed_counter"
1142 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001143 },
1144 {
Esin Karaman971fb7f2017-12-28 13:44:52 +00001145 "name" : "FabricIngress.next.multicast_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001146 "id" : 8,
Esin Karaman971fb7f2017-12-28 13:44:52 +00001147 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001148 "binding" : "FabricIngress.next.multicast",
1149 "source_info" : {
1150 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001151 "line" : 228,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001152 "column" : 50,
1153 "source_fragment" : "multicast_counter"
1154 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00001155 },
1156 {
1157 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001158 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001159 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001160 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001161 "line" : 26,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001162 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001163 "source_fragment" : "egress_port_counter"
1164 },
1165 "size" : 511,
1166 "is_direct" : false
1167 },
1168 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001169 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001170 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001171 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001172 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001173 "line" : 27,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001174 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001175 "source_fragment" : "ingress_port_counter"
1176 },
1177 "size" : 511,
1178 "is_direct" : false
Yi Tseng47eac892018-07-11 02:17:04 +08001179 },
1180 {
Robert MacDavidde12b982020-07-15 18:38:59 -07001181 "name" : "FabricIngress.spgw_ingress.pdr_counter",
1182 "id" : 11,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001183 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001184 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04001185 "line" : 180,
Robert MacDavidde12b982020-07-15 18:38:59 -07001186 "column" : 53,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001187 "source_fragment" : "pdr_counter"
1188 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001189 "size" : 2048,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001190 "is_direct" : false
1191 },
1192 {
1193 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001194 "id" : 12,
Yi Tseng47eac892018-07-11 02:17:04 +08001195 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001196 "binding" : "FabricEgress.egress_next.egress_vlan",
1197 "source_info" : {
1198 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001199 "line" : 313,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001200 "column" : 50,
1201 "source_fragment" : "egress_vlan_counter"
1202 }
Robert MacDavidde12b982020-07-15 18:38:59 -07001203 },
1204 {
1205 "name" : "FabricEgress.spgw_egress.pdr_counter",
1206 "id" : 13,
1207 "source_info" : {
1208 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04001209 "line" : 301,
Robert MacDavidde12b982020-07-15 18:38:59 -07001210 "column" : 53,
1211 "source_fragment" : "pdr_counter"
1212 },
1213 "size" : 2048,
1214 "is_direct" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001215 }
1216 ],
1217 "register_arrays" : [],
1218 "calculations" : [
1219 {
1220 "name" : "calc",
1221 "id" : 0,
1222 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001223 "filename" : "include/checksum.p4",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001224 "line" : 28,
1225 "column" : 8,
1226 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1227 },
1228 "algo" : "csum16",
1229 "input" : [
1230 {
1231 "type" : "field",
1232 "value" : ["ipv4", "version"]
1233 },
1234 {
1235 "type" : "field",
1236 "value" : ["ipv4", "ihl"]
1237 },
1238 {
1239 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001240 "value" : ["ipv4", "dscp"]
1241 },
1242 {
1243 "type" : "field",
1244 "value" : ["ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001245 },
1246 {
1247 "type" : "field",
1248 "value" : ["ipv4", "total_len"]
1249 },
1250 {
1251 "type" : "field",
1252 "value" : ["ipv4", "identification"]
1253 },
1254 {
1255 "type" : "field",
1256 "value" : ["ipv4", "flags"]
1257 },
1258 {
1259 "type" : "field",
1260 "value" : ["ipv4", "frag_offset"]
1261 },
1262 {
1263 "type" : "field",
1264 "value" : ["ipv4", "ttl"]
1265 },
1266 {
1267 "type" : "field",
1268 "value" : ["ipv4", "protocol"]
1269 },
1270 {
1271 "type" : "field",
1272 "value" : ["ipv4", "src_addr"]
1273 },
1274 {
1275 "type" : "field",
1276 "value" : ["ipv4", "dst_addr"]
1277 }
1278 ]
1279 },
1280 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001281 "name" : "calc_0",
1282 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001283 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001284 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04001285 "line" : 362,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001286 "column" : 8,
1287 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1288 },
1289 "algo" : "csum16",
1290 "input" : [
1291 {
1292 "type" : "field",
1293 "value" : ["gtpu_ipv4", "version"]
1294 },
1295 {
1296 "type" : "field",
1297 "value" : ["gtpu_ipv4", "ihl"]
1298 },
1299 {
1300 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001301 "value" : ["gtpu_ipv4", "dscp"]
1302 },
1303 {
1304 "type" : "field",
1305 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001306 },
1307 {
1308 "type" : "field",
1309 "value" : ["gtpu_ipv4", "total_len"]
1310 },
1311 {
1312 "type" : "field",
1313 "value" : ["gtpu_ipv4", "identification"]
1314 },
1315 {
1316 "type" : "field",
1317 "value" : ["gtpu_ipv4", "flags"]
1318 },
1319 {
1320 "type" : "field",
1321 "value" : ["gtpu_ipv4", "frag_offset"]
1322 },
1323 {
1324 "type" : "field",
1325 "value" : ["gtpu_ipv4", "ttl"]
1326 },
1327 {
1328 "type" : "field",
1329 "value" : ["gtpu_ipv4", "protocol"]
1330 },
1331 {
1332 "type" : "field",
1333 "value" : ["gtpu_ipv4", "src_addr"]
1334 },
1335 {
1336 "type" : "field",
1337 "value" : ["gtpu_ipv4", "dst_addr"]
1338 }
1339 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001340 },
1341 {
1342 "name" : "calc_1",
1343 "id" : 2,
1344 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001345 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001346 "line" : 57,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001347 "column" : 8,
1348 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1349 },
1350 "algo" : "csum16",
1351 "input" : [
1352 {
1353 "type" : "field",
1354 "value" : ["ipv4", "version"]
1355 },
1356 {
1357 "type" : "field",
1358 "value" : ["ipv4", "ihl"]
1359 },
1360 {
1361 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001362 "value" : ["ipv4", "dscp"]
1363 },
1364 {
1365 "type" : "field",
1366 "value" : ["ipv4", "ecn"]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001367 },
1368 {
1369 "type" : "field",
1370 "value" : ["ipv4", "total_len"]
1371 },
1372 {
1373 "type" : "field",
1374 "value" : ["ipv4", "identification"]
1375 },
1376 {
1377 "type" : "field",
1378 "value" : ["ipv4", "flags"]
1379 },
1380 {
1381 "type" : "field",
1382 "value" : ["ipv4", "frag_offset"]
1383 },
1384 {
1385 "type" : "field",
1386 "value" : ["ipv4", "ttl"]
1387 },
1388 {
1389 "type" : "field",
1390 "value" : ["ipv4", "protocol"]
1391 },
1392 {
1393 "type" : "field",
1394 "value" : ["ipv4", "src_addr"]
1395 },
1396 {
1397 "type" : "field",
1398 "value" : ["ipv4", "dst_addr"]
1399 }
1400 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001401 }
1402 ],
1403 "learn_lists" : [],
1404 "actions" : [
1405 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001406 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001407 "id" : 0,
1408 "runtime_data" : [],
1409 "primitives" : []
1410 },
1411 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001412 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001413 "id" : 1,
1414 "runtime_data" : [],
1415 "primitives" : []
1416 },
1417 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001418 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001419 "id" : 2,
1420 "runtime_data" : [],
1421 "primitives" : []
1422 },
1423 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001424 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001425 "id" : 3,
1426 "runtime_data" : [],
1427 "primitives" : []
1428 },
1429 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001430 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001431 "id" : 4,
1432 "runtime_data" : [],
1433 "primitives" : []
1434 },
1435 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001436 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001437 "id" : 5,
1438 "runtime_data" : [],
1439 "primitives" : []
1440 },
1441 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001442 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001443 "id" : 6,
1444 "runtime_data" : [],
1445 "primitives" : []
1446 },
1447 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001448 "name" : "FabricIngress.filtering.deny",
Robert MacDavidde12b982020-07-15 18:38:59 -07001449 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001450 "runtime_data" : [],
1451 "primitives" : [
1452 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001453 "op" : "assign",
1454 "parameters" : [
1455 {
1456 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001457 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001458 },
1459 {
1460 "type" : "expression",
1461 "value" : {
1462 "type" : "expression",
1463 "value" : {
1464 "op" : "b2d",
1465 "left" : null,
1466 "right" : {
1467 "type" : "bool",
1468 "value" : true
1469 }
1470 }
1471 }
1472 }
1473 ],
1474 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001475 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001476 "line" : 36,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001477 "column" : 40,
1478 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001479 }
1480 },
1481 {
1482 "op" : "assign",
1483 "parameters" : [
1484 {
1485 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001486 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001487 },
1488 {
1489 "type" : "expression",
1490 "value" : {
1491 "type" : "expression",
1492 "value" : {
1493 "op" : "b2d",
1494 "left" : null,
1495 "right" : {
1496 "type" : "bool",
1497 "value" : true
1498 }
1499 }
1500 }
1501 }
1502 ],
1503 "source_info" : {
1504 "filename" : "include/control/filtering.p4",
1505 "line" : 37,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001506 "column" : 34,
1507 "source_fragment" : "= true; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001508 }
1509 }
1510 ]
1511 },
1512 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001513 "name" : "FabricIngress.filtering.permit",
Robert MacDavidde12b982020-07-15 18:38:59 -07001514 "id" : 8,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07001515 "runtime_data" : [],
1516 "primitives" : []
1517 },
1518 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001519 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07001520 "id" : 9,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001521 "runtime_data" : [
1522 {
1523 "name" : "vlan_id",
1524 "bitwidth" : 12
1525 }
1526 ],
1527 "primitives" : [
1528 {
1529 "op" : "assign",
1530 "parameters" : [
1531 {
1532 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001533 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001534 },
1535 {
1536 "type" : "runtime_data",
1537 "value" : 0
1538 }
1539 ],
1540 "source_info" : {
1541 "filename" : "include/control/filtering.p4",
1542 "line" : 47,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001543 "column" : 32,
1544 "source_fragment" : "= vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001545 }
1546 }
1547 ]
1548 },
1549 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001550 "name" : "FabricIngress.filtering.set_forwarding_type",
Robert MacDavidde12b982020-07-15 18:38:59 -07001551 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001552 "runtime_data" : [
1553 {
1554 "name" : "fwd_type",
1555 "bitwidth" : 3
1556 }
1557 ],
1558 "primitives" : [
1559 {
1560 "op" : "assign",
1561 "parameters" : [
1562 {
1563 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001564 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001565 },
1566 {
1567 "type" : "runtime_data",
1568 "value" : 0
1569 }
1570 ],
1571 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001572 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001573 "line" : 88,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001574 "column" : 33,
1575 "source_fragment" : "= fwd_type; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001576 }
1577 }
1578 ]
1579 },
1580 {
Yi Tseng47eac892018-07-11 02:17:04 +08001581 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Robert MacDavidde12b982020-07-15 18:38:59 -07001582 "id" : 11,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001583 "runtime_data" : [
1584 {
1585 "name" : "next_id",
1586 "bitwidth" : 32
1587 }
1588 ],
1589 "primitives" : [
1590 {
1591 "op" : "assign",
1592 "parameters" : [
1593 {
1594 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001595 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001596 },
1597 {
1598 "type" : "runtime_data",
1599 "value" : 0
1600 }
1601 ],
1602 "source_info" : {
1603 "filename" : "include/control/forwarding.p4",
1604 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001605 "column" : 32,
1606 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001607 }
1608 }
1609 ]
1610 },
1611 {
1612 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Robert MacDavidde12b982020-07-15 18:38:59 -07001613 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001614 "runtime_data" : [
1615 {
1616 "name" : "next_id",
1617 "bitwidth" : 32
1618 }
1619 ],
1620 "primitives" : [
1621 {
1622 "op" : "assign",
1623 "parameters" : [
1624 {
1625 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001626 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001627 },
1628 {
1629 "type" : "hexstr",
1630 "value" : "0x000000"
1631 }
1632 ],
1633 "source_info" : {
1634 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001635 "line" : 66,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001636 "column" : 35,
1637 "source_fragment" : "= 0; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001638 }
1639 },
1640 {
1641 "op" : "assign",
1642 "parameters" : [
1643 {
1644 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001645 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001646 },
1647 {
1648 "type" : "runtime_data",
1649 "value" : 0
1650 }
1651 ],
1652 "source_info" : {
1653 "filename" : "include/control/forwarding.p4",
1654 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001655 "column" : 32,
1656 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001657 }
1658 }
1659 ]
1660 },
1661 {
1662 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Robert MacDavidde12b982020-07-15 18:38:59 -07001663 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001664 "runtime_data" : [
1665 {
1666 "name" : "next_id",
1667 "bitwidth" : 32
1668 }
1669 ],
1670 "primitives" : [
1671 {
1672 "op" : "assign",
1673 "parameters" : [
1674 {
1675 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001676 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001677 },
1678 {
1679 "type" : "runtime_data",
1680 "value" : 0
1681 }
1682 ],
1683 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001684 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001685 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001686 "column" : 32,
1687 "source_fragment" : "= next_id; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001688 }
1689 }
1690 ]
1691 },
1692 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001693 "name" : "FabricIngress.forwarding.nop_routing_v4",
Robert MacDavidde12b982020-07-15 18:38:59 -07001694 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001695 "runtime_data" : [],
1696 "primitives" : []
Yi Tseng47eac892018-07-11 02:17:04 +08001697 },
1698 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001699 "name" : "FabricIngress.acl.set_next_id_acl",
Robert MacDavidde12b982020-07-15 18:38:59 -07001700 "id" : 15,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001701 "runtime_data" : [
1702 {
1703 "name" : "next_id",
1704 "bitwidth" : 32
1705 }
1706 ],
1707 "primitives" : [
1708 {
1709 "op" : "assign",
1710 "parameters" : [
1711 {
1712 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001713 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08001714 },
1715 {
1716 "type" : "runtime_data",
1717 "value" : 0
1718 }
1719 ],
1720 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001721 "filename" : "include/control/acl.p4",
1722 "line" : 33,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001723 "column" : 32,
1724 "source_fragment" : "= next_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001725 }
1726 }
1727 ]
1728 },
1729 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001730 "name" : "FabricIngress.acl.punt_to_cpu",
Robert MacDavidde12b982020-07-15 18:38:59 -07001731 "id" : 16,
Charles Chancd03f072018-08-31 17:46:37 -07001732 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001733 "primitives" : [
1734 {
1735 "op" : "assign",
1736 "parameters" : [
1737 {
1738 "type" : "field",
1739 "value" : ["standard_metadata", "egress_spec"]
1740 },
1741 {
1742 "type" : "hexstr",
1743 "value" : "0x00ff"
1744 }
1745 ],
1746 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001747 "filename" : "include/control/acl.p4",
1748 "line" : 39,
Carmelo Casconeb531b682018-01-30 17:55:56 -08001749 "column" : 8,
1750 "source_fragment" : "standard_metadata.egress_spec = 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001751 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001752 },
1753 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001754 "op" : "assign",
1755 "parameters" : [
1756 {
1757 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001758 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001759 },
1760 {
1761 "type" : "expression",
1762 "value" : {
1763 "type" : "expression",
1764 "value" : {
1765 "op" : "b2d",
1766 "left" : null,
1767 "right" : {
1768 "type" : "bool",
1769 "value" : true
1770 }
1771 }
1772 }
1773 }
1774 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001775 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001776 "filename" : "include/control/acl.p4",
1777 "line" : 40,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001778 "column" : 34,
1779 "source_fragment" : "= true; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001780 }
1781 }
1782 ]
1783 },
1784 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001785 "name" : "FabricIngress.acl.set_clone_session_id",
Robert MacDavidde12b982020-07-15 18:38:59 -07001786 "id" : 17,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001787 "runtime_data" : [
1788 {
1789 "name" : "clone_id",
1790 "bitwidth" : 32
1791 }
1792 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001793 "primitives" : [
1794 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001795 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001796 "parameters" : [
1797 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001798 "type" : "runtime_data",
1799 "value" : 0
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001800 },
1801 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001802 "type" : "hexstr",
1803 "value" : "0x1"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001804 }
1805 ],
1806 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001807 "filename" : "include/control/acl.p4",
1808 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001809 "column" : 8,
Daniele Moro3b7a21b2019-06-25 17:33:40 -07001810 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001811 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001812 }
1813 ]
1814 },
1815 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001816 "name" : "FabricIngress.acl.drop",
Robert MacDavidde12b982020-07-15 18:38:59 -07001817 "id" : 18,
Yi Tseng47eac892018-07-11 02:17:04 +08001818 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001819 "primitives" : [
1820 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001821 "op" : "mark_to_drop",
1822 "parameters" : [
1823 {
1824 "type" : "header",
1825 "value" : "standard_metadata"
1826 }
1827 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001828 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001829 "filename" : "include/control/acl.p4",
1830 "line" : 51,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001831 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001832 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001833 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001834 },
1835 {
1836 "op" : "assign",
1837 "parameters" : [
1838 {
1839 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001840 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001841 },
1842 {
1843 "type" : "expression",
1844 "value" : {
1845 "type" : "expression",
1846 "value" : {
1847 "op" : "b2d",
1848 "left" : null,
1849 "right" : {
1850 "type" : "bool",
1851 "value" : true
1852 }
1853 }
1854 }
1855 }
1856 ],
1857 "source_info" : {
1858 "filename" : "include/control/acl.p4",
1859 "line" : 52,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001860 "column" : 34,
1861 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001862 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001863 }
1864 ]
1865 },
1866 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001867 "name" : "FabricIngress.acl.nop_acl",
Robert MacDavidde12b982020-07-15 18:38:59 -07001868 "id" : 19,
Charles Chancf696e52018-08-16 16:25:13 -07001869 "runtime_data" : [],
1870 "primitives" : []
1871 },
1872 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001873 "name" : "FabricIngress.next.set_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07001874 "id" : 20,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001875 "runtime_data" : [
1876 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001877 "name" : "vlan_id",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001878 "bitwidth" : 12
1879 }
1880 ],
1881 "primitives" : [
1882 {
1883 "op" : "assign",
1884 "parameters" : [
1885 {
1886 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001887 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001888 },
1889 {
1890 "type" : "runtime_data",
1891 "value" : 0
1892 }
1893 ],
1894 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001895 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001896 "line" : 70,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001897 "column" : 32,
1898 "source_fragment" : "= vlan_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001899 }
1900 }
1901 ]
1902 },
1903 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001904 "name" : "FabricIngress.next.output_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07001905 "id" : 21,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001906 "runtime_data" : [
1907 {
1908 "name" : "port_num",
1909 "bitwidth" : 9
1910 }
1911 ],
1912 "primitives" : [
1913 {
1914 "op" : "assign",
1915 "parameters" : [
1916 {
1917 "type" : "field",
1918 "value" : ["standard_metadata", "egress_spec"]
1919 },
1920 {
1921 "type" : "runtime_data",
1922 "value" : 0
1923 }
1924 ],
1925 "source_info" : {
1926 "filename" : "include/control/next.p4",
1927 "line" : 31,
1928 "column" : 5,
1929 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
1930 }
1931 }
1932 ]
1933 },
1934 {
1935 "name" : "FabricIngress.next.set_next_id_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07001936 "id" : 22,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001937 "runtime_data" : [
1938 {
1939 "name" : "next_id",
1940 "bitwidth" : 32
1941 }
1942 ],
1943 "primitives" : [
1944 {
1945 "op" : "assign",
1946 "parameters" : [
1947 {
1948 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001949 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001950 },
1951 {
1952 "type" : "runtime_data",
1953 "value" : 0
1954 }
1955 ],
1956 "source_info" : {
1957 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001958 "line" : 115,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001959 "column" : 32,
1960 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001961 }
1962 }
1963 ]
1964 },
1965 {
1966 "name" : "FabricIngress.next.output_hashed",
Robert MacDavidde12b982020-07-15 18:38:59 -07001967 "id" : 23,
Yi Tseng47eac892018-07-11 02:17:04 +08001968 "runtime_data" : [
1969 {
1970 "name" : "port_num",
1971 "bitwidth" : 9
1972 }
1973 ],
1974 "primitives" : [
1975 {
1976 "op" : "assign",
1977 "parameters" : [
1978 {
1979 "type" : "field",
1980 "value" : ["standard_metadata", "egress_spec"]
1981 },
1982 {
1983 "type" : "runtime_data",
1984 "value" : 0
1985 }
1986 ],
1987 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001988 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001989 "line" : 31,
1990 "column" : 5,
1991 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
Yi Tseng47eac892018-07-11 02:17:04 +08001992 }
1993 }
1994 ]
1995 },
1996 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001997 "name" : "FabricIngress.next.routing_hashed",
Robert MacDavidde12b982020-07-15 18:38:59 -07001998 "id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001999 "runtime_data" : [
2000 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002001 "name" : "port_num",
2002 "bitwidth" : 9
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002003 },
2004 {
2005 "name" : "smac",
2006 "bitwidth" : 48
2007 },
2008 {
2009 "name" : "dmac",
2010 "bitwidth" : 48
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002011 }
2012 ],
2013 "primitives" : [
2014 {
2015 "op" : "assign",
2016 "parameters" : [
2017 {
2018 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002019 "value" : ["ethernet", "src_addr"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002020 },
2021 {
2022 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002023 "value" : 1
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002024 }
2025 ],
2026 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002027 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002028 "line" : 36,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002029 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002030 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2031 }
2032 },
2033 {
2034 "op" : "assign",
2035 "parameters" : [
2036 {
2037 "type" : "field",
2038 "value" : ["ethernet", "dst_addr"]
2039 },
2040 {
2041 "type" : "runtime_data",
2042 "value" : 2
2043 }
2044 ],
2045 "source_info" : {
2046 "filename" : "include/control/next.p4",
2047 "line" : 41,
2048 "column" : 8,
2049 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002050 }
2051 },
2052 {
2053 "op" : "assign",
2054 "parameters" : [
2055 {
2056 "type" : "field",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002057 "value" : ["standard_metadata", "egress_spec"]
2058 },
2059 {
2060 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002061 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002062 }
2063 ],
2064 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002065 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002066 "line" : 31,
2067 "column" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002068 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2069 }
2070 }
2071 ]
2072 },
2073 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002074 "name" : "FabricIngress.next.mpls_routing_hashed",
Robert MacDavidde12b982020-07-15 18:38:59 -07002075 "id" : 25,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002076 "runtime_data" : [
2077 {
2078 "name" : "port_num",
2079 "bitwidth" : 9
2080 },
2081 {
2082 "name" : "smac",
2083 "bitwidth" : 48
2084 },
2085 {
2086 "name" : "dmac",
2087 "bitwidth" : 48
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002088 },
2089 {
2090 "name" : "label",
2091 "bitwidth" : 20
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002092 }
2093 ],
2094 "primitives" : [
2095 {
2096 "op" : "assign",
2097 "parameters" : [
2098 {
2099 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002100 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002101 },
2102 {
2103 "type" : "runtime_data",
2104 "value" : 3
2105 }
2106 ],
2107 "source_info" : {
2108 "filename" : "include/control/next.p4",
2109 "line" : 46,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002110 "column" : 35,
2111 "source_fragment" : "= label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002112 }
2113 },
2114 {
2115 "op" : "assign",
2116 "parameters" : [
2117 {
2118 "type" : "field",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002119 "value" : ["ethernet", "src_addr"]
2120 },
2121 {
2122 "type" : "runtime_data",
2123 "value" : 1
2124 }
2125 ],
2126 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002127 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002128 "line" : 36,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002129 "column" : 8,
2130 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2131 }
2132 },
2133 {
2134 "op" : "assign",
2135 "parameters" : [
2136 {
2137 "type" : "field",
2138 "value" : ["ethernet", "dst_addr"]
2139 },
2140 {
2141 "type" : "runtime_data",
2142 "value" : 2
2143 }
2144 ],
2145 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002146 "filename" : "include/control/next.p4",
Yi Tseng47eac892018-07-11 02:17:04 +08002147 "line" : 41,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002148 "column" : 8,
2149 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2150 }
2151 },
2152 {
2153 "op" : "assign",
2154 "parameters" : [
2155 {
2156 "type" : "field",
2157 "value" : ["standard_metadata", "egress_spec"]
2158 },
2159 {
2160 "type" : "runtime_data",
2161 "value" : 0
2162 }
2163 ],
2164 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002165 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002166 "line" : 31,
2167 "column" : 5,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002168 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2169 }
2170 }
2171 ]
2172 },
2173 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002174 "name" : "FabricIngress.next.set_mcast_group_id",
Robert MacDavidde12b982020-07-15 18:38:59 -07002175 "id" : 26,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002176 "runtime_data" : [
2177 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002178 "name" : "group_id",
Esin Karaman971fb7f2017-12-28 13:44:52 +00002179 "bitwidth" : 16
2180 }
2181 ],
2182 "primitives" : [
2183 {
2184 "op" : "assign",
2185 "parameters" : [
2186 {
2187 "type" : "field",
2188 "value" : ["standard_metadata", "mcast_grp"]
2189 },
2190 {
2191 "type" : "runtime_data",
2192 "value" : 0
2193 }
2194 ],
2195 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002196 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002197 "line" : 231,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002198 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002199 "source_fragment" : "standard_metadata.mcast_grp = group_id"
Esin Karaman971fb7f2017-12-28 13:44:52 +00002200 }
Carmelo Casconea5400af2018-07-17 22:11:54 +02002201 },
2202 {
2203 "op" : "assign",
2204 "parameters" : [
2205 {
2206 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002207 "value" : ["scalars", "fabric_metadata_t._is_multicast10"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02002208 },
2209 {
2210 "type" : "expression",
2211 "value" : {
2212 "type" : "expression",
2213 "value" : {
2214 "op" : "b2d",
2215 "left" : null,
2216 "right" : {
2217 "type" : "bool",
2218 "value" : true
2219 }
2220 }
2221 }
2222 }
2223 ],
2224 "source_info" : {
2225 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002226 "line" : 232,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002227 "column" : 37,
2228 "source_fragment" : "= true; ..."
Carmelo Casconea5400af2018-07-17 22:11:54 +02002229 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00002230 }
2231 ]
2232 },
2233 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002234 "name" : "FabricIngress.spgw_ingress.set_source_iface",
2235 "id" : 27,
2236 "runtime_data" : [
2237 {
2238 "name" : "src_iface",
2239 "bitwidth" : 8
2240 },
2241 {
2242 "name" : "direction",
2243 "bitwidth" : 2
2244 },
2245 {
2246 "name" : "skip_spgw",
2247 "bitwidth" : 1
2248 }
2249 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002250 "primitives" : [
2251 {
2252 "op" : "assign",
2253 "parameters" : [
2254 {
2255 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07002256 "value" : ["scalars", "fabric_metadata_t._spgw_src_iface27"]
2257 },
2258 {
2259 "type" : "runtime_data",
2260 "value" : 0
2261 }
2262 ],
2263 "source_info" : {
2264 "filename" : "include/control/spgw.p4",
2265 "line" : 50,
2266 "column" : 33,
2267 "source_fragment" : "= src_iface; ..."
2268 }
2269 },
2270 {
2271 "op" : "assign",
2272 "parameters" : [
2273 {
2274 "type" : "field",
2275 "value" : ["scalars", "fabric_metadata_t._spgw_direction19"]
2276 },
2277 {
2278 "type" : "runtime_data",
2279 "value" : 1
2280 }
2281 ],
2282 "source_info" : {
2283 "filename" : "include/control/spgw.p4",
2284 "line" : 51,
2285 "column" : 33,
2286 "source_fragment" : "= direction; ..."
2287 }
2288 },
2289 {
2290 "op" : "assign",
2291 "parameters" : [
2292 {
2293 "type" : "field",
2294 "value" : ["scalars", "fabric_metadata_t._spgw_skip_spgw28"]
2295 },
2296 {
2297 "type" : "expression",
2298 "value" : {
2299 "type" : "expression",
2300 "value" : {
2301 "op" : "b2d",
2302 "left" : null,
2303 "right" : {
2304 "type" : "expression",
2305 "value" : {
2306 "op" : "!=",
2307 "left" : {
2308 "type" : "local",
2309 "value" : 2
2310 },
2311 "right" : {
2312 "type" : "hexstr",
2313 "value" : "0x00"
2314 }
2315 }
2316 }
2317 }
2318 }
2319 }
2320 ],
2321 "source_info" : {
2322 "filename" : "include/control/spgw.p4",
2323 "line" : 52,
2324 "column" : 33,
2325 "source_fragment" : "= (bool)skip_spgw; ..."
2326 }
2327 }
2328 ]
2329 },
2330 {
2331 "name" : "FabricIngress.spgw_ingress.set_pdr_attributes",
2332 "id" : 28,
2333 "runtime_data" : [
2334 {
2335 "name" : "ctr_id",
2336 "bitwidth" : 32
2337 },
2338 {
2339 "name" : "far_id",
2340 "bitwidth" : 32
2341 },
2342 {
2343 "name" : "needs_gtpu_decap",
2344 "bitwidth" : 1
2345 }
2346 ],
2347 "primitives" : [
2348 {
2349 "op" : "assign",
2350 "parameters" : [
2351 {
2352 "type" : "field",
2353 "value" : ["scalars", "fabric_metadata_t._spgw_pdr_hit29"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002354 },
2355 {
2356 "type" : "expression",
2357 "value" : {
2358 "type" : "expression",
2359 "value" : {
2360 "op" : "b2d",
2361 "left" : null,
2362 "right" : {
2363 "type" : "bool",
2364 "value" : true
2365 }
2366 }
2367 }
2368 }
2369 ],
2370 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002371 "filename" : "include/control/spgw.p4",
2372 "line" : 75,
2373 "column" : 31,
2374 "source_fragment" : "= true; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002375 }
2376 },
2377 {
2378 "op" : "assign",
2379 "parameters" : [
2380 {
2381 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07002382 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id25"]
2383 },
2384 {
2385 "type" : "runtime_data",
2386 "value" : 0
2387 }
2388 ],
2389 "source_info" : {
2390 "filename" : "include/control/spgw.p4",
2391 "line" : 76,
2392 "column" : 30,
2393 "source_fragment" : "= ctr_id; ..."
2394 }
2395 },
2396 {
2397 "op" : "assign",
2398 "parameters" : [
2399 {
2400 "type" : "field",
2401 "value" : ["scalars", "fabric_metadata_t._spgw_far_id26"]
2402 },
2403 {
2404 "type" : "runtime_data",
2405 "value" : 1
2406 }
2407 ],
2408 "source_info" : {
2409 "filename" : "include/control/spgw.p4",
2410 "line" : 77,
2411 "column" : 30,
2412 "source_fragment" : "= far_id; ..."
2413 }
2414 },
2415 {
2416 "op" : "assign",
2417 "parameters" : [
2418 {
2419 "type" : "field",
2420 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap33"]
2421 },
2422 {
2423 "type" : "expression",
2424 "value" : {
2425 "type" : "expression",
2426 "value" : {
2427 "op" : "b2d",
2428 "left" : null,
2429 "right" : {
2430 "type" : "expression",
2431 "value" : {
2432 "op" : "!=",
2433 "left" : {
2434 "type" : "local",
2435 "value" : 2
2436 },
2437 "right" : {
2438 "type" : "hexstr",
2439 "value" : "0x00"
2440 }
2441 }
2442 }
2443 }
2444 }
2445 }
2446 ],
2447 "source_info" : {
2448 "filename" : "include/control/spgw.p4",
2449 "line" : 78,
2450 "column" : 40,
2451 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
2452 }
2453 }
2454 ]
2455 },
2456 {
2457 "name" : "FabricIngress.spgw_ingress.set_pdr_attributes",
2458 "id" : 29,
2459 "runtime_data" : [
2460 {
2461 "name" : "ctr_id",
2462 "bitwidth" : 32
2463 },
2464 {
2465 "name" : "far_id",
2466 "bitwidth" : 32
2467 },
2468 {
2469 "name" : "needs_gtpu_decap",
2470 "bitwidth" : 1
2471 }
2472 ],
2473 "primitives" : [
2474 {
2475 "op" : "assign",
2476 "parameters" : [
2477 {
2478 "type" : "field",
2479 "value" : ["scalars", "fabric_metadata_t._spgw_pdr_hit29"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002480 },
2481 {
2482 "type" : "expression",
2483 "value" : {
2484 "type" : "expression",
2485 "value" : {
2486 "op" : "b2d",
2487 "left" : null,
2488 "right" : {
2489 "type" : "bool",
Robert MacDavidde12b982020-07-15 18:38:59 -07002490 "value" : true
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002491 }
2492 }
2493 }
2494 }
Robert MacDavidde12b982020-07-15 18:38:59 -07002495 ],
2496 "source_info" : {
2497 "filename" : "include/control/spgw.p4",
2498 "line" : 75,
2499 "column" : 31,
2500 "source_fragment" : "= true; ..."
2501 }
2502 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002503 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002504 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002505 "parameters" : [
2506 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002507 "type" : "field",
2508 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id25"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002509 },
2510 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002511 "type" : "runtime_data",
2512 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002513 }
2514 ],
2515 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002516 "filename" : "include/control/spgw.p4",
2517 "line" : 76,
2518 "column" : 30,
2519 "source_fragment" : "= ctr_id; ..."
2520 }
2521 },
2522 {
2523 "op" : "assign",
2524 "parameters" : [
2525 {
2526 "type" : "field",
2527 "value" : ["scalars", "fabric_metadata_t._spgw_far_id26"]
2528 },
2529 {
2530 "type" : "runtime_data",
2531 "value" : 1
2532 }
2533 ],
2534 "source_info" : {
2535 "filename" : "include/control/spgw.p4",
2536 "line" : 77,
2537 "column" : 30,
2538 "source_fragment" : "= far_id; ..."
2539 }
2540 },
2541 {
2542 "op" : "assign",
2543 "parameters" : [
2544 {
2545 "type" : "field",
2546 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap33"]
2547 },
2548 {
2549 "type" : "expression",
2550 "value" : {
2551 "type" : "expression",
2552 "value" : {
2553 "op" : "b2d",
2554 "left" : null,
2555 "right" : {
2556 "type" : "expression",
2557 "value" : {
2558 "op" : "!=",
2559 "left" : {
2560 "type" : "local",
2561 "value" : 2
2562 },
2563 "right" : {
2564 "type" : "hexstr",
2565 "value" : "0x00"
2566 }
2567 }
2568 }
2569 }
2570 }
2571 }
2572 ],
2573 "source_info" : {
2574 "filename" : "include/control/spgw.p4",
2575 "line" : 78,
2576 "column" : 40,
2577 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002578 }
2579 }
2580 ]
2581 },
2582 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002583 "name" : "FabricIngress.spgw_ingress.load_normal_far_attributes",
2584 "id" : 30,
2585 "runtime_data" : [
2586 {
2587 "name" : "drop",
2588 "bitwidth" : 1
2589 },
2590 {
2591 "name" : "notify_cp",
2592 "bitwidth" : 1
2593 }
2594 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002595 "primitives" : [
2596 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002597 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002598 "parameters" : [
2599 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002600 "type" : "field",
2601 "value" : ["scalars", "fabric_metadata_t._spgw_far_dropped30"]
2602 },
2603 {
2604 "type" : "expression",
2605 "value" : {
2606 "type" : "expression",
2607 "value" : {
2608 "op" : "b2d",
2609 "left" : null,
2610 "right" : {
2611 "type" : "expression",
2612 "value" : {
2613 "op" : "!=",
2614 "left" : {
2615 "type" : "local",
2616 "value" : 0
2617 },
2618 "right" : {
2619 "type" : "hexstr",
2620 "value" : "0x00"
2621 }
2622 }
2623 }
2624 }
2625 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002626 }
2627 ],
2628 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002629 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002630 "line" : 138,
Robert MacDavidde12b982020-07-15 18:38:59 -07002631 "column" : 35,
2632 "source_fragment" : "= (bool)drop; ..."
2633 }
2634 },
2635 {
2636 "op" : "assign",
2637 "parameters" : [
2638 {
2639 "type" : "field",
2640 "value" : ["scalars", "fabric_metadata_t._spgw_notify_spgwc31"]
2641 },
2642 {
2643 "type" : "expression",
2644 "value" : {
2645 "type" : "expression",
2646 "value" : {
2647 "op" : "b2d",
2648 "left" : null,
2649 "right" : {
2650 "type" : "expression",
2651 "value" : {
2652 "op" : "!=",
2653 "left" : {
2654 "type" : "local",
2655 "value" : 1
2656 },
2657 "right" : {
2658 "type" : "hexstr",
2659 "value" : "0x00"
2660 }
2661 }
2662 }
2663 }
2664 }
2665 }
2666 ],
2667 "source_info" : {
2668 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002669 "line" : 139,
Robert MacDavidde12b982020-07-15 18:38:59 -07002670 "column" : 36,
2671 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002672 }
2673 }
2674 ]
2675 },
2676 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002677 "name" : "FabricIngress.spgw_ingress.load_tunnel_far_attributes",
2678 "id" : 31,
2679 "runtime_data" : [
2680 {
2681 "name" : "drop",
2682 "bitwidth" : 1
2683 },
2684 {
2685 "name" : "notify_cp",
2686 "bitwidth" : 1
2687 },
2688 {
2689 "name" : "tunnel_src_port",
2690 "bitwidth" : 16
2691 },
2692 {
2693 "name" : "tunnel_src_addr",
2694 "bitwidth" : 32
2695 },
2696 {
2697 "name" : "tunnel_dst_addr",
2698 "bitwidth" : 32
2699 },
2700 {
2701 "name" : "teid",
2702 "bitwidth" : 32
2703 }
2704 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002705 "primitives" : [
2706 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002707 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002708 "parameters" : [
2709 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002710 "type" : "field",
2711 "value" : ["scalars", "fabric_metadata_t._spgw_far_dropped30"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002712 },
2713 {
Robert MacDavidde12b982020-07-15 18:38:59 -07002714 "type" : "expression",
2715 "value" : {
2716 "type" : "expression",
2717 "value" : {
2718 "op" : "b2d",
2719 "left" : null,
2720 "right" : {
2721 "type" : "expression",
2722 "value" : {
2723 "op" : "!=",
2724 "left" : {
2725 "type" : "local",
2726 "value" : 0
2727 },
2728 "right" : {
2729 "type" : "hexstr",
2730 "value" : "0x00"
2731 }
2732 }
2733 }
2734 }
2735 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002736 }
2737 ],
2738 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002739 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002740 "line" : 148,
Robert MacDavidde12b982020-07-15 18:38:59 -07002741 "column" : 35,
2742 "source_fragment" : "= (bool)drop; ..."
2743 }
2744 },
2745 {
2746 "op" : "assign",
2747 "parameters" : [
2748 {
2749 "type" : "field",
2750 "value" : ["scalars", "fabric_metadata_t._spgw_notify_spgwc31"]
2751 },
2752 {
2753 "type" : "expression",
2754 "value" : {
2755 "type" : "expression",
2756 "value" : {
2757 "op" : "b2d",
2758 "left" : null,
2759 "right" : {
2760 "type" : "expression",
2761 "value" : {
2762 "op" : "!=",
2763 "left" : {
2764 "type" : "local",
2765 "value" : 1
2766 },
2767 "right" : {
2768 "type" : "hexstr",
2769 "value" : "0x00"
2770 }
2771 }
2772 }
2773 }
2774 }
2775 }
2776 ],
2777 "source_info" : {
2778 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002779 "line" : 149,
Robert MacDavidde12b982020-07-15 18:38:59 -07002780 "column" : 36,
2781 "source_fragment" : "= (bool)notify_cp; ..."
2782 }
2783 },
2784 {
2785 "op" : "assign",
2786 "parameters" : [
2787 {
2788 "type" : "field",
2789 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_encap32"]
2790 },
2791 {
2792 "type" : "expression",
2793 "value" : {
2794 "type" : "expression",
2795 "value" : {
2796 "op" : "b2d",
2797 "left" : null,
2798 "right" : {
2799 "type" : "bool",
2800 "value" : true
2801 }
2802 }
2803 }
2804 }
2805 ],
2806 "source_info" : {
2807 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002808 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07002809 "column" : 40,
2810 "source_fragment" : "= true; ..."
2811 }
2812 },
2813 {
2814 "op" : "assign",
2815 "parameters" : [
2816 {
2817 "type" : "field",
2818 "value" : ["scalars", "fabric_metadata_t._spgw_teid21"]
2819 },
2820 {
2821 "type" : "runtime_data",
2822 "value" : 5
2823 }
2824 ],
2825 "source_info" : {
2826 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002827 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07002828 "column" : 28,
2829 "source_fragment" : "= teid; ..."
2830 }
2831 },
2832 {
2833 "op" : "assign",
2834 "parameters" : [
2835 {
2836 "type" : "field",
2837 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_port22"]
2838 },
2839 {
2840 "type" : "runtime_data",
2841 "value" : 2
2842 }
2843 ],
2844 "source_info" : {
2845 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002846 "line" : 153,
Robert MacDavidde12b982020-07-15 18:38:59 -07002847 "column" : 39,
2848 "source_fragment" : "= tunnel_src_port; ..."
2849 }
2850 },
2851 {
2852 "op" : "assign",
2853 "parameters" : [
2854 {
2855 "type" : "field",
2856 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_addr23"]
2857 },
2858 {
2859 "type" : "runtime_data",
2860 "value" : 3
2861 }
2862 ],
2863 "source_info" : {
2864 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002865 "line" : 154,
Robert MacDavidde12b982020-07-15 18:38:59 -07002866 "column" : 39,
2867 "source_fragment" : "= tunnel_src_addr; ..."
2868 }
2869 },
2870 {
2871 "op" : "assign",
2872 "parameters" : [
2873 {
2874 "type" : "field",
2875 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_dst_addr24"]
2876 },
2877 {
2878 "type" : "runtime_data",
2879 "value" : 4
2880 }
2881 ],
2882 "source_info" : {
2883 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002884 "line" : 155,
Robert MacDavidde12b982020-07-15 18:38:59 -07002885 "column" : 39,
2886 "source_fragment" : "= tunnel_dst_addr; ..."
2887 }
2888 },
2889 {
2890 "op" : "assign",
2891 "parameters" : [
2892 {
2893 "type" : "field",
2894 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
2895 },
2896 {
2897 "type" : "runtime_data",
2898 "value" : 3
2899 }
2900 ],
2901 "source_info" : {
2902 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002903 "line" : 157,
Robert MacDavidde12b982020-07-15 18:38:59 -07002904 "column" : 32,
2905 "source_fragment" : "= tunnel_src_addr; ..."
2906 }
2907 },
2908 {
2909 "op" : "assign",
2910 "parameters" : [
2911 {
2912 "type" : "field",
2913 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
2914 },
2915 {
2916 "type" : "runtime_data",
2917 "value" : 4
2918 }
2919 ],
2920 "source_info" : {
2921 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002922 "line" : 158,
Robert MacDavidde12b982020-07-15 18:38:59 -07002923 "column" : 32,
2924 "source_fragment" : "= tunnel_dst_addr; ..."
2925 }
2926 },
2927 {
2928 "op" : "assign",
2929 "parameters" : [
2930 {
2931 "type" : "field",
2932 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
2933 },
2934 {
2935 "type" : "runtime_data",
2936 "value" : 2
2937 }
2938 ],
2939 "source_info" : {
2940 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002941 "line" : 159,
Robert MacDavidde12b982020-07-15 18:38:59 -07002942 "column" : 27,
2943 "source_fragment" : "= tunnel_src_port; ..."
2944 }
2945 },
2946 {
2947 "op" : "assign",
2948 "parameters" : [
2949 {
2950 "type" : "field",
2951 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
2952 },
2953 {
2954 "type" : "hexstr",
2955 "value" : "0x0868"
2956 }
2957 ],
2958 "source_info" : {
2959 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04002960 "line" : 160,
Robert MacDavidde12b982020-07-15 18:38:59 -07002961 "column" : 27,
2962 "source_fragment" : "= 2152; ..."
2963 }
2964 }
2965 ]
2966 },
2967 {
2968 "name" : "FabricIngress.spgw_ingress.decap_inner_tcp",
2969 "id" : 32,
2970 "runtime_data" : [],
2971 "primitives" : [
2972 {
2973 "op" : "assign",
2974 "parameters" : [
2975 {
2976 "type" : "field",
2977 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
2978 },
2979 {
2980 "type" : "hexstr",
2981 "value" : "0x0800"
2982 }
2983 ],
2984 "source_info" : {
2985 "filename" : "include/control/../define.p4",
2986 "line" : 128,
2987 "column" : 31,
2988 "source_fragment" : "0x0800; ..."
2989 }
2990 },
2991 {
2992 "op" : "assign",
2993 "parameters" : [
2994 {
2995 "type" : "field",
2996 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
2997 },
2998 {
2999 "type" : "field",
3000 "value" : ["inner_ipv4", "protocol"]
3001 }
3002 ],
3003 "source_info" : {
3004 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003005 "line" : 187,
Robert MacDavidde12b982020-07-15 18:38:59 -07003006 "column" : 27,
3007 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3008 }
3009 },
3010 {
3011 "op" : "assign",
3012 "parameters" : [
3013 {
3014 "type" : "field",
3015 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3016 },
3017 {
3018 "type" : "field",
3019 "value" : ["inner_ipv4", "src_addr"]
3020 }
3021 ],
3022 "source_info" : {
3023 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003024 "line" : 188,
Robert MacDavidde12b982020-07-15 18:38:59 -07003025 "column" : 32,
3026 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3027 }
3028 },
3029 {
3030 "op" : "assign",
3031 "parameters" : [
3032 {
3033 "type" : "field",
3034 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3035 },
3036 {
3037 "type" : "field",
3038 "value" : ["inner_ipv4", "dst_addr"]
3039 }
3040 ],
3041 "source_info" : {
3042 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003043 "line" : 189,
Robert MacDavidde12b982020-07-15 18:38:59 -07003044 "column" : 32,
3045 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3046 }
3047 },
3048 {
3049 "op" : "assign",
3050 "parameters" : [
3051 {
3052 "type" : "field",
3053 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3054 },
3055 {
3056 "type" : "field",
3057 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3058 }
3059 ],
3060 "source_info" : {
3061 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003062 "line" : 190,
Robert MacDavidde12b982020-07-15 18:38:59 -07003063 "column" : 27,
3064 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3065 }
3066 },
3067 {
3068 "op" : "assign",
3069 "parameters" : [
3070 {
3071 "type" : "field",
3072 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3073 },
3074 {
3075 "type" : "field",
3076 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3077 }
3078 ],
3079 "source_info" : {
3080 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003081 "line" : 191,
Robert MacDavidde12b982020-07-15 18:38:59 -07003082 "column" : 27,
3083 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003084 }
3085 },
3086 {
3087 "op" : "assign_header",
3088 "parameters" : [
3089 {
3090 "type" : "header",
3091 "value" : "ipv4"
3092 },
3093 {
3094 "type" : "header",
3095 "value" : "inner_ipv4"
3096 }
3097 ],
3098 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07003099 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003100 "line" : 193,
Robert MacDavidde12b982020-07-15 18:38:59 -07003101 "column" : 8,
3102 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3103 }
3104 },
3105 {
3106 "op" : "remove_header",
3107 "parameters" : [
3108 {
3109 "type" : "header",
3110 "value" : "inner_ipv4"
3111 }
3112 ],
3113 "source_info" : {
3114 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003115 "line" : 194,
Robert MacDavidde12b982020-07-15 18:38:59 -07003116 "column" : 8,
3117 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3118 }
3119 },
3120 {
3121 "op" : "remove_header",
3122 "parameters" : [
3123 {
3124 "type" : "header",
3125 "value" : "gtpu"
3126 }
3127 ],
3128 "source_info" : {
3129 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003130 "line" : 195,
Robert MacDavidde12b982020-07-15 18:38:59 -07003131 "column" : 8,
3132 "source_fragment" : "hdr.gtpu.setInvalid()"
3133 }
3134 },
3135 {
3136 "op" : "remove_header",
3137 "parameters" : [
3138 {
3139 "type" : "header",
3140 "value" : "udp"
3141 }
3142 ],
3143 "source_info" : {
3144 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003145 "line" : 199,
Robert MacDavidde12b982020-07-15 18:38:59 -07003146 "column" : 8,
3147 "source_fragment" : "hdr.udp.setInvalid()"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003148 }
3149 },
3150 {
3151 "op" : "assign_header",
3152 "parameters" : [
3153 {
3154 "type" : "header",
Robert MacDavidde12b982020-07-15 18:38:59 -07003155 "value" : "tcp"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003156 },
3157 {
3158 "type" : "header",
Robert MacDavidde12b982020-07-15 18:38:59 -07003159 "value" : "inner_tcp"
3160 }
3161 ],
3162 "source_info" : {
3163 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003164 "line" : 200,
Robert MacDavidde12b982020-07-15 18:38:59 -07003165 "column" : 8,
3166 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
3167 }
3168 },
3169 {
3170 "op" : "remove_header",
3171 "parameters" : [
3172 {
3173 "type" : "header",
3174 "value" : "inner_tcp"
3175 }
3176 ],
3177 "source_info" : {
3178 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003179 "line" : 201,
Robert MacDavidde12b982020-07-15 18:38:59 -07003180 "column" : 8,
3181 "source_fragment" : "hdr.inner_tcp.setInvalid()"
3182 }
3183 }
3184 ]
3185 },
3186 {
3187 "name" : "FabricIngress.spgw_ingress.decap_inner_udp",
3188 "id" : 33,
3189 "runtime_data" : [],
3190 "primitives" : [
3191 {
3192 "op" : "assign",
3193 "parameters" : [
3194 {
3195 "type" : "field",
3196 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3197 },
3198 {
3199 "type" : "hexstr",
3200 "value" : "0x0800"
3201 }
3202 ],
3203 "source_info" : {
3204 "filename" : "include/control/../define.p4",
3205 "line" : 128,
3206 "column" : 31,
3207 "source_fragment" : "0x0800; ..."
3208 }
3209 },
3210 {
3211 "op" : "assign",
3212 "parameters" : [
3213 {
3214 "type" : "field",
3215 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3216 },
3217 {
3218 "type" : "field",
3219 "value" : ["inner_ipv4", "protocol"]
3220 }
3221 ],
3222 "source_info" : {
3223 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003224 "line" : 187,
Robert MacDavidde12b982020-07-15 18:38:59 -07003225 "column" : 27,
3226 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3227 }
3228 },
3229 {
3230 "op" : "assign",
3231 "parameters" : [
3232 {
3233 "type" : "field",
3234 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3235 },
3236 {
3237 "type" : "field",
3238 "value" : ["inner_ipv4", "src_addr"]
3239 }
3240 ],
3241 "source_info" : {
3242 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003243 "line" : 188,
Robert MacDavidde12b982020-07-15 18:38:59 -07003244 "column" : 32,
3245 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3246 }
3247 },
3248 {
3249 "op" : "assign",
3250 "parameters" : [
3251 {
3252 "type" : "field",
3253 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3254 },
3255 {
3256 "type" : "field",
3257 "value" : ["inner_ipv4", "dst_addr"]
3258 }
3259 ],
3260 "source_info" : {
3261 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003262 "line" : 189,
Robert MacDavidde12b982020-07-15 18:38:59 -07003263 "column" : 32,
3264 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3265 }
3266 },
3267 {
3268 "op" : "assign",
3269 "parameters" : [
3270 {
3271 "type" : "field",
3272 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3273 },
3274 {
3275 "type" : "field",
3276 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3277 }
3278 ],
3279 "source_info" : {
3280 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003281 "line" : 190,
Robert MacDavidde12b982020-07-15 18:38:59 -07003282 "column" : 27,
3283 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3284 }
3285 },
3286 {
3287 "op" : "assign",
3288 "parameters" : [
3289 {
3290 "type" : "field",
3291 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3292 },
3293 {
3294 "type" : "field",
3295 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3296 }
3297 ],
3298 "source_info" : {
3299 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003300 "line" : 191,
Robert MacDavidde12b982020-07-15 18:38:59 -07003301 "column" : 27,
3302 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3303 }
3304 },
3305 {
3306 "op" : "assign_header",
3307 "parameters" : [
3308 {
3309 "type" : "header",
3310 "value" : "ipv4"
3311 },
3312 {
3313 "type" : "header",
3314 "value" : "inner_ipv4"
3315 }
3316 ],
3317 "source_info" : {
3318 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003319 "line" : 193,
Robert MacDavidde12b982020-07-15 18:38:59 -07003320 "column" : 8,
3321 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3322 }
3323 },
3324 {
3325 "op" : "remove_header",
3326 "parameters" : [
3327 {
3328 "type" : "header",
3329 "value" : "inner_ipv4"
3330 }
3331 ],
3332 "source_info" : {
3333 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003334 "line" : 194,
Robert MacDavidde12b982020-07-15 18:38:59 -07003335 "column" : 8,
3336 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3337 }
3338 },
3339 {
3340 "op" : "remove_header",
3341 "parameters" : [
3342 {
3343 "type" : "header",
3344 "value" : "gtpu"
3345 }
3346 ],
3347 "source_info" : {
3348 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003349 "line" : 195,
Robert MacDavidde12b982020-07-15 18:38:59 -07003350 "column" : 8,
3351 "source_fragment" : "hdr.gtpu.setInvalid()"
3352 }
3353 },
3354 {
3355 "op" : "assign_header",
3356 "parameters" : [
3357 {
3358 "type" : "header",
3359 "value" : "udp"
3360 },
3361 {
3362 "type" : "header",
3363 "value" : "inner_udp"
3364 }
3365 ],
3366 "source_info" : {
3367 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003368 "line" : 205,
Robert MacDavidde12b982020-07-15 18:38:59 -07003369 "column" : 8,
3370 "source_fragment" : "hdr.udp = hdr.inner_udp"
3371 }
3372 },
3373 {
3374 "op" : "remove_header",
3375 "parameters" : [
3376 {
3377 "type" : "header",
3378 "value" : "inner_udp"
3379 }
3380 ],
3381 "source_info" : {
3382 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003383 "line" : 206,
Robert MacDavidde12b982020-07-15 18:38:59 -07003384 "column" : 8,
3385 "source_fragment" : "hdr.inner_udp.setInvalid()"
3386 }
3387 }
3388 ]
3389 },
3390 {
3391 "name" : "FabricIngress.spgw_ingress.decap_inner_icmp",
3392 "id" : 34,
3393 "runtime_data" : [],
3394 "primitives" : [
3395 {
3396 "op" : "assign",
3397 "parameters" : [
3398 {
3399 "type" : "field",
3400 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3401 },
3402 {
3403 "type" : "hexstr",
3404 "value" : "0x0800"
3405 }
3406 ],
3407 "source_info" : {
3408 "filename" : "include/control/../define.p4",
3409 "line" : 128,
3410 "column" : 31,
3411 "source_fragment" : "0x0800; ..."
3412 }
3413 },
3414 {
3415 "op" : "assign",
3416 "parameters" : [
3417 {
3418 "type" : "field",
3419 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3420 },
3421 {
3422 "type" : "field",
3423 "value" : ["inner_ipv4", "protocol"]
3424 }
3425 ],
3426 "source_info" : {
3427 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003428 "line" : 187,
Robert MacDavidde12b982020-07-15 18:38:59 -07003429 "column" : 27,
3430 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3431 }
3432 },
3433 {
3434 "op" : "assign",
3435 "parameters" : [
3436 {
3437 "type" : "field",
3438 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3439 },
3440 {
3441 "type" : "field",
3442 "value" : ["inner_ipv4", "src_addr"]
3443 }
3444 ],
3445 "source_info" : {
3446 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003447 "line" : 188,
Robert MacDavidde12b982020-07-15 18:38:59 -07003448 "column" : 32,
3449 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3450 }
3451 },
3452 {
3453 "op" : "assign",
3454 "parameters" : [
3455 {
3456 "type" : "field",
3457 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3458 },
3459 {
3460 "type" : "field",
3461 "value" : ["inner_ipv4", "dst_addr"]
3462 }
3463 ],
3464 "source_info" : {
3465 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003466 "line" : 189,
Robert MacDavidde12b982020-07-15 18:38:59 -07003467 "column" : 32,
3468 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3469 }
3470 },
3471 {
3472 "op" : "assign",
3473 "parameters" : [
3474 {
3475 "type" : "field",
3476 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3477 },
3478 {
3479 "type" : "field",
3480 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3481 }
3482 ],
3483 "source_info" : {
3484 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003485 "line" : 190,
Robert MacDavidde12b982020-07-15 18:38:59 -07003486 "column" : 27,
3487 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3488 }
3489 },
3490 {
3491 "op" : "assign",
3492 "parameters" : [
3493 {
3494 "type" : "field",
3495 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3496 },
3497 {
3498 "type" : "field",
3499 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3500 }
3501 ],
3502 "source_info" : {
3503 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003504 "line" : 191,
Robert MacDavidde12b982020-07-15 18:38:59 -07003505 "column" : 27,
3506 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3507 }
3508 },
3509 {
3510 "op" : "assign_header",
3511 "parameters" : [
3512 {
3513 "type" : "header",
3514 "value" : "ipv4"
3515 },
3516 {
3517 "type" : "header",
3518 "value" : "inner_ipv4"
3519 }
3520 ],
3521 "source_info" : {
3522 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003523 "line" : 193,
Robert MacDavidde12b982020-07-15 18:38:59 -07003524 "column" : 8,
3525 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3526 }
3527 },
3528 {
3529 "op" : "remove_header",
3530 "parameters" : [
3531 {
3532 "type" : "header",
3533 "value" : "inner_ipv4"
3534 }
3535 ],
3536 "source_info" : {
3537 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003538 "line" : 194,
Robert MacDavidde12b982020-07-15 18:38:59 -07003539 "column" : 8,
3540 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3541 }
3542 },
3543 {
3544 "op" : "remove_header",
3545 "parameters" : [
3546 {
3547 "type" : "header",
3548 "value" : "gtpu"
3549 }
3550 ],
3551 "source_info" : {
3552 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003553 "line" : 195,
Robert MacDavidde12b982020-07-15 18:38:59 -07003554 "column" : 8,
3555 "source_fragment" : "hdr.gtpu.setInvalid()"
3556 }
3557 },
3558 {
3559 "op" : "remove_header",
3560 "parameters" : [
3561 {
3562 "type" : "header",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003563 "value" : "udp"
3564 }
3565 ],
3566 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07003567 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003568 "line" : 210,
Robert MacDavidde12b982020-07-15 18:38:59 -07003569 "column" : 8,
3570 "source_fragment" : "hdr.udp.setInvalid()"
3571 }
3572 },
3573 {
3574 "op" : "assign_header",
3575 "parameters" : [
3576 {
3577 "type" : "header",
3578 "value" : "icmp"
3579 },
3580 {
3581 "type" : "header",
3582 "value" : "inner_icmp"
3583 }
3584 ],
3585 "source_info" : {
3586 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003587 "line" : 211,
Robert MacDavidde12b982020-07-15 18:38:59 -07003588 "column" : 8,
3589 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
3590 }
3591 },
3592 {
3593 "op" : "remove_header",
3594 "parameters" : [
3595 {
3596 "type" : "header",
3597 "value" : "inner_icmp"
3598 }
3599 ],
3600 "source_info" : {
3601 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003602 "line" : 212,
Robert MacDavidde12b982020-07-15 18:38:59 -07003603 "column" : 8,
3604 "source_fragment" : "hdr.inner_icmp.setInvalid()"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003605 }
3606 }
3607 ]
3608 },
3609 {
Robert MacDavidde12b982020-07-15 18:38:59 -07003610 "name" : "FabricIngress.spgw_ingress.decap_inner_unknown",
3611 "id" : 35,
3612 "runtime_data" : [],
3613 "primitives" : [
3614 {
3615 "op" : "assign",
3616 "parameters" : [
3617 {
3618 "type" : "field",
3619 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3620 },
3621 {
3622 "type" : "hexstr",
3623 "value" : "0x0800"
3624 }
3625 ],
3626 "source_info" : {
3627 "filename" : "include/control/../define.p4",
3628 "line" : 128,
3629 "column" : 31,
3630 "source_fragment" : "0x0800; ..."
3631 }
3632 },
3633 {
3634 "op" : "assign",
3635 "parameters" : [
3636 {
3637 "type" : "field",
3638 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3639 },
3640 {
3641 "type" : "field",
3642 "value" : ["inner_ipv4", "protocol"]
3643 }
3644 ],
3645 "source_info" : {
3646 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003647 "line" : 187,
Robert MacDavidde12b982020-07-15 18:38:59 -07003648 "column" : 27,
3649 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3650 }
3651 },
3652 {
3653 "op" : "assign",
3654 "parameters" : [
3655 {
3656 "type" : "field",
3657 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3658 },
3659 {
3660 "type" : "field",
3661 "value" : ["inner_ipv4", "src_addr"]
3662 }
3663 ],
3664 "source_info" : {
3665 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003666 "line" : 188,
Robert MacDavidde12b982020-07-15 18:38:59 -07003667 "column" : 32,
3668 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3669 }
3670 },
3671 {
3672 "op" : "assign",
3673 "parameters" : [
3674 {
3675 "type" : "field",
3676 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3677 },
3678 {
3679 "type" : "field",
3680 "value" : ["inner_ipv4", "dst_addr"]
3681 }
3682 ],
3683 "source_info" : {
3684 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003685 "line" : 189,
Robert MacDavidde12b982020-07-15 18:38:59 -07003686 "column" : 32,
3687 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3688 }
3689 },
3690 {
3691 "op" : "assign",
3692 "parameters" : [
3693 {
3694 "type" : "field",
3695 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3696 },
3697 {
3698 "type" : "field",
3699 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3700 }
3701 ],
3702 "source_info" : {
3703 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003704 "line" : 190,
Robert MacDavidde12b982020-07-15 18:38:59 -07003705 "column" : 27,
3706 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3707 }
3708 },
3709 {
3710 "op" : "assign",
3711 "parameters" : [
3712 {
3713 "type" : "field",
3714 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3715 },
3716 {
3717 "type" : "field",
3718 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3719 }
3720 ],
3721 "source_info" : {
3722 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003723 "line" : 191,
Robert MacDavidde12b982020-07-15 18:38:59 -07003724 "column" : 27,
3725 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3726 }
3727 },
3728 {
3729 "op" : "assign_header",
3730 "parameters" : [
3731 {
3732 "type" : "header",
3733 "value" : "ipv4"
3734 },
3735 {
3736 "type" : "header",
3737 "value" : "inner_ipv4"
3738 }
3739 ],
3740 "source_info" : {
3741 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003742 "line" : 193,
Robert MacDavidde12b982020-07-15 18:38:59 -07003743 "column" : 8,
3744 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3745 }
3746 },
3747 {
3748 "op" : "remove_header",
3749 "parameters" : [
3750 {
3751 "type" : "header",
3752 "value" : "inner_ipv4"
3753 }
3754 ],
3755 "source_info" : {
3756 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003757 "line" : 194,
Robert MacDavidde12b982020-07-15 18:38:59 -07003758 "column" : 8,
3759 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3760 }
3761 },
3762 {
3763 "op" : "remove_header",
3764 "parameters" : [
3765 {
3766 "type" : "header",
3767 "value" : "gtpu"
3768 }
3769 ],
3770 "source_info" : {
3771 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003772 "line" : 195,
Robert MacDavidde12b982020-07-15 18:38:59 -07003773 "column" : 8,
3774 "source_fragment" : "hdr.gtpu.setInvalid()"
3775 }
3776 },
3777 {
3778 "op" : "remove_header",
3779 "parameters" : [
3780 {
3781 "type" : "header",
3782 "value" : "udp"
3783 }
3784 ],
3785 "source_info" : {
3786 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003787 "line" : 216,
Robert MacDavidde12b982020-07-15 18:38:59 -07003788 "column" : 8,
3789 "source_fragment" : "hdr.udp.setInvalid()"
3790 }
3791 }
3792 ]
3793 },
3794 {
3795 "name" : "act",
3796 "id" : 36,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003797 "runtime_data" : [],
3798 "primitives" : [
3799 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003800 "op" : "assign",
3801 "parameters" : [
3802 {
3803 "type" : "field",
3804 "value" : ["standard_metadata", "egress_spec"]
3805 },
3806 {
3807 "type" : "field",
3808 "value" : ["packet_out", "egress_port"]
3809 }
3810 ],
3811 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003812 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003813 "line" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003814 "column" : 12,
3815 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
3816 }
3817 },
3818 {
3819 "op" : "remove_header",
3820 "parameters" : [
3821 {
3822 "type" : "header",
3823 "value" : "packet_out"
3824 }
3825 ],
3826 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003827 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003828 "line" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003829 "column" : 12,
3830 "source_fragment" : "hdr.packet_out.setInvalid()"
3831 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07003832 },
3833 {
3834 "op" : "assign",
3835 "parameters" : [
3836 {
3837 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07003838 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out11"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07003839 },
3840 {
3841 "type" : "expression",
3842 "value" : {
3843 "type" : "expression",
3844 "value" : {
3845 "op" : "b2d",
3846 "left" : null,
3847 "right" : {
3848 "type" : "bool",
3849 "value" : true
3850 }
3851 }
3852 }
3853 }
3854 ],
3855 "source_info" : {
3856 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003857 "line" : 27,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08003858 "column" : 53,
3859 "source_fragment" : "= true; ..."
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07003860 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07003861 },
3862 {
3863 "op" : "exit",
3864 "parameters" : [],
3865 "source_info" : {
3866 "filename" : "include/control/packetio.p4",
3867 "line" : 29,
3868 "column" : 12,
3869 "source_fragment" : "exit"
3870 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08003871 }
3872 ]
3873 },
3874 {
Robert MacDavidde12b982020-07-15 18:38:59 -07003875 "name" : "act_0",
3876 "id" : 37,
3877 "runtime_data" : [],
3878 "primitives" : [
3879 {
3880 "op" : "assign",
3881 "parameters" : [
3882 {
3883 "type" : "field",
3884 "value" : ["scalars", "spgw_ingress_hasReturned"]
3885 },
3886 {
3887 "type" : "expression",
3888 "value" : {
3889 "type" : "expression",
3890 "value" : {
3891 "op" : "b2d",
3892 "left" : null,
3893 "right" : {
3894 "type" : "bool",
3895 "value" : false
3896 }
3897 }
3898 }
3899 }
3900 ]
3901 }
3902 ]
3903 },
3904 {
3905 "name" : "act_1",
3906 "id" : 38,
3907 "runtime_data" : [],
3908 "primitives" : [
3909 {
3910 "op" : "assign",
3911 "parameters" : [
3912 {
3913 "type" : "field",
3914 "value" : ["scalars", "spgw_ingress_hasReturned"]
3915 },
3916 {
3917 "type" : "expression",
3918 "value" : {
3919 "type" : "expression",
3920 "value" : {
3921 "op" : "b2d",
3922 "left" : null,
3923 "right" : {
3924 "type" : "bool",
3925 "value" : true
3926 }
3927 }
3928 }
3929 }
3930 ],
3931 "source_info" : {
3932 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003933 "line" : 249,
Robert MacDavidde12b982020-07-15 18:38:59 -07003934 "column" : 46,
3935 "source_fragment" : "return"
3936 }
3937 }
3938 ]
3939 },
3940 {
3941 "name" : "act_2",
3942 "id" : 39,
3943 "runtime_data" : [],
3944 "primitives" : [
3945 {
3946 "op" : "count",
3947 "parameters" : [
3948 {
3949 "type" : "counter_array",
3950 "value" : "FabricIngress.spgw_ingress.pdr_counter"
3951 },
3952 {
3953 "type" : "field",
3954 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id25"]
3955 }
3956 ],
3957 "source_info" : {
3958 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003959 "line" : 263,
Robert MacDavidde12b982020-07-15 18:38:59 -07003960 "column" : 8,
3961 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
3962 }
3963 }
3964 ]
3965 },
3966 {
3967 "name" : "act_3",
3968 "id" : 40,
3969 "runtime_data" : [],
3970 "primitives" : [
3971 {
3972 "op" : "assign",
3973 "parameters" : [
3974 {
3975 "type" : "field",
3976 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
3977 },
3978 {
3979 "type" : "expression",
3980 "value" : {
3981 "type" : "expression",
3982 "value" : {
3983 "op" : "b2d",
3984 "left" : null,
3985 "right" : {
3986 "type" : "bool",
3987 "value" : true
3988 }
3989 }
3990 }
3991 }
3992 ],
3993 "source_info" : {
3994 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04003995 "line" : 280,
Robert MacDavidde12b982020-07-15 18:38:59 -07003996 "column" : 38,
3997 "source_fragment" : "= true; ..."
3998 }
3999 },
4000 {
4001 "op" : "assign",
4002 "parameters" : [
4003 {
4004 "type" : "field",
4005 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
4006 },
4007 {
4008 "type" : "expression",
4009 "value" : {
4010 "type" : "expression",
4011 "value" : {
4012 "op" : "b2d",
4013 "left" : null,
4014 "right" : {
4015 "type" : "bool",
4016 "value" : true
4017 }
4018 }
4019 }
4020 }
4021 ],
4022 "source_info" : {
4023 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004024 "line" : 281,
Robert MacDavidde12b982020-07-15 18:38:59 -07004025 "column" : 32,
4026 "source_fragment" : "= true; ..."
4027 }
4028 }
4029 ]
4030 },
4031 {
4032 "name" : "act_4",
4033 "id" : 41,
4034 "runtime_data" : [],
4035 "primitives" : [
4036 {
4037 "op" : "assign",
4038 "parameters" : [
4039 {
4040 "type" : "field",
4041 "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len20"]
4042 },
4043 {
4044 "type" : "field",
4045 "value" : ["ipv4", "total_len"]
4046 }
4047 ],
4048 "source_info" : {
4049 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004050 "line" : 289,
Robert MacDavidde12b982020-07-15 18:38:59 -07004051 "column" : 32,
4052 "source_fragment" : "= hdr.ipv4.total_len; ..."
4053 }
4054 }
4055 ]
4056 },
4057 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004058 "name" : "act_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07004059 "id" : 42,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004060 "runtime_data" : [],
4061 "primitives" : [
4062 {
4063 "op" : "assign",
4064 "parameters" : [
4065 {
4066 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004067 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004068 },
4069 {
4070 "type" : "field",
4071 "value" : ["vlan_tag", "vlan_id"]
4072 }
4073 ],
4074 "source_info" : {
4075 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004076 "line" : 111,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08004077 "column" : 36,
4078 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004079 }
4080 },
4081 {
4082 "op" : "assign",
4083 "parameters" : [
4084 {
4085 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004086 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004087 },
4088 {
4089 "type" : "field",
4090 "value" : ["vlan_tag", "pri"]
4091 }
4092 ],
4093 "source_info" : {
4094 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004095 "line" : 112,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08004096 "column" : 37,
4097 "source_fragment" : "= hdr.vlan_tag.pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004098 }
4099 },
4100 {
4101 "op" : "assign",
4102 "parameters" : [
4103 {
4104 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004105 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004106 },
4107 {
4108 "type" : "field",
4109 "value" : ["vlan_tag", "cfi"]
4110 }
4111 ],
4112 "source_info" : {
4113 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004114 "line" : 113,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08004115 "column" : 37,
4116 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004117 }
4118 }
4119 ]
4120 },
4121 {
4122 "name" : "act_6",
Robert MacDavidde12b982020-07-15 18:38:59 -07004123 "id" : 43,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004124 "runtime_data" : [],
4125 "primitives" : [
4126 {
4127 "op" : "assign",
4128 "parameters" : [
4129 {
4130 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004131 "value" : ["scalars", "fabric_metadata_t._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004132 },
4133 {
4134 "type" : "hexstr",
4135 "value" : "0x41"
4136 }
4137 ],
4138 "source_info" : {
4139 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004140 "line" : 127,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08004141 "column" : 37,
4142 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004143 }
4144 }
4145 ]
4146 },
4147 {
4148 "name" : "act_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07004149 "id" : 44,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004150 "runtime_data" : [],
4151 "primitives" : [
4152 {
4153 "op" : "assign",
4154 "parameters" : [
4155 {
4156 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07004157 "value" : ["scalars", "tmp"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004158 },
4159 {
4160 "type" : "expression",
4161 "value" : {
4162 "type" : "expression",
4163 "value" : {
4164 "op" : "&",
4165 "left" : {
4166 "type" : "field",
4167 "value" : ["standard_metadata", "egress_spec"]
4168 },
4169 "right" : {
4170 "type" : "hexstr",
4171 "value" : "0xffffffff"
4172 }
4173 }
4174 }
4175 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02004176 ],
4177 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02004178 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004179 "line" : 31,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02004180 "column" : 38,
4181 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
4182 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004183 },
4184 {
4185 "op" : "count",
4186 "parameters" : [
4187 {
4188 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08004189 "value" : "FabricIngress.port_counters_control.egress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004190 },
4191 {
4192 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07004193 "value" : ["scalars", "tmp"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004194 }
4195 ],
4196 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02004197 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004198 "line" : 31,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004199 "column" : 12,
4200 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
4201 }
4202 }
4203 ]
4204 },
4205 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004206 "name" : "act_8",
4207 "id" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004208 "runtime_data" : [],
4209 "primitives" : [
4210 {
4211 "op" : "assign",
4212 "parameters" : [
4213 {
4214 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07004215 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004216 },
4217 {
4218 "type" : "expression",
4219 "value" : {
4220 "type" : "expression",
4221 "value" : {
4222 "op" : "&",
4223 "left" : {
4224 "type" : "field",
4225 "value" : ["standard_metadata", "ingress_port"]
4226 },
4227 "right" : {
4228 "type" : "hexstr",
4229 "value" : "0xffffffff"
4230 }
4231 }
4232 }
4233 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02004234 ],
4235 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02004236 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004237 "line" : 34,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02004238 "column" : 39,
4239 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
4240 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004241 },
4242 {
4243 "op" : "count",
4244 "parameters" : [
4245 {
4246 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08004247 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004248 },
4249 {
4250 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07004251 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004252 }
4253 ],
4254 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02004255 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004256 "line" : 34,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004257 "column" : 12,
4258 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
4259 }
4260 }
4261 ]
4262 },
4263 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08004264 "name" : "nop",
Robert MacDavidde12b982020-07-15 18:38:59 -07004265 "id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004266 "runtime_data" : [],
Charles Chancd03f072018-08-31 17:46:37 -07004267 "primitives" : []
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004268 },
4269 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004270 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Robert MacDavidde12b982020-07-15 18:38:59 -07004271 "id" : 47,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08004272 "runtime_data" : [],
4273 "primitives" : [
4274 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08004275 "op" : "remove_header",
4276 "parameters" : [
4277 {
4278 "type" : "header",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004279 "value" : "mpls"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08004280 }
4281 ],
4282 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004283 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004284 "line" : 270,
Yi Tseng47eac892018-07-11 02:17:04 +08004285 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004286 "source_fragment" : "hdr.mpls.setInvalid()"
Yi Tseng47eac892018-07-11 02:17:04 +08004287 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004288 },
Yi Tseng47eac892018-07-11 02:17:04 +08004289 {
4290 "op" : "assign",
4291 "parameters" : [
4292 {
4293 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004294 "value" : ["eth_type", "value"]
Yi Tseng47eac892018-07-11 02:17:04 +08004295 },
4296 {
4297 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004298 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004299 }
4300 ],
4301 "source_info" : {
4302 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004303 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07004304 "column" : 8,
4305 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004306 }
4307 }
4308 ]
4309 },
4310 {
4311 "name" : "FabricEgress.egress_next.set_mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07004312 "id" : 48,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004313 "runtime_data" : [],
4314 "primitives" : [
4315 {
4316 "op" : "add_header",
4317 "parameters" : [
4318 {
4319 "type" : "header",
4320 "value" : "mpls"
Yi Tseng47eac892018-07-11 02:17:04 +08004321 }
4322 ],
4323 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02004324 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004325 "line" : 277,
Yi Tseng47eac892018-07-11 02:17:04 +08004326 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004327 "source_fragment" : "hdr.mpls.setValid()"
4328 }
4329 },
4330 {
4331 "op" : "assign",
4332 "parameters" : [
4333 {
4334 "type" : "field",
4335 "value" : ["mpls", "label"]
4336 },
4337 {
4338 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004339 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004340 }
4341 ],
4342 "source_info" : {
4343 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004344 "line" : 278,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004345 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08004346 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004347 }
4348 },
4349 {
4350 "op" : "assign",
4351 "parameters" : [
4352 {
4353 "type" : "field",
4354 "value" : ["mpls", "tc"]
4355 },
4356 {
4357 "type" : "hexstr",
4358 "value" : "0x00"
4359 }
4360 ],
4361 "source_info" : {
4362 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004363 "line" : 279,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004364 "column" : 8,
4365 "source_fragment" : "hdr.mpls.tc = 3w0"
4366 }
4367 },
4368 {
4369 "op" : "assign",
4370 "parameters" : [
4371 {
4372 "type" : "field",
4373 "value" : ["mpls", "bos"]
4374 },
4375 {
4376 "type" : "hexstr",
4377 "value" : "0x01"
4378 }
4379 ],
4380 "source_info" : {
4381 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004382 "line" : 280,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004383 "column" : 8,
4384 "source_fragment" : "hdr.mpls.bos = 1w1"
4385 }
4386 },
4387 {
4388 "op" : "assign",
4389 "parameters" : [
4390 {
4391 "type" : "field",
4392 "value" : ["mpls", "ttl"]
4393 },
4394 {
4395 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004396 "value" : ["scalars", "fabric_metadata_t._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004397 }
4398 ],
4399 "source_info" : {
4400 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004401 "line" : 281,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004402 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08004403 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004404 }
4405 },
4406 {
4407 "op" : "assign",
4408 "parameters" : [
4409 {
4410 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004411 "value" : ["eth_type", "value"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004412 },
4413 {
4414 "type" : "hexstr",
4415 "value" : "0x8847"
4416 }
4417 ],
4418 "source_info" : {
4419 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07004420 "line" : 126,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004421 "column" : 31,
4422 "source_fragment" : "0x8847; ..."
4423 }
4424 }
4425 ]
4426 },
4427 {
4428 "name" : "FabricEgress.egress_next.push_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07004429 "id" : 49,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004430 "runtime_data" : [],
4431 "primitives" : [
4432 {
4433 "op" : "add_header",
4434 "parameters" : [
4435 {
4436 "type" : "header",
4437 "value" : "vlan_tag"
4438 }
4439 ],
4440 "source_info" : {
4441 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004442 "line" : 289,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004443 "column" : 8,
4444 "source_fragment" : "hdr.vlan_tag.setValid()"
4445 }
4446 },
4447 {
4448 "op" : "assign",
4449 "parameters" : [
4450 {
4451 "type" : "field",
4452 "value" : ["vlan_tag", "cfi"]
4453 },
4454 {
4455 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004456 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004457 }
4458 ],
4459 "source_info" : {
4460 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004461 "line" : 290,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004462 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08004463 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004464 }
4465 },
4466 {
4467 "op" : "assign",
4468 "parameters" : [
4469 {
4470 "type" : "field",
4471 "value" : ["vlan_tag", "pri"]
4472 },
4473 {
4474 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004475 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004476 }
4477 ],
4478 "source_info" : {
4479 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004480 "line" : 291,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004481 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08004482 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004483 }
4484 },
4485 {
4486 "op" : "assign",
4487 "parameters" : [
4488 {
4489 "type" : "field",
4490 "value" : ["vlan_tag", "eth_type"]
4491 },
4492 {
Daniele Moro5a2de712019-09-24 14:34:07 -07004493 "type" : "hexstr",
4494 "value" : "0x8100"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004495 }
4496 ],
4497 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07004498 "filename" : "include/control/../define.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07004499 "line" : 125,
Daniele Moro5a2de712019-09-24 14:34:07 -07004500 "column" : 31,
4501 "source_fragment" : "0x8100; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004502 }
4503 },
4504 {
4505 "op" : "assign",
4506 "parameters" : [
4507 {
4508 "type" : "field",
4509 "value" : ["vlan_tag", "vlan_id"]
4510 },
4511 {
4512 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07004513 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004514 }
4515 ],
4516 "source_info" : {
4517 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004518 "line" : 293,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004519 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08004520 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004521 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004522 }
4523 ]
4524 },
4525 {
4526 "name" : "FabricEgress.egress_next.pop_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07004527 "id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08004528 "runtime_data" : [],
4529 "primitives" : [
4530 {
Yi Tseng47eac892018-07-11 02:17:04 +08004531 "op" : "remove_header",
4532 "parameters" : [
4533 {
4534 "type" : "header",
4535 "value" : "vlan_tag"
4536 }
4537 ],
4538 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02004539 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07004540 "line" : 316,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08004541 "column" : 8,
4542 "source_fragment" : "hdr.vlan_tag.setInvalid()"
4543 }
4544 }
4545 ]
4546 },
4547 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004548 "name" : "FabricEgress.spgw_egress.gtpu_encap",
4549 "id" : 51,
4550 "runtime_data" : [],
4551 "primitives" : [
4552 {
4553 "op" : "add_header",
4554 "parameters" : [
4555 {
4556 "type" : "header",
4557 "value" : "gtpu_ipv4"
4558 }
4559 ],
4560 "source_info" : {
4561 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004562 "line" : 306,
Robert MacDavidde12b982020-07-15 18:38:59 -07004563 "column" : 8,
4564 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
4565 }
4566 },
4567 {
4568 "op" : "assign",
4569 "parameters" : [
4570 {
4571 "type" : "field",
4572 "value" : ["gtpu_ipv4", "version"]
4573 },
4574 {
4575 "type" : "hexstr",
4576 "value" : "0x04"
4577 }
4578 ],
4579 "source_info" : {
4580 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004581 "line" : 307,
Robert MacDavidde12b982020-07-15 18:38:59 -07004582 "column" : 8,
4583 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
4584 }
4585 },
4586 {
4587 "op" : "assign",
4588 "parameters" : [
4589 {
4590 "type" : "field",
4591 "value" : ["gtpu_ipv4", "ihl"]
4592 },
4593 {
4594 "type" : "hexstr",
4595 "value" : "0x05"
4596 }
4597 ],
4598 "source_info" : {
4599 "filename" : "include/control/../define.p4",
4600 "line" : 143,
4601 "column" : 28,
4602 "source_fragment" : "5; ..."
4603 }
4604 },
4605 {
4606 "op" : "assign",
4607 "parameters" : [
4608 {
4609 "type" : "field",
4610 "value" : ["gtpu_ipv4", "dscp"]
4611 },
4612 {
4613 "type" : "hexstr",
4614 "value" : "0x00"
4615 }
4616 ],
4617 "source_info" : {
4618 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004619 "line" : 309,
Robert MacDavidde12b982020-07-15 18:38:59 -07004620 "column" : 8,
4621 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
4622 }
4623 },
4624 {
4625 "op" : "assign",
4626 "parameters" : [
4627 {
4628 "type" : "field",
4629 "value" : ["gtpu_ipv4", "ecn"]
4630 },
4631 {
4632 "type" : "hexstr",
4633 "value" : "0x00"
4634 }
4635 ],
4636 "source_info" : {
4637 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004638 "line" : 310,
Robert MacDavidde12b982020-07-15 18:38:59 -07004639 "column" : 8,
4640 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
4641 }
4642 },
4643 {
4644 "op" : "assign",
4645 "parameters" : [
4646 {
4647 "type" : "field",
4648 "value" : ["gtpu_ipv4", "total_len"]
4649 },
4650 {
4651 "type" : "expression",
4652 "value" : {
4653 "type" : "expression",
4654 "value" : {
4655 "op" : "&",
4656 "left" : {
4657 "type" : "expression",
4658 "value" : {
4659 "op" : "+",
4660 "left" : {
4661 "type" : "field",
4662 "value" : ["ipv4", "total_len"]
4663 },
4664 "right" : {
4665 "type" : "hexstr",
4666 "value" : "0x0024"
4667 }
4668 }
4669 },
4670 "right" : {
4671 "type" : "hexstr",
4672 "value" : "0xffff"
4673 }
4674 }
4675 }
4676 }
4677 ],
4678 "source_info" : {
4679 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004680 "line" : 311,
Robert MacDavidde12b982020-07-15 18:38:59 -07004681 "column" : 8,
4682 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
4683 }
4684 },
4685 {
4686 "op" : "assign",
4687 "parameters" : [
4688 {
4689 "type" : "field",
4690 "value" : ["gtpu_ipv4", "identification"]
4691 },
4692 {
4693 "type" : "hexstr",
4694 "value" : "0x1513"
4695 }
4696 ],
4697 "source_info" : {
4698 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004699 "line" : 313,
Robert MacDavidde12b982020-07-15 18:38:59 -07004700 "column" : 8,
4701 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
4702 }
4703 },
4704 {
4705 "op" : "assign",
4706 "parameters" : [
4707 {
4708 "type" : "field",
4709 "value" : ["gtpu_ipv4", "flags"]
4710 },
4711 {
4712 "type" : "hexstr",
4713 "value" : "0x00"
4714 }
4715 ],
4716 "source_info" : {
4717 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004718 "line" : 314,
Robert MacDavidde12b982020-07-15 18:38:59 -07004719 "column" : 8,
4720 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
4721 }
4722 },
4723 {
4724 "op" : "assign",
4725 "parameters" : [
4726 {
4727 "type" : "field",
4728 "value" : ["gtpu_ipv4", "frag_offset"]
4729 },
4730 {
4731 "type" : "hexstr",
4732 "value" : "0x0000"
4733 }
4734 ],
4735 "source_info" : {
4736 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004737 "line" : 315,
Robert MacDavidde12b982020-07-15 18:38:59 -07004738 "column" : 8,
4739 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
4740 }
4741 },
4742 {
4743 "op" : "assign",
4744 "parameters" : [
4745 {
4746 "type" : "field",
4747 "value" : ["gtpu_ipv4", "ttl"]
4748 },
4749 {
4750 "type" : "hexstr",
4751 "value" : "0x40"
4752 }
4753 ],
4754 "source_info" : {
4755 "filename" : "include/control/../define.p4",
4756 "line" : 156,
4757 "column" : 32,
4758 "source_fragment" : "64; ..."
4759 }
4760 },
4761 {
4762 "op" : "assign",
4763 "parameters" : [
4764 {
4765 "type" : "field",
4766 "value" : ["gtpu_ipv4", "protocol"]
4767 },
4768 {
4769 "type" : "hexstr",
4770 "value" : "0x11"
4771 }
4772 ],
4773 "source_info" : {
4774 "filename" : "include/control/../define.p4",
4775 "line" : 140,
4776 "column" : 25,
4777 "source_fragment" : "17; ..."
4778 }
4779 },
4780 {
4781 "op" : "assign",
4782 "parameters" : [
4783 {
4784 "type" : "field",
4785 "value" : ["gtpu_ipv4", "src_addr"]
4786 },
4787 {
4788 "type" : "field",
4789 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_addr23"]
4790 }
4791 ],
4792 "source_info" : {
4793 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004794 "line" : 318,
Robert MacDavidde12b982020-07-15 18:38:59 -07004795 "column" : 8,
4796 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
4797 }
4798 },
4799 {
4800 "op" : "assign",
4801 "parameters" : [
4802 {
4803 "type" : "field",
4804 "value" : ["gtpu_ipv4", "dst_addr"]
4805 },
4806 {
4807 "type" : "field",
4808 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_dst_addr24"]
4809 }
4810 ],
4811 "source_info" : {
4812 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004813 "line" : 319,
Robert MacDavidde12b982020-07-15 18:38:59 -07004814 "column" : 8,
4815 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
4816 }
4817 },
4818 {
4819 "op" : "assign",
4820 "parameters" : [
4821 {
4822 "type" : "field",
4823 "value" : ["gtpu_ipv4", "hdr_checksum"]
4824 },
4825 {
4826 "type" : "hexstr",
4827 "value" : "0x0000"
4828 }
4829 ],
4830 "source_info" : {
4831 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004832 "line" : 320,
Robert MacDavidde12b982020-07-15 18:38:59 -07004833 "column" : 8,
4834 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
4835 }
4836 },
4837 {
4838 "op" : "add_header",
4839 "parameters" : [
4840 {
4841 "type" : "header",
4842 "value" : "gtpu_udp"
4843 }
4844 ],
4845 "source_info" : {
4846 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004847 "line" : 322,
Robert MacDavidde12b982020-07-15 18:38:59 -07004848 "column" : 8,
4849 "source_fragment" : "hdr.gtpu_udp.setValid()"
4850 }
4851 },
4852 {
4853 "op" : "assign",
4854 "parameters" : [
4855 {
4856 "type" : "field",
4857 "value" : ["gtpu_udp", "sport"]
4858 },
4859 {
4860 "type" : "field",
4861 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_port22"]
4862 }
4863 ],
4864 "source_info" : {
4865 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004866 "line" : 323,
Robert MacDavidde12b982020-07-15 18:38:59 -07004867 "column" : 8,
4868 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
4869 }
4870 },
4871 {
4872 "op" : "assign",
4873 "parameters" : [
4874 {
4875 "type" : "field",
4876 "value" : ["gtpu_udp", "dport"]
4877 },
4878 {
4879 "type" : "hexstr",
4880 "value" : "0x0868"
4881 }
4882 ],
4883 "source_info" : {
4884 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004885 "line" : 324,
Robert MacDavidde12b982020-07-15 18:38:59 -07004886 "column" : 8,
4887 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
4888 }
4889 },
4890 {
4891 "op" : "assign",
4892 "parameters" : [
4893 {
4894 "type" : "field",
4895 "value" : ["gtpu_udp", "len"]
4896 },
4897 {
4898 "type" : "expression",
4899 "value" : {
4900 "type" : "expression",
4901 "value" : {
4902 "op" : "&",
4903 "left" : {
4904 "type" : "expression",
4905 "value" : {
4906 "op" : "+",
4907 "left" : {
4908 "type" : "field",
4909 "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len20"]
4910 },
4911 "right" : {
4912 "type" : "hexstr",
4913 "value" : "0x0010"
4914 }
4915 }
4916 },
4917 "right" : {
4918 "type" : "hexstr",
4919 "value" : "0xffff"
4920 }
4921 }
4922 }
4923 }
4924 ],
4925 "source_info" : {
4926 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004927 "line" : 325,
Robert MacDavidde12b982020-07-15 18:38:59 -07004928 "column" : 8,
4929 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
4930 }
4931 },
4932 {
4933 "op" : "assign",
4934 "parameters" : [
4935 {
4936 "type" : "field",
4937 "value" : ["gtpu_udp", "checksum"]
4938 },
4939 {
4940 "type" : "hexstr",
4941 "value" : "0x0000"
4942 }
4943 ],
4944 "source_info" : {
4945 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004946 "line" : 327,
Robert MacDavidde12b982020-07-15 18:38:59 -07004947 "column" : 8,
4948 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
4949 }
4950 },
4951 {
4952 "op" : "add_header",
4953 "parameters" : [
4954 {
4955 "type" : "header",
4956 "value" : "outer_gtpu"
4957 }
4958 ],
4959 "source_info" : {
4960 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004961 "line" : 330,
Robert MacDavidde12b982020-07-15 18:38:59 -07004962 "column" : 8,
4963 "source_fragment" : "hdr.outer_gtpu.setValid()"
4964 }
4965 },
4966 {
4967 "op" : "assign",
4968 "parameters" : [
4969 {
4970 "type" : "field",
4971 "value" : ["outer_gtpu", "version"]
4972 },
4973 {
4974 "type" : "hexstr",
4975 "value" : "0x01"
4976 }
4977 ],
4978 "source_info" : {
4979 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004980 "line" : 331,
Robert MacDavidde12b982020-07-15 18:38:59 -07004981 "column" : 8,
4982 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
4983 }
4984 },
4985 {
4986 "op" : "assign",
4987 "parameters" : [
4988 {
4989 "type" : "field",
4990 "value" : ["outer_gtpu", "pt"]
4991 },
4992 {
4993 "type" : "hexstr",
4994 "value" : "0x01"
4995 }
4996 ],
4997 "source_info" : {
4998 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04004999 "line" : 332,
Robert MacDavidde12b982020-07-15 18:38:59 -07005000 "column" : 8,
5001 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
5002 }
5003 },
5004 {
5005 "op" : "assign",
5006 "parameters" : [
5007 {
5008 "type" : "field",
5009 "value" : ["outer_gtpu", "spare"]
5010 },
5011 {
5012 "type" : "hexstr",
5013 "value" : "0x00"
5014 }
5015 ],
5016 "source_info" : {
5017 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005018 "line" : 333,
Robert MacDavidde12b982020-07-15 18:38:59 -07005019 "column" : 8,
5020 "source_fragment" : "hdr.outer_gtpu.spare = 0"
5021 }
5022 },
5023 {
5024 "op" : "assign",
5025 "parameters" : [
5026 {
5027 "type" : "field",
5028 "value" : ["outer_gtpu", "ex_flag"]
5029 },
5030 {
5031 "type" : "hexstr",
5032 "value" : "0x00"
5033 }
5034 ],
5035 "source_info" : {
5036 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005037 "line" : 334,
Robert MacDavidde12b982020-07-15 18:38:59 -07005038 "column" : 8,
5039 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
5040 }
5041 },
5042 {
5043 "op" : "assign",
5044 "parameters" : [
5045 {
5046 "type" : "field",
5047 "value" : ["outer_gtpu", "seq_flag"]
5048 },
5049 {
5050 "type" : "hexstr",
5051 "value" : "0x00"
5052 }
5053 ],
5054 "source_info" : {
5055 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005056 "line" : 335,
Robert MacDavidde12b982020-07-15 18:38:59 -07005057 "column" : 8,
5058 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
5059 }
5060 },
5061 {
5062 "op" : "assign",
5063 "parameters" : [
5064 {
5065 "type" : "field",
5066 "value" : ["outer_gtpu", "npdu_flag"]
5067 },
5068 {
5069 "type" : "hexstr",
5070 "value" : "0x00"
5071 }
5072 ],
5073 "source_info" : {
5074 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005075 "line" : 336,
Robert MacDavidde12b982020-07-15 18:38:59 -07005076 "column" : 8,
5077 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
5078 }
5079 },
5080 {
5081 "op" : "assign",
5082 "parameters" : [
5083 {
5084 "type" : "field",
5085 "value" : ["outer_gtpu", "msgtype"]
5086 },
5087 {
5088 "type" : "hexstr",
5089 "value" : "0xff"
5090 }
5091 ],
5092 "source_info" : {
5093 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005094 "line" : 337,
Robert MacDavidde12b982020-07-15 18:38:59 -07005095 "column" : 8,
5096 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
5097 }
5098 },
5099 {
5100 "op" : "assign",
5101 "parameters" : [
5102 {
5103 "type" : "field",
5104 "value" : ["outer_gtpu", "msglen"]
5105 },
5106 {
5107 "type" : "field",
5108 "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len20"]
5109 }
5110 ],
5111 "source_info" : {
5112 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005113 "line" : 338,
Robert MacDavidde12b982020-07-15 18:38:59 -07005114 "column" : 8,
5115 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
5116 }
5117 },
5118 {
5119 "op" : "assign",
5120 "parameters" : [
5121 {
5122 "type" : "field",
5123 "value" : ["outer_gtpu", "teid"]
5124 },
5125 {
5126 "type" : "field",
5127 "value" : ["scalars", "fabric_metadata_t._spgw_teid21"]
5128 }
5129 ],
5130 "source_info" : {
5131 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005132 "line" : 339,
Robert MacDavidde12b982020-07-15 18:38:59 -07005133 "column" : 8,
5134 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
5135 }
5136 }
5137 ]
5138 },
5139 {
5140 "name" : "act_9",
5141 "id" : 52,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005142 "runtime_data" : [],
5143 "primitives" : [
5144 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005145 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005146 "parameters" : [],
5147 "source_info" : {
5148 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005149 "line" : 41,
5150 "column" : 12,
5151 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005152 }
5153 }
5154 ]
5155 },
5156 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005157 "name" : "act_10",
5158 "id" : 53,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005159 "runtime_data" : [],
5160 "primitives" : [
5161 {
5162 "op" : "add_header",
5163 "parameters" : [
5164 {
5165 "type" : "header",
5166 "value" : "packet_in"
5167 }
5168 ],
5169 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005170 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005171 "line" : 44,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005172 "column" : 12,
5173 "source_fragment" : "hdr.packet_in.setValid()"
5174 }
5175 },
5176 {
5177 "op" : "assign",
5178 "parameters" : [
5179 {
5180 "type" : "field",
5181 "value" : ["packet_in", "ingress_port"]
5182 },
5183 {
5184 "type" : "field",
5185 "value" : ["standard_metadata", "ingress_port"]
5186 }
5187 ],
5188 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005189 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005190 "line" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005191 "column" : 12,
5192 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
5193 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005194 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005195 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005196 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005197 "parameters" : [],
5198 "source_info" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005199 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005200 "line" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005201 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005202 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005203 }
5204 }
5205 ]
5206 },
5207 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005208 "name" : "act_11",
5209 "id" : 54,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005210 "runtime_data" : [],
5211 "primitives" : [
5212 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005213 "op" : "mark_to_drop",
5214 "parameters" : [
5215 {
5216 "type" : "header",
5217 "value" : "standard_metadata"
5218 }
5219 ],
5220 "source_info" : {
5221 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005222 "line" : 337,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005223 "column" : 12,
5224 "source_fragment" : "mark_to_drop(standard_metadata)"
5225 }
5226 }
5227 ]
5228 },
5229 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005230 "name" : "act_12",
5231 "id" : 55,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005232 "runtime_data" : [],
5233 "primitives" : [
5234 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005235 "op" : "assign",
5236 "parameters" : [
5237 {
5238 "type" : "field",
5239 "value" : ["scalars", "egress_next_tmp"]
5240 },
5241 {
5242 "type" : "expression",
5243 "value" : {
5244 "type" : "expression",
5245 "value" : {
5246 "op" : "b2d",
5247 "left" : null,
5248 "right" : {
5249 "type" : "bool",
5250 "value" : true
5251 }
5252 }
5253 }
5254 }
5255 ]
5256 }
5257 ]
5258 },
5259 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005260 "name" : "act_13",
5261 "id" : 56,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005262 "runtime_data" : [],
5263 "primitives" : [
5264 {
5265 "op" : "assign",
5266 "parameters" : [
5267 {
5268 "type" : "field",
5269 "value" : ["scalars", "egress_next_tmp"]
5270 },
5271 {
5272 "type" : "expression",
5273 "value" : {
5274 "type" : "expression",
5275 "value" : {
5276 "op" : "b2d",
5277 "left" : null,
5278 "right" : {
5279 "type" : "bool",
5280 "value" : false
5281 }
5282 }
5283 }
5284 }
5285 ]
5286 }
5287 ]
5288 },
5289 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005290 "name" : "act_14",
5291 "id" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005292 "runtime_data" : [],
5293 "primitives" : [
5294 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005295 "op" : "mark_to_drop",
5296 "parameters" : [
5297 {
5298 "type" : "header",
5299 "value" : "standard_metadata"
5300 }
5301 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005302 "source_info" : {
5303 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005304 "line" : 370,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005305 "column" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005306 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005307 }
5308 }
5309 ]
5310 },
5311 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005312 "name" : "act_15",
5313 "id" : 58,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005314 "runtime_data" : [],
5315 "primitives" : [
5316 {
5317 "op" : "assign",
5318 "parameters" : [
5319 {
5320 "type" : "field",
5321 "value" : ["mpls", "ttl"]
5322 },
5323 {
5324 "type" : "expression",
5325 "value" : {
5326 "type" : "expression",
5327 "value" : {
5328 "op" : "&",
5329 "left" : {
5330 "type" : "expression",
5331 "value" : {
5332 "op" : "+",
5333 "left" : {
5334 "type" : "field",
5335 "value" : ["mpls", "ttl"]
5336 },
5337 "right" : {
5338 "type" : "hexstr",
5339 "value" : "0xff"
5340 }
5341 }
5342 },
5343 "right" : {
5344 "type" : "hexstr",
5345 "value" : "0xff"
5346 }
5347 }
5348 }
5349 }
5350 ],
5351 "source_info" : {
5352 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005353 "line" : 369,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005354 "column" : 12,
5355 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
5356 }
5357 }
5358 ]
5359 },
5360 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005361 "name" : "act_16",
5362 "id" : 59,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005363 "runtime_data" : [],
5364 "primitives" : [
5365 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005366 "op" : "mark_to_drop",
5367 "parameters" : [
5368 {
5369 "type" : "header",
5370 "value" : "standard_metadata"
5371 }
5372 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005373 "source_info" : {
5374 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005375 "line" : 374,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005376 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005377 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005378 }
5379 }
5380 ]
5381 },
5382 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005383 "name" : "act_17",
5384 "id" : 60,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005385 "runtime_data" : [],
5386 "primitives" : [
5387 {
5388 "op" : "assign",
5389 "parameters" : [
5390 {
5391 "type" : "field",
5392 "value" : ["ipv4", "ttl"]
5393 },
5394 {
5395 "type" : "expression",
5396 "value" : {
5397 "type" : "expression",
5398 "value" : {
5399 "op" : "&",
5400 "left" : {
5401 "type" : "expression",
5402 "value" : {
5403 "op" : "+",
5404 "left" : {
5405 "type" : "field",
5406 "value" : ["ipv4", "ttl"]
5407 },
5408 "right" : {
5409 "type" : "hexstr",
5410 "value" : "0xff"
5411 }
5412 }
5413 },
5414 "right" : {
5415 "type" : "hexstr",
5416 "value" : "0xff"
5417 }
5418 }
5419 }
5420 }
5421 ],
5422 "source_info" : {
5423 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005424 "line" : 373,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005425 "column" : 16,
5426 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
5427 }
5428 }
5429 ]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005430 },
5431 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005432 "name" : "act_18",
5433 "id" : 61,
5434 "runtime_data" : [],
5435 "primitives" : [
5436 {
5437 "op" : "assign",
5438 "parameters" : [
5439 {
5440 "type" : "field",
5441 "value" : ["scalars", "spgw_egress_hasReturned"]
5442 },
5443 {
5444 "type" : "expression",
5445 "value" : {
5446 "type" : "expression",
5447 "value" : {
5448 "op" : "b2d",
5449 "left" : null,
5450 "right" : {
5451 "type" : "bool",
5452 "value" : true
5453 }
5454 }
5455 }
5456 }
5457 ],
5458 "source_info" : {
5459 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005460 "line" : 343,
Robert MacDavidde12b982020-07-15 18:38:59 -07005461 "column" : 46,
5462 "source_fragment" : "return"
5463 }
5464 }
5465 ]
5466 },
5467 {
5468 "name" : "act_19",
5469 "id" : 62,
5470 "runtime_data" : [],
5471 "primitives" : [
5472 {
5473 "op" : "assign",
5474 "parameters" : [
5475 {
5476 "type" : "field",
5477 "value" : ["scalars", "spgw_egress_hasReturned"]
5478 },
5479 {
5480 "type" : "expression",
5481 "value" : {
5482 "type" : "expression",
5483 "value" : {
5484 "op" : "b2d",
5485 "left" : null,
5486 "right" : {
5487 "type" : "bool",
5488 "value" : false
5489 }
5490 }
5491 }
5492 }
5493 ]
5494 }
5495 ]
5496 },
5497 {
5498 "name" : "act_20",
5499 "id" : 63,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005500 "runtime_data" : [],
5501 "primitives" : [
5502 {
5503 "op" : "count",
5504 "parameters" : [
5505 {
5506 "type" : "counter_array",
5507 "value" : "FabricEgress.spgw_egress.pdr_counter"
5508 },
5509 {
5510 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07005511 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id25"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005512 }
5513 ],
5514 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005515 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005516 "line" : 344,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005517 "column" : 8,
Robert MacDavidde12b982020-07-15 18:38:59 -07005518 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04005519 }
5520 }
5521 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005522 }
5523 ],
5524 "pipelines" : [
5525 {
5526 "name" : "ingress",
5527 "id" : 0,
5528 "source_info" : {
5529 "filename" : "fabric.p4",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005530 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005531 "column" : 8,
5532 "source_fragment" : "FabricIngress"
5533 },
Robert MacDavidde12b982020-07-15 18:38:59 -07005534 "init_table" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005535 "tables" : [
5536 {
5537 "name" : "tbl_act",
5538 "id" : 0,
Carmelo Cascone3032b872019-04-13 01:23:54 -07005539 "source_info" : {
Carmelo Cascone3032b872019-04-13 01:23:54 -07005540 "filename" : "include/control/packetio.p4",
5541 "line" : 25,
5542 "column" : 42,
5543 "source_fragment" : "= hdr.packet_out.egress_port; ..."
5544 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005545 "key" : [],
5546 "match_type" : "exact",
5547 "type" : "simple",
5548 "max_size" : 1024,
5549 "with_counters" : false,
5550 "support_timeout" : false,
5551 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07005552 "action_ids" : [36],
5553 "actions" : ["act"],
5554 "base_default_next" : "tbl_act_0",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005555 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005556 "act" : "tbl_act_0"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005557 },
5558 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005559 "action_id" : 36,
5560 "action_const" : true,
5561 "action_data" : [],
5562 "action_entry_const" : true
5563 }
5564 },
5565 {
5566 "name" : "tbl_act_0",
5567 "id" : 1,
5568 "key" : [],
5569 "match_type" : "exact",
5570 "type" : "simple",
5571 "max_size" : 1024,
5572 "with_counters" : false,
5573 "support_timeout" : false,
5574 "direct_meters" : null,
5575 "action_ids" : [37],
5576 "actions" : ["act_0"],
5577 "base_default_next" : "FabricIngress.spgw_ingress.interface_lookup",
5578 "next_tables" : {
5579 "act_0" : "FabricIngress.spgw_ingress.interface_lookup"
5580 },
5581 "default_entry" : {
5582 "action_id" : 37,
5583 "action_const" : true,
5584 "action_data" : [],
5585 "action_entry_const" : true
5586 }
5587 },
5588 {
5589 "name" : "FabricIngress.spgw_ingress.interface_lookup",
5590 "id" : 2,
5591 "source_info" : {
5592 "filename" : "include/control/spgw.p4",
5593 "line" : 55,
5594 "column" : 10,
5595 "source_fragment" : "interface_lookup"
5596 },
5597 "key" : [
5598 {
5599 "match_type" : "lpm",
5600 "name" : "ipv4_dst_addr",
5601 "target" : ["ipv4", "dst_addr"],
5602 "mask" : null
5603 },
5604 {
5605 "match_type" : "exact",
5606 "name" : "gtpu_is_valid",
5607 "target" : ["gtpu", "$valid$"],
5608 "mask" : null
5609 }
5610 ],
5611 "match_type" : "lpm",
5612 "type" : "simple",
5613 "max_size" : 128,
5614 "with_counters" : false,
5615 "support_timeout" : false,
5616 "direct_meters" : null,
5617 "action_ids" : [27],
5618 "actions" : ["FabricIngress.spgw_ingress.set_source_iface"],
5619 "base_default_next" : "node_6",
5620 "next_tables" : {
5621 "FabricIngress.spgw_ingress.set_source_iface" : "node_6"
5622 },
5623 "default_entry" : {
5624 "action_id" : 27,
5625 "action_const" : true,
5626 "action_data" : ["0x0", "0x0", "0x1"],
5627 "action_entry_const" : true
5628 }
5629 },
5630 {
5631 "name" : "tbl_act_1",
5632 "id" : 3,
5633 "source_info" : {
5634 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005635 "line" : 249,
Robert MacDavidde12b982020-07-15 18:38:59 -07005636 "column" : 46,
5637 "source_fragment" : "return"
5638 },
5639 "key" : [],
5640 "match_type" : "exact",
5641 "type" : "simple",
5642 "max_size" : 1024,
5643 "with_counters" : false,
5644 "support_timeout" : false,
5645 "direct_meters" : null,
5646 "action_ids" : [38],
5647 "actions" : ["act_1"],
5648 "base_default_next" : "node_8",
5649 "next_tables" : {
5650 "act_1" : "node_8"
5651 },
5652 "default_entry" : {
5653 "action_id" : 38,
5654 "action_const" : true,
5655 "action_data" : [],
5656 "action_entry_const" : true
5657 }
5658 },
5659 {
5660 "name" : "FabricIngress.spgw_ingress.uplink_pdr_lookup",
5661 "id" : 4,
5662 "source_info" : {
5663 "filename" : "include/control/spgw.p4",
5664 "line" : 93,
5665 "column" : 10,
5666 "source_fragment" : "uplink_pdr_lookup"
5667 },
5668 "key" : [
5669 {
5670 "match_type" : "exact",
5671 "name" : "tunnel_ipv4_dst",
5672 "target" : ["ipv4", "dst_addr"],
5673 "mask" : null
5674 },
5675 {
5676 "match_type" : "exact",
5677 "name" : "teid",
5678 "target" : ["gtpu", "teid"],
5679 "mask" : null
Robert MacDavidde12b982020-07-15 18:38:59 -07005680 }
5681 ],
5682 "match_type" : "exact",
5683 "type" : "simple",
5684 "max_size" : 1024,
5685 "with_counters" : false,
5686 "support_timeout" : false,
5687 "direct_meters" : null,
5688 "action_ids" : [29],
5689 "actions" : ["FabricIngress.spgw_ingress.set_pdr_attributes"],
5690 "base_default_next" : "tbl_act_2",
5691 "next_tables" : {
5692 "FabricIngress.spgw_ingress.set_pdr_attributes" : "tbl_act_2"
5693 },
5694 "default_entry" : {
5695 "action_id" : 29,
5696 "action_const" : true,
5697 "action_data" : ["0x0", "0x0", "0x0"],
5698 "action_entry_const" : true
5699 }
5700 },
5701 {
5702 "name" : "FabricIngress.spgw_ingress.downlink_pdr_lookup",
5703 "id" : 5,
5704 "source_info" : {
5705 "filename" : "include/control/spgw.p4",
5706 "line" : 82,
5707 "column" : 10,
5708 "source_fragment" : "downlink_pdr_lookup"
5709 },
5710 "key" : [
5711 {
5712 "match_type" : "exact",
5713 "name" : "ue_addr",
5714 "target" : ["ipv4", "dst_addr"],
5715 "mask" : null
5716 }
5717 ],
5718 "match_type" : "exact",
5719 "type" : "simple",
5720 "max_size" : 1024,
5721 "with_counters" : false,
5722 "support_timeout" : false,
5723 "direct_meters" : null,
5724 "action_ids" : [28],
5725 "actions" : ["FabricIngress.spgw_ingress.set_pdr_attributes"],
5726 "base_default_next" : "tbl_act_2",
5727 "next_tables" : {
5728 "FabricIngress.spgw_ingress.set_pdr_attributes" : "tbl_act_2"
5729 },
5730 "default_entry" : {
5731 "action_id" : 28,
5732 "action_const" : true,
5733 "action_data" : ["0x0", "0x0", "0x0"],
5734 "action_entry_const" : true
5735 }
5736 },
5737 {
5738 "name" : "tbl_act_2",
5739 "id" : 6,
5740 "source_info" : {
5741 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005742 "line" : 263,
Robert MacDavidde12b982020-07-15 18:38:59 -07005743 "column" : 8,
5744 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
5745 },
5746 "key" : [],
5747 "match_type" : "exact",
5748 "type" : "simple",
5749 "max_size" : 1024,
5750 "with_counters" : false,
5751 "support_timeout" : false,
5752 "direct_meters" : null,
5753 "action_ids" : [39],
5754 "actions" : ["act_2"],
5755 "base_default_next" : "node_13",
5756 "next_tables" : {
5757 "act_2" : "node_13"
5758 },
5759 "default_entry" : {
5760 "action_id" : 39,
5761 "action_const" : true,
5762 "action_data" : [],
5763 "action_entry_const" : true
5764 }
5765 },
5766 {
5767 "name" : "FabricIngress.spgw_ingress.decap_gtpu",
5768 "id" : 7,
5769 "source_info" : {
5770 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005771 "line" : 219,
Robert MacDavidde12b982020-07-15 18:38:59 -07005772 "column" : 10,
5773 "source_fragment" : "decap_gtpu"
5774 },
5775 "key" : [
5776 {
5777 "match_type" : "exact",
5778 "name" : "hdr.inner_tcp.$valid$",
5779 "target" : ["inner_tcp", "$valid$"],
5780 "mask" : null
5781 },
5782 {
5783 "match_type" : "exact",
5784 "name" : "hdr.inner_udp.$valid$",
5785 "target" : ["inner_udp", "$valid$"],
5786 "mask" : null
5787 },
5788 {
5789 "match_type" : "exact",
5790 "name" : "hdr.inner_icmp.$valid$",
5791 "target" : ["inner_icmp", "$valid$"],
5792 "mask" : null
5793 }
5794 ],
5795 "match_type" : "exact",
5796 "type" : "simple",
5797 "max_size" : 1024,
5798 "with_counters" : false,
5799 "support_timeout" : false,
5800 "direct_meters" : null,
5801 "action_ids" : [32, 33, 34, 35],
5802 "actions" : ["FabricIngress.spgw_ingress.decap_inner_tcp", "FabricIngress.spgw_ingress.decap_inner_udp", "FabricIngress.spgw_ingress.decap_inner_icmp", "FabricIngress.spgw_ingress.decap_inner_unknown"],
5803 "base_default_next" : "FabricIngress.spgw_ingress.far_lookup",
5804 "next_tables" : {
5805 "FabricIngress.spgw_ingress.decap_inner_tcp" : "FabricIngress.spgw_ingress.far_lookup",
5806 "FabricIngress.spgw_ingress.decap_inner_udp" : "FabricIngress.spgw_ingress.far_lookup",
5807 "FabricIngress.spgw_ingress.decap_inner_icmp" : "FabricIngress.spgw_ingress.far_lookup",
5808 "FabricIngress.spgw_ingress.decap_inner_unknown" : "FabricIngress.spgw_ingress.far_lookup"
5809 },
5810 "default_entry" : {
5811 "action_id" : 35,
5812 "action_const" : true,
5813 "action_data" : [],
5814 "action_entry_const" : true
5815 },
5816 "entries" : [
5817 {
5818 "source_info" : {
5819 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005820 "line" : 233,
Robert MacDavidde12b982020-07-15 18:38:59 -07005821 "column" : 12,
5822 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
5823 },
5824 "match_key" : [
5825 {
5826 "match_type" : "exact",
5827 "key" : "0x01"
5828 },
5829 {
5830 "match_type" : "exact",
5831 "key" : "0x00"
5832 },
5833 {
5834 "match_type" : "exact",
5835 "key" : "0x00"
5836 }
5837 ],
5838 "action_entry" : {
5839 "action_id" : 32,
5840 "action_data" : []
5841 },
5842 "priority" : 1
5843 },
5844 {
5845 "source_info" : {
5846 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005847 "line" : 234,
Robert MacDavidde12b982020-07-15 18:38:59 -07005848 "column" : 12,
5849 "source_fragment" : "(false, true, false) : decap_inner_udp()"
5850 },
5851 "match_key" : [
5852 {
5853 "match_type" : "exact",
5854 "key" : "0x00"
5855 },
5856 {
5857 "match_type" : "exact",
5858 "key" : "0x01"
5859 },
5860 {
5861 "match_type" : "exact",
5862 "key" : "0x00"
5863 }
5864 ],
5865 "action_entry" : {
5866 "action_id" : 33,
5867 "action_data" : []
5868 },
5869 "priority" : 2
5870 },
5871 {
5872 "source_info" : {
5873 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005874 "line" : 235,
Robert MacDavidde12b982020-07-15 18:38:59 -07005875 "column" : 12,
5876 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
5877 },
5878 "match_key" : [
5879 {
5880 "match_type" : "exact",
5881 "key" : "0x00"
5882 },
5883 {
5884 "match_type" : "exact",
5885 "key" : "0x00"
5886 },
5887 {
5888 "match_type" : "exact",
5889 "key" : "0x01"
5890 }
5891 ],
5892 "action_entry" : {
5893 "action_id" : 34,
5894 "action_data" : []
5895 },
5896 "priority" : 3
5897 }
5898 ]
5899 },
5900 {
5901 "name" : "FabricIngress.spgw_ingress.far_lookup",
5902 "id" : 8,
5903 "source_info" : {
5904 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005905 "line" : 163,
Robert MacDavidde12b982020-07-15 18:38:59 -07005906 "column" : 10,
5907 "source_fragment" : "far_lookup"
5908 },
5909 "key" : [
5910 {
5911 "match_type" : "exact",
5912 "name" : "far_id",
5913 "target" : ["scalars", "fabric_metadata_t._spgw_far_id26"],
5914 "mask" : null
5915 }
5916 ],
5917 "match_type" : "exact",
5918 "type" : "simple",
5919 "max_size" : 2048,
5920 "with_counters" : false,
5921 "support_timeout" : false,
5922 "direct_meters" : null,
5923 "action_ids" : [30, 31],
5924 "actions" : ["FabricIngress.spgw_ingress.load_normal_far_attributes", "FabricIngress.spgw_ingress.load_tunnel_far_attributes"],
5925 "base_default_next" : "node_16",
5926 "next_tables" : {
5927 "FabricIngress.spgw_ingress.load_normal_far_attributes" : "node_16",
5928 "FabricIngress.spgw_ingress.load_tunnel_far_attributes" : "node_16"
5929 },
5930 "default_entry" : {
5931 "action_id" : 30,
5932 "action_const" : true,
5933 "action_data" : ["0x1", "0x1"],
5934 "action_entry_const" : true
5935 }
5936 },
5937 {
5938 "name" : "tbl_act_3",
5939 "id" : 9,
5940 "source_info" : {
5941 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005942 "line" : 280,
Robert MacDavidde12b982020-07-15 18:38:59 -07005943 "column" : 38,
5944 "source_fragment" : "= true; ..."
5945 },
5946 "key" : [],
5947 "match_type" : "exact",
5948 "type" : "simple",
5949 "max_size" : 1024,
5950 "with_counters" : false,
5951 "support_timeout" : false,
5952 "direct_meters" : null,
5953 "action_ids" : [40],
5954 "actions" : ["act_3"],
5955 "base_default_next" : "tbl_act_4",
5956 "next_tables" : {
5957 "act_3" : "tbl_act_4"
5958 },
5959 "default_entry" : {
5960 "action_id" : 40,
5961 "action_const" : true,
5962 "action_data" : [],
5963 "action_entry_const" : true
5964 }
5965 },
5966 {
5967 "name" : "tbl_act_4",
5968 "id" : 10,
5969 "source_info" : {
5970 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04005971 "line" : 289,
Robert MacDavidde12b982020-07-15 18:38:59 -07005972 "column" : 32,
5973 "source_fragment" : "="
5974 },
5975 "key" : [],
5976 "match_type" : "exact",
5977 "type" : "simple",
5978 "max_size" : 1024,
5979 "with_counters" : false,
5980 "support_timeout" : false,
5981 "direct_meters" : null,
5982 "action_ids" : [41],
5983 "actions" : ["act_4"],
5984 "base_default_next" : "node_19",
5985 "next_tables" : {
5986 "act_4" : "node_19"
5987 },
5988 "default_entry" : {
5989 "action_id" : 41,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005990 "action_const" : true,
5991 "action_data" : [],
5992 "action_entry_const" : true
5993 }
5994 },
5995 {
5996 "name" : "tbl_act_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07005997 "id" : 11,
Carmelo Cascone3032b872019-04-13 01:23:54 -07005998 "source_info" : {
5999 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006000 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006001 "column" : 36,
6002 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07006003 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006004 "key" : [],
6005 "match_type" : "exact",
6006 "type" : "simple",
6007 "max_size" : 1024,
6008 "with_counters" : false,
6009 "support_timeout" : false,
6010 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006011 "action_ids" : [42],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006012 "actions" : ["act_5"],
Robert MacDavidde12b982020-07-15 18:38:59 -07006013 "base_default_next" : "node_21",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006014 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006015 "act_5" : "node_21"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006016 },
6017 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006018 "action_id" : 42,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006019 "action_const" : true,
6020 "action_data" : [],
6021 "action_entry_const" : true
6022 }
6023 },
6024 {
6025 "name" : "tbl_act_6",
Robert MacDavidde12b982020-07-15 18:38:59 -07006026 "id" : 12,
Carmelo Cascone3032b872019-04-13 01:23:54 -07006027 "source_info" : {
6028 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006029 "line" : 127,
Carmelo Cascone3032b872019-04-13 01:23:54 -07006030 "column" : 37,
6031 "source_fragment" : "="
6032 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006033 "key" : [],
6034 "match_type" : "exact",
6035 "type" : "simple",
6036 "max_size" : 1024,
6037 "with_counters" : false,
6038 "support_timeout" : false,
6039 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006040 "action_ids" : [43],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006041 "actions" : ["act_6"],
Daniele Moro5a2de712019-09-24 14:34:07 -07006042 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006043 "next_tables" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006044 "act_6" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006045 },
6046 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006047 "action_id" : 43,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006048 "action_const" : true,
6049 "action_data" : [],
6050 "action_entry_const" : true
6051 }
6052 },
6053 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07006054 "name" : "FabricIngress.filtering.ingress_port_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07006055 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07006056 "source_info" : {
6057 "filename" : "include/control/filtering.p4",
6058 "line" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006059 "column" : 10,
6060 "source_fragment" : "ingress_port_vlan"
6061 },
6062 "key" : [
6063 {
6064 "match_type" : "exact",
6065 "name" : "ig_port",
6066 "target" : ["standard_metadata", "ingress_port"],
6067 "mask" : null
6068 },
6069 {
6070 "match_type" : "exact",
6071 "name" : "vlan_is_valid",
6072 "target" : ["vlan_tag", "$valid$"],
6073 "mask" : null
6074 },
6075 {
6076 "match_type" : "ternary",
6077 "name" : "vlan_id",
6078 "target" : ["vlan_tag", "vlan_id"],
6079 "mask" : null
6080 }
6081 ],
6082 "match_type" : "ternary",
6083 "type" : "simple",
6084 "max_size" : 1024,
6085 "with_counters" : true,
6086 "support_timeout" : false,
6087 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006088 "action_ids" : [7, 8, 9],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006089 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
6090 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
6091 "next_tables" : {
6092 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
6093 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
6094 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
6095 },
6096 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006097 "action_id" : 7,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006098 "action_const" : true,
6099 "action_data" : [],
6100 "action_entry_const" : true
6101 }
6102 },
6103 {
6104 "name" : "FabricIngress.filtering.fwd_classifier",
Robert MacDavidde12b982020-07-15 18:38:59 -07006105 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006106 "source_info" : {
6107 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006108 "line" : 92,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006109 "column" : 10,
6110 "source_fragment" : "fwd_classifier"
6111 },
6112 "key" : [
6113 {
6114 "match_type" : "exact",
6115 "name" : "ig_port",
6116 "target" : ["standard_metadata", "ingress_port"],
6117 "mask" : null
6118 },
6119 {
6120 "match_type" : "ternary",
6121 "name" : "eth_dst",
6122 "target" : ["ethernet", "dst_addr"],
6123 "mask" : null
6124 },
6125 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006126 "match_type" : "ternary",
6127 "name" : "eth_type",
6128 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07006129 "mask" : null
6130 },
6131 {
6132 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07006133 "name" : "ip_eth_type",
6134 "target" : ["scalars", "fabric_metadata_t._ip_eth_type0"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006135 "mask" : null
6136 }
6137 ],
6138 "match_type" : "ternary",
6139 "type" : "simple",
6140 "max_size" : 1024,
6141 "with_counters" : true,
6142 "support_timeout" : false,
6143 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006144 "action_ids" : [10],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006145 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Robert MacDavidde12b982020-07-15 18:38:59 -07006146 "base_default_next" : "node_25",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006147 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006148 "FabricIngress.filtering.set_forwarding_type" : "node_25"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006149 },
6150 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006151 "action_id" : 10,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006152 "action_const" : true,
6153 "action_data" : ["0x0"],
6154 "action_entry_const" : true
6155 }
6156 },
6157 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08006158 "name" : "FabricIngress.forwarding.bridging",
Robert MacDavidde12b982020-07-15 18:38:59 -07006159 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006160 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006161 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07006162 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006163 "column" : 10,
6164 "source_fragment" : "bridging"
6165 },
6166 "key" : [
6167 {
6168 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006169 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07006170 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006171 "mask" : null
6172 },
6173 {
6174 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006175 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006176 "target" : ["ethernet", "dst_addr"],
6177 "mask" : null
6178 }
6179 ],
6180 "match_type" : "ternary",
6181 "type" : "simple",
6182 "max_size" : 1024,
6183 "with_counters" : true,
6184 "support_timeout" : false,
6185 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006186 "action_ids" : [11, 0],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006187 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
6188 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006189 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006190 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
6191 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006192 },
6193 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006194 "action_id" : 0,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006195 "action_const" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006196 "action_data" : [],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006197 "action_entry_const" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006198 }
6199 },
6200 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08006201 "name" : "FabricIngress.forwarding.mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07006202 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006203 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006204 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07006205 "line" : 71,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006206 "column" : 10,
6207 "source_fragment" : "mpls"
6208 },
6209 "key" : [
6210 {
6211 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006212 "name" : "mpls_label",
Daniele Moro5a2de712019-09-24 14:34:07 -07006213 "target" : ["scalars", "fabric_metadata_t._mpls_label4"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006214 "mask" : null
6215 }
6216 ],
6217 "match_type" : "exact",
6218 "type" : "simple",
6219 "max_size" : 1024,
6220 "with_counters" : true,
6221 "support_timeout" : false,
6222 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006223 "action_ids" : [12, 1],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006224 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
6225 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006226 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006227 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
6228 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006229 },
6230 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006231 "action_id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006232 "action_const" : true,
6233 "action_data" : [],
6234 "action_entry_const" : true
6235 }
6236 },
6237 {
Charles Chan384aea22018-08-23 22:08:02 -07006238 "name" : "FabricIngress.forwarding.routing_v4",
Robert MacDavidde12b982020-07-15 18:38:59 -07006239 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006240 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006241 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006242 "line" : 108,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006243 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -07006244 "source_fragment" : "routing_v4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006245 },
6246 "key" : [
6247 {
6248 "match_type" : "lpm",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006249 "name" : "ipv4_dst",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006250 "target" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006251 "mask" : null
6252 }
6253 ],
6254 "match_type" : "lpm",
6255 "type" : "simple",
6256 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07006257 "with_counters" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006258 "support_timeout" : false,
6259 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006260 "action_ids" : [13, 14, 2],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006261 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
6262 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006263 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006264 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
6265 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
6266 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006267 },
6268 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006269 "action_id" : 2,
CyberHasHe9ba39c2019-10-11 05:59:12 +08006270 "action_const" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006271 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08006272 "action_entry_const" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006273 }
6274 },
6275 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006276 "name" : "FabricIngress.acl.acl",
Robert MacDavidde12b982020-07-15 18:38:59 -07006277 "id" : 18,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006278 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006279 "filename" : "include/control/acl.p4",
6280 "line" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006281 "column" : 10,
6282 "source_fragment" : "acl"
6283 },
6284 "key" : [
6285 {
6286 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006287 "name" : "ig_port",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006288 "target" : ["standard_metadata", "ingress_port"],
6289 "mask" : null
6290 },
6291 {
6292 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006293 "name" : "ip_proto",
Daniele Moro5a2de712019-09-24 14:34:07 -07006294 "target" : ["scalars", "fabric_metadata_t._ip_proto12"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006295 "mask" : null
6296 },
6297 {
6298 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006299 "name" : "l4_sport",
Daniele Moro5a2de712019-09-24 14:34:07 -07006300 "target" : ["scalars", "fabric_metadata_t._l4_sport13"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006301 "mask" : null
6302 },
6303 {
6304 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006305 "name" : "l4_dport",
Daniele Moro5a2de712019-09-24 14:34:07 -07006306 "target" : ["scalars", "fabric_metadata_t._l4_dport14"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006307 "mask" : null
6308 },
6309 {
6310 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006311 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006312 "target" : ["ethernet", "dst_addr"],
6313 "mask" : null
6314 },
6315 {
6316 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08006317 "name" : "eth_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006318 "target" : ["ethernet", "src_addr"],
6319 "mask" : null
6320 },
6321 {
6322 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006323 "name" : "vlan_id",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006324 "target" : ["vlan_tag", "vlan_id"],
6325 "mask" : null
6326 },
6327 {
6328 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006329 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07006330 "target" : ["eth_type", "value"],
Yi Tseng8235a1a2018-07-24 20:57:28 +08006331 "mask" : null
6332 },
6333 {
6334 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006335 "name" : "ipv4_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006336 "target" : ["ipv4", "src_addr"],
6337 "mask" : null
6338 },
6339 {
6340 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006341 "name" : "ipv4_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006342 "target" : ["ipv4", "dst_addr"],
6343 "mask" : null
6344 },
6345 {
6346 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006347 "name" : "icmp_type",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006348 "target" : ["icmp", "icmp_type"],
6349 "mask" : null
6350 },
6351 {
6352 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006353 "name" : "icmp_code",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006354 "target" : ["icmp", "icmp_code"],
6355 "mask" : null
6356 }
6357 ],
6358 "match_type" : "ternary",
6359 "type" : "simple",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07006360 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006361 "with_counters" : true,
6362 "support_timeout" : false,
6363 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006364 "action_ids" : [15, 16, 17, 18, 19],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006365 "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"],
Robert MacDavidde12b982020-07-15 18:38:59 -07006366 "base_default_next" : "node_33",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006367 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006368 "FabricIngress.acl.set_next_id_acl" : "node_33",
6369 "FabricIngress.acl.punt_to_cpu" : "node_33",
6370 "FabricIngress.acl.set_clone_session_id" : "node_33",
6371 "FabricIngress.acl.drop" : "node_33",
6372 "FabricIngress.acl.nop_acl" : "node_33"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006373 },
6374 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006375 "action_id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006376 "action_const" : true,
6377 "action_data" : [],
6378 "action_entry_const" : true
6379 }
6380 },
6381 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006382 "name" : "FabricIngress.next.xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07006383 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006384 "source_info" : {
6385 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006386 "line" : 119,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006387 "column" : 10,
6388 "source_fragment" : "xconnect"
6389 },
6390 "key" : [
6391 {
6392 "match_type" : "exact",
6393 "name" : "ig_port",
6394 "target" : ["standard_metadata", "ingress_port"],
6395 "mask" : null
6396 },
6397 {
6398 "match_type" : "exact",
6399 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07006400 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006401 "mask" : null
6402 }
6403 ],
6404 "match_type" : "exact",
6405 "type" : "simple",
6406 "max_size" : 1024,
6407 "with_counters" : true,
6408 "support_timeout" : false,
6409 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006410 "action_ids" : [21, 22, 4],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006411 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
6412 "base_default_next" : "FabricIngress.next.hashed",
6413 "next_tables" : {
6414 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
6415 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
6416 "nop" : "FabricIngress.next.hashed"
6417 },
6418 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006419 "action_id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006420 "action_const" : true,
6421 "action_data" : [],
6422 "action_entry_const" : true
6423 }
6424 },
6425 {
6426 "name" : "FabricIngress.next.hashed",
Robert MacDavidde12b982020-07-15 18:38:59 -07006427 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006428 "source_info" : {
6429 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006430 "line" : 202,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006431 "column" : 10,
6432 "source_fragment" : "hashed"
6433 },
6434 "key" : [
6435 {
6436 "match_type" : "exact",
6437 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07006438 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006439 "mask" : null
6440 }
6441 ],
6442 "match_type" : "exact",
6443 "type" : "indirect_ws",
6444 "action_profile" : "FabricIngress.next.hashed_selector",
6445 "max_size" : 1024,
6446 "with_counters" : true,
6447 "support_timeout" : false,
6448 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006449 "action_ids" : [23, 24, 25, 5],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006450 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
6451 "base_default_next" : "FabricIngress.next.multicast",
6452 "next_tables" : {
6453 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
6454 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
6455 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
6456 "nop" : "FabricIngress.next.multicast"
6457 }
6458 },
6459 {
6460 "name" : "FabricIngress.next.multicast",
Robert MacDavidde12b982020-07-15 18:38:59 -07006461 "id" : 21,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006462 "source_info" : {
6463 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006464 "line" : 236,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006465 "column" : 10,
6466 "source_fragment" : "multicast"
6467 },
6468 "key" : [
6469 {
6470 "match_type" : "exact",
6471 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07006472 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006473 "mask" : null
6474 }
6475 ],
6476 "match_type" : "exact",
6477 "type" : "simple",
6478 "max_size" : 1024,
6479 "with_counters" : true,
6480 "support_timeout" : false,
6481 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006482 "action_ids" : [26, 6],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006483 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
6484 "base_default_next" : "FabricIngress.next.next_vlan",
6485 "next_tables" : {
6486 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
6487 "nop" : "FabricIngress.next.next_vlan"
6488 },
6489 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006490 "action_id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006491 "action_const" : true,
6492 "action_data" : [],
6493 "action_entry_const" : true
6494 }
6495 },
6496 {
6497 "name" : "FabricIngress.next.next_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07006498 "id" : 22,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006499 "source_info" : {
6500 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006501 "line" : 86,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006502 "column" : 10,
6503 "source_fragment" : "next_vlan"
6504 },
6505 "key" : [
6506 {
6507 "match_type" : "exact",
6508 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07006509 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006510 "mask" : null
6511 }
6512 ],
6513 "match_type" : "exact",
6514 "type" : "simple",
6515 "max_size" : 1024,
6516 "with_counters" : true,
6517 "support_timeout" : false,
6518 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006519 "action_ids" : [20, 3],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006520 "actions" : ["FabricIngress.next.set_vlan", "nop"],
Robert MacDavidde12b982020-07-15 18:38:59 -07006521 "base_default_next" : "node_38",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006522 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006523 "FabricIngress.next.set_vlan" : "node_38",
6524 "nop" : "node_38"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006525 },
6526 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006527 "action_id" : 3,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006528 "action_const" : true,
6529 "action_data" : [],
6530 "action_entry_const" : true
6531 }
6532 },
6533 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006534 "name" : "tbl_act_7",
6535 "id" : 23,
Carmelo Cascone3032b872019-04-13 01:23:54 -07006536 "source_info" : {
6537 "filename" : "include/control/port_counter.p4",
6538 "line" : 31,
6539 "column" : 12,
6540 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
6541 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02006542 "key" : [],
6543 "match_type" : "exact",
6544 "type" : "simple",
6545 "max_size" : 1024,
6546 "with_counters" : false,
6547 "support_timeout" : false,
6548 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006549 "action_ids" : [44],
6550 "actions" : ["act_7"],
6551 "base_default_next" : "node_40",
Carmelo Casconea5400af2018-07-17 22:11:54 +02006552 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006553 "act_7" : "node_40"
Carmelo Casconea5400af2018-07-17 22:11:54 +02006554 },
6555 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006556 "action_id" : 44,
Carmelo Casconea5400af2018-07-17 22:11:54 +02006557 "action_const" : true,
6558 "action_data" : [],
6559 "action_entry_const" : true
6560 }
6561 },
6562 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006563 "name" : "tbl_act_8",
6564 "id" : 24,
Carmelo Cascone3032b872019-04-13 01:23:54 -07006565 "source_info" : {
6566 "filename" : "include/control/port_counter.p4",
6567 "line" : 34,
6568 "column" : 12,
6569 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
6570 },
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006571 "key" : [],
6572 "match_type" : "exact",
6573 "type" : "simple",
6574 "max_size" : 1024,
6575 "with_counters" : false,
6576 "support_timeout" : false,
6577 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006578 "action_ids" : [45],
6579 "actions" : ["act_8"],
Carmelo Casconea5400af2018-07-17 22:11:54 +02006580 "base_default_next" : null,
Yi Tseng27b9bc02018-04-12 14:52:40 +08006581 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006582 "act_8" : null
Carmelo Casconea5400af2018-07-17 22:11:54 +02006583 },
6584 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006585 "action_id" : 45,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07006586 "action_const" : true,
6587 "action_data" : [],
6588 "action_entry_const" : true
6589 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006590 }
6591 ],
6592 "action_profiles" : [
6593 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006594 "name" : "FabricIngress.next.hashed_selector",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006595 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07006596 "source_info" : {
6597 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006598 "line" : 183,
Carmelo Cascone70e816b2019-03-19 16:15:47 -07006599 "column" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006600 "source_fragment" : "hashed_selector"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07006601 },
Carmelo Cascone70e816b2019-03-19 16:15:47 -07006602 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006603 "selector" : {
6604 "algo" : "crc16",
6605 "input" : [
6606 {
6607 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006608 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006609 },
6610 {
6611 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006612 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006613 },
6614 {
6615 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006616 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006617 },
6618 {
6619 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006620 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006621 },
6622 {
6623 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006624 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006625 }
6626 ]
6627 }
6628 }
6629 ],
6630 "conditionals" : [
6631 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006632 "name" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006633 "id" : 0,
6634 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006635 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006636 "line" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006637 "column" : 12,
6638 "source_fragment" : "hdr.packet_out.isValid()"
6639 },
6640 "expression" : {
6641 "type" : "expression",
6642 "value" : {
6643 "op" : "d2b",
6644 "left" : null,
6645 "right" : {
6646 "type" : "field",
6647 "value" : ["packet_out", "$valid$"]
6648 }
6649 }
6650 },
Robert MacDavidde12b982020-07-15 18:38:59 -07006651 "true_next" : "tbl_act",
6652 "false_next" : "tbl_act_0"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006653 },
6654 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006655 "name" : "node_6",
6656 "id" : 1,
6657 "source_info" : {
6658 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04006659 "line" : 249,
Robert MacDavidde12b982020-07-15 18:38:59 -07006660 "column" : 12,
6661 "source_fragment" : "fabric_md.spgw.skip_spgw == true"
6662 },
6663 "expression" : {
6664 "type" : "expression",
6665 "value" : {
6666 "op" : "==",
6667 "left" : {
6668 "type" : "expression",
6669 "value" : {
6670 "op" : "d2b",
6671 "left" : null,
6672 "right" : {
6673 "type" : "field",
6674 "value" : ["scalars", "fabric_metadata_t._spgw_skip_spgw28"]
6675 }
6676 }
6677 },
6678 "right" : {
6679 "type" : "bool",
6680 "value" : true
6681 }
6682 }
6683 },
6684 "true_next" : "tbl_act_1",
6685 "false_next" : "node_8"
6686 },
6687 {
6688 "name" : "node_8",
6689 "id" : 2,
6690 "expression" : {
6691 "type" : "expression",
6692 "value" : {
6693 "op" : "not",
6694 "left" : null,
6695 "right" : {
6696 "type" : "expression",
6697 "value" : {
6698 "op" : "d2b",
6699 "left" : null,
6700 "right" : {
6701 "type" : "field",
6702 "value" : ["scalars", "spgw_ingress_hasReturned"]
6703 }
6704 }
6705 }
6706 }
6707 },
6708 "true_next" : "node_9",
6709 "false_next" : "node_19"
6710 },
6711 {
6712 "name" : "node_9",
6713 "id" : 3,
6714 "source_info" : {
6715 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04006716 "line" : 253,
Robert MacDavidde12b982020-07-15 18:38:59 -07006717 "column" : 12,
6718 "source_fragment" : "hdr.gtpu.isValid()"
6719 },
6720 "expression" : {
6721 "type" : "expression",
6722 "value" : {
6723 "op" : "d2b",
6724 "left" : null,
6725 "right" : {
6726 "type" : "field",
6727 "value" : ["gtpu", "$valid$"]
6728 }
6729 }
6730 },
6731 "true_next" : "FabricIngress.spgw_ingress.uplink_pdr_lookup",
6732 "false_next" : "FabricIngress.spgw_ingress.downlink_pdr_lookup"
6733 },
6734 {
6735 "name" : "node_13",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006736 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006737 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006738 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04006739 "line" : 266,
Robert MacDavidde12b982020-07-15 18:38:59 -07006740 "column" : 12,
6741 "source_fragment" : "fabric_md.spgw.needs_gtpu_decap == true"
6742 },
6743 "expression" : {
6744 "type" : "expression",
6745 "value" : {
6746 "op" : "==",
6747 "left" : {
6748 "type" : "expression",
6749 "value" : {
6750 "op" : "d2b",
6751 "left" : null,
6752 "right" : {
6753 "type" : "field",
6754 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap33"]
6755 }
6756 }
6757 },
6758 "right" : {
6759 "type" : "bool",
6760 "value" : true
6761 }
6762 }
6763 },
6764 "true_next" : "FabricIngress.spgw_ingress.decap_gtpu",
6765 "false_next" : "FabricIngress.spgw_ingress.far_lookup"
6766 },
6767 {
6768 "name" : "node_16",
6769 "id" : 5,
6770 "source_info" : {
6771 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04006772 "line" : 277,
Robert MacDavidde12b982020-07-15 18:38:59 -07006773 "column" : 12,
6774 "source_fragment" : "fabric_md.spgw.far_dropped == true"
6775 },
6776 "expression" : {
6777 "type" : "expression",
6778 "value" : {
6779 "op" : "==",
6780 "left" : {
6781 "type" : "expression",
6782 "value" : {
6783 "op" : "d2b",
6784 "left" : null,
6785 "right" : {
6786 "type" : "field",
6787 "value" : ["scalars", "fabric_metadata_t._spgw_far_dropped30"]
6788 }
6789 }
6790 },
6791 "right" : {
6792 "type" : "bool",
6793 "value" : true
6794 }
6795 }
6796 },
6797 "true_next" : "tbl_act_3",
6798 "false_next" : "tbl_act_4"
6799 },
6800 {
6801 "name" : "node_19",
6802 "id" : 6,
6803 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006804 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006805 "line" : 110,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006806 "column" : 12,
6807 "source_fragment" : "hdr.vlan_tag.isValid()"
6808 },
6809 "expression" : {
6810 "type" : "expression",
6811 "value" : {
6812 "op" : "d2b",
6813 "left" : null,
6814 "right" : {
6815 "type" : "field",
6816 "value" : ["vlan_tag", "$valid$"]
6817 }
6818 }
6819 },
6820 "true_next" : "tbl_act_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07006821 "false_next" : "node_21"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006822 },
6823 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006824 "name" : "node_21",
6825 "id" : 7,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006826 "source_info" : {
6827 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006828 "line" : 122,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006829 "column" : 12,
6830 "source_fragment" : "!hdr.mpls.isValid()"
6831 },
6832 "expression" : {
6833 "type" : "expression",
6834 "value" : {
6835 "op" : "not",
6836 "left" : null,
6837 "right" : {
6838 "type" : "expression",
6839 "value" : {
6840 "op" : "d2b",
6841 "left" : null,
6842 "right" : {
6843 "type" : "field",
6844 "value" : ["mpls", "$valid$"]
6845 }
6846 }
6847 }
6848 }
6849 },
6850 "true_next" : "tbl_act_6",
Daniele Moro5a2de712019-09-24 14:34:07 -07006851 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006852 },
6853 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006854 "name" : "node_25",
Daniele Moro5a2de712019-09-24 14:34:07 -07006855 "id" : 8,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006856 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006857 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07006858 "line" : 69,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006859 "column" : 12,
6860 "source_fragment" : "fabric_metadata.skip_forwarding == false"
6861 },
6862 "expression" : {
6863 "type" : "expression",
6864 "value" : {
6865 "op" : "==",
6866 "left" : {
6867 "type" : "expression",
6868 "value" : {
6869 "op" : "d2b",
6870 "left" : null,
6871 "right" : {
6872 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006873 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006874 }
6875 }
6876 },
6877 "right" : {
6878 "type" : "bool",
6879 "value" : false
6880 }
6881 }
6882 },
Robert MacDavidde12b982020-07-15 18:38:59 -07006883 "true_next" : "node_26",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006884 "false_next" : "FabricIngress.acl.acl"
6885 },
6886 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006887 "name" : "node_26",
6888 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006889 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006890 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006891 "line" : 150,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006892 "column" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006893 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
6894 },
6895 "expression" : {
6896 "type" : "expression",
6897 "value" : {
6898 "op" : "==",
6899 "left" : {
6900 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006901 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006902 },
6903 "right" : {
6904 "type" : "hexstr",
6905 "value" : "0x00"
6906 }
6907 }
6908 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08006909 "true_next" : "FabricIngress.forwarding.bridging",
Robert MacDavidde12b982020-07-15 18:38:59 -07006910 "false_next" : "node_28"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006911 },
6912 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006913 "name" : "node_28",
6914 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006915 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006916 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006917 "line" : 151,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006918 "column" : 17,
6919 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
6920 },
6921 "expression" : {
6922 "type" : "expression",
6923 "value" : {
6924 "op" : "==",
6925 "left" : {
6926 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006927 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006928 },
6929 "right" : {
6930 "type" : "hexstr",
6931 "value" : "0x01"
6932 }
6933 }
6934 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08006935 "true_next" : "FabricIngress.forwarding.mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07006936 "false_next" : "node_30"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006937 },
6938 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006939 "name" : "node_30",
6940 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006941 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006942 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07006943 "line" : 152,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006944 "column" : 17,
6945 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
6946 },
6947 "expression" : {
6948 "type" : "expression",
6949 "value" : {
6950 "op" : "==",
6951 "left" : {
6952 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006953 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006954 },
6955 "right" : {
6956 "type" : "hexstr",
6957 "value" : "0x02"
6958 }
6959 }
6960 },
Charles Chan384aea22018-08-23 22:08:02 -07006961 "true_next" : "FabricIngress.forwarding.routing_v4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006962 "false_next" : "FabricIngress.acl.acl"
6963 },
6964 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006965 "name" : "node_33",
6966 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006967 "source_info" : {
6968 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07006969 "line" : 73,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006970 "column" : 12,
6971 "source_fragment" : "fabric_metadata.skip_next == false"
6972 },
6973 "expression" : {
6974 "type" : "expression",
6975 "value" : {
6976 "op" : "==",
6977 "left" : {
6978 "type" : "expression",
6979 "value" : {
6980 "op" : "d2b",
6981 "left" : null,
6982 "right" : {
6983 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006984 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006985 }
6986 }
6987 },
6988 "right" : {
6989 "type" : "bool",
6990 "value" : false
6991 }
6992 }
6993 },
6994 "false_next" : null,
6995 "true_next" : "FabricIngress.next.xconnect"
Yi Tseng27b9bc02018-04-12 14:52:40 +08006996 },
6997 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006998 "name" : "node_38",
6999 "id" : 13,
Yi Tseng27b9bc02018-04-12 14:52:40 +08007000 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007001 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007002 "line" : 30,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007003 "column" : 12,
7004 "source_fragment" : "standard_metadata.egress_spec < 511"
7005 },
7006 "expression" : {
7007 "type" : "expression",
7008 "value" : {
7009 "op" : "<",
7010 "left" : {
7011 "type" : "field",
7012 "value" : ["standard_metadata", "egress_spec"]
7013 },
7014 "right" : {
7015 "type" : "hexstr",
7016 "value" : "0x01ff"
7017 }
7018 }
7019 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007020 "true_next" : "tbl_act_7",
7021 "false_next" : "node_40"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007022 },
7023 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007024 "name" : "node_40",
7025 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007026 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007027 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007028 "line" : 33,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007029 "column" : 12,
7030 "source_fragment" : "standard_metadata.ingress_port < 511"
7031 },
7032 "expression" : {
7033 "type" : "expression",
7034 "value" : {
7035 "op" : "<",
7036 "left" : {
7037 "type" : "field",
7038 "value" : ["standard_metadata", "ingress_port"]
7039 },
7040 "right" : {
7041 "type" : "hexstr",
7042 "value" : "0x01ff"
7043 }
7044 }
7045 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007046 "false_next" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007047 "true_next" : "tbl_act_8"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007048 }
7049 ]
7050 },
7051 {
7052 "name" : "egress",
7053 "id" : 1,
7054 "source_info" : {
7055 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07007056 "line" : 91,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007057 "column" : 8,
7058 "source_fragment" : "FabricEgress"
7059 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007060 "init_table" : "node_44",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007061 "tables" : [
7062 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007063 "name" : "tbl_act_9",
7064 "id" : 25,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007065 "source_info" : {
7066 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007067 "line" : 41,
7068 "column" : 12,
7069 "source_fragment" : "exit"
Carmelo Cascone3032b872019-04-13 01:23:54 -07007070 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02007071 "key" : [],
7072 "match_type" : "exact",
7073 "type" : "simple",
7074 "max_size" : 1024,
7075 "with_counters" : false,
7076 "support_timeout" : false,
7077 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007078 "action_ids" : [52],
7079 "actions" : ["act_9"],
7080 "base_default_next" : "node_46",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007081 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007082 "act_9" : "node_46"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007083 },
7084 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007085 "action_id" : 52,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007086 "action_const" : true,
7087 "action_data" : [],
7088 "action_entry_const" : true
7089 }
7090 },
7091 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007092 "name" : "tbl_act_10",
7093 "id" : 26,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007094 "source_info" : {
7095 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007096 "line" : 44,
7097 "column" : 12,
7098 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07007099 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007100 "key" : [],
7101 "match_type" : "exact",
7102 "type" : "simple",
7103 "max_size" : 1024,
7104 "with_counters" : false,
7105 "support_timeout" : false,
7106 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007107 "action_ids" : [53],
7108 "actions" : ["act_10"],
7109 "base_default_next" : "node_48",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007110 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007111 "act_10" : "node_48"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007112 },
7113 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007114 "action_id" : 53,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007115 "action_const" : true,
7116 "action_data" : [],
7117 "action_entry_const" : true
7118 }
7119 },
7120 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007121 "name" : "tbl_act_11",
7122 "id" : 27,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007123 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007124 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007125 "line" : 337,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007126 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007127 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone3032b872019-04-13 01:23:54 -07007128 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007129 "key" : [],
7130 "match_type" : "exact",
7131 "type" : "simple",
7132 "max_size" : 1024,
7133 "with_counters" : false,
7134 "support_timeout" : false,
7135 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007136 "action_ids" : [54],
7137 "actions" : ["act_11"],
7138 "base_default_next" : "node_50",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007139 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007140 "act_11" : "node_50"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007141 },
7142 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007143 "action_id" : 54,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007144 "action_const" : true,
7145 "action_data" : [],
7146 "action_entry_const" : true
7147 }
7148 },
7149 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007150 "name" : "tbl_egress_next_pop_mpls_if_present",
Robert MacDavidde12b982020-07-15 18:38:59 -07007151 "id" : 28,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007152 "source_info" : {
7153 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007154 "line" : 341,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007155 "column" : 36,
7156 "source_fragment" : "pop_mpls_if_present()"
7157 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007158 "key" : [],
7159 "match_type" : "exact",
7160 "type" : "simple",
7161 "max_size" : 1024,
7162 "with_counters" : false,
7163 "support_timeout" : false,
7164 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007165 "action_ids" : [47],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007166 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
7167 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
7168 "next_tables" : {
7169 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
7170 },
7171 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007172 "action_id" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007173 "action_const" : true,
7174 "action_data" : [],
7175 "action_entry_const" : true
7176 }
7177 },
7178 {
7179 "name" : "tbl_egress_next_set_mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07007180 "id" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007181 "source_info" : {
7182 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007183 "line" : 343,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007184 "column" : 12,
7185 "source_fragment" : "set_mpls()"
7186 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007187 "key" : [],
7188 "match_type" : "exact",
7189 "type" : "simple",
7190 "max_size" : 1024,
7191 "with_counters" : false,
7192 "support_timeout" : false,
7193 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007194 "action_ids" : [48],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007195 "actions" : ["FabricEgress.egress_next.set_mpls"],
7196 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
7197 "next_tables" : {
7198 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
7199 },
7200 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007201 "action_id" : 48,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007202 "action_const" : true,
7203 "action_data" : [],
7204 "action_entry_const" : true
7205 }
7206 },
7207 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007208 "name" : "FabricEgress.egress_next.egress_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07007209 "id" : 30,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007210 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007211 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007212 "line" : 320,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007213 "column" : 10,
7214 "source_fragment" : "egress_vlan"
7215 },
7216 "key" : [
7217 {
7218 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007219 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007220 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007221 "mask" : null
7222 },
7223 {
7224 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007225 "name" : "eg_port",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007226 "target" : ["standard_metadata", "egress_port"],
7227 "mask" : null
7228 }
7229 ],
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08007230 "match_type" : "exact",
7231 "type" : "simple",
7232 "max_size" : 1024,
Yi Tseng47eac892018-07-11 02:17:04 +08007233 "with_counters" : true,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08007234 "support_timeout" : false,
7235 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007236 "action_ids" : [50, 46],
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007237 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007238 "base_default_next" : null,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08007239 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007240 "__HIT__" : "tbl_act_12",
7241 "__MISS__" : "tbl_act_13"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007242 },
7243 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007244 "action_id" : 46,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007245 "action_const" : true,
7246 "action_data" : [],
7247 "action_entry_const" : true
7248 }
7249 },
7250 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007251 "name" : "tbl_act_12",
7252 "id" : 31,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007253 "key" : [],
7254 "match_type" : "exact",
7255 "type" : "simple",
7256 "max_size" : 1024,
7257 "with_counters" : false,
7258 "support_timeout" : false,
7259 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007260 "action_ids" : [55],
7261 "actions" : ["act_12"],
7262 "base_default_next" : "node_57",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007263 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007264 "act_12" : "node_57"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007265 },
7266 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007267 "action_id" : 55,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007268 "action_const" : true,
7269 "action_data" : [],
7270 "action_entry_const" : true
7271 }
7272 },
7273 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007274 "name" : "tbl_act_13",
7275 "id" : 32,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007276 "key" : [],
7277 "match_type" : "exact",
7278 "type" : "simple",
7279 "max_size" : 1024,
7280 "with_counters" : false,
7281 "support_timeout" : false,
7282 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007283 "action_ids" : [56],
7284 "actions" : ["act_13"],
7285 "base_default_next" : "node_57",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007286 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007287 "act_13" : "node_57"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007288 },
7289 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007290 "action_id" : 56,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007291 "action_const" : true,
7292 "action_data" : [],
7293 "action_entry_const" : true
7294 }
7295 },
7296 {
7297 "name" : "tbl_egress_next_push_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07007298 "id" : 33,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007299 "source_info" : {
7300 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007301 "line" : 360,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007302 "column" : 20,
7303 "source_fragment" : "push_vlan()"
7304 },
7305 "key" : [],
7306 "match_type" : "exact",
7307 "type" : "simple",
7308 "max_size" : 1024,
7309 "with_counters" : false,
7310 "support_timeout" : false,
7311 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007312 "action_ids" : [49],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007313 "actions" : ["FabricEgress.egress_next.push_vlan"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007314 "base_default_next" : "node_60",
Daniele Moro7c3a0022019-07-12 13:38:34 -07007315 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007316 "FabricEgress.egress_next.push_vlan" : "node_60"
Daniele Moro7c3a0022019-07-12 13:38:34 -07007317 },
7318 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007319 "action_id" : 49,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007320 "action_const" : true,
7321 "action_data" : [],
7322 "action_entry_const" : true
7323 }
7324 },
7325 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007326 "name" : "tbl_act_14",
7327 "id" : 34,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007328 "source_info" : {
7329 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007330 "line" : 369,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007331 "column" : 25,
7332 "source_fragment" : "="
7333 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007334 "key" : [],
7335 "match_type" : "exact",
7336 "type" : "simple",
7337 "max_size" : 1024,
7338 "with_counters" : false,
7339 "support_timeout" : false,
7340 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007341 "action_ids" : [58],
7342 "actions" : ["act_15"],
7343 "base_default_next" : "node_62",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007344 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007345 "act_15" : "node_62"
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007346 },
7347 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007348 "action_id" : 58,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007349 "action_const" : true,
7350 "action_data" : [],
7351 "action_entry_const" : true
7352 }
7353 },
7354 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007355 "name" : "tbl_act_15",
7356 "id" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007357 "source_info" : {
7358 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007359 "line" : 370,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007360 "column" : 35,
7361 "source_fragment" : "mark_to_drop(standard_metadata)"
7362 },
7363 "key" : [],
7364 "match_type" : "exact",
7365 "type" : "simple",
7366 "max_size" : 1024,
7367 "with_counters" : false,
7368 "support_timeout" : false,
7369 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007370 "action_ids" : [57],
7371 "actions" : ["act_14"],
7372 "base_default_next" : "tbl_act_18",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007373 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007374 "act_14" : "tbl_act_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007375 },
7376 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007377 "action_id" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007378 "action_const" : true,
7379 "action_data" : [],
7380 "action_entry_const" : true
7381 }
7382 },
7383 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007384 "name" : "tbl_act_16",
7385 "id" : 36,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007386 "source_info" : {
7387 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007388 "line" : 373,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007389 "column" : 29,
7390 "source_fragment" : "="
7391 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007392 "key" : [],
7393 "match_type" : "exact",
7394 "type" : "simple",
7395 "max_size" : 1024,
7396 "with_counters" : false,
7397 "support_timeout" : false,
7398 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007399 "action_ids" : [60],
7400 "actions" : ["act_17"],
7401 "base_default_next" : "node_66",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007402 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007403 "act_17" : "node_66"
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007404 },
7405 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007406 "action_id" : 60,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007407 "action_const" : true,
7408 "action_data" : [],
7409 "action_entry_const" : true
7410 }
7411 },
7412 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007413 "name" : "tbl_act_17",
7414 "id" : 37,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007415 "source_info" : {
7416 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007417 "line" : 374,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007418 "column" : 39,
7419 "source_fragment" : "mark_to_drop(standard_metadata)"
7420 },
7421 "key" : [],
7422 "match_type" : "exact",
7423 "type" : "simple",
7424 "max_size" : 1024,
7425 "with_counters" : false,
7426 "support_timeout" : false,
7427 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007428 "action_ids" : [59],
7429 "actions" : ["act_16"],
7430 "base_default_next" : "tbl_act_18",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007431 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007432 "act_16" : "tbl_act_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007433 },
7434 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007435 "action_id" : 59,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007436 "action_const" : true,
7437 "action_data" : [],
7438 "action_entry_const" : true
7439 }
7440 },
7441 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007442 "name" : "tbl_act_18",
7443 "id" : 38,
7444 "key" : [],
7445 "match_type" : "exact",
7446 "type" : "simple",
7447 "max_size" : 1024,
7448 "with_counters" : false,
7449 "support_timeout" : false,
7450 "direct_meters" : null,
7451 "action_ids" : [62],
7452 "actions" : ["act_19"],
7453 "base_default_next" : "node_69",
7454 "next_tables" : {
7455 "act_19" : "node_69"
7456 },
7457 "default_entry" : {
7458 "action_id" : 62,
7459 "action_const" : true,
7460 "action_data" : [],
7461 "action_entry_const" : true
7462 }
7463 },
7464 {
7465 "name" : "tbl_act_19",
7466 "id" : 39,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007467 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007468 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04007469 "line" : 343,
Robert MacDavidde12b982020-07-15 18:38:59 -07007470 "column" : 46,
7471 "source_fragment" : "return"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007472 },
7473 "key" : [],
7474 "match_type" : "exact",
7475 "type" : "simple",
7476 "max_size" : 1024,
7477 "with_counters" : false,
7478 "support_timeout" : false,
7479 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007480 "action_ids" : [61],
7481 "actions" : ["act_18"],
7482 "base_default_next" : "node_71",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007483 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007484 "act_18" : "node_71"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007485 },
7486 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007487 "action_id" : 61,
7488 "action_const" : true,
7489 "action_data" : [],
7490 "action_entry_const" : true
7491 }
7492 },
7493 {
7494 "name" : "tbl_act_20",
7495 "id" : 40,
7496 "source_info" : {
7497 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04007498 "line" : 344,
Robert MacDavidde12b982020-07-15 18:38:59 -07007499 "column" : 8,
7500 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
7501 },
7502 "key" : [],
7503 "match_type" : "exact",
7504 "type" : "simple",
7505 "max_size" : 1024,
7506 "with_counters" : false,
7507 "support_timeout" : false,
7508 "direct_meters" : null,
7509 "action_ids" : [63],
7510 "actions" : ["act_20"],
7511 "base_default_next" : "node_73",
7512 "next_tables" : {
7513 "act_20" : "node_73"
7514 },
7515 "default_entry" : {
7516 "action_id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007517 "action_const" : true,
7518 "action_data" : [],
7519 "action_entry_const" : true
7520 }
7521 },
7522 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007523 "name" : "tbl_spgw_egress_gtpu_encap",
Robert MacDavidde12b982020-07-15 18:38:59 -07007524 "id" : 41,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007525 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007526 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04007527 "line" : 347,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007528 "column" : 12,
7529 "source_fragment" : "gtpu_encap()"
7530 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007531 "key" : [],
7532 "match_type" : "exact",
7533 "type" : "simple",
7534 "max_size" : 1024,
7535 "with_counters" : false,
7536 "support_timeout" : false,
7537 "direct_meters" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007538 "action_ids" : [51],
Yi Tseng27b9bc02018-04-12 14:52:40 +08007539 "actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007540 "base_default_next" : null,
7541 "next_tables" : {
Yi Tseng27b9bc02018-04-12 14:52:40 +08007542 "FabricEgress.spgw_egress.gtpu_encap" : null
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007543 },
7544 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007545 "action_id" : 51,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007546 "action_const" : true,
7547 "action_data" : [],
7548 "action_entry_const" : true
7549 }
7550 }
7551 ],
7552 "action_profiles" : [],
7553 "conditionals" : [
7554 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007555 "name" : "node_44",
7556 "id" : 15,
Carmelo Casconea5400af2018-07-17 22:11:54 +02007557 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007558 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007559 "line" : 39,
Carmelo Casconea5400af2018-07-17 22:11:54 +02007560 "column" : 12,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007561 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
Carmelo Casconea5400af2018-07-17 22:11:54 +02007562 },
7563 "expression" : {
7564 "type" : "expression",
7565 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007566 "op" : "==",
Carmelo Casconea5400af2018-07-17 22:11:54 +02007567 "left" : {
7568 "type" : "expression",
7569 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007570 "op" : "d2b",
7571 "left" : null,
Carmelo Casconea5400af2018-07-17 22:11:54 +02007572 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007573 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007574 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out11"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02007575 }
7576 }
7577 },
7578 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007579 "type" : "bool",
7580 "value" : true
Carmelo Casconea5400af2018-07-17 22:11:54 +02007581 }
7582 }
7583 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007584 "true_next" : "tbl_act_9",
7585 "false_next" : "node_46"
Carmelo Casconea5400af2018-07-17 22:11:54 +02007586 },
7587 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007588 "name" : "node_46",
7589 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007590 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007591 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007592 "line" : 43,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007593 "column" : 12,
Carmelo Casconeb531b682018-01-30 17:55:56 -08007594 "source_fragment" : "standard_metadata.egress_port == 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007595 },
7596 "expression" : {
7597 "type" : "expression",
7598 "value" : {
7599 "op" : "==",
7600 "left" : {
7601 "type" : "field",
7602 "value" : ["standard_metadata", "egress_port"]
7603 },
7604 "right" : {
7605 "type" : "hexstr",
7606 "value" : "0x00ff"
7607 }
7608 }
7609 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007610 "true_next" : "tbl_act_10",
7611 "false_next" : "node_48"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007612 },
7613 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007614 "name" : "node_48",
7615 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007616 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007617 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007618 "line" : 335,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007619 "column" : 12,
7620 "source_fragment" : "fabric_metadata.is_multicast == true ..."
7621 },
7622 "expression" : {
7623 "type" : "expression",
7624 "value" : {
7625 "op" : "and",
7626 "left" : {
7627 "type" : "expression",
7628 "value" : {
7629 "op" : "==",
7630 "left" : {
7631 "type" : "expression",
7632 "value" : {
7633 "op" : "d2b",
7634 "left" : null,
7635 "right" : {
7636 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007637 "value" : ["scalars", "fabric_metadata_t._is_multicast10"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007638 }
7639 }
7640 },
7641 "right" : {
7642 "type" : "bool",
7643 "value" : true
7644 }
7645 }
7646 },
7647 "right" : {
7648 "type" : "expression",
7649 "value" : {
7650 "op" : "==",
7651 "left" : {
7652 "type" : "field",
7653 "value" : ["standard_metadata", "ingress_port"]
7654 },
7655 "right" : {
7656 "type" : "field",
7657 "value" : ["standard_metadata", "egress_port"]
7658 }
7659 }
7660 }
7661 }
7662 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007663 "true_next" : "tbl_act_11",
7664 "false_next" : "node_50"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007665 },
7666 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007667 "name" : "node_50",
7668 "id" : 18,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007669 "source_info" : {
7670 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007671 "line" : 340,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007672 "column" : 12,
7673 "source_fragment" : "fabric_metadata.mpls_label == 0"
7674 },
7675 "expression" : {
7676 "type" : "expression",
7677 "value" : {
7678 "op" : "==",
7679 "left" : {
7680 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007681 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007682 },
7683 "right" : {
7684 "type" : "hexstr",
7685 "value" : "0x000000"
7686 }
7687 }
7688 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007689 "true_next" : "node_51",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007690 "false_next" : "tbl_egress_next_set_mpls"
7691 },
7692 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007693 "name" : "node_51",
7694 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007695 "source_info" : {
7696 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007697 "line" : 341,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007698 "column" : 16,
7699 "source_fragment" : "hdr.mpls.isValid()"
7700 },
7701 "expression" : {
7702 "type" : "expression",
7703 "value" : {
7704 "op" : "d2b",
7705 "left" : null,
7706 "right" : {
7707 "type" : "field",
7708 "value" : ["mpls", "$valid$"]
7709 }
7710 }
7711 },
7712 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007713 "false_next" : "FabricEgress.egress_next.egress_vlan"
7714 },
7715 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007716 "name" : "node_57",
7717 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007718 "source_info" : {
7719 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007720 "line" : 357,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007721 "column" : 16,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007722 "source_fragment" : "!egress_vlan.apply().hit"
7723 },
7724 "expression" : {
7725 "type" : "expression",
7726 "value" : {
7727 "op" : "not",
7728 "left" : null,
7729 "right" : {
7730 "type" : "expression",
7731 "value" : {
7732 "op" : "d2b",
7733 "left" : null,
7734 "right" : {
7735 "type" : "field",
7736 "value" : ["scalars", "egress_next_tmp"]
7737 }
7738 }
7739 }
7740 }
7741 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007742 "true_next" : "node_58",
7743 "false_next" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007744 },
7745 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007746 "name" : "node_58",
7747 "id" : 21,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007748 "source_info" : {
7749 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007750 "line" : 359,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007751 "column" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007752 "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
7753 },
7754 "expression" : {
7755 "type" : "expression",
7756 "value" : {
7757 "op" : "!=",
7758 "left" : {
7759 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007760 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007761 },
7762 "right" : {
7763 "type" : "hexstr",
7764 "value" : "0x0ffe"
7765 }
7766 }
7767 },
7768 "true_next" : "tbl_egress_next_push_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07007769 "false_next" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007770 },
7771 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007772 "name" : "node_60",
7773 "id" : 22,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07007774 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007775 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007776 "line" : 368,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007777 "column" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007778 "source_fragment" : "hdr.mpls.isValid()"
7779 },
7780 "expression" : {
7781 "type" : "expression",
7782 "value" : {
7783 "op" : "d2b",
7784 "left" : null,
7785 "right" : {
7786 "type" : "field",
7787 "value" : ["mpls", "$valid$"]
7788 }
7789 }
7790 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007791 "true_next" : "tbl_act_14",
7792 "false_next" : "node_64"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007793 },
7794 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007795 "name" : "node_62",
7796 "id" : 23,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007797 "source_info" : {
7798 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007799 "line" : 370,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007800 "column" : 16,
7801 "source_fragment" : "hdr.mpls.ttl == 0"
7802 },
7803 "expression" : {
7804 "type" : "expression",
7805 "value" : {
7806 "op" : "==",
7807 "left" : {
7808 "type" : "field",
7809 "value" : ["mpls", "ttl"]
7810 },
7811 "right" : {
7812 "type" : "hexstr",
7813 "value" : "0x00"
7814 }
7815 }
7816 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007817 "true_next" : "tbl_act_15",
7818 "false_next" : "tbl_act_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007819 },
7820 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007821 "name" : "node_64",
7822 "id" : 24,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007823 "source_info" : {
7824 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007825 "line" : 372,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007826 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07007827 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007828 },
7829 "expression" : {
7830 "type" : "expression",
7831 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07007832 "op" : "and",
7833 "left" : {
7834 "type" : "expression",
7835 "value" : {
7836 "op" : "d2b",
7837 "left" : null,
7838 "right" : {
7839 "type" : "field",
7840 "value" : ["ipv4", "$valid$"]
7841 }
7842 }
7843 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007844 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07007845 "type" : "expression",
7846 "value" : {
7847 "op" : "!=",
7848 "left" : {
7849 "type" : "field",
7850 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
7851 },
7852 "right" : {
7853 "type" : "hexstr",
7854 "value" : "0x00"
7855 }
7856 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007857 }
7858 }
7859 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007860 "true_next" : "tbl_act_16",
7861 "false_next" : "tbl_act_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007862 },
7863 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007864 "name" : "node_66",
7865 "id" : 25,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007866 "source_info" : {
7867 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007868 "line" : 374,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007869 "column" : 20,
7870 "source_fragment" : "hdr.ipv4.ttl == 0"
7871 },
7872 "expression" : {
7873 "type" : "expression",
7874 "value" : {
7875 "op" : "==",
7876 "left" : {
7877 "type" : "field",
7878 "value" : ["ipv4", "ttl"]
7879 },
7880 "right" : {
7881 "type" : "hexstr",
7882 "value" : "0x00"
7883 }
7884 }
7885 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007886 "true_next" : "tbl_act_17",
7887 "false_next" : "tbl_act_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007888 },
7889 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007890 "name" : "node_69",
7891 "id" : 26,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007892 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007893 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04007894 "line" : 343,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007895 "column" : 12,
Robert MacDavidde12b982020-07-15 18:38:59 -07007896 "source_fragment" : "fabric_md.spgw.skip_spgw == true"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007897 },
7898 "expression" : {
7899 "type" : "expression",
7900 "value" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007901 "op" : "==",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007902 "left" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007903 "type" : "expression",
7904 "value" : {
7905 "op" : "d2b",
7906 "left" : null,
7907 "right" : {
7908 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07007909 "value" : ["scalars", "fabric_metadata_t._spgw_skip_spgw28"]
7910 }
7911 }
7912 },
7913 "right" : {
7914 "type" : "bool",
7915 "value" : true
7916 }
7917 }
7918 },
7919 "true_next" : "tbl_act_19",
7920 "false_next" : "node_71"
7921 },
7922 {
7923 "name" : "node_71",
7924 "id" : 27,
7925 "expression" : {
7926 "type" : "expression",
7927 "value" : {
7928 "op" : "not",
7929 "left" : null,
7930 "right" : {
7931 "type" : "expression",
7932 "value" : {
7933 "op" : "d2b",
7934 "left" : null,
7935 "right" : {
7936 "type" : "field",
7937 "value" : ["scalars", "spgw_egress_hasReturned"]
7938 }
7939 }
7940 }
7941 }
7942 },
7943 "false_next" : null,
7944 "true_next" : "tbl_act_20"
7945 },
7946 {
7947 "name" : "node_73",
7948 "id" : 28,
7949 "source_info" : {
7950 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04007951 "line" : 346,
Robert MacDavidde12b982020-07-15 18:38:59 -07007952 "column" : 12,
7953 "source_fragment" : "fabric_md.spgw.needs_gtpu_encap == true"
7954 },
7955 "expression" : {
7956 "type" : "expression",
7957 "value" : {
7958 "op" : "==",
7959 "left" : {
7960 "type" : "expression",
7961 "value" : {
7962 "op" : "d2b",
7963 "left" : null,
7964 "right" : {
7965 "type" : "field",
7966 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_encap32"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007967 }
7968 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007969 },
7970 "right" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007971 "type" : "bool",
7972 "value" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007973 }
7974 }
7975 },
7976 "false_next" : null,
7977 "true_next" : "tbl_spgw_egress_gtpu_encap"
7978 }
7979 ]
7980 }
7981 ],
7982 "checksums" : [
7983 {
7984 "name" : "cksum",
7985 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07007986 "source_info" : {
7987 "filename" : "include/checksum.p4",
7988 "line" : 28,
7989 "column" : 8,
7990 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
7991 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007992 "target" : ["ipv4", "hdr_checksum"],
7993 "type" : "generic",
7994 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007995 "verify" : false,
7996 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007997 "if_cond" : {
7998 "type" : "expression",
7999 "value" : {
8000 "op" : "d2b",
8001 "left" : null,
8002 "right" : {
8003 "type" : "field",
8004 "value" : ["ipv4", "$valid$"]
8005 }
8006 }
8007 }
8008 },
8009 {
8010 "name" : "cksum_0",
8011 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008012 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008013 "filename" : "include/control/spgw.p4",
Robert MacDavid237d8742020-08-11 13:49:05 -04008014 "line" : 362,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008015 "column" : 8,
8016 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
8017 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02008018 "target" : ["gtpu_ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008019 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08008020 "calculation" : "calc_0",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08008021 "verify" : false,
8022 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008023 "if_cond" : {
8024 "type" : "expression",
8025 "value" : {
8026 "op" : "d2b",
8027 "left" : null,
8028 "right" : {
8029 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02008030 "value" : ["gtpu_ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008031 }
8032 }
8033 }
8034 },
8035 {
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08008036 "name" : "cksum_1",
8037 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008038 "source_info" : {
8039 "filename" : "include/checksum.p4",
8040 "line" : 57,
8041 "column" : 8,
8042 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
8043 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02008044 "target" : ["ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008045 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08008046 "calculation" : "calc_1",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08008047 "verify" : true,
8048 "update" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008049 "if_cond" : {
8050 "type" : "expression",
8051 "value" : {
8052 "op" : "d2b",
8053 "left" : null,
8054 "right" : {
8055 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02008056 "value" : ["ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008057 }
8058 }
8059 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008060 }
8061 ],
8062 "force_arith" : [],
8063 "extern_instances" : [],
8064 "field_aliases" : [
8065 [
8066 "queueing_metadata.enq_timestamp",
8067 ["standard_metadata", "enq_timestamp"]
8068 ],
8069 [
8070 "queueing_metadata.enq_qdepth",
8071 ["standard_metadata", "enq_qdepth"]
8072 ],
8073 [
8074 "queueing_metadata.deq_timedelta",
8075 ["standard_metadata", "deq_timedelta"]
8076 ],
8077 [
8078 "queueing_metadata.deq_qdepth",
8079 ["standard_metadata", "deq_qdepth"]
8080 ],
8081 [
8082 "intrinsic_metadata.ingress_global_timestamp",
8083 ["standard_metadata", "ingress_global_timestamp"]
8084 ],
8085 [
Yi Tseng27b9bc02018-04-12 14:52:40 +08008086 "intrinsic_metadata.egress_global_timestamp",
8087 ["standard_metadata", "egress_global_timestamp"]
8088 ],
8089 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008090 "intrinsic_metadata.lf_field_list",
8091 ["standard_metadata", "lf_field_list"]
8092 ],
8093 [
8094 "intrinsic_metadata.mcast_grp",
8095 ["standard_metadata", "mcast_grp"]
8096 ],
8097 [
8098 "intrinsic_metadata.resubmit_flag",
8099 ["standard_metadata", "resubmit_flag"]
8100 ],
8101 [
8102 "intrinsic_metadata.egress_rid",
8103 ["standard_metadata", "egress_rid"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08008104 ],
8105 [
8106 "intrinsic_metadata.recirculate_flag",
8107 ["standard_metadata", "recirculate_flag"]
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008108 ],
8109 [
8110 "intrinsic_metadata.priority",
8111 ["standard_metadata", "priority"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008112 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02008113 ],
8114 "program" : "fabric.p4",
8115 "__meta__" : {
8116 "version" : [2, 18],
8117 "compiler" : "https://github.com/p4lang/p4c"
8118 }
Carmelo Cascone25243d62019-02-21 15:37:31 -08008119}