blob: 3150ab0a514b75fde2845556fd0c8c0885fda7b5 [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" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007 ["tmp_0", 1, false],
Robert MacDavidde12b982020-07-15 18:38:59 -07008 ["tmp_1", 16, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009 ["tmp_3", 16, false],
10 ["tmp_5", 4, false],
11 ["tmp_6", 16, false],
12 ["tmp_2", 32, false],
13 ["tmp_4", 32, false],
14 ["userMetadata._ip_eth_type0", 16, false],
15 ["userMetadata._vlan_id1", 12, false],
16 ["userMetadata._vlan_pri2", 3, false],
17 ["userMetadata._vlan_cfi3", 1, false],
18 ["userMetadata._mpls_label4", 20, false],
19 ["userMetadata._mpls_ttl5", 8, false],
20 ["userMetadata._skip_forwarding6", 1, false],
21 ["userMetadata._skip_next7", 1, false],
22 ["userMetadata._fwd_type8", 3, false],
23 ["userMetadata._next_id9", 32, false],
24 ["userMetadata._is_multicast10", 1, false],
25 ["userMetadata._is_controller_packet_out11", 1, false],
26 ["userMetadata._ip_proto12", 8, false],
27 ["userMetadata._l4_sport13", 16, false],
28 ["userMetadata._l4_dport14", 16, false],
29 ["userMetadata._ipv4_src_addr15", 32, false],
30 ["userMetadata._ipv4_dst_addr16", 32, false],
31 ["userMetadata._inner_l4_sport17", 16, false],
32 ["userMetadata._inner_l4_dport18", 16, false],
33 ["userMetadata._spgw_ipv4_len19", 16, false],
34 ["userMetadata._spgw_teid20", 32, false],
35 ["userMetadata._spgw_tunnel_src_port21", 16, false],
36 ["userMetadata._spgw_tunnel_src_addr22", 32, false],
37 ["userMetadata._spgw_tunnel_dst_addr23", 32, false],
38 ["userMetadata._spgw_ctr_id24", 32, false],
39 ["userMetadata._spgw_far_id25", 32, false],
40 ["userMetadata._spgw_src_iface26", 8, false],
41 ["userMetadata._spgw_skip_spgw27", 1, false],
42 ["userMetadata._spgw_notify_spgwc28", 1, false],
43 ["userMetadata._spgw_needs_gtpu_encap29", 1, false],
44 ["userMetadata._spgw_needs_gtpu_decap30", 1, false],
45 ["userMetadata._spgw_skip_egress_pdr_ctr31", 1, false],
pierventre48e78822020-12-15 17:34:54 +010046 ["_padding_0", 3, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080047 ]
48 },
49 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020050 "name" : "packet_out_header_t",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080051 "id" : 1,
52 "fields" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +020053 ["egress_port", 9, false],
54 ["do_forwarding", 1, false],
55 ["_pad", 6, false]
56 ]
57 },
58 {
59 "name" : "standard_metadata",
60 "id" : 2,
61 "fields" : [
Carmelo Cascone6af4e172018-06-15 16:01:30 +020062 ["ingress_port", 9, false],
63 ["egress_spec", 9, false],
64 ["egress_port", 9, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020065 ["instance_type", 32, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020066 ["packet_length", 32, false],
67 ["enq_timestamp", 32, false],
68 ["enq_qdepth", 19, false],
69 ["deq_timedelta", 32, false],
70 ["deq_qdepth", 19, false],
71 ["ingress_global_timestamp", 48, false],
72 ["egress_global_timestamp", 48, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020073 ["mcast_grp", 16, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020074 ["egress_rid", 16, 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],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020078 ["_padding", 3, false]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020079 ]
80 },
81 {
82 "name" : "ethernet_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020083 "id" : 3,
Carmelo Cascone6af4e172018-06-15 16:01:30 +020084 "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 Cascone2388cc12021-05-26 19:30:30 +020091 "id" : 4,
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",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200101 "id" : 5,
Daniele Moro5a2de712019-09-24 14:34:07 -0700102 "fields" : [
103 ["value", 16, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800104 ]
105 },
106 {
107 "name" : "mpls_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200108 "id" : 6,
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",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200118 "id" : 7,
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",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200137 "id" : 8,
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",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200147 "id" : 9,
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",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200162 "id" : 10,
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",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200179 "id" : 11,
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 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800190 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700191 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800192 "fields" : [
193 ["ingress_port", 9, false],
194 ["_pad", 7, false]
195 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800196 }
197 ],
198 "headers" : [
199 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200200 "name" : "tmp",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800201 "id" : 0,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200202 "header_type" : "packet_out_header_t",
203 "metadata" : false,
204 "pi_omit" : true
205 },
206 {
207 "name" : "scalars",
208 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800209 "header_type" : "scalars_0",
210 "metadata" : true,
211 "pi_omit" : true
212 },
213 {
214 "name" : "standard_metadata",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200215 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800216 "header_type" : "standard_metadata",
217 "metadata" : true,
218 "pi_omit" : true
219 },
220 {
221 "name" : "ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200222 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800223 "header_type" : "ethernet_t",
224 "metadata" : false,
225 "pi_omit" : true
226 },
227 {
228 "name" : "vlan_tag",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800229 "id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800230 "header_type" : "vlan_tag_t",
231 "metadata" : false,
232 "pi_omit" : true
233 },
234 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200235 "name" : "inner_vlan_tag",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800236 "id" : 5,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200237 "header_type" : "vlan_tag_t",
238 "metadata" : false,
239 "pi_omit" : true
240 },
241 {
242 "name" : "eth_type",
243 "id" : 6,
Daniele Moro5a2de712019-09-24 14:34:07 -0700244 "header_type" : "eth_type_t",
245 "metadata" : false,
246 "pi_omit" : true
247 },
248 {
249 "name" : "mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200250 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800251 "header_type" : "mpls_t",
252 "metadata" : false,
253 "pi_omit" : true
254 },
255 {
256 "name" : "gtpu_ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200257 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800258 "header_type" : "ipv4_t",
259 "metadata" : false,
260 "pi_omit" : true
261 },
262 {
263 "name" : "gtpu_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200264 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800265 "header_type" : "udp_t",
266 "metadata" : false,
267 "pi_omit" : true
268 },
269 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700270 "name" : "outer_gtpu",
Daniele Moro5a2de712019-09-24 14:34:07 -0700271 "id" : 10,
Robert MacDavidde12b982020-07-15 18:38:59 -0700272 "header_type" : "gtpu_t",
273 "metadata" : false,
274 "pi_omit" : true
275 },
276 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200277 "name" : "gtpu",
Robert MacDavidde12b982020-07-15 18:38:59 -0700278 "id" : 11,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200279 "header_type" : "gtpu_t",
280 "metadata" : false,
281 "pi_omit" : true
282 },
283 {
284 "name" : "inner_ipv4",
285 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800286 "header_type" : "ipv4_t",
287 "metadata" : false,
288 "pi_omit" : true
289 },
290 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700291 "name" : "inner_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200292 "id" : 13,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700293 "header_type" : "udp_t",
294 "metadata" : false,
295 "pi_omit" : true
296 },
297 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700298 "name" : "inner_tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200299 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800300 "header_type" : "tcp_t",
301 "metadata" : false,
302 "pi_omit" : true
303 },
304 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700305 "name" : "inner_icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200306 "id" : 15,
Robert MacDavidde12b982020-07-15 18:38:59 -0700307 "header_type" : "icmp_t",
308 "metadata" : false,
309 "pi_omit" : true
310 },
311 {
312 "name" : "ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200313 "id" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -0700314 "header_type" : "ipv4_t",
315 "metadata" : false,
316 "pi_omit" : true
317 },
318 {
319 "name" : "tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200320 "id" : 17,
Robert MacDavidde12b982020-07-15 18:38:59 -0700321 "header_type" : "tcp_t",
322 "metadata" : false,
323 "pi_omit" : true
324 },
325 {
326 "name" : "udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200327 "id" : 18,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800328 "header_type" : "udp_t",
329 "metadata" : false,
330 "pi_omit" : true
331 },
332 {
333 "name" : "icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200334 "id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800335 "header_type" : "icmp_t",
336 "metadata" : false,
337 "pi_omit" : true
338 },
339 {
340 "name" : "packet_out",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200341 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800342 "header_type" : "packet_out_header_t",
343 "metadata" : false,
344 "pi_omit" : true
345 },
346 {
347 "name" : "packet_in",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200348 "id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800349 "header_type" : "packet_in_header_t",
350 "metadata" : false,
351 "pi_omit" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800352 }
353 ],
354 "header_stacks" : [],
355 "header_union_types" : [],
356 "header_unions" : [],
357 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700358 "field_lists" : [
359 {
360 "id" : 1,
361 "name" : "fl",
362 "source_info" : {
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700363 "filename" : "include/control/acl.p4",
364 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700365 "column" : 40,
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700366 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700367 },
368 "elements" : [
369 {
370 "type" : "field",
371 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700372 }
373 ]
374 }
375 ],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700376 "errors" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700377 ["NoError", 1],
378 ["PacketTooShort", 2],
379 ["NoMatch", 3],
380 ["StackOutOfBounds", 4],
381 ["HeaderTooShort", 5],
382 ["ParserTimeout", 6],
383 ["ParserInvalidArgument", 7]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700384 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800385 "enums" : [],
386 "parsers" : [
387 {
388 "name" : "parser",
389 "id" : 0,
390 "init_state" : "start",
391 "parse_states" : [
392 {
393 "name" : "start",
394 "id" : 0,
395 "parser_ops" : [],
396 "transitions" : [
397 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800398 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800399 "value" : "0x00ff",
400 "mask" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200401 "next_state" : "check_packet_out"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800402 },
403 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200404 "type" : "default",
405 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800406 "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 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200418 "name" : "check_packet_out",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800419 "id" : 1,
420 "parser_ops" : [
421 {
422 "parameters" : [
423 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200424 "type" : "field",
425 "value" : ["scalars", "tmp_6"]
426 },
427 {
428 "type" : "lookahead",
429 "value" : [0, 16]
430 }
431 ],
432 "op" : "set"
433 },
434 {
435 "parameters" : [
436 {
437 "parameters" : [
438 {
439 "type" : "header",
440 "value" : "tmp"
441 }
442 ],
443 "op" : "add_header"
444 }
445 ],
446 "op" : "primitive"
447 },
448 {
449 "parameters" : [
450 {
451 "type" : "field",
452 "value" : ["tmp", "egress_port"]
453 },
454 {
455 "type" : "expression",
456 "value" : {
457 "type" : "expression",
458 "value" : {
459 "op" : "&",
460 "left" : {
461 "type" : "expression",
462 "value" : {
463 "op" : "&",
464 "left" : {
465 "type" : "expression",
466 "value" : {
467 "op" : ">>",
468 "left" : {
469 "type" : "field",
470 "value" : ["scalars", "tmp_6"]
471 },
472 "right" : {
473 "type" : "hexstr",
474 "value" : "0x7"
475 }
476 }
477 },
478 "right" : {
479 "type" : "hexstr",
480 "value" : "0xffff"
481 }
482 }
483 },
484 "right" : {
485 "type" : "hexstr",
486 "value" : "0x01ff"
487 }
488 }
489 }
490 }
491 ],
492 "op" : "set"
493 },
494 {
495 "parameters" : [
496 {
497 "type" : "field",
498 "value" : ["tmp", "do_forwarding"]
499 },
500 {
501 "type" : "expression",
502 "value" : {
503 "type" : "expression",
504 "value" : {
505 "op" : "&",
506 "left" : {
507 "type" : "expression",
508 "value" : {
509 "op" : "&",
510 "left" : {
511 "type" : "expression",
512 "value" : {
513 "op" : ">>",
514 "left" : {
515 "type" : "field",
516 "value" : ["scalars", "tmp_6"]
517 },
518 "right" : {
519 "type" : "hexstr",
520 "value" : "0x6"
521 }
522 }
523 },
524 "right" : {
525 "type" : "hexstr",
526 "value" : "0xffff"
527 }
528 }
529 },
530 "right" : {
531 "type" : "hexstr",
532 "value" : "0x01"
533 }
534 }
535 }
536 }
537 ],
538 "op" : "set"
539 },
540 {
541 "parameters" : [
542 {
543 "type" : "field",
544 "value" : ["tmp", "_pad"]
545 },
546 {
547 "type" : "expression",
548 "value" : {
549 "type" : "expression",
550 "value" : {
551 "op" : "&",
552 "left" : {
553 "type" : "field",
554 "value" : ["scalars", "tmp_6"]
555 },
556 "right" : {
557 "type" : "hexstr",
558 "value" : "0x3f"
559 }
560 }
561 }
562 }
563 ],
564 "op" : "set"
565 },
566 {
567 "parameters" : [
568 {
569 "type" : "field",
570 "value" : ["scalars", "tmp_0"]
571 },
572 {
573 "type" : "expression",
574 "value" : {
575 "type" : "expression",
576 "value" : {
577 "op" : "&",
578 "left" : {
579 "type" : "expression",
580 "value" : {
581 "op" : "&",
582 "left" : {
583 "type" : "expression",
584 "value" : {
585 "op" : ">>",
586 "left" : {
587 "type" : "field",
588 "value" : ["scalars", "tmp_6"]
589 },
590 "right" : {
591 "type" : "hexstr",
592 "value" : "0x6"
593 }
594 }
595 },
596 "right" : {
597 "type" : "hexstr",
598 "value" : "0xffff"
599 }
600 }
601 },
602 "right" : {
603 "type" : "hexstr",
604 "value" : "0x01"
605 }
606 }
607 }
608 }
609 ],
610 "op" : "set"
611 }
612 ],
613 "transitions" : [
614 {
615 "type" : "hexstr",
616 "value" : "0x00",
617 "mask" : null,
618 "next_state" : "parse_packet_out_and_accept"
619 },
620 {
621 "type" : "default",
622 "value" : null,
623 "mask" : null,
624 "next_state" : "strip_packet_out"
625 }
626 ],
627 "transition_key" : [
628 {
629 "type" : "field",
630 "value" : ["scalars", "tmp_0"]
631 }
632 ]
633 },
634 {
635 "name" : "parse_packet_out_and_accept",
636 "id" : 2,
637 "parser_ops" : [
638 {
639 "parameters" : [
640 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800641 "type" : "regular",
642 "value" : "packet_out"
643 }
644 ],
645 "op" : "extract"
646 }
647 ],
648 "transitions" : [
649 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200650 "type" : "default",
651 "value" : null,
652 "mask" : null,
653 "next_state" : null
654 }
655 ],
656 "transition_key" : []
657 },
658 {
659 "name" : "strip_packet_out",
660 "id" : 3,
661 "parser_ops" : [
662 {
663 "parameters" : [
664 {
665 "type" : "hexstr",
666 "value" : "0x00000010"
667 }
668 ],
669 "op" : "advance"
670 }
671 ],
672 "transitions" : [
673 {
674 "type" : "default",
675 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800676 "mask" : null,
677 "next_state" : "parse_ethernet"
678 }
679 ],
680 "transition_key" : []
681 },
682 {
683 "name" : "parse_ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200684 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800685 "parser_ops" : [
686 {
687 "parameters" : [
688 {
689 "type" : "regular",
690 "value" : "ethernet"
691 }
692 ],
693 "op" : "extract"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800694 },
695 {
696 "parameters" : [
697 {
698 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200699 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800700 },
701 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700702 "type" : "hexstr",
703 "value" : "0x0ffe"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800704 }
705 ],
706 "op" : "set"
707 },
708 {
709 "parameters" : [
710 {
711 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200712 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800713 },
714 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700715 "type" : "lookahead",
716 "value" : [0, 16]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800717 }
718 ],
719 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800720 }
721 ],
722 "transitions" : [
723 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800724 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700725 "value" : "0x88a8",
726 "mask" : null,
727 "next_state" : "parse_vlan_tag"
728 },
729 {
730 "type" : "hexstr",
731 "value" : "0x9100",
732 "mask" : null,
733 "next_state" : "parse_vlan_tag"
734 },
735 {
736 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800737 "value" : "0x8100",
738 "mask" : null,
739 "next_state" : "parse_vlan_tag"
740 },
741 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200742 "type" : "default",
743 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800744 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700745 "next_state" : "parse_eth_type"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800746 }
747 ],
748 "transition_key" : [
749 {
750 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200751 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800752 }
753 ]
754 },
755 {
756 "name" : "parse_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200757 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800758 "parser_ops" : [
759 {
760 "parameters" : [
761 {
762 "type" : "regular",
763 "value" : "vlan_tag"
764 }
765 ],
766 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700767 },
768 {
769 "parameters" : [
770 {
771 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200772 "value" : ["scalars", "tmp_3"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700773 },
774 {
775 "type" : "lookahead",
776 "value" : [0, 16]
777 }
778 ],
779 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800780 }
781 ],
782 "transitions" : [
783 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800784 "type" : "hexstr",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800785 "value" : "0x8100",
786 "mask" : null,
787 "next_state" : "parse_inner_vlan_tag"
788 },
789 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200790 "type" : "default",
791 "value" : null,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800792 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700793 "next_state" : "parse_eth_type"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800794 }
795 ],
796 "transition_key" : [
797 {
798 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200799 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800800 }
801 ]
802 },
803 {
804 "name" : "parse_inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200805 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800806 "parser_ops" : [
807 {
808 "parameters" : [
809 {
810 "type" : "regular",
811 "value" : "inner_vlan_tag"
812 }
813 ],
814 "op" : "extract"
815 }
816 ],
817 "transitions" : [
818 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200819 "type" : "default",
820 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800821 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700822 "next_state" : "parse_eth_type"
823 }
824 ],
825 "transition_key" : []
826 },
827 {
828 "name" : "parse_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200829 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700830 "parser_ops" : [
831 {
832 "parameters" : [
833 {
834 "type" : "regular",
835 "value" : "eth_type"
836 }
837 ],
838 "op" : "extract"
839 }
840 ],
841 "transitions" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800842 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800843 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800844 "value" : "0x8847",
845 "mask" : null,
846 "next_state" : "parse_mpls"
847 },
848 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700849 "type" : "hexstr",
850 "value" : "0x0800",
851 "mask" : null,
852 "next_state" : "parse_ipv4"
853 },
854 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200855 "type" : "default",
856 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800857 "mask" : null,
858 "next_state" : null
859 }
860 ],
861 "transition_key" : [
862 {
863 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700864 "value" : ["eth_type", "value"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800865 }
866 ]
867 },
868 {
869 "name" : "parse_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200870 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800871 "parser_ops" : [
872 {
873 "parameters" : [
874 {
875 "type" : "regular",
876 "value" : "mpls"
877 }
878 ],
879 "op" : "extract"
880 },
881 {
882 "parameters" : [
883 {
884 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200885 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800886 },
887 {
888 "type" : "field",
889 "value" : ["mpls", "label"]
890 }
891 ],
892 "op" : "set"
893 },
894 {
895 "parameters" : [
896 {
897 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200898 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800899 },
900 {
901 "type" : "field",
902 "value" : ["mpls", "ttl"]
903 }
904 ],
905 "op" : "set"
906 },
907 {
908 "parameters" : [
909 {
910 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200911 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800912 },
913 {
914 "type" : "lookahead",
915 "value" : [0, 4]
916 }
917 ],
918 "op" : "set"
919 }
920 ],
921 "transitions" : [
922 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800923 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800924 "value" : "0x04",
925 "mask" : null,
926 "next_state" : "parse_ipv4"
927 },
928 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200929 "type" : "default",
930 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800931 "mask" : null,
932 "next_state" : "parse_ethernet"
933 }
934 ],
935 "transition_key" : [
936 {
937 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200938 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800939 }
940 ]
941 },
942 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700943 "name" : "parse_ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200944 "id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700945 "parser_ops" : [
946 {
947 "parameters" : [
948 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800949 "type" : "regular",
950 "value" : "ipv4"
951 }
952 ],
953 "op" : "extract"
954 },
955 {
956 "parameters" : [
957 {
958 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200959 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800960 },
961 {
962 "type" : "field",
963 "value" : ["ipv4", "protocol"]
964 }
965 ],
966 "op" : "set"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800967 },
968 {
969 "parameters" : [
970 {
971 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200972 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800973 },
974 {
975 "type" : "hexstr",
976 "value" : "0x0800"
977 }
978 ],
979 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400980 },
981 {
982 "parameters" : [
983 {
984 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200985 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400986 },
987 {
988 "type" : "field",
989 "value" : ["ipv4", "src_addr"]
990 }
991 ],
992 "op" : "set"
993 },
994 {
995 "parameters" : [
996 {
997 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200998 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400999 },
1000 {
1001 "type" : "field",
1002 "value" : ["ipv4", "dst_addr"]
1003 }
1004 ],
1005 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001006 }
1007 ],
1008 "transitions" : [
1009 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001010 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001011 "value" : "0x06",
1012 "mask" : null,
1013 "next_state" : "parse_tcp"
1014 },
1015 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001016 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001017 "value" : "0x11",
1018 "mask" : null,
1019 "next_state" : "parse_udp"
1020 },
1021 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001022 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001023 "value" : "0x01",
1024 "mask" : null,
1025 "next_state" : "parse_icmp"
1026 },
1027 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001028 "type" : "default",
1029 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001030 "mask" : null,
1031 "next_state" : null
1032 }
1033 ],
1034 "transition_key" : [
1035 {
1036 "type" : "field",
1037 "value" : ["ipv4", "protocol"]
1038 }
1039 ]
1040 },
1041 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001042 "name" : "parse_tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001043 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001044 "parser_ops" : [
1045 {
1046 "parameters" : [
1047 {
1048 "type" : "regular",
1049 "value" : "tcp"
1050 }
1051 ],
1052 "op" : "extract"
1053 },
1054 {
1055 "parameters" : [
1056 {
1057 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001058 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001059 },
1060 {
1061 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001062 "value" : ["tcp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001063 }
1064 ],
1065 "op" : "set"
1066 },
1067 {
1068 "parameters" : [
1069 {
1070 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001071 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001072 },
1073 {
1074 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001075 "value" : ["tcp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001076 }
1077 ],
1078 "op" : "set"
1079 }
1080 ],
1081 "transitions" : [
1082 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001083 "type" : "default",
1084 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001085 "mask" : null,
1086 "next_state" : null
1087 }
1088 ],
1089 "transition_key" : []
1090 },
1091 {
1092 "name" : "parse_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001093 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001094 "parser_ops" : [
1095 {
1096 "parameters" : [
1097 {
1098 "type" : "regular",
1099 "value" : "udp"
1100 }
1101 ],
1102 "op" : "extract"
1103 },
1104 {
1105 "parameters" : [
1106 {
1107 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001108 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001109 },
1110 {
1111 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001112 "value" : ["udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001113 }
1114 ],
1115 "op" : "set"
1116 },
1117 {
1118 "parameters" : [
1119 {
1120 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001121 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001122 },
1123 {
1124 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001125 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001126 }
1127 ],
1128 "op" : "set"
1129 }
1130 ],
1131 "transitions" : [
1132 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001133 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001134 "value" : "0x0868",
1135 "mask" : null,
1136 "next_state" : "parse_gtpu"
1137 },
1138 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001139 "type" : "default",
1140 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001141 "mask" : null,
1142 "next_state" : null
1143 }
1144 ],
1145 "transition_key" : [
1146 {
1147 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001148 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001149 }
1150 ]
1151 },
1152 {
1153 "name" : "parse_icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001154 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001155 "parser_ops" : [
1156 {
1157 "parameters" : [
1158 {
1159 "type" : "regular",
1160 "value" : "icmp"
1161 }
1162 ],
1163 "op" : "extract"
1164 }
1165 ],
1166 "transitions" : [
1167 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001168 "type" : "default",
1169 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001170 "mask" : null,
1171 "next_state" : null
1172 }
1173 ],
1174 "transition_key" : []
1175 },
1176 {
1177 "name" : "parse_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001178 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001179 "parser_ops" : [
1180 {
1181 "parameters" : [
1182 {
1183 "type" : "regular",
1184 "value" : "gtpu"
1185 }
1186 ],
1187 "op" : "extract"
1188 },
1189 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001190 "parameters" : [
1191 {
1192 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001193 "value" : "inner_ipv4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001194 }
1195 ],
1196 "op" : "extract"
1197 }
1198 ],
1199 "transitions" : [
1200 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001201 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001202 "value" : "0x06",
1203 "mask" : null,
1204 "next_state" : "parse_tcp"
1205 },
1206 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001207 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001208 "value" : "0x11",
1209 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001210 "next_state" : "parse_inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001211 },
1212 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001213 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001214 "value" : "0x01",
1215 "mask" : null,
1216 "next_state" : "parse_icmp"
1217 },
1218 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001219 "type" : "default",
1220 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001221 "mask" : null,
1222 "next_state" : null
1223 }
1224 ],
1225 "transition_key" : [
1226 {
1227 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001228 "value" : ["inner_ipv4", "protocol"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001229 }
1230 ]
1231 },
1232 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001233 "name" : "parse_inner_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001234 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001235 "parser_ops" : [
1236 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001237 "parameters" : [
1238 {
1239 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001240 "value" : "inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001241 }
1242 ],
1243 "op" : "extract"
1244 },
1245 {
1246 "parameters" : [
1247 {
1248 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001249 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001250 },
1251 {
1252 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001253 "value" : ["inner_udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001254 }
1255 ],
1256 "op" : "set"
1257 },
1258 {
1259 "parameters" : [
1260 {
1261 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001262 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001263 },
1264 {
1265 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001266 "value" : ["inner_udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001267 }
1268 ],
1269 "op" : "set"
1270 }
1271 ],
1272 "transitions" : [
1273 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001274 "type" : "default",
1275 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001276 "mask" : null,
1277 "next_state" : null
1278 }
1279 ],
1280 "transition_key" : []
1281 }
1282 ]
1283 }
1284 ],
Yi Tseng27b9bc02018-04-12 14:52:40 +08001285 "parse_vsets" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001286 "deparsers" : [
1287 {
1288 "name" : "deparser",
1289 "id" : 0,
1290 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001291 "filename" : "include/parser.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001292 "line" : 283,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001293 "column" : 8,
1294 "source_fragment" : "FabricDeparser"
1295 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001296 "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"],
1297 "primitives" : []
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001298 }
1299 ],
1300 "meter_arrays" : [],
1301 "counter_arrays" : [
1302 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001303 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001304 "id" : 0,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001305 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001306 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1307 "source_info" : {
1308 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001309 "line" : 31,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001310 "column" : 50,
1311 "source_fragment" : "ingress_port_vlan_counter"
1312 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001313 },
1314 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001315 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001316 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001317 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001318 "binding" : "FabricIngress.filtering.fwd_classifier",
1319 "source_info" : {
1320 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001321 "line" : 85,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001322 "column" : 50,
1323 "source_fragment" : "fwd_classifier_counter"
1324 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001325 },
1326 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001327 "name" : "FabricIngress.forwarding.bridging_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001328 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001329 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001330 "binding" : "FabricIngress.forwarding.bridging",
1331 "source_info" : {
1332 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001333 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001334 "column" : 50,
1335 "source_fragment" : "bridging_counter"
1336 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001337 },
1338 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001339 "name" : "FabricIngress.forwarding.mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001340 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001341 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001342 "binding" : "FabricIngress.forwarding.mpls",
1343 "source_info" : {
1344 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001345 "line" : 63,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001346 "column" : 50,
1347 "source_fragment" : "mpls_counter"
1348 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001349 },
1350 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001351 "name" : "FabricIngress.acl.acl_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001352 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001353 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001354 "binding" : "FabricIngress.acl.acl",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001355 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001356 "filename" : "include/control/acl.p4",
1357 "line" : 30,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001358 "column" : 50,
1359 "source_fragment" : "acl_counter"
1360 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001361 },
1362 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001363 "name" : "FabricIngress.next.next_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001364 "id" : 5,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001365 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001366 "binding" : "FabricIngress.next.next_vlan",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001367 "source_info" : {
1368 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001369 "line" : 67,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001370 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001371 "source_fragment" : "next_vlan_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001372 }
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001373 },
1374 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001375 "name" : "FabricIngress.next.xconnect_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001376 "id" : 6,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001377 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001378 "binding" : "FabricIngress.next.xconnect",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001379 "source_info" : {
1380 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001381 "line" : 107,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001382 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001383 "source_fragment" : "xconnect_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001384 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001385 },
1386 {
1387 "name" : "FabricIngress.next.hashed_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001388 "id" : 7,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001389 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001390 "binding" : "FabricIngress.next.hashed",
1391 "source_info" : {
1392 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001393 "line" : 184,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001394 "column" : 50,
1395 "source_fragment" : "hashed_counter"
1396 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001397 },
1398 {
Esin Karaman971fb7f2017-12-28 13:44:52 +00001399 "name" : "FabricIngress.next.multicast_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001400 "id" : 8,
Esin Karaman971fb7f2017-12-28 13:44:52 +00001401 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001402 "binding" : "FabricIngress.next.multicast",
1403 "source_info" : {
1404 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001405 "line" : 228,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001406 "column" : 50,
1407 "source_fragment" : "multicast_counter"
1408 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00001409 },
1410 {
1411 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001412 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001413 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001414 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001415 "line" : 26,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001416 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001417 "source_fragment" : "egress_port_counter"
1418 },
1419 "size" : 511,
1420 "is_direct" : false
1421 },
1422 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001423 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001424 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001425 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001426 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001427 "line" : 27,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001428 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001429 "source_fragment" : "ingress_port_counter"
1430 },
1431 "size" : 511,
1432 "is_direct" : false
Yi Tseng47eac892018-07-11 02:17:04 +08001433 },
1434 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001435 "name" : "FabricIngress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001436 "id" : 11,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001437 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001438 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001439 "line" : 108,
Robert MacDavidde12b982020-07-15 18:38:59 -07001440 "column" : 53,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001441 "source_fragment" : "pdr_counter"
1442 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001443 "size" : 2048,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001444 "is_direct" : false
1445 },
1446 {
1447 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001448 "id" : 12,
Yi Tseng47eac892018-07-11 02:17:04 +08001449 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001450 "binding" : "FabricEgress.egress_next.egress_vlan",
1451 "source_info" : {
1452 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01001453 "line" : 314,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001454 "column" : 50,
1455 "source_fragment" : "egress_vlan_counter"
1456 }
Robert MacDavidde12b982020-07-15 18:38:59 -07001457 },
1458 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001459 "name" : "FabricEgress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001460 "id" : 13,
1461 "source_info" : {
1462 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001463 "line" : 295,
Robert MacDavidde12b982020-07-15 18:38:59 -07001464 "column" : 53,
1465 "source_fragment" : "pdr_counter"
1466 },
1467 "size" : 2048,
1468 "is_direct" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001469 }
1470 ],
1471 "register_arrays" : [],
1472 "calculations" : [
1473 {
1474 "name" : "calc",
1475 "id" : 0,
1476 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001477 "filename" : "include/checksum.p4",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001478 "line" : 28,
1479 "column" : 8,
1480 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1481 },
1482 "algo" : "csum16",
1483 "input" : [
1484 {
1485 "type" : "field",
1486 "value" : ["ipv4", "version"]
1487 },
1488 {
1489 "type" : "field",
1490 "value" : ["ipv4", "ihl"]
1491 },
1492 {
1493 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001494 "value" : ["ipv4", "dscp"]
1495 },
1496 {
1497 "type" : "field",
1498 "value" : ["ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001499 },
1500 {
1501 "type" : "field",
1502 "value" : ["ipv4", "total_len"]
1503 },
1504 {
1505 "type" : "field",
1506 "value" : ["ipv4", "identification"]
1507 },
1508 {
1509 "type" : "field",
1510 "value" : ["ipv4", "flags"]
1511 },
1512 {
1513 "type" : "field",
1514 "value" : ["ipv4", "frag_offset"]
1515 },
1516 {
1517 "type" : "field",
1518 "value" : ["ipv4", "ttl"]
1519 },
1520 {
1521 "type" : "field",
1522 "value" : ["ipv4", "protocol"]
1523 },
1524 {
1525 "type" : "field",
1526 "value" : ["ipv4", "src_addr"]
1527 },
1528 {
1529 "type" : "field",
1530 "value" : ["ipv4", "dst_addr"]
1531 }
1532 ]
1533 },
1534 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001535 "name" : "calc_0",
1536 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001537 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001538 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001539 "line" : 358,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001540 "column" : 8,
1541 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1542 },
1543 "algo" : "csum16",
1544 "input" : [
1545 {
1546 "type" : "field",
1547 "value" : ["gtpu_ipv4", "version"]
1548 },
1549 {
1550 "type" : "field",
1551 "value" : ["gtpu_ipv4", "ihl"]
1552 },
1553 {
1554 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001555 "value" : ["gtpu_ipv4", "dscp"]
1556 },
1557 {
1558 "type" : "field",
1559 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001560 },
1561 {
1562 "type" : "field",
1563 "value" : ["gtpu_ipv4", "total_len"]
1564 },
1565 {
1566 "type" : "field",
1567 "value" : ["gtpu_ipv4", "identification"]
1568 },
1569 {
1570 "type" : "field",
1571 "value" : ["gtpu_ipv4", "flags"]
1572 },
1573 {
1574 "type" : "field",
1575 "value" : ["gtpu_ipv4", "frag_offset"]
1576 },
1577 {
1578 "type" : "field",
1579 "value" : ["gtpu_ipv4", "ttl"]
1580 },
1581 {
1582 "type" : "field",
1583 "value" : ["gtpu_ipv4", "protocol"]
1584 },
1585 {
1586 "type" : "field",
1587 "value" : ["gtpu_ipv4", "src_addr"]
1588 },
1589 {
1590 "type" : "field",
1591 "value" : ["gtpu_ipv4", "dst_addr"]
1592 }
1593 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001594 },
1595 {
1596 "name" : "calc_1",
1597 "id" : 2,
1598 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001599 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001600 "line" : 57,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001601 "column" : 8,
1602 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1603 },
1604 "algo" : "csum16",
1605 "input" : [
1606 {
1607 "type" : "field",
1608 "value" : ["ipv4", "version"]
1609 },
1610 {
1611 "type" : "field",
1612 "value" : ["ipv4", "ihl"]
1613 },
1614 {
1615 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001616 "value" : ["ipv4", "dscp"]
1617 },
1618 {
1619 "type" : "field",
1620 "value" : ["ipv4", "ecn"]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001621 },
1622 {
1623 "type" : "field",
1624 "value" : ["ipv4", "total_len"]
1625 },
1626 {
1627 "type" : "field",
1628 "value" : ["ipv4", "identification"]
1629 },
1630 {
1631 "type" : "field",
1632 "value" : ["ipv4", "flags"]
1633 },
1634 {
1635 "type" : "field",
1636 "value" : ["ipv4", "frag_offset"]
1637 },
1638 {
1639 "type" : "field",
1640 "value" : ["ipv4", "ttl"]
1641 },
1642 {
1643 "type" : "field",
1644 "value" : ["ipv4", "protocol"]
1645 },
1646 {
1647 "type" : "field",
1648 "value" : ["ipv4", "src_addr"]
1649 },
1650 {
1651 "type" : "field",
1652 "value" : ["ipv4", "dst_addr"]
1653 }
1654 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001655 }
1656 ],
1657 "learn_lists" : [],
1658 "actions" : [
1659 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001660 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001661 "id" : 0,
1662 "runtime_data" : [],
1663 "primitives" : []
1664 },
1665 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001666 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001667 "id" : 1,
1668 "runtime_data" : [],
1669 "primitives" : []
1670 },
1671 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001672 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001673 "id" : 2,
1674 "runtime_data" : [],
1675 "primitives" : []
1676 },
1677 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001678 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001679 "id" : 3,
1680 "runtime_data" : [],
1681 "primitives" : []
1682 },
1683 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001684 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001685 "id" : 4,
1686 "runtime_data" : [],
1687 "primitives" : []
1688 },
1689 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001690 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001691 "id" : 5,
1692 "runtime_data" : [],
1693 "primitives" : []
1694 },
1695 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001696 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001697 "id" : 6,
1698 "runtime_data" : [],
1699 "primitives" : []
1700 },
1701 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001702 "name" : "NoAction",
Robert MacDavidde12b982020-07-15 18:38:59 -07001703 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001704 "runtime_data" : [],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001705 "primitives" : []
1706 },
1707 {
1708 "name" : "NoAction",
1709 "id" : 8,
1710 "runtime_data" : [],
1711 "primitives" : []
1712 },
1713 {
1714 "name" : "FabricIngress.filtering.deny",
1715 "id" : 9,
1716 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001717 "primitives" : [
1718 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001719 "op" : "assign",
1720 "parameters" : [
1721 {
1722 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001723 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001724 },
1725 {
1726 "type" : "expression",
1727 "value" : {
1728 "type" : "expression",
1729 "value" : {
1730 "op" : "b2d",
1731 "left" : null,
1732 "right" : {
1733 "type" : "bool",
1734 "value" : true
1735 }
1736 }
1737 }
1738 }
1739 ],
1740 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001741 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001742 "line" : 36,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001743 "column" : 40,
1744 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001745 }
1746 },
1747 {
1748 "op" : "assign",
1749 "parameters" : [
1750 {
1751 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001752 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001753 },
1754 {
1755 "type" : "expression",
1756 "value" : {
1757 "type" : "expression",
1758 "value" : {
1759 "op" : "b2d",
1760 "left" : null,
1761 "right" : {
1762 "type" : "bool",
1763 "value" : true
1764 }
1765 }
1766 }
1767 }
1768 ],
1769 "source_info" : {
1770 "filename" : "include/control/filtering.p4",
1771 "line" : 37,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001772 "column" : 34,
1773 "source_fragment" : "= true; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001774 }
1775 }
1776 ]
1777 },
1778 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001779 "name" : "FabricIngress.filtering.permit",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001780 "id" : 10,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07001781 "runtime_data" : [],
1782 "primitives" : []
1783 },
1784 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001785 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001786 "id" : 11,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001787 "runtime_data" : [
1788 {
1789 "name" : "vlan_id",
1790 "bitwidth" : 12
1791 }
1792 ],
1793 "primitives" : [
1794 {
1795 "op" : "assign",
1796 "parameters" : [
1797 {
1798 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001799 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001800 },
1801 {
1802 "type" : "runtime_data",
1803 "value" : 0
1804 }
1805 ],
1806 "source_info" : {
1807 "filename" : "include/control/filtering.p4",
1808 "line" : 47,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001809 "column" : 32,
1810 "source_fragment" : "= vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001811 }
1812 }
1813 ]
1814 },
1815 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001816 "name" : "FabricIngress.filtering.set_forwarding_type",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001817 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001818 "runtime_data" : [
1819 {
1820 "name" : "fwd_type",
1821 "bitwidth" : 3
1822 }
1823 ],
1824 "primitives" : [
1825 {
1826 "op" : "assign",
1827 "parameters" : [
1828 {
1829 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001830 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001831 },
1832 {
1833 "type" : "runtime_data",
1834 "value" : 0
1835 }
1836 ],
1837 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001838 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001839 "line" : 88,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001840 "column" : 33,
1841 "source_fragment" : "= fwd_type; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001842 }
1843 }
1844 ]
1845 },
1846 {
Yi Tseng47eac892018-07-11 02:17:04 +08001847 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001848 "id" : 13,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001849 "runtime_data" : [
1850 {
1851 "name" : "next_id",
1852 "bitwidth" : 32
1853 }
1854 ],
1855 "primitives" : [
1856 {
1857 "op" : "assign",
1858 "parameters" : [
1859 {
1860 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001861 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001862 },
1863 {
1864 "type" : "runtime_data",
1865 "value" : 0
1866 }
1867 ],
1868 "source_info" : {
1869 "filename" : "include/control/forwarding.p4",
1870 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001871 "column" : 32,
1872 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001873 }
1874 }
1875 ]
1876 },
1877 {
1878 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001879 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001880 "runtime_data" : [
1881 {
1882 "name" : "next_id",
1883 "bitwidth" : 32
1884 }
1885 ],
1886 "primitives" : [
1887 {
1888 "op" : "assign",
1889 "parameters" : [
1890 {
1891 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001892 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001893 },
1894 {
1895 "type" : "hexstr",
1896 "value" : "0x000000"
1897 }
1898 ],
1899 "source_info" : {
1900 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001901 "line" : 66,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001902 "column" : 35,
1903 "source_fragment" : "= 0; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001904 }
1905 },
1906 {
1907 "op" : "assign",
1908 "parameters" : [
1909 {
1910 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001911 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001912 },
1913 {
1914 "type" : "runtime_data",
1915 "value" : 0
1916 }
1917 ],
1918 "source_info" : {
1919 "filename" : "include/control/forwarding.p4",
1920 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001921 "column" : 32,
1922 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001923 }
1924 }
1925 ]
1926 },
1927 {
1928 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001929 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001930 "runtime_data" : [
1931 {
1932 "name" : "next_id",
1933 "bitwidth" : 32
1934 }
1935 ],
1936 "primitives" : [
1937 {
1938 "op" : "assign",
1939 "parameters" : [
1940 {
1941 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001942 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001943 },
1944 {
1945 "type" : "runtime_data",
1946 "value" : 0
1947 }
1948 ],
1949 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001950 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001951 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001952 "column" : 32,
1953 "source_fragment" : "= next_id; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001954 }
1955 }
1956 ]
1957 },
1958 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001959 "name" : "FabricIngress.forwarding.nop_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001960 "id" : 16,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001961 "runtime_data" : [],
1962 "primitives" : []
Yi Tseng47eac892018-07-11 02:17:04 +08001963 },
1964 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001965 "name" : "FabricIngress.acl.set_next_id_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001966 "id" : 17,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001967 "runtime_data" : [
1968 {
1969 "name" : "next_id",
1970 "bitwidth" : 32
1971 }
1972 ],
1973 "primitives" : [
1974 {
1975 "op" : "assign",
1976 "parameters" : [
1977 {
1978 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001979 "value" : ["scalars", "userMetadata._next_id9"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08001980 },
1981 {
1982 "type" : "runtime_data",
1983 "value" : 0
1984 }
1985 ],
1986 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001987 "filename" : "include/control/acl.p4",
1988 "line" : 33,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001989 "column" : 32,
1990 "source_fragment" : "= next_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001991 }
1992 }
1993 ]
1994 },
1995 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001996 "name" : "FabricIngress.acl.punt_to_cpu",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001997 "id" : 18,
Charles Chancd03f072018-08-31 17:46:37 -07001998 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001999 "primitives" : [
2000 {
2001 "op" : "assign",
2002 "parameters" : [
2003 {
2004 "type" : "field",
2005 "value" : ["standard_metadata", "egress_spec"]
2006 },
2007 {
2008 "type" : "hexstr",
2009 "value" : "0x00ff"
2010 }
2011 ],
2012 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002013 "filename" : "include/control/acl.p4",
2014 "line" : 39,
Carmelo Casconeb531b682018-01-30 17:55:56 -08002015 "column" : 8,
2016 "source_fragment" : "standard_metadata.egress_spec = 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002017 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002018 },
2019 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002020 "op" : "assign",
2021 "parameters" : [
2022 {
2023 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002024 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002025 },
2026 {
2027 "type" : "expression",
2028 "value" : {
2029 "type" : "expression",
2030 "value" : {
2031 "op" : "b2d",
2032 "left" : null,
2033 "right" : {
2034 "type" : "bool",
2035 "value" : true
2036 }
2037 }
2038 }
2039 }
2040 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002041 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002042 "filename" : "include/control/acl.p4",
2043 "line" : 40,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002044 "column" : 34,
2045 "source_fragment" : "= true; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002046 }
2047 }
2048 ]
2049 },
2050 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002051 "name" : "FabricIngress.acl.set_clone_session_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002052 "id" : 19,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002053 "runtime_data" : [
2054 {
2055 "name" : "clone_id",
2056 "bitwidth" : 32
2057 }
2058 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002059 "primitives" : [
2060 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002061 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002062 "parameters" : [
2063 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002064 "type" : "runtime_data",
2065 "value" : 0
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002066 },
2067 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002068 "type" : "hexstr",
2069 "value" : "0x1"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002070 }
2071 ],
2072 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002073 "filename" : "include/control/acl.p4",
2074 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002075 "column" : 8,
Daniele Moro3b7a21b2019-06-25 17:33:40 -07002076 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002077 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002078 }
2079 ]
2080 },
2081 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002082 "name" : "FabricIngress.acl.drop",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002083 "id" : 20,
Yi Tseng47eac892018-07-11 02:17:04 +08002084 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002085 "primitives" : [
2086 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002087 "op" : "mark_to_drop",
2088 "parameters" : [
2089 {
2090 "type" : "header",
2091 "value" : "standard_metadata"
2092 }
2093 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002094 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002095 "filename" : "include/control/acl.p4",
2096 "line" : 51,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002097 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002098 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002099 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002100 },
2101 {
2102 "op" : "assign",
2103 "parameters" : [
2104 {
2105 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002106 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002107 },
2108 {
2109 "type" : "expression",
2110 "value" : {
2111 "type" : "expression",
2112 "value" : {
2113 "op" : "b2d",
2114 "left" : null,
2115 "right" : {
2116 "type" : "bool",
2117 "value" : true
2118 }
2119 }
2120 }
2121 }
2122 ],
2123 "source_info" : {
2124 "filename" : "include/control/acl.p4",
2125 "line" : 52,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002126 "column" : 34,
2127 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002128 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002129 }
2130 ]
2131 },
2132 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002133 "name" : "FabricIngress.acl.nop_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002134 "id" : 21,
Charles Chancf696e52018-08-16 16:25:13 -07002135 "runtime_data" : [],
2136 "primitives" : []
2137 },
2138 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002139 "name" : "FabricIngress.next.set_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002140 "id" : 22,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002141 "runtime_data" : [
2142 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002143 "name" : "vlan_id",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002144 "bitwidth" : 12
2145 }
2146 ],
2147 "primitives" : [
2148 {
2149 "op" : "assign",
2150 "parameters" : [
2151 {
2152 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002153 "value" : ["scalars", "userMetadata._vlan_id1"]
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002154 },
2155 {
2156 "type" : "runtime_data",
2157 "value" : 0
2158 }
2159 ],
2160 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002161 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002162 "line" : 70,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002163 "column" : 32,
2164 "source_fragment" : "= vlan_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002165 }
2166 }
2167 ]
2168 },
2169 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002170 "name" : "FabricIngress.next.output_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07002171 "id" : 23,
Yi Tseng47eac892018-07-11 02:17:04 +08002172 "runtime_data" : [
2173 {
2174 "name" : "port_num",
2175 "bitwidth" : 9
2176 }
2177 ],
2178 "primitives" : [
2179 {
2180 "op" : "assign",
2181 "parameters" : [
2182 {
2183 "type" : "field",
2184 "value" : ["standard_metadata", "egress_spec"]
2185 },
2186 {
2187 "type" : "runtime_data",
2188 "value" : 0
2189 }
2190 ],
2191 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002192 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002193 "line" : 31,
2194 "column" : 5,
2195 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
Yi Tseng47eac892018-07-11 02:17:04 +08002196 }
2197 }
2198 ]
2199 },
2200 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002201 "name" : "FabricIngress.next.set_next_id_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07002202 "id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002203 "runtime_data" : [
2204 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002205 "name" : "next_id",
2206 "bitwidth" : 32
2207 }
2208 ],
2209 "primitives" : [
2210 {
2211 "op" : "assign",
2212 "parameters" : [
2213 {
2214 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002215 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002216 },
2217 {
2218 "type" : "runtime_data",
2219 "value" : 0
2220 }
2221 ],
2222 "source_info" : {
2223 "filename" : "include/control/next.p4",
2224 "line" : 115,
2225 "column" : 32,
2226 "source_fragment" : "= next_id; ..."
2227 }
2228 }
2229 ]
2230 },
2231 {
2232 "name" : "FabricIngress.next.output_hashed",
2233 "id" : 25,
2234 "runtime_data" : [
2235 {
2236 "name" : "port_num",
2237 "bitwidth" : 9
2238 }
2239 ],
2240 "primitives" : [
2241 {
2242 "op" : "assign",
2243 "parameters" : [
2244 {
2245 "type" : "field",
2246 "value" : ["standard_metadata", "egress_spec"]
2247 },
2248 {
2249 "type" : "runtime_data",
2250 "value" : 0
2251 }
2252 ],
2253 "source_info" : {
2254 "filename" : "include/control/next.p4",
2255 "line" : 31,
2256 "column" : 5,
2257 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2258 }
2259 }
2260 ]
2261 },
2262 {
2263 "name" : "FabricIngress.next.routing_hashed",
2264 "id" : 26,
2265 "runtime_data" : [
2266 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002267 "name" : "port_num",
2268 "bitwidth" : 9
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002269 },
2270 {
2271 "name" : "smac",
2272 "bitwidth" : 48
2273 },
2274 {
2275 "name" : "dmac",
2276 "bitwidth" : 48
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002277 }
2278 ],
2279 "primitives" : [
2280 {
2281 "op" : "assign",
2282 "parameters" : [
2283 {
2284 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002285 "value" : ["ethernet", "src_addr"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002286 },
2287 {
2288 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002289 "value" : 1
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002290 }
2291 ],
2292 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002293 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002294 "line" : 36,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002295 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002296 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2297 }
2298 },
2299 {
2300 "op" : "assign",
2301 "parameters" : [
2302 {
2303 "type" : "field",
2304 "value" : ["ethernet", "dst_addr"]
2305 },
2306 {
2307 "type" : "runtime_data",
2308 "value" : 2
2309 }
2310 ],
2311 "source_info" : {
2312 "filename" : "include/control/next.p4",
2313 "line" : 41,
2314 "column" : 8,
2315 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002316 }
2317 },
2318 {
2319 "op" : "assign",
2320 "parameters" : [
2321 {
2322 "type" : "field",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002323 "value" : ["standard_metadata", "egress_spec"]
2324 },
2325 {
2326 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002327 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002328 }
2329 ],
2330 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002331 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002332 "line" : 31,
2333 "column" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002334 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2335 }
2336 }
2337 ]
2338 },
2339 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002340 "name" : "FabricIngress.next.mpls_routing_hashed",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002341 "id" : 27,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002342 "runtime_data" : [
2343 {
2344 "name" : "port_num",
2345 "bitwidth" : 9
2346 },
2347 {
2348 "name" : "smac",
2349 "bitwidth" : 48
2350 },
2351 {
2352 "name" : "dmac",
2353 "bitwidth" : 48
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002354 },
2355 {
2356 "name" : "label",
2357 "bitwidth" : 20
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002358 }
2359 ],
2360 "primitives" : [
2361 {
2362 "op" : "assign",
2363 "parameters" : [
2364 {
2365 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002366 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002367 },
2368 {
2369 "type" : "runtime_data",
2370 "value" : 3
2371 }
2372 ],
2373 "source_info" : {
2374 "filename" : "include/control/next.p4",
2375 "line" : 46,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002376 "column" : 35,
2377 "source_fragment" : "= label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002378 }
2379 },
2380 {
2381 "op" : "assign",
2382 "parameters" : [
2383 {
2384 "type" : "field",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002385 "value" : ["ethernet", "src_addr"]
2386 },
2387 {
2388 "type" : "runtime_data",
2389 "value" : 1
2390 }
2391 ],
2392 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002393 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002394 "line" : 36,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002395 "column" : 8,
2396 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2397 }
2398 },
2399 {
2400 "op" : "assign",
2401 "parameters" : [
2402 {
2403 "type" : "field",
2404 "value" : ["ethernet", "dst_addr"]
2405 },
2406 {
2407 "type" : "runtime_data",
2408 "value" : 2
2409 }
2410 ],
2411 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002412 "filename" : "include/control/next.p4",
Yi Tseng47eac892018-07-11 02:17:04 +08002413 "line" : 41,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002414 "column" : 8,
2415 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2416 }
2417 },
2418 {
2419 "op" : "assign",
2420 "parameters" : [
2421 {
2422 "type" : "field",
2423 "value" : ["standard_metadata", "egress_spec"]
2424 },
2425 {
2426 "type" : "runtime_data",
2427 "value" : 0
2428 }
2429 ],
2430 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002431 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002432 "line" : 31,
2433 "column" : 5,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002434 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2435 }
2436 }
2437 ]
2438 },
2439 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002440 "name" : "FabricIngress.next.set_mcast_group_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002441 "id" : 28,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002442 "runtime_data" : [
2443 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002444 "name" : "group_id",
Esin Karaman971fb7f2017-12-28 13:44:52 +00002445 "bitwidth" : 16
2446 }
2447 ],
2448 "primitives" : [
2449 {
2450 "op" : "assign",
2451 "parameters" : [
2452 {
2453 "type" : "field",
2454 "value" : ["standard_metadata", "mcast_grp"]
2455 },
2456 {
2457 "type" : "runtime_data",
2458 "value" : 0
2459 }
2460 ],
2461 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002462 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002463 "line" : 231,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002464 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002465 "source_fragment" : "standard_metadata.mcast_grp = group_id"
Esin Karaman971fb7f2017-12-28 13:44:52 +00002466 }
Carmelo Casconea5400af2018-07-17 22:11:54 +02002467 },
2468 {
2469 "op" : "assign",
2470 "parameters" : [
2471 {
2472 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002473 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02002474 },
2475 {
2476 "type" : "expression",
2477 "value" : {
2478 "type" : "expression",
2479 "value" : {
2480 "op" : "b2d",
2481 "left" : null,
2482 "right" : {
2483 "type" : "bool",
2484 "value" : true
2485 }
2486 }
2487 }
2488 }
2489 ],
2490 "source_info" : {
2491 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002492 "line" : 232,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002493 "column" : 37,
2494 "source_fragment" : "= true; ..."
Carmelo Casconea5400af2018-07-17 22:11:54 +02002495 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00002496 }
2497 ]
2498 },
2499 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002500 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
2501 "id" : 29,
2502 "runtime_data" : [],
2503 "primitives" : [
2504 {
2505 "op" : "assign",
2506 "parameters" : [
2507 {
2508 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002509 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002510 },
2511 {
2512 "type" : "hexstr",
2513 "value" : "0x0800"
2514 }
2515 ],
2516 "source_info" : {
2517 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002518 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002519 "column" : 31,
2520 "source_fragment" : "0x0800; ..."
2521 }
2522 },
2523 {
2524 "op" : "assign",
2525 "parameters" : [
2526 {
2527 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002528 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002529 },
2530 {
2531 "type" : "field",
2532 "value" : ["inner_ipv4", "protocol"]
2533 }
2534 ],
2535 "source_info" : {
2536 "filename" : "include/control/spgw.p4",
2537 "line" : 39,
2538 "column" : 27,
2539 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2540 }
2541 },
2542 {
2543 "op" : "assign",
2544 "parameters" : [
2545 {
2546 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002547 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002548 },
2549 {
2550 "type" : "field",
2551 "value" : ["inner_ipv4", "src_addr"]
2552 }
2553 ],
2554 "source_info" : {
2555 "filename" : "include/control/spgw.p4",
2556 "line" : 40,
2557 "column" : 32,
2558 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2559 }
2560 },
2561 {
2562 "op" : "assign",
2563 "parameters" : [
2564 {
2565 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002566 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002567 },
2568 {
2569 "type" : "field",
2570 "value" : ["inner_ipv4", "dst_addr"]
2571 }
2572 ],
2573 "source_info" : {
2574 "filename" : "include/control/spgw.p4",
2575 "line" : 41,
2576 "column" : 32,
2577 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2578 }
2579 },
2580 {
2581 "op" : "assign",
2582 "parameters" : [
2583 {
2584 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002585 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002586 },
2587 {
2588 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002589 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002590 }
2591 ],
2592 "source_info" : {
2593 "filename" : "include/control/spgw.p4",
2594 "line" : 42,
2595 "column" : 27,
2596 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2597 }
2598 },
2599 {
2600 "op" : "assign",
2601 "parameters" : [
2602 {
2603 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002604 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002605 },
2606 {
2607 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002608 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002609 }
2610 ],
2611 "source_info" : {
2612 "filename" : "include/control/spgw.p4",
2613 "line" : 43,
2614 "column" : 27,
2615 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
2616 }
2617 },
2618 {
2619 "op" : "assign_header",
2620 "parameters" : [
2621 {
2622 "type" : "header",
2623 "value" : "ipv4"
2624 },
2625 {
2626 "type" : "header",
2627 "value" : "inner_ipv4"
2628 }
2629 ],
2630 "source_info" : {
2631 "filename" : "include/control/spgw.p4",
2632 "line" : 45,
2633 "column" : 8,
2634 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
2635 }
2636 },
2637 {
2638 "op" : "remove_header",
2639 "parameters" : [
2640 {
2641 "type" : "header",
2642 "value" : "inner_ipv4"
2643 }
2644 ],
2645 "source_info" : {
2646 "filename" : "include/control/spgw.p4",
2647 "line" : 46,
2648 "column" : 8,
2649 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
2650 }
2651 },
2652 {
2653 "op" : "remove_header",
2654 "parameters" : [
2655 {
2656 "type" : "header",
2657 "value" : "gtpu"
2658 }
2659 ],
2660 "source_info" : {
2661 "filename" : "include/control/spgw.p4",
2662 "line" : 47,
2663 "column" : 8,
2664 "source_fragment" : "hdr.gtpu.setInvalid()"
2665 }
2666 },
2667 {
2668 "op" : "remove_header",
2669 "parameters" : [
2670 {
2671 "type" : "header",
2672 "value" : "udp"
2673 }
2674 ],
2675 "source_info" : {
2676 "filename" : "include/control/spgw.p4",
2677 "line" : 52,
2678 "column" : 8,
2679 "source_fragment" : "hdr.udp.setInvalid()"
2680 }
2681 },
2682 {
2683 "op" : "assign_header",
2684 "parameters" : [
2685 {
2686 "type" : "header",
2687 "value" : "tcp"
2688 },
2689 {
2690 "type" : "header",
2691 "value" : "inner_tcp"
2692 }
2693 ],
2694 "source_info" : {
2695 "filename" : "include/control/spgw.p4",
2696 "line" : 53,
2697 "column" : 8,
2698 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
2699 }
2700 },
2701 {
2702 "op" : "remove_header",
2703 "parameters" : [
2704 {
2705 "type" : "header",
2706 "value" : "inner_tcp"
2707 }
2708 ],
2709 "source_info" : {
2710 "filename" : "include/control/spgw.p4",
2711 "line" : 54,
2712 "column" : 8,
2713 "source_fragment" : "hdr.inner_tcp.setInvalid()"
2714 }
2715 }
2716 ]
2717 },
2718 {
2719 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
2720 "id" : 30,
2721 "runtime_data" : [],
2722 "primitives" : [
2723 {
2724 "op" : "assign",
2725 "parameters" : [
2726 {
2727 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002728 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002729 },
2730 {
2731 "type" : "hexstr",
2732 "value" : "0x0800"
2733 }
2734 ],
2735 "source_info" : {
2736 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002737 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002738 "column" : 31,
2739 "source_fragment" : "0x0800; ..."
2740 }
2741 },
2742 {
2743 "op" : "assign",
2744 "parameters" : [
2745 {
2746 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002747 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002748 },
2749 {
2750 "type" : "field",
2751 "value" : ["inner_ipv4", "protocol"]
2752 }
2753 ],
2754 "source_info" : {
2755 "filename" : "include/control/spgw.p4",
2756 "line" : 39,
2757 "column" : 27,
2758 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2759 }
2760 },
2761 {
2762 "op" : "assign",
2763 "parameters" : [
2764 {
2765 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002766 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002767 },
2768 {
2769 "type" : "field",
2770 "value" : ["inner_ipv4", "src_addr"]
2771 }
2772 ],
2773 "source_info" : {
2774 "filename" : "include/control/spgw.p4",
2775 "line" : 40,
2776 "column" : 32,
2777 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2778 }
2779 },
2780 {
2781 "op" : "assign",
2782 "parameters" : [
2783 {
2784 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002785 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002786 },
2787 {
2788 "type" : "field",
2789 "value" : ["inner_ipv4", "dst_addr"]
2790 }
2791 ],
2792 "source_info" : {
2793 "filename" : "include/control/spgw.p4",
2794 "line" : 41,
2795 "column" : 32,
2796 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2797 }
2798 },
2799 {
2800 "op" : "assign",
2801 "parameters" : [
2802 {
2803 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002804 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002805 },
2806 {
2807 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002808 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002809 }
2810 ],
2811 "source_info" : {
2812 "filename" : "include/control/spgw.p4",
2813 "line" : 42,
2814 "column" : 27,
2815 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2816 }
2817 },
2818 {
2819 "op" : "assign",
2820 "parameters" : [
2821 {
2822 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002823 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002824 },
2825 {
2826 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002827 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002828 }
2829 ],
2830 "source_info" : {
2831 "filename" : "include/control/spgw.p4",
2832 "line" : 43,
2833 "column" : 27,
2834 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
2835 }
2836 },
2837 {
2838 "op" : "assign_header",
2839 "parameters" : [
2840 {
2841 "type" : "header",
2842 "value" : "ipv4"
2843 },
2844 {
2845 "type" : "header",
2846 "value" : "inner_ipv4"
2847 }
2848 ],
2849 "source_info" : {
2850 "filename" : "include/control/spgw.p4",
2851 "line" : 45,
2852 "column" : 8,
2853 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
2854 }
2855 },
2856 {
2857 "op" : "remove_header",
2858 "parameters" : [
2859 {
2860 "type" : "header",
2861 "value" : "inner_ipv4"
2862 }
2863 ],
2864 "source_info" : {
2865 "filename" : "include/control/spgw.p4",
2866 "line" : 46,
2867 "column" : 8,
2868 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
2869 }
2870 },
2871 {
2872 "op" : "remove_header",
2873 "parameters" : [
2874 {
2875 "type" : "header",
2876 "value" : "gtpu"
2877 }
2878 ],
2879 "source_info" : {
2880 "filename" : "include/control/spgw.p4",
2881 "line" : 47,
2882 "column" : 8,
2883 "source_fragment" : "hdr.gtpu.setInvalid()"
2884 }
2885 },
2886 {
2887 "op" : "assign_header",
2888 "parameters" : [
2889 {
2890 "type" : "header",
2891 "value" : "udp"
2892 },
2893 {
2894 "type" : "header",
2895 "value" : "inner_udp"
2896 }
2897 ],
2898 "source_info" : {
2899 "filename" : "include/control/spgw.p4",
2900 "line" : 59,
2901 "column" : 8,
2902 "source_fragment" : "hdr.udp = hdr.inner_udp"
2903 }
2904 },
2905 {
2906 "op" : "remove_header",
2907 "parameters" : [
2908 {
2909 "type" : "header",
2910 "value" : "inner_udp"
2911 }
2912 ],
2913 "source_info" : {
2914 "filename" : "include/control/spgw.p4",
2915 "line" : 60,
2916 "column" : 8,
2917 "source_fragment" : "hdr.inner_udp.setInvalid()"
2918 }
2919 }
2920 ]
2921 },
2922 {
2923 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
2924 "id" : 31,
2925 "runtime_data" : [],
2926 "primitives" : [
2927 {
2928 "op" : "assign",
2929 "parameters" : [
2930 {
2931 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002932 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002933 },
2934 {
2935 "type" : "hexstr",
2936 "value" : "0x0800"
2937 }
2938 ],
2939 "source_info" : {
2940 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002941 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002942 "column" : 31,
2943 "source_fragment" : "0x0800; ..."
2944 }
2945 },
2946 {
2947 "op" : "assign",
2948 "parameters" : [
2949 {
2950 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002951 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002952 },
2953 {
2954 "type" : "field",
2955 "value" : ["inner_ipv4", "protocol"]
2956 }
2957 ],
2958 "source_info" : {
2959 "filename" : "include/control/spgw.p4",
2960 "line" : 39,
2961 "column" : 27,
2962 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2963 }
2964 },
2965 {
2966 "op" : "assign",
2967 "parameters" : [
2968 {
2969 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002970 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002971 },
2972 {
2973 "type" : "field",
2974 "value" : ["inner_ipv4", "src_addr"]
2975 }
2976 ],
2977 "source_info" : {
2978 "filename" : "include/control/spgw.p4",
2979 "line" : 40,
2980 "column" : 32,
2981 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2982 }
2983 },
2984 {
2985 "op" : "assign",
2986 "parameters" : [
2987 {
2988 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002989 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002990 },
2991 {
2992 "type" : "field",
2993 "value" : ["inner_ipv4", "dst_addr"]
2994 }
2995 ],
2996 "source_info" : {
2997 "filename" : "include/control/spgw.p4",
2998 "line" : 41,
2999 "column" : 32,
3000 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3001 }
3002 },
3003 {
3004 "op" : "assign",
3005 "parameters" : [
3006 {
3007 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003008 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003009 },
3010 {
3011 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003012 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003013 }
3014 ],
3015 "source_info" : {
3016 "filename" : "include/control/spgw.p4",
3017 "line" : 42,
3018 "column" : 27,
3019 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3020 }
3021 },
3022 {
3023 "op" : "assign",
3024 "parameters" : [
3025 {
3026 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003027 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003028 },
3029 {
3030 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003031 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003032 }
3033 ],
3034 "source_info" : {
3035 "filename" : "include/control/spgw.p4",
3036 "line" : 43,
3037 "column" : 27,
3038 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3039 }
3040 },
3041 {
3042 "op" : "assign_header",
3043 "parameters" : [
3044 {
3045 "type" : "header",
3046 "value" : "ipv4"
3047 },
3048 {
3049 "type" : "header",
3050 "value" : "inner_ipv4"
3051 }
3052 ],
3053 "source_info" : {
3054 "filename" : "include/control/spgw.p4",
3055 "line" : 45,
3056 "column" : 8,
3057 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3058 }
3059 },
3060 {
3061 "op" : "remove_header",
3062 "parameters" : [
3063 {
3064 "type" : "header",
3065 "value" : "inner_ipv4"
3066 }
3067 ],
3068 "source_info" : {
3069 "filename" : "include/control/spgw.p4",
3070 "line" : 46,
3071 "column" : 8,
3072 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3073 }
3074 },
3075 {
3076 "op" : "remove_header",
3077 "parameters" : [
3078 {
3079 "type" : "header",
3080 "value" : "gtpu"
3081 }
3082 ],
3083 "source_info" : {
3084 "filename" : "include/control/spgw.p4",
3085 "line" : 47,
3086 "column" : 8,
3087 "source_fragment" : "hdr.gtpu.setInvalid()"
3088 }
3089 },
3090 {
3091 "op" : "remove_header",
3092 "parameters" : [
3093 {
3094 "type" : "header",
3095 "value" : "udp"
3096 }
3097 ],
3098 "source_info" : {
3099 "filename" : "include/control/spgw.p4",
3100 "line" : 65,
3101 "column" : 8,
3102 "source_fragment" : "hdr.udp.setInvalid()"
3103 }
3104 },
3105 {
3106 "op" : "assign_header",
3107 "parameters" : [
3108 {
3109 "type" : "header",
3110 "value" : "icmp"
3111 },
3112 {
3113 "type" : "header",
3114 "value" : "inner_icmp"
3115 }
3116 ],
3117 "source_info" : {
3118 "filename" : "include/control/spgw.p4",
3119 "line" : 66,
3120 "column" : 8,
3121 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
3122 }
3123 },
3124 {
3125 "op" : "remove_header",
3126 "parameters" : [
3127 {
3128 "type" : "header",
3129 "value" : "inner_icmp"
3130 }
3131 ],
3132 "source_info" : {
3133 "filename" : "include/control/spgw.p4",
3134 "line" : 67,
3135 "column" : 8,
3136 "source_fragment" : "hdr.inner_icmp.setInvalid()"
3137 }
3138 }
3139 ]
3140 },
3141 {
3142 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
3143 "id" : 32,
3144 "runtime_data" : [],
3145 "primitives" : [
3146 {
3147 "op" : "assign",
3148 "parameters" : [
3149 {
3150 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003151 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003152 },
3153 {
3154 "type" : "hexstr",
3155 "value" : "0x0800"
3156 }
3157 ],
3158 "source_info" : {
3159 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003160 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003161 "column" : 31,
3162 "source_fragment" : "0x0800; ..."
3163 }
3164 },
3165 {
3166 "op" : "assign",
3167 "parameters" : [
3168 {
3169 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003170 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003171 },
3172 {
3173 "type" : "field",
3174 "value" : ["inner_ipv4", "protocol"]
3175 }
3176 ],
3177 "source_info" : {
3178 "filename" : "include/control/spgw.p4",
3179 "line" : 39,
3180 "column" : 27,
3181 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3182 }
3183 },
3184 {
3185 "op" : "assign",
3186 "parameters" : [
3187 {
3188 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003189 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003190 },
3191 {
3192 "type" : "field",
3193 "value" : ["inner_ipv4", "src_addr"]
3194 }
3195 ],
3196 "source_info" : {
3197 "filename" : "include/control/spgw.p4",
3198 "line" : 40,
3199 "column" : 32,
3200 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3201 }
3202 },
3203 {
3204 "op" : "assign",
3205 "parameters" : [
3206 {
3207 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003208 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003209 },
3210 {
3211 "type" : "field",
3212 "value" : ["inner_ipv4", "dst_addr"]
3213 }
3214 ],
3215 "source_info" : {
3216 "filename" : "include/control/spgw.p4",
3217 "line" : 41,
3218 "column" : 32,
3219 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3220 }
3221 },
3222 {
3223 "op" : "assign",
3224 "parameters" : [
3225 {
3226 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003227 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003228 },
3229 {
3230 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003231 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003232 }
3233 ],
3234 "source_info" : {
3235 "filename" : "include/control/spgw.p4",
3236 "line" : 42,
3237 "column" : 27,
3238 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3239 }
3240 },
3241 {
3242 "op" : "assign",
3243 "parameters" : [
3244 {
3245 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003246 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003247 },
3248 {
3249 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003250 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003251 }
3252 ],
3253 "source_info" : {
3254 "filename" : "include/control/spgw.p4",
3255 "line" : 43,
3256 "column" : 27,
3257 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3258 }
3259 },
3260 {
3261 "op" : "assign_header",
3262 "parameters" : [
3263 {
3264 "type" : "header",
3265 "value" : "ipv4"
3266 },
3267 {
3268 "type" : "header",
3269 "value" : "inner_ipv4"
3270 }
3271 ],
3272 "source_info" : {
3273 "filename" : "include/control/spgw.p4",
3274 "line" : 45,
3275 "column" : 8,
3276 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3277 }
3278 },
3279 {
3280 "op" : "remove_header",
3281 "parameters" : [
3282 {
3283 "type" : "header",
3284 "value" : "inner_ipv4"
3285 }
3286 ],
3287 "source_info" : {
3288 "filename" : "include/control/spgw.p4",
3289 "line" : 46,
3290 "column" : 8,
3291 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3292 }
3293 },
3294 {
3295 "op" : "remove_header",
3296 "parameters" : [
3297 {
3298 "type" : "header",
3299 "value" : "gtpu"
3300 }
3301 ],
3302 "source_info" : {
3303 "filename" : "include/control/spgw.p4",
3304 "line" : 47,
3305 "column" : 8,
3306 "source_fragment" : "hdr.gtpu.setInvalid()"
3307 }
3308 },
3309 {
3310 "op" : "remove_header",
3311 "parameters" : [
3312 {
3313 "type" : "header",
3314 "value" : "udp"
3315 }
3316 ],
3317 "source_info" : {
3318 "filename" : "include/control/spgw.p4",
3319 "line" : 72,
3320 "column" : 8,
3321 "source_fragment" : "hdr.udp.setInvalid()"
3322 }
3323 }
3324 ]
3325 },
3326 {
3327 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
3328 "id" : 33,
3329 "runtime_data" : [],
3330 "primitives" : [
3331 {
3332 "op" : "assign",
3333 "parameters" : [
3334 {
3335 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003336 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003337 },
3338 {
3339 "type" : "hexstr",
3340 "value" : "0x0800"
3341 }
3342 ],
3343 "source_info" : {
3344 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003345 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003346 "column" : 31,
3347 "source_fragment" : "0x0800; ..."
3348 }
3349 },
3350 {
3351 "op" : "assign",
3352 "parameters" : [
3353 {
3354 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003355 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003356 },
3357 {
3358 "type" : "field",
3359 "value" : ["inner_ipv4", "protocol"]
3360 }
3361 ],
3362 "source_info" : {
3363 "filename" : "include/control/spgw.p4",
3364 "line" : 39,
3365 "column" : 27,
3366 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3367 }
3368 },
3369 {
3370 "op" : "assign",
3371 "parameters" : [
3372 {
3373 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003374 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003375 },
3376 {
3377 "type" : "field",
3378 "value" : ["inner_ipv4", "src_addr"]
3379 }
3380 ],
3381 "source_info" : {
3382 "filename" : "include/control/spgw.p4",
3383 "line" : 40,
3384 "column" : 32,
3385 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3386 }
3387 },
3388 {
3389 "op" : "assign",
3390 "parameters" : [
3391 {
3392 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003393 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003394 },
3395 {
3396 "type" : "field",
3397 "value" : ["inner_ipv4", "dst_addr"]
3398 }
3399 ],
3400 "source_info" : {
3401 "filename" : "include/control/spgw.p4",
3402 "line" : 41,
3403 "column" : 32,
3404 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3405 }
3406 },
3407 {
3408 "op" : "assign",
3409 "parameters" : [
3410 {
3411 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003412 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003413 },
3414 {
3415 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003416 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003417 }
3418 ],
3419 "source_info" : {
3420 "filename" : "include/control/spgw.p4",
3421 "line" : 42,
3422 "column" : 27,
3423 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3424 }
3425 },
3426 {
3427 "op" : "assign",
3428 "parameters" : [
3429 {
3430 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003431 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003432 },
3433 {
3434 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003435 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003436 }
3437 ],
3438 "source_info" : {
3439 "filename" : "include/control/spgw.p4",
3440 "line" : 43,
3441 "column" : 27,
3442 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3443 }
3444 },
3445 {
3446 "op" : "assign_header",
3447 "parameters" : [
3448 {
3449 "type" : "header",
3450 "value" : "ipv4"
3451 },
3452 {
3453 "type" : "header",
3454 "value" : "inner_ipv4"
3455 }
3456 ],
3457 "source_info" : {
3458 "filename" : "include/control/spgw.p4",
3459 "line" : 45,
3460 "column" : 8,
3461 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3462 }
3463 },
3464 {
3465 "op" : "remove_header",
3466 "parameters" : [
3467 {
3468 "type" : "header",
3469 "value" : "inner_ipv4"
3470 }
3471 ],
3472 "source_info" : {
3473 "filename" : "include/control/spgw.p4",
3474 "line" : 46,
3475 "column" : 8,
3476 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3477 }
3478 },
3479 {
3480 "op" : "remove_header",
3481 "parameters" : [
3482 {
3483 "type" : "header",
3484 "value" : "gtpu"
3485 }
3486 ],
3487 "source_info" : {
3488 "filename" : "include/control/spgw.p4",
3489 "line" : 47,
3490 "column" : 8,
3491 "source_fragment" : "hdr.gtpu.setInvalid()"
3492 }
3493 },
3494 {
3495 "op" : "remove_header",
3496 "parameters" : [
3497 {
3498 "type" : "header",
3499 "value" : "udp"
3500 }
3501 ],
3502 "source_info" : {
3503 "filename" : "include/control/spgw.p4",
3504 "line" : 52,
3505 "column" : 8,
3506 "source_fragment" : "hdr.udp.setInvalid()"
3507 }
3508 },
3509 {
3510 "op" : "assign_header",
3511 "parameters" : [
3512 {
3513 "type" : "header",
3514 "value" : "tcp"
3515 },
3516 {
3517 "type" : "header",
3518 "value" : "inner_tcp"
3519 }
3520 ],
3521 "source_info" : {
3522 "filename" : "include/control/spgw.p4",
3523 "line" : 53,
3524 "column" : 8,
3525 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
3526 }
3527 },
3528 {
3529 "op" : "remove_header",
3530 "parameters" : [
3531 {
3532 "type" : "header",
3533 "value" : "inner_tcp"
3534 }
3535 ],
3536 "source_info" : {
3537 "filename" : "include/control/spgw.p4",
3538 "line" : 54,
3539 "column" : 8,
3540 "source_fragment" : "hdr.inner_tcp.setInvalid()"
3541 }
3542 }
3543 ]
3544 },
3545 {
3546 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
3547 "id" : 34,
3548 "runtime_data" : [],
3549 "primitives" : [
3550 {
3551 "op" : "assign",
3552 "parameters" : [
3553 {
3554 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003555 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003556 },
3557 {
3558 "type" : "hexstr",
3559 "value" : "0x0800"
3560 }
3561 ],
3562 "source_info" : {
3563 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003564 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003565 "column" : 31,
3566 "source_fragment" : "0x0800; ..."
3567 }
3568 },
3569 {
3570 "op" : "assign",
3571 "parameters" : [
3572 {
3573 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003574 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003575 },
3576 {
3577 "type" : "field",
3578 "value" : ["inner_ipv4", "protocol"]
3579 }
3580 ],
3581 "source_info" : {
3582 "filename" : "include/control/spgw.p4",
3583 "line" : 39,
3584 "column" : 27,
3585 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3586 }
3587 },
3588 {
3589 "op" : "assign",
3590 "parameters" : [
3591 {
3592 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003593 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003594 },
3595 {
3596 "type" : "field",
3597 "value" : ["inner_ipv4", "src_addr"]
3598 }
3599 ],
3600 "source_info" : {
3601 "filename" : "include/control/spgw.p4",
3602 "line" : 40,
3603 "column" : 32,
3604 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3605 }
3606 },
3607 {
3608 "op" : "assign",
3609 "parameters" : [
3610 {
3611 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003612 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003613 },
3614 {
3615 "type" : "field",
3616 "value" : ["inner_ipv4", "dst_addr"]
3617 }
3618 ],
3619 "source_info" : {
3620 "filename" : "include/control/spgw.p4",
3621 "line" : 41,
3622 "column" : 32,
3623 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3624 }
3625 },
3626 {
3627 "op" : "assign",
3628 "parameters" : [
3629 {
3630 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003631 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003632 },
3633 {
3634 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003635 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003636 }
3637 ],
3638 "source_info" : {
3639 "filename" : "include/control/spgw.p4",
3640 "line" : 42,
3641 "column" : 27,
3642 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3643 }
3644 },
3645 {
3646 "op" : "assign",
3647 "parameters" : [
3648 {
3649 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003650 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003651 },
3652 {
3653 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003654 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003655 }
3656 ],
3657 "source_info" : {
3658 "filename" : "include/control/spgw.p4",
3659 "line" : 43,
3660 "column" : 27,
3661 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3662 }
3663 },
3664 {
3665 "op" : "assign_header",
3666 "parameters" : [
3667 {
3668 "type" : "header",
3669 "value" : "ipv4"
3670 },
3671 {
3672 "type" : "header",
3673 "value" : "inner_ipv4"
3674 }
3675 ],
3676 "source_info" : {
3677 "filename" : "include/control/spgw.p4",
3678 "line" : 45,
3679 "column" : 8,
3680 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3681 }
3682 },
3683 {
3684 "op" : "remove_header",
3685 "parameters" : [
3686 {
3687 "type" : "header",
3688 "value" : "inner_ipv4"
3689 }
3690 ],
3691 "source_info" : {
3692 "filename" : "include/control/spgw.p4",
3693 "line" : 46,
3694 "column" : 8,
3695 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3696 }
3697 },
3698 {
3699 "op" : "remove_header",
3700 "parameters" : [
3701 {
3702 "type" : "header",
3703 "value" : "gtpu"
3704 }
3705 ],
3706 "source_info" : {
3707 "filename" : "include/control/spgw.p4",
3708 "line" : 47,
3709 "column" : 8,
3710 "source_fragment" : "hdr.gtpu.setInvalid()"
3711 }
3712 },
3713 {
3714 "op" : "assign_header",
3715 "parameters" : [
3716 {
3717 "type" : "header",
3718 "value" : "udp"
3719 },
3720 {
3721 "type" : "header",
3722 "value" : "inner_udp"
3723 }
3724 ],
3725 "source_info" : {
3726 "filename" : "include/control/spgw.p4",
3727 "line" : 59,
3728 "column" : 8,
3729 "source_fragment" : "hdr.udp = hdr.inner_udp"
3730 }
3731 },
3732 {
3733 "op" : "remove_header",
3734 "parameters" : [
3735 {
3736 "type" : "header",
3737 "value" : "inner_udp"
3738 }
3739 ],
3740 "source_info" : {
3741 "filename" : "include/control/spgw.p4",
3742 "line" : 60,
3743 "column" : 8,
3744 "source_fragment" : "hdr.inner_udp.setInvalid()"
3745 }
3746 }
3747 ]
3748 },
3749 {
3750 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
3751 "id" : 35,
3752 "runtime_data" : [],
3753 "primitives" : [
3754 {
3755 "op" : "assign",
3756 "parameters" : [
3757 {
3758 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003759 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003760 },
3761 {
3762 "type" : "hexstr",
3763 "value" : "0x0800"
3764 }
3765 ],
3766 "source_info" : {
3767 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003768 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003769 "column" : 31,
3770 "source_fragment" : "0x0800; ..."
3771 }
3772 },
3773 {
3774 "op" : "assign",
3775 "parameters" : [
3776 {
3777 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003778 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003779 },
3780 {
3781 "type" : "field",
3782 "value" : ["inner_ipv4", "protocol"]
3783 }
3784 ],
3785 "source_info" : {
3786 "filename" : "include/control/spgw.p4",
3787 "line" : 39,
3788 "column" : 27,
3789 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3790 }
3791 },
3792 {
3793 "op" : "assign",
3794 "parameters" : [
3795 {
3796 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003797 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003798 },
3799 {
3800 "type" : "field",
3801 "value" : ["inner_ipv4", "src_addr"]
3802 }
3803 ],
3804 "source_info" : {
3805 "filename" : "include/control/spgw.p4",
3806 "line" : 40,
3807 "column" : 32,
3808 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3809 }
3810 },
3811 {
3812 "op" : "assign",
3813 "parameters" : [
3814 {
3815 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003816 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003817 },
3818 {
3819 "type" : "field",
3820 "value" : ["inner_ipv4", "dst_addr"]
3821 }
3822 ],
3823 "source_info" : {
3824 "filename" : "include/control/spgw.p4",
3825 "line" : 41,
3826 "column" : 32,
3827 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3828 }
3829 },
3830 {
3831 "op" : "assign",
3832 "parameters" : [
3833 {
3834 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003835 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003836 },
3837 {
3838 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003839 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003840 }
3841 ],
3842 "source_info" : {
3843 "filename" : "include/control/spgw.p4",
3844 "line" : 42,
3845 "column" : 27,
3846 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3847 }
3848 },
3849 {
3850 "op" : "assign",
3851 "parameters" : [
3852 {
3853 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003854 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003855 },
3856 {
3857 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003858 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003859 }
3860 ],
3861 "source_info" : {
3862 "filename" : "include/control/spgw.p4",
3863 "line" : 43,
3864 "column" : 27,
3865 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3866 }
3867 },
3868 {
3869 "op" : "assign_header",
3870 "parameters" : [
3871 {
3872 "type" : "header",
3873 "value" : "ipv4"
3874 },
3875 {
3876 "type" : "header",
3877 "value" : "inner_ipv4"
3878 }
3879 ],
3880 "source_info" : {
3881 "filename" : "include/control/spgw.p4",
3882 "line" : 45,
3883 "column" : 8,
3884 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3885 }
3886 },
3887 {
3888 "op" : "remove_header",
3889 "parameters" : [
3890 {
3891 "type" : "header",
3892 "value" : "inner_ipv4"
3893 }
3894 ],
3895 "source_info" : {
3896 "filename" : "include/control/spgw.p4",
3897 "line" : 46,
3898 "column" : 8,
3899 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3900 }
3901 },
3902 {
3903 "op" : "remove_header",
3904 "parameters" : [
3905 {
3906 "type" : "header",
3907 "value" : "gtpu"
3908 }
3909 ],
3910 "source_info" : {
3911 "filename" : "include/control/spgw.p4",
3912 "line" : 47,
3913 "column" : 8,
3914 "source_fragment" : "hdr.gtpu.setInvalid()"
3915 }
3916 },
3917 {
3918 "op" : "remove_header",
3919 "parameters" : [
3920 {
3921 "type" : "header",
3922 "value" : "udp"
3923 }
3924 ],
3925 "source_info" : {
3926 "filename" : "include/control/spgw.p4",
3927 "line" : 65,
3928 "column" : 8,
3929 "source_fragment" : "hdr.udp.setInvalid()"
3930 }
3931 },
3932 {
3933 "op" : "assign_header",
3934 "parameters" : [
3935 {
3936 "type" : "header",
3937 "value" : "icmp"
3938 },
3939 {
3940 "type" : "header",
3941 "value" : "inner_icmp"
3942 }
3943 ],
3944 "source_info" : {
3945 "filename" : "include/control/spgw.p4",
3946 "line" : 66,
3947 "column" : 8,
3948 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
3949 }
3950 },
3951 {
3952 "op" : "remove_header",
3953 "parameters" : [
3954 {
3955 "type" : "header",
3956 "value" : "inner_icmp"
3957 }
3958 ],
3959 "source_info" : {
3960 "filename" : "include/control/spgw.p4",
3961 "line" : 67,
3962 "column" : 8,
3963 "source_fragment" : "hdr.inner_icmp.setInvalid()"
3964 }
3965 }
3966 ]
3967 },
3968 {
3969 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
3970 "id" : 36,
3971 "runtime_data" : [],
3972 "primitives" : [
3973 {
3974 "op" : "assign",
3975 "parameters" : [
3976 {
3977 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003978 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003979 },
3980 {
3981 "type" : "hexstr",
3982 "value" : "0x0800"
3983 }
3984 ],
3985 "source_info" : {
3986 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003987 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003988 "column" : 31,
3989 "source_fragment" : "0x0800; ..."
3990 }
3991 },
3992 {
3993 "op" : "assign",
3994 "parameters" : [
3995 {
3996 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003997 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003998 },
3999 {
4000 "type" : "field",
4001 "value" : ["inner_ipv4", "protocol"]
4002 }
4003 ],
4004 "source_info" : {
4005 "filename" : "include/control/spgw.p4",
4006 "line" : 39,
4007 "column" : 27,
4008 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4009 }
4010 },
4011 {
4012 "op" : "assign",
4013 "parameters" : [
4014 {
4015 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004016 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004017 },
4018 {
4019 "type" : "field",
4020 "value" : ["inner_ipv4", "src_addr"]
4021 }
4022 ],
4023 "source_info" : {
4024 "filename" : "include/control/spgw.p4",
4025 "line" : 40,
4026 "column" : 32,
4027 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4028 }
4029 },
4030 {
4031 "op" : "assign",
4032 "parameters" : [
4033 {
4034 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004035 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004036 },
4037 {
4038 "type" : "field",
4039 "value" : ["inner_ipv4", "dst_addr"]
4040 }
4041 ],
4042 "source_info" : {
4043 "filename" : "include/control/spgw.p4",
4044 "line" : 41,
4045 "column" : 32,
4046 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4047 }
4048 },
4049 {
4050 "op" : "assign",
4051 "parameters" : [
4052 {
4053 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004054 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004055 },
4056 {
4057 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004058 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004059 }
4060 ],
4061 "source_info" : {
4062 "filename" : "include/control/spgw.p4",
4063 "line" : 42,
4064 "column" : 27,
4065 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4066 }
4067 },
4068 {
4069 "op" : "assign",
4070 "parameters" : [
4071 {
4072 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004073 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004074 },
4075 {
4076 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004077 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004078 }
4079 ],
4080 "source_info" : {
4081 "filename" : "include/control/spgw.p4",
4082 "line" : 43,
4083 "column" : 27,
4084 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4085 }
4086 },
4087 {
4088 "op" : "assign_header",
4089 "parameters" : [
4090 {
4091 "type" : "header",
4092 "value" : "ipv4"
4093 },
4094 {
4095 "type" : "header",
4096 "value" : "inner_ipv4"
4097 }
4098 ],
4099 "source_info" : {
4100 "filename" : "include/control/spgw.p4",
4101 "line" : 45,
4102 "column" : 8,
4103 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4104 }
4105 },
4106 {
4107 "op" : "remove_header",
4108 "parameters" : [
4109 {
4110 "type" : "header",
4111 "value" : "inner_ipv4"
4112 }
4113 ],
4114 "source_info" : {
4115 "filename" : "include/control/spgw.p4",
4116 "line" : 46,
4117 "column" : 8,
4118 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4119 }
4120 },
4121 {
4122 "op" : "remove_header",
4123 "parameters" : [
4124 {
4125 "type" : "header",
4126 "value" : "gtpu"
4127 }
4128 ],
4129 "source_info" : {
4130 "filename" : "include/control/spgw.p4",
4131 "line" : 47,
4132 "column" : 8,
4133 "source_fragment" : "hdr.gtpu.setInvalid()"
4134 }
4135 },
4136 {
4137 "op" : "remove_header",
4138 "parameters" : [
4139 {
4140 "type" : "header",
4141 "value" : "udp"
4142 }
4143 ],
4144 "source_info" : {
4145 "filename" : "include/control/spgw.p4",
4146 "line" : 72,
4147 "column" : 8,
4148 "source_fragment" : "hdr.udp.setInvalid()"
4149 }
4150 }
4151 ]
4152 },
4153 {
4154 "name" : "FabricIngress.spgw.load_iface",
4155 "id" : 37,
Robert MacDavidde12b982020-07-15 18:38:59 -07004156 "runtime_data" : [
4157 {
4158 "name" : "src_iface",
4159 "bitwidth" : 8
Robert MacDavidde12b982020-07-15 18:38:59 -07004160 }
4161 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004162 "primitives" : [
4163 {
4164 "op" : "assign",
4165 "parameters" : [
4166 {
4167 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004168 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004169 },
4170 {
4171 "type" : "runtime_data",
4172 "value" : 0
4173 }
4174 ],
4175 "source_info" : {
4176 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004177 "line" : 120,
Robert MacDavidde12b982020-07-15 18:38:59 -07004178 "column" : 33,
4179 "source_fragment" : "= src_iface; ..."
4180 }
4181 },
4182 {
4183 "op" : "assign",
4184 "parameters" : [
4185 {
4186 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004187 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004188 },
4189 {
4190 "type" : "expression",
4191 "value" : {
4192 "type" : "expression",
4193 "value" : {
4194 "op" : "b2d",
4195 "left" : null,
4196 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004197 "type" : "bool",
4198 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07004199 }
4200 }
4201 }
4202 }
4203 ],
4204 "source_info" : {
4205 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004206 "line" : 121,
Robert MacDavidde12b982020-07-15 18:38:59 -07004207 "column" : 33,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004208 "source_fragment" : "= false; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004209 }
4210 }
4211 ]
4212 },
4213 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004214 "name" : "FabricIngress.spgw.iface_miss",
4215 "id" : 38,
4216 "runtime_data" : [],
4217 "primitives" : [
4218 {
4219 "op" : "assign",
4220 "parameters" : [
4221 {
4222 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004223 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004224 },
4225 {
4226 "type" : "hexstr",
4227 "value" : "0x00"
4228 }
4229 ],
4230 "source_info" : {
4231 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004232 "line" : 110,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004233 "column" : 44,
4234 "source_fragment" : "8w0; ..."
4235 }
4236 },
4237 {
4238 "op" : "assign",
4239 "parameters" : [
4240 {
4241 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004242 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004243 },
4244 {
4245 "type" : "expression",
4246 "value" : {
4247 "type" : "expression",
4248 "value" : {
4249 "op" : "b2d",
4250 "left" : null,
4251 "right" : {
4252 "type" : "bool",
4253 "value" : true
4254 }
4255 }
4256 }
4257 }
4258 ],
4259 "source_info" : {
4260 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004261 "line" : 125,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004262 "column" : 33,
4263 "source_fragment" : "= true; ..."
4264 }
4265 }
4266 ]
4267 },
4268 {
4269 "name" : "FabricIngress.spgw.load_pdr",
4270 "id" : 39,
Robert MacDavidde12b982020-07-15 18:38:59 -07004271 "runtime_data" : [
4272 {
4273 "name" : "ctr_id",
4274 "bitwidth" : 32
4275 },
4276 {
4277 "name" : "far_id",
4278 "bitwidth" : 32
4279 },
4280 {
4281 "name" : "needs_gtpu_decap",
4282 "bitwidth" : 1
4283 }
4284 ],
4285 "primitives" : [
4286 {
4287 "op" : "assign",
4288 "parameters" : [
4289 {
4290 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004291 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004292 },
4293 {
4294 "type" : "runtime_data",
4295 "value" : 0
4296 }
4297 ],
4298 "source_info" : {
4299 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004300 "line" : 150,
Robert MacDavidde12b982020-07-15 18:38:59 -07004301 "column" : 30,
4302 "source_fragment" : "= ctr_id; ..."
4303 }
4304 },
4305 {
4306 "op" : "assign",
4307 "parameters" : [
4308 {
4309 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004310 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004311 },
4312 {
4313 "type" : "runtime_data",
4314 "value" : 1
4315 }
4316 ],
4317 "source_info" : {
4318 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004319 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004320 "column" : 30,
4321 "source_fragment" : "= far_id; ..."
4322 }
4323 },
4324 {
4325 "op" : "assign",
4326 "parameters" : [
4327 {
4328 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004329 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004330 },
4331 {
4332 "type" : "expression",
4333 "value" : {
4334 "type" : "expression",
4335 "value" : {
4336 "op" : "b2d",
4337 "left" : null,
4338 "right" : {
4339 "type" : "expression",
4340 "value" : {
4341 "op" : "!=",
4342 "left" : {
4343 "type" : "local",
4344 "value" : 2
4345 },
4346 "right" : {
4347 "type" : "hexstr",
4348 "value" : "0x00"
4349 }
4350 }
4351 }
4352 }
4353 }
4354 }
4355 ],
4356 "source_info" : {
4357 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004358 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004359 "column" : 40,
4360 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
4361 }
4362 }
4363 ]
4364 },
4365 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004366 "name" : "FabricIngress.spgw.load_pdr",
4367 "id" : 40,
Robert MacDavidde12b982020-07-15 18:38:59 -07004368 "runtime_data" : [
4369 {
4370 "name" : "ctr_id",
4371 "bitwidth" : 32
4372 },
4373 {
4374 "name" : "far_id",
4375 "bitwidth" : 32
4376 },
4377 {
4378 "name" : "needs_gtpu_decap",
4379 "bitwidth" : 1
4380 }
4381 ],
4382 "primitives" : [
4383 {
4384 "op" : "assign",
4385 "parameters" : [
4386 {
4387 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004388 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004389 },
4390 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004391 "type" : "runtime_data",
4392 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004393 }
4394 ],
4395 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004396 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004397 "line" : 150,
Robert MacDavidde12b982020-07-15 18:38:59 -07004398 "column" : 30,
4399 "source_fragment" : "= ctr_id; ..."
4400 }
4401 },
4402 {
4403 "op" : "assign",
4404 "parameters" : [
4405 {
4406 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004407 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004408 },
4409 {
4410 "type" : "runtime_data",
4411 "value" : 1
4412 }
4413 ],
4414 "source_info" : {
4415 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004416 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004417 "column" : 30,
4418 "source_fragment" : "= far_id; ..."
4419 }
4420 },
4421 {
4422 "op" : "assign",
4423 "parameters" : [
4424 {
4425 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004426 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004427 },
4428 {
4429 "type" : "expression",
4430 "value" : {
4431 "type" : "expression",
4432 "value" : {
4433 "op" : "b2d",
4434 "left" : null,
4435 "right" : {
4436 "type" : "expression",
4437 "value" : {
4438 "op" : "!=",
4439 "left" : {
4440 "type" : "local",
4441 "value" : 2
4442 },
4443 "right" : {
4444 "type" : "hexstr",
4445 "value" : "0x00"
4446 }
4447 }
4448 }
4449 }
4450 }
4451 }
4452 ],
4453 "source_info" : {
4454 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004455 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004456 "column" : 40,
4457 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004458 }
4459 }
4460 ]
4461 },
4462 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004463 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004464 "id" : 41,
Robert MacDavidde12b982020-07-15 18:38:59 -07004465 "runtime_data" : [
4466 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004467 "name" : "ctr_id",
4468 "bitwidth" : 32
4469 },
4470 {
4471 "name" : "far_id",
4472 "bitwidth" : 32
4473 },
4474 {
4475 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07004476 "bitwidth" : 1
4477 },
4478 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004479 "name" : "qid",
4480 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07004481 }
4482 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004483 "primitives" : [
4484 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004485 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004486 "parameters" : [
4487 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004488 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004489 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004490 },
4491 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004492 "type" : "runtime_data",
4493 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004494 }
4495 ],
4496 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004497 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004498 "line" : 150,
ersuneetsinghe326c722021-03-25 21:17:29 -03004499 "column" : 30,
4500 "source_fragment" : "= ctr_id; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004501 }
4502 },
4503 {
4504 "op" : "assign",
4505 "parameters" : [
4506 {
4507 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004508 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004509 },
4510 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004511 "type" : "runtime_data",
4512 "value" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004513 }
4514 ],
4515 "source_info" : {
4516 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004517 "line" : 151,
ersuneetsinghe326c722021-03-25 21:17:29 -03004518 "column" : 30,
4519 "source_fragment" : "= far_id; ..."
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004520 }
4521 },
4522 {
4523 "op" : "assign",
4524 "parameters" : [
4525 {
4526 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004527 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004528 },
4529 {
4530 "type" : "expression",
4531 "value" : {
4532 "type" : "expression",
4533 "value" : {
4534 "op" : "b2d",
4535 "left" : null,
4536 "right" : {
4537 "type" : "expression",
4538 "value" : {
4539 "op" : "!=",
4540 "left" : {
4541 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03004542 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07004543 },
4544 "right" : {
4545 "type" : "hexstr",
4546 "value" : "0x00"
4547 }
4548 }
4549 }
4550 }
4551 }
4552 }
4553 ],
4554 "source_info" : {
4555 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004556 "line" : 152,
ersuneetsinghe326c722021-03-25 21:17:29 -03004557 "column" : 40,
4558 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004559 }
4560 }
4561 ]
4562 },
4563 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004564 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004565 "id" : 42,
Robert MacDavidde12b982020-07-15 18:38:59 -07004566 "runtime_data" : [
4567 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004568 "name" : "ctr_id",
4569 "bitwidth" : 32
4570 },
4571 {
4572 "name" : "far_id",
4573 "bitwidth" : 32
4574 },
4575 {
4576 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07004577 "bitwidth" : 1
4578 },
4579 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004580 "name" : "qid",
4581 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07004582 }
4583 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004584 "primitives" : [
4585 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004586 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004587 "parameters" : [
4588 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004589 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004590 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
ersuneetsinghe326c722021-03-25 21:17:29 -03004591 },
4592 {
4593 "type" : "runtime_data",
4594 "value" : 0
4595 }
4596 ],
4597 "source_info" : {
4598 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004599 "line" : 150,
ersuneetsinghe326c722021-03-25 21:17:29 -03004600 "column" : 30,
4601 "source_fragment" : "= ctr_id; ..."
4602 }
4603 },
4604 {
4605 "op" : "assign",
4606 "parameters" : [
4607 {
4608 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004609 "value" : ["scalars", "userMetadata._spgw_far_id25"]
ersuneetsinghe326c722021-03-25 21:17:29 -03004610 },
4611 {
4612 "type" : "runtime_data",
4613 "value" : 1
4614 }
4615 ],
4616 "source_info" : {
4617 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004618 "line" : 151,
ersuneetsinghe326c722021-03-25 21:17:29 -03004619 "column" : 30,
4620 "source_fragment" : "= far_id; ..."
4621 }
4622 },
4623 {
4624 "op" : "assign",
4625 "parameters" : [
4626 {
4627 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004628 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004629 },
4630 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004631 "type" : "expression",
4632 "value" : {
4633 "type" : "expression",
4634 "value" : {
4635 "op" : "b2d",
4636 "left" : null,
4637 "right" : {
4638 "type" : "expression",
4639 "value" : {
4640 "op" : "!=",
4641 "left" : {
4642 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03004643 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07004644 },
4645 "right" : {
4646 "type" : "hexstr",
4647 "value" : "0x00"
4648 }
4649 }
4650 }
4651 }
4652 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004653 }
4654 ],
4655 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004656 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004657 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004658 "column" : 40,
ersuneetsinghe326c722021-03-25 21:17:29 -03004659 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004660 }
4661 }
4662 ]
4663 },
4664 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004665 "name" : "FabricIngress.spgw.load_normal_far",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004666 "id" : 43,
4667 "runtime_data" : [
4668 {
4669 "name" : "drop",
4670 "bitwidth" : 1
4671 },
4672 {
4673 "name" : "notify_cp",
4674 "bitwidth" : 1
ersuneetsinghe326c722021-03-25 21:17:29 -03004675 }
4676 ],
4677 "primitives" : [
4678 {
4679 "op" : "assign",
4680 "parameters" : [
4681 {
4682 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004683 "value" : ["scalars", "userMetadata._skip_forwarding6"]
4684 },
4685 {
4686 "type" : "expression",
4687 "value" : {
4688 "type" : "expression",
4689 "value" : {
4690 "op" : "b2d",
4691 "left" : null,
4692 "right" : {
4693 "type" : "expression",
4694 "value" : {
4695 "op" : "!=",
4696 "left" : {
4697 "type" : "local",
4698 "value" : 0
4699 },
4700 "right" : {
4701 "type" : "hexstr",
4702 "value" : "0x00"
4703 }
4704 }
4705 }
4706 }
4707 }
4708 }
4709 ],
4710 "source_info" : {
4711 "filename" : "include/control/spgw.p4",
4712 "line" : 195,
4713 "column" : 34,
4714 "source_fragment" : "= (bool)drop; ..."
4715 }
4716 },
4717 {
4718 "op" : "assign",
4719 "parameters" : [
4720 {
4721 "type" : "field",
4722 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghe326c722021-03-25 21:17:29 -03004723 },
4724 {
4725 "type" : "expression",
4726 "value" : {
4727 "type" : "expression",
4728 "value" : {
4729 "op" : "b2d",
4730 "left" : null,
4731 "right" : {
4732 "type" : "expression",
4733 "value" : {
4734 "op" : "!=",
4735 "left" : {
4736 "type" : "local",
4737 "value" : 0
4738 },
4739 "right" : {
4740 "type" : "hexstr",
4741 "value" : "0x00"
4742 }
4743 }
4744 }
4745 }
4746 }
4747 }
4748 ],
4749 "source_info" : {
4750 "filename" : "include/control/spgw.p4",
4751 "line" : 196,
ersuneetsinghe326c722021-03-25 21:17:29 -03004752 "column" : 28,
4753 "source_fragment" : "= (bool)drop; ..."
4754 }
4755 },
4756 {
4757 "op" : "assign",
4758 "parameters" : [
4759 {
4760 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004761 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghe326c722021-03-25 21:17:29 -03004762 },
4763 {
4764 "type" : "expression",
4765 "value" : {
4766 "type" : "expression",
4767 "value" : {
4768 "op" : "b2d",
4769 "left" : null,
4770 "right" : {
4771 "type" : "expression",
4772 "value" : {
4773 "op" : "!=",
4774 "left" : {
4775 "type" : "local",
4776 "value" : 1
4777 },
4778 "right" : {
4779 "type" : "hexstr",
4780 "value" : "0x00"
4781 }
4782 }
4783 }
4784 }
4785 }
4786 }
4787 ],
4788 "source_info" : {
4789 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004790 "line" : 197,
ersuneetsinghe326c722021-03-25 21:17:29 -03004791 "column" : 36,
4792 "source_fragment" : "= (bool)notify_cp; ..."
4793 }
4794 }
4795 ]
4796 },
4797 {
4798 "name" : "FabricIngress.spgw.load_tunnel_far",
4799 "id" : 44,
4800 "runtime_data" : [
4801 {
4802 "name" : "drop",
4803 "bitwidth" : 1
4804 },
4805 {
4806 "name" : "notify_cp",
4807 "bitwidth" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004808 },
4809 {
4810 "name" : "tunnel_src_port",
4811 "bitwidth" : 16
4812 },
4813 {
4814 "name" : "tunnel_src_addr",
4815 "bitwidth" : 32
4816 },
4817 {
4818 "name" : "tunnel_dst_addr",
4819 "bitwidth" : 32
4820 },
4821 {
4822 "name" : "teid",
4823 "bitwidth" : 32
4824 }
4825 ],
Robert MacDavidde12b982020-07-15 18:38:59 -07004826 "primitives" : [
4827 {
4828 "op" : "assign",
4829 "parameters" : [
4830 {
4831 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004832 "value" : ["scalars", "userMetadata._skip_forwarding6"]
4833 },
4834 {
4835 "type" : "expression",
4836 "value" : {
4837 "type" : "expression",
4838 "value" : {
4839 "op" : "b2d",
4840 "left" : null,
4841 "right" : {
4842 "type" : "expression",
4843 "value" : {
4844 "op" : "!=",
4845 "left" : {
4846 "type" : "local",
4847 "value" : 0
4848 },
4849 "right" : {
4850 "type" : "hexstr",
4851 "value" : "0x00"
4852 }
4853 }
4854 }
4855 }
4856 }
4857 }
4858 ],
4859 "source_info" : {
4860 "filename" : "include/control/spgw.p4",
4861 "line" : 206,
4862 "column" : 34,
4863 "source_fragment" : "= (bool)drop; ..."
4864 }
4865 },
4866 {
4867 "op" : "assign",
4868 "parameters" : [
4869 {
4870 "type" : "field",
4871 "value" : ["scalars", "userMetadata._skip_next7"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004872 },
4873 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004874 "type" : "expression",
4875 "value" : {
4876 "type" : "expression",
4877 "value" : {
4878 "op" : "b2d",
4879 "left" : null,
4880 "right" : {
4881 "type" : "expression",
4882 "value" : {
4883 "op" : "!=",
4884 "left" : {
4885 "type" : "local",
4886 "value" : 0
4887 },
4888 "right" : {
4889 "type" : "hexstr",
4890 "value" : "0x00"
4891 }
4892 }
4893 }
4894 }
4895 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004896 }
4897 ],
4898 "source_info" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004899 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004900 "line" : 207,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004901 "column" : 28,
4902 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004903 }
4904 },
4905 {
4906 "op" : "assign",
4907 "parameters" : [
4908 {
4909 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004910 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004911 },
4912 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004913 "type" : "expression",
4914 "value" : {
4915 "type" : "expression",
4916 "value" : {
4917 "op" : "b2d",
4918 "left" : null,
4919 "right" : {
4920 "type" : "expression",
4921 "value" : {
4922 "op" : "!=",
4923 "left" : {
4924 "type" : "local",
4925 "value" : 1
4926 },
4927 "right" : {
4928 "type" : "hexstr",
4929 "value" : "0x00"
4930 }
4931 }
4932 }
4933 }
4934 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004935 }
4936 ],
4937 "source_info" : {
4938 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004939 "line" : 208,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004940 "column" : 36,
4941 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004942 }
4943 },
4944 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004945 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004946 "parameters" : [
4947 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004948 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004949 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004950 },
4951 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004952 "type" : "expression",
4953 "value" : {
4954 "type" : "expression",
4955 "value" : {
4956 "op" : "b2d",
4957 "left" : null,
4958 "right" : {
4959 "type" : "bool",
4960 "value" : true
4961 }
4962 }
4963 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004964 }
4965 ],
4966 "source_info" : {
4967 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004968 "line" : 210,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004969 "column" : 40,
4970 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004971 }
4972 },
4973 {
4974 "op" : "assign",
4975 "parameters" : [
4976 {
4977 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004978 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004979 },
4980 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004981 "type" : "runtime_data",
4982 "value" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07004983 }
4984 ],
4985 "source_info" : {
4986 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004987 "line" : 211,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004988 "column" : 28,
4989 "source_fragment" : "= teid; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004990 }
4991 },
4992 {
4993 "op" : "assign",
4994 "parameters" : [
4995 {
4996 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004997 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004998 },
4999 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005000 "type" : "runtime_data",
5001 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005002 }
5003 ],
5004 "source_info" : {
5005 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005006 "line" : 212,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005007 "column" : 39,
5008 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005009 }
5010 },
5011 {
5012 "op" : "assign",
5013 "parameters" : [
5014 {
5015 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005016 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005017 },
5018 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005019 "type" : "runtime_data",
5020 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005021 }
5022 ],
5023 "source_info" : {
5024 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005025 "line" : 213,
5026 "column" : 39,
5027 "source_fragment" : "= tunnel_src_addr; ..."
5028 }
5029 },
5030 {
5031 "op" : "assign",
5032 "parameters" : [
5033 {
5034 "type" : "field",
5035 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5036 },
5037 {
5038 "type" : "runtime_data",
5039 "value" : 4
5040 }
5041 ],
5042 "source_info" : {
5043 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005044 "line" : 214,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005045 "column" : 39,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005046 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005047 }
5048 },
5049 {
5050 "op" : "assign",
5051 "parameters" : [
5052 {
5053 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005054 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005055 },
5056 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005057 "type" : "runtime_data",
5058 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005059 }
5060 ],
5061 "source_info" : {
5062 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005063 "line" : 216,
Robert MacDavidde12b982020-07-15 18:38:59 -07005064 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005065 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005066 }
5067 },
5068 {
5069 "op" : "assign",
5070 "parameters" : [
5071 {
5072 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005073 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005074 },
5075 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005076 "type" : "runtime_data",
5077 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07005078 }
5079 ],
5080 "source_info" : {
5081 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005082 "line" : 217,
Robert MacDavidde12b982020-07-15 18:38:59 -07005083 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005084 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005085 }
5086 },
5087 {
5088 "op" : "assign",
5089 "parameters" : [
5090 {
5091 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005092 "value" : ["scalars", "userMetadata._l4_sport13"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005093 },
5094 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005095 "type" : "runtime_data",
5096 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005097 }
5098 ],
5099 "source_info" : {
5100 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005101 "line" : 218,
Robert MacDavidde12b982020-07-15 18:38:59 -07005102 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005103 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005104 }
5105 },
5106 {
5107 "op" : "assign",
5108 "parameters" : [
5109 {
5110 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005111 "value" : ["scalars", "userMetadata._l4_dport14"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005112 },
5113 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005114 "type" : "hexstr",
5115 "value" : "0x0868"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005116 }
5117 ],
5118 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005119 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005120 "line" : 219,
ersuneetsinghe326c722021-03-25 21:17:29 -03005121 "column" : 27,
5122 "source_fragment" : "= 2152; ..."
5123 }
5124 }
5125 ]
5126 },
5127 {
5128 "name" : "FabricIngress.spgw.load_dbuf_far",
5129 "id" : 45,
5130 "runtime_data" : [
5131 {
5132 "name" : "drop",
5133 "bitwidth" : 1
5134 },
5135 {
5136 "name" : "notify_cp",
5137 "bitwidth" : 1
5138 },
5139 {
5140 "name" : "tunnel_src_port",
5141 "bitwidth" : 16
5142 },
5143 {
5144 "name" : "tunnel_src_addr",
5145 "bitwidth" : 32
5146 },
5147 {
5148 "name" : "tunnel_dst_addr",
5149 "bitwidth" : 32
5150 },
5151 {
5152 "name" : "teid",
5153 "bitwidth" : 32
5154 }
5155 ],
5156 "primitives" : [
5157 {
5158 "op" : "assign",
5159 "parameters" : [
5160 {
5161 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005162 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5163 },
5164 {
5165 "type" : "expression",
5166 "value" : {
5167 "type" : "expression",
5168 "value" : {
5169 "op" : "b2d",
5170 "left" : null,
5171 "right" : {
5172 "type" : "expression",
5173 "value" : {
5174 "op" : "!=",
5175 "left" : {
5176 "type" : "local",
5177 "value" : 0
5178 },
5179 "right" : {
5180 "type" : "hexstr",
5181 "value" : "0x00"
5182 }
5183 }
5184 }
5185 }
5186 }
5187 }
5188 ],
5189 "source_info" : {
5190 "filename" : "include/control/spgw.p4",
5191 "line" : 206,
5192 "column" : 34,
5193 "source_fragment" : "= (bool)drop; ..."
5194 }
5195 },
5196 {
5197 "op" : "assign",
5198 "parameters" : [
5199 {
5200 "type" : "field",
5201 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005202 },
5203 {
5204 "type" : "expression",
5205 "value" : {
5206 "type" : "expression",
5207 "value" : {
5208 "op" : "b2d",
5209 "left" : null,
5210 "right" : {
5211 "type" : "expression",
5212 "value" : {
5213 "op" : "!=",
5214 "left" : {
5215 "type" : "local",
5216 "value" : 0
5217 },
5218 "right" : {
5219 "type" : "hexstr",
5220 "value" : "0x00"
5221 }
5222 }
5223 }
5224 }
5225 }
5226 }
5227 ],
5228 "source_info" : {
5229 "filename" : "include/control/spgw.p4",
5230 "line" : 207,
ersuneetsinghe326c722021-03-25 21:17:29 -03005231 "column" : 28,
5232 "source_fragment" : "= (bool)drop; ..."
5233 }
5234 },
5235 {
5236 "op" : "assign",
5237 "parameters" : [
5238 {
5239 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005240 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005241 },
5242 {
5243 "type" : "expression",
5244 "value" : {
5245 "type" : "expression",
5246 "value" : {
5247 "op" : "b2d",
5248 "left" : null,
5249 "right" : {
5250 "type" : "expression",
5251 "value" : {
5252 "op" : "!=",
5253 "left" : {
5254 "type" : "local",
5255 "value" : 1
5256 },
5257 "right" : {
5258 "type" : "hexstr",
5259 "value" : "0x00"
5260 }
5261 }
5262 }
5263 }
5264 }
5265 }
5266 ],
5267 "source_info" : {
5268 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005269 "line" : 208,
ersuneetsinghe326c722021-03-25 21:17:29 -03005270 "column" : 36,
5271 "source_fragment" : "= (bool)notify_cp; ..."
5272 }
5273 },
5274 {
5275 "op" : "assign",
5276 "parameters" : [
5277 {
5278 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005279 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005280 },
5281 {
5282 "type" : "expression",
5283 "value" : {
5284 "type" : "expression",
5285 "value" : {
5286 "op" : "b2d",
5287 "left" : null,
5288 "right" : {
5289 "type" : "bool",
5290 "value" : true
5291 }
5292 }
5293 }
5294 }
5295 ],
5296 "source_info" : {
5297 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005298 "line" : 210,
ersuneetsinghe326c722021-03-25 21:17:29 -03005299 "column" : 40,
5300 "source_fragment" : "= true; ..."
5301 }
5302 },
5303 {
5304 "op" : "assign",
5305 "parameters" : [
5306 {
5307 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005308 "value" : ["scalars", "userMetadata._spgw_teid20"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005309 },
5310 {
5311 "type" : "runtime_data",
5312 "value" : 5
5313 }
5314 ],
5315 "source_info" : {
5316 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005317 "line" : 211,
ersuneetsinghe326c722021-03-25 21:17:29 -03005318 "column" : 28,
5319 "source_fragment" : "= teid; ..."
5320 }
5321 },
5322 {
5323 "op" : "assign",
5324 "parameters" : [
5325 {
5326 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005327 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005328 },
5329 {
5330 "type" : "runtime_data",
5331 "value" : 2
5332 }
5333 ],
5334 "source_info" : {
5335 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005336 "line" : 212,
ersuneetsinghe326c722021-03-25 21:17:29 -03005337 "column" : 39,
5338 "source_fragment" : "= tunnel_src_port; ..."
5339 }
5340 },
5341 {
5342 "op" : "assign",
5343 "parameters" : [
5344 {
5345 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005346 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005347 },
5348 {
5349 "type" : "runtime_data",
5350 "value" : 3
5351 }
5352 ],
5353 "source_info" : {
5354 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005355 "line" : 213,
5356 "column" : 39,
5357 "source_fragment" : "= tunnel_src_addr; ..."
5358 }
5359 },
5360 {
5361 "op" : "assign",
5362 "parameters" : [
5363 {
5364 "type" : "field",
5365 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5366 },
5367 {
5368 "type" : "runtime_data",
5369 "value" : 4
5370 }
5371 ],
5372 "source_info" : {
5373 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005374 "line" : 214,
5375 "column" : 39,
ersuneetsinghe326c722021-03-25 21:17:29 -03005376 "source_fragment" : "= tunnel_dst_addr; ..."
5377 }
5378 },
5379 {
5380 "op" : "assign",
5381 "parameters" : [
5382 {
5383 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005384 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005385 },
5386 {
5387 "type" : "runtime_data",
5388 "value" : 3
5389 }
5390 ],
5391 "source_info" : {
5392 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005393 "line" : 216,
ersuneetsinghe326c722021-03-25 21:17:29 -03005394 "column" : 32,
5395 "source_fragment" : "= tunnel_src_addr; ..."
5396 }
5397 },
5398 {
5399 "op" : "assign",
5400 "parameters" : [
5401 {
5402 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005403 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005404 },
5405 {
5406 "type" : "runtime_data",
5407 "value" : 4
5408 }
5409 ],
5410 "source_info" : {
5411 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005412 "line" : 217,
ersuneetsinghe326c722021-03-25 21:17:29 -03005413 "column" : 32,
5414 "source_fragment" : "= tunnel_dst_addr; ..."
5415 }
5416 },
5417 {
5418 "op" : "assign",
5419 "parameters" : [
5420 {
5421 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005422 "value" : ["scalars", "userMetadata._l4_sport13"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005423 },
5424 {
5425 "type" : "runtime_data",
5426 "value" : 2
5427 }
5428 ],
5429 "source_info" : {
5430 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005431 "line" : 218,
ersuneetsinghe326c722021-03-25 21:17:29 -03005432 "column" : 27,
5433 "source_fragment" : "= tunnel_src_port; ..."
5434 }
5435 },
5436 {
5437 "op" : "assign",
5438 "parameters" : [
5439 {
5440 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005441 "value" : ["scalars", "userMetadata._l4_dport14"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005442 },
5443 {
5444 "type" : "hexstr",
5445 "value" : "0x0868"
5446 }
5447 ],
5448 "source_info" : {
5449 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005450 "line" : 219,
Robert MacDavidde12b982020-07-15 18:38:59 -07005451 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005452 "source_fragment" : "= 2152; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005453 }
5454 },
5455 {
5456 "op" : "assign",
5457 "parameters" : [
5458 {
5459 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005460 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005461 },
5462 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005463 "type" : "expression",
5464 "value" : {
5465 "type" : "expression",
5466 "value" : {
5467 "op" : "b2d",
5468 "left" : null,
5469 "right" : {
5470 "type" : "bool",
5471 "value" : true
5472 }
5473 }
5474 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005475 }
5476 ],
5477 "source_info" : {
5478 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005479 "line" : 230,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005480 "column" : 43,
5481 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005482 }
5483 }
5484 ]
5485 },
5486 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005487 "name" : "packetio25",
ersuneetsinghe326c722021-03-25 21:17:29 -03005488 "id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005489 "runtime_data" : [],
5490 "primitives" : [
5491 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005492 "op" : "assign",
5493 "parameters" : [
5494 {
5495 "type" : "field",
5496 "value" : ["standard_metadata", "egress_spec"]
5497 },
5498 {
5499 "type" : "field",
5500 "value" : ["packet_out", "egress_port"]
5501 }
5502 ],
5503 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005504 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005505 "line" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005506 "column" : 12,
5507 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
5508 }
5509 },
5510 {
5511 "op" : "remove_header",
5512 "parameters" : [
5513 {
5514 "type" : "header",
5515 "value" : "packet_out"
5516 }
5517 ],
5518 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005519 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005520 "line" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005521 "column" : 12,
5522 "source_fragment" : "hdr.packet_out.setInvalid()"
5523 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07005524 },
5525 {
5526 "op" : "assign",
5527 "parameters" : [
5528 {
5529 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005530 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07005531 },
5532 {
5533 "type" : "expression",
5534 "value" : {
5535 "type" : "expression",
5536 "value" : {
5537 "op" : "b2d",
5538 "left" : null,
5539 "right" : {
5540 "type" : "bool",
5541 "value" : true
5542 }
5543 }
5544 }
5545 }
5546 ],
5547 "source_info" : {
5548 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005549 "line" : 27,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005550 "column" : 53,
5551 "source_fragment" : "= true; ..."
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07005552 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005553 },
5554 {
5555 "op" : "exit",
5556 "parameters" : [],
5557 "source_info" : {
5558 "filename" : "include/control/packetio.p4",
5559 "line" : 29,
5560 "column" : 12,
5561 "source_fragment" : "exit"
5562 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005563 }
5564 ]
5565 },
5566 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005567 "name" : "spgw265",
ersuneetsinghe326c722021-03-25 21:17:29 -03005568 "id" : 47,
Robert MacDavidde12b982020-07-15 18:38:59 -07005569 "runtime_data" : [],
5570 "primitives" : [
5571 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005572 "op" : "count",
5573 "parameters" : [
5574 {
5575 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005576 "value" : "FabricIngress.spgw.pdr_counter"
Robert MacDavidde12b982020-07-15 18:38:59 -07005577 },
5578 {
5579 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005580 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005581 }
5582 ],
5583 "source_info" : {
5584 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005585 "line" : 265,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005586 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07005587 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
5588 }
5589 }
5590 ]
5591 },
5592 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005593 "name" : "spgw282",
5594 "id" : 48,
Robert MacDavidde12b982020-07-15 18:38:59 -07005595 "runtime_data" : [],
5596 "primitives" : [
5597 {
5598 "op" : "assign",
5599 "parameters" : [
5600 {
5601 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005602 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005603 },
5604 {
5605 "type" : "field",
5606 "value" : ["ipv4", "total_len"]
5607 }
5608 ],
5609 "source_info" : {
5610 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005611 "line" : 282,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005612 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07005613 "source_fragment" : "= hdr.ipv4.total_len; ..."
5614 }
5615 }
5616 ]
5617 },
5618 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005619 "name" : "filtering111",
5620 "id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005621 "runtime_data" : [],
5622 "primitives" : [
5623 {
5624 "op" : "assign",
5625 "parameters" : [
5626 {
5627 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005628 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005629 },
5630 {
5631 "type" : "field",
5632 "value" : ["vlan_tag", "vlan_id"]
5633 }
5634 ],
5635 "source_info" : {
5636 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005637 "line" : 111,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005638 "column" : 36,
5639 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005640 }
5641 },
5642 {
5643 "op" : "assign",
5644 "parameters" : [
5645 {
5646 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005647 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005648 },
5649 {
5650 "type" : "field",
5651 "value" : ["vlan_tag", "pri"]
5652 }
5653 ],
5654 "source_info" : {
5655 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005656 "line" : 112,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005657 "column" : 37,
5658 "source_fragment" : "= hdr.vlan_tag.pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005659 }
5660 },
5661 {
5662 "op" : "assign",
5663 "parameters" : [
5664 {
5665 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005666 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005667 },
5668 {
5669 "type" : "field",
5670 "value" : ["vlan_tag", "cfi"]
5671 }
5672 ],
5673 "source_info" : {
5674 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005675 "line" : 113,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005676 "column" : 37,
5677 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005678 }
5679 }
5680 ]
5681 },
5682 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005683 "name" : "filtering127",
5684 "id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005685 "runtime_data" : [],
5686 "primitives" : [
5687 {
5688 "op" : "assign",
5689 "parameters" : [
5690 {
5691 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005692 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005693 },
5694 {
5695 "type" : "hexstr",
5696 "value" : "0x41"
5697 }
5698 ],
5699 "source_info" : {
5700 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005701 "line" : 127,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005702 "column" : 37,
5703 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005704 }
5705 }
5706 ]
5707 },
5708 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005709 "name" : "port_counter31",
5710 "id" : 51,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005711 "runtime_data" : [],
5712 "primitives" : [
5713 {
5714 "op" : "assign",
5715 "parameters" : [
5716 {
5717 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005718 "value" : ["scalars", "tmp_2"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005719 },
5720 {
5721 "type" : "expression",
5722 "value" : {
5723 "type" : "expression",
5724 "value" : {
5725 "op" : "&",
5726 "left" : {
5727 "type" : "field",
5728 "value" : ["standard_metadata", "egress_spec"]
5729 },
5730 "right" : {
5731 "type" : "hexstr",
5732 "value" : "0xffffffff"
5733 }
5734 }
5735 }
5736 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005737 ],
5738 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005739 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005740 "line" : 31,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005741 "column" : 38,
5742 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
5743 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005744 },
5745 {
5746 "op" : "count",
5747 "parameters" : [
5748 {
5749 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08005750 "value" : "FabricIngress.port_counters_control.egress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005751 },
5752 {
5753 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005754 "value" : ["scalars", "tmp_2"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005755 }
5756 ],
5757 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005758 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005759 "line" : 31,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005760 "column" : 12,
5761 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5762 }
5763 }
5764 ]
5765 },
5766 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005767 "name" : "port_counter34",
5768 "id" : 52,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005769 "runtime_data" : [],
5770 "primitives" : [
5771 {
5772 "op" : "assign",
5773 "parameters" : [
5774 {
5775 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005776 "value" : ["scalars", "tmp_4"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005777 },
5778 {
5779 "type" : "expression",
5780 "value" : {
5781 "type" : "expression",
5782 "value" : {
5783 "op" : "&",
5784 "left" : {
5785 "type" : "field",
5786 "value" : ["standard_metadata", "ingress_port"]
5787 },
5788 "right" : {
5789 "type" : "hexstr",
5790 "value" : "0xffffffff"
5791 }
5792 }
5793 }
5794 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005795 ],
5796 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005797 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005798 "line" : 34,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005799 "column" : 39,
5800 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5801 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005802 },
5803 {
5804 "op" : "count",
5805 "parameters" : [
5806 {
5807 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08005808 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005809 },
5810 {
5811 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005812 "value" : ["scalars", "tmp_4"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005813 }
5814 ],
5815 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005816 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005817 "line" : 34,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005818 "column" : 12,
5819 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5820 }
5821 }
5822 ]
5823 },
5824 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005825 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005826 "id" : 53,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005827 "runtime_data" : [],
5828 "primitives" : [
5829 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005830 "op" : "remove_header",
5831 "parameters" : [
5832 {
5833 "type" : "header",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005834 "value" : "mpls"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005835 }
5836 ],
5837 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005838 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005839 "line" : 270,
Yi Tseng47eac892018-07-11 02:17:04 +08005840 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005841 "source_fragment" : "hdr.mpls.setInvalid()"
Yi Tseng47eac892018-07-11 02:17:04 +08005842 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005843 },
Yi Tseng47eac892018-07-11 02:17:04 +08005844 {
5845 "op" : "assign",
5846 "parameters" : [
5847 {
5848 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005849 "value" : ["eth_type", "value"]
Yi Tseng47eac892018-07-11 02:17:04 +08005850 },
5851 {
5852 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005853 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005854 }
5855 ],
5856 "source_info" : {
5857 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005858 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07005859 "column" : 8,
5860 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005861 }
5862 }
5863 ]
5864 },
5865 {
5866 "name" : "FabricEgress.egress_next.set_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005867 "id" : 54,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005868 "runtime_data" : [],
5869 "primitives" : [
5870 {
5871 "op" : "add_header",
5872 "parameters" : [
5873 {
5874 "type" : "header",
5875 "value" : "mpls"
Yi Tseng47eac892018-07-11 02:17:04 +08005876 }
5877 ],
5878 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005879 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005880 "line" : 277,
Yi Tseng47eac892018-07-11 02:17:04 +08005881 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005882 "source_fragment" : "hdr.mpls.setValid()"
5883 }
5884 },
5885 {
5886 "op" : "assign",
5887 "parameters" : [
5888 {
5889 "type" : "field",
5890 "value" : ["mpls", "label"]
5891 },
5892 {
5893 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005894 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005895 }
5896 ],
5897 "source_info" : {
5898 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005899 "line" : 278,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005900 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005901 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005902 }
5903 },
5904 {
5905 "op" : "assign",
5906 "parameters" : [
5907 {
5908 "type" : "field",
5909 "value" : ["mpls", "tc"]
5910 },
5911 {
5912 "type" : "hexstr",
5913 "value" : "0x00"
5914 }
5915 ],
5916 "source_info" : {
5917 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005918 "line" : 279,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005919 "column" : 8,
5920 "source_fragment" : "hdr.mpls.tc = 3w0"
5921 }
5922 },
5923 {
5924 "op" : "assign",
5925 "parameters" : [
5926 {
5927 "type" : "field",
5928 "value" : ["mpls", "bos"]
5929 },
5930 {
5931 "type" : "hexstr",
5932 "value" : "0x01"
5933 }
5934 ],
5935 "source_info" : {
5936 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005937 "line" : 280,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005938 "column" : 8,
5939 "source_fragment" : "hdr.mpls.bos = 1w1"
5940 }
5941 },
5942 {
5943 "op" : "assign",
5944 "parameters" : [
5945 {
5946 "type" : "field",
5947 "value" : ["mpls", "ttl"]
5948 },
5949 {
5950 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005951 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005952 }
5953 ],
5954 "source_info" : {
5955 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005956 "line" : 281,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005957 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005958 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005959 }
5960 },
5961 {
5962 "op" : "assign",
5963 "parameters" : [
5964 {
5965 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005966 "value" : ["eth_type", "value"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005967 },
5968 {
5969 "type" : "hexstr",
5970 "value" : "0x8847"
5971 }
5972 ],
5973 "source_info" : {
5974 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005975 "line" : 118,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005976 "column" : 31,
5977 "source_fragment" : "0x8847; ..."
5978 }
5979 }
5980 ]
5981 },
5982 {
5983 "name" : "FabricEgress.egress_next.push_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005984 "id" : 55,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005985 "runtime_data" : [],
5986 "primitives" : [
5987 {
5988 "op" : "add_header",
5989 "parameters" : [
5990 {
5991 "type" : "header",
5992 "value" : "vlan_tag"
5993 }
5994 ],
5995 "source_info" : {
5996 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005997 "line" : 289,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005998 "column" : 8,
5999 "source_fragment" : "hdr.vlan_tag.setValid()"
6000 }
6001 },
6002 {
6003 "op" : "assign",
6004 "parameters" : [
6005 {
6006 "type" : "field",
6007 "value" : ["vlan_tag", "cfi"]
6008 },
6009 {
6010 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006011 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006012 }
6013 ],
6014 "source_info" : {
6015 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006016 "line" : 290,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006017 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006018 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006019 }
6020 },
6021 {
6022 "op" : "assign",
6023 "parameters" : [
6024 {
6025 "type" : "field",
6026 "value" : ["vlan_tag", "pri"]
6027 },
6028 {
6029 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006030 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006031 }
6032 ],
6033 "source_info" : {
6034 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006035 "line" : 291,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006036 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006037 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006038 }
6039 },
6040 {
6041 "op" : "assign",
6042 "parameters" : [
6043 {
6044 "type" : "field",
6045 "value" : ["vlan_tag", "eth_type"]
6046 },
6047 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006048 "type" : "hexstr",
6049 "value" : "0x8100"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006050 }
6051 ],
6052 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006053 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006054 "line" : 117,
Daniele Moro5a2de712019-09-24 14:34:07 -07006055 "column" : 31,
6056 "source_fragment" : "0x8100; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006057 }
6058 },
6059 {
6060 "op" : "assign",
6061 "parameters" : [
6062 {
6063 "type" : "field",
6064 "value" : ["vlan_tag", "vlan_id"]
6065 },
6066 {
6067 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006068 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006069 }
6070 ],
6071 "source_info" : {
6072 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006073 "line" : 293,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006074 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006075 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006076 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006077 }
6078 ]
6079 },
6080 {
6081 "name" : "FabricEgress.egress_next.pop_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006082 "id" : 56,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006083 "runtime_data" : [],
6084 "primitives" : [
6085 {
Yi Tseng47eac892018-07-11 02:17:04 +08006086 "op" : "remove_header",
6087 "parameters" : [
6088 {
6089 "type" : "header",
6090 "value" : "vlan_tag"
6091 }
6092 ],
6093 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006094 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006095 "line" : 322,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006096 "column" : 8,
6097 "source_fragment" : "hdr.vlan_tag.setInvalid()"
6098 }
6099 }
6100 ]
6101 },
6102 {
pierventre48e78822020-12-15 17:34:54 +01006103 "name" : "FabricEgress.egress_next.drop",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006104 "id" : 57,
pierventre48e78822020-12-15 17:34:54 +01006105 "runtime_data" : [],
6106 "primitives" : [
6107 {
6108 "op" : "mark_to_drop",
6109 "parameters" : [
6110 {
6111 "type" : "header",
6112 "value" : "standard_metadata"
6113 }
6114 ],
6115 "source_info" : {
6116 "filename" : "include/control/next.p4",
6117 "line" : 327,
6118 "column" : 8,
6119 "source_fragment" : "mark_to_drop(standard_metadata)"
6120 }
6121 }
6122 ]
6123 },
6124 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006125 "name" : "FabricEgress.spgw.gtpu_encap",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006126 "id" : 58,
Robert MacDavidde12b982020-07-15 18:38:59 -07006127 "runtime_data" : [],
6128 "primitives" : [
6129 {
6130 "op" : "add_header",
6131 "parameters" : [
6132 {
6133 "type" : "header",
6134 "value" : "gtpu_ipv4"
6135 }
6136 ],
6137 "source_info" : {
6138 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006139 "line" : 300,
Robert MacDavidde12b982020-07-15 18:38:59 -07006140 "column" : 8,
6141 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
6142 }
6143 },
6144 {
6145 "op" : "assign",
6146 "parameters" : [
6147 {
6148 "type" : "field",
6149 "value" : ["gtpu_ipv4", "version"]
6150 },
6151 {
6152 "type" : "hexstr",
6153 "value" : "0x04"
6154 }
6155 ],
6156 "source_info" : {
6157 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006158 "line" : 301,
Robert MacDavidde12b982020-07-15 18:38:59 -07006159 "column" : 8,
6160 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
6161 }
6162 },
6163 {
6164 "op" : "assign",
6165 "parameters" : [
6166 {
6167 "type" : "field",
6168 "value" : ["gtpu_ipv4", "ihl"]
6169 },
6170 {
6171 "type" : "hexstr",
6172 "value" : "0x05"
6173 }
6174 ],
6175 "source_info" : {
6176 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006177 "line" : 135,
Robert MacDavidde12b982020-07-15 18:38:59 -07006178 "column" : 28,
6179 "source_fragment" : "5; ..."
6180 }
6181 },
6182 {
6183 "op" : "assign",
6184 "parameters" : [
6185 {
6186 "type" : "field",
6187 "value" : ["gtpu_ipv4", "dscp"]
6188 },
6189 {
6190 "type" : "hexstr",
6191 "value" : "0x00"
6192 }
6193 ],
6194 "source_info" : {
6195 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006196 "line" : 303,
Robert MacDavidde12b982020-07-15 18:38:59 -07006197 "column" : 8,
6198 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
6199 }
6200 },
6201 {
6202 "op" : "assign",
6203 "parameters" : [
6204 {
6205 "type" : "field",
6206 "value" : ["gtpu_ipv4", "ecn"]
6207 },
6208 {
6209 "type" : "hexstr",
6210 "value" : "0x00"
6211 }
6212 ],
6213 "source_info" : {
6214 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006215 "line" : 304,
Robert MacDavidde12b982020-07-15 18:38:59 -07006216 "column" : 8,
6217 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
6218 }
6219 },
6220 {
6221 "op" : "assign",
6222 "parameters" : [
6223 {
6224 "type" : "field",
6225 "value" : ["gtpu_ipv4", "total_len"]
6226 },
6227 {
6228 "type" : "expression",
6229 "value" : {
6230 "type" : "expression",
6231 "value" : {
6232 "op" : "&",
6233 "left" : {
6234 "type" : "expression",
6235 "value" : {
6236 "op" : "+",
6237 "left" : {
6238 "type" : "field",
6239 "value" : ["ipv4", "total_len"]
6240 },
6241 "right" : {
6242 "type" : "hexstr",
6243 "value" : "0x0024"
6244 }
6245 }
6246 },
6247 "right" : {
6248 "type" : "hexstr",
6249 "value" : "0xffff"
6250 }
6251 }
6252 }
6253 }
6254 ],
6255 "source_info" : {
6256 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006257 "line" : 305,
Robert MacDavidde12b982020-07-15 18:38:59 -07006258 "column" : 8,
6259 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
6260 }
6261 },
6262 {
6263 "op" : "assign",
6264 "parameters" : [
6265 {
6266 "type" : "field",
6267 "value" : ["gtpu_ipv4", "identification"]
6268 },
6269 {
6270 "type" : "hexstr",
6271 "value" : "0x1513"
6272 }
6273 ],
6274 "source_info" : {
6275 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006276 "line" : 307,
Robert MacDavidde12b982020-07-15 18:38:59 -07006277 "column" : 8,
6278 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
6279 }
6280 },
6281 {
6282 "op" : "assign",
6283 "parameters" : [
6284 {
6285 "type" : "field",
6286 "value" : ["gtpu_ipv4", "flags"]
6287 },
6288 {
6289 "type" : "hexstr",
6290 "value" : "0x00"
6291 }
6292 ],
6293 "source_info" : {
6294 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006295 "line" : 308,
Robert MacDavidde12b982020-07-15 18:38:59 -07006296 "column" : 8,
6297 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
6298 }
6299 },
6300 {
6301 "op" : "assign",
6302 "parameters" : [
6303 {
6304 "type" : "field",
6305 "value" : ["gtpu_ipv4", "frag_offset"]
6306 },
6307 {
6308 "type" : "hexstr",
6309 "value" : "0x0000"
6310 }
6311 ],
6312 "source_info" : {
6313 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006314 "line" : 309,
Robert MacDavidde12b982020-07-15 18:38:59 -07006315 "column" : 8,
6316 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
6317 }
6318 },
6319 {
6320 "op" : "assign",
6321 "parameters" : [
6322 {
6323 "type" : "field",
6324 "value" : ["gtpu_ipv4", "ttl"]
6325 },
6326 {
6327 "type" : "hexstr",
6328 "value" : "0x40"
6329 }
6330 ],
6331 "source_info" : {
6332 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006333 "line" : 148,
Robert MacDavidde12b982020-07-15 18:38:59 -07006334 "column" : 32,
6335 "source_fragment" : "64; ..."
6336 }
6337 },
6338 {
6339 "op" : "assign",
6340 "parameters" : [
6341 {
6342 "type" : "field",
6343 "value" : ["gtpu_ipv4", "protocol"]
6344 },
6345 {
6346 "type" : "hexstr",
6347 "value" : "0x11"
6348 }
6349 ],
6350 "source_info" : {
6351 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006352 "line" : 132,
Robert MacDavidde12b982020-07-15 18:38:59 -07006353 "column" : 25,
6354 "source_fragment" : "17; ..."
6355 }
6356 },
6357 {
6358 "op" : "assign",
6359 "parameters" : [
6360 {
6361 "type" : "field",
6362 "value" : ["gtpu_ipv4", "src_addr"]
6363 },
6364 {
6365 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006366 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006367 }
6368 ],
6369 "source_info" : {
6370 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006371 "line" : 312,
Robert MacDavidde12b982020-07-15 18:38:59 -07006372 "column" : 8,
6373 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
6374 }
6375 },
6376 {
6377 "op" : "assign",
6378 "parameters" : [
6379 {
6380 "type" : "field",
6381 "value" : ["gtpu_ipv4", "dst_addr"]
6382 },
6383 {
6384 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006385 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006386 }
6387 ],
6388 "source_info" : {
6389 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006390 "line" : 313,
Robert MacDavidde12b982020-07-15 18:38:59 -07006391 "column" : 8,
6392 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
6393 }
6394 },
6395 {
6396 "op" : "assign",
6397 "parameters" : [
6398 {
6399 "type" : "field",
6400 "value" : ["gtpu_ipv4", "hdr_checksum"]
6401 },
6402 {
6403 "type" : "hexstr",
6404 "value" : "0x0000"
6405 }
6406 ],
6407 "source_info" : {
6408 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006409 "line" : 314,
Robert MacDavidde12b982020-07-15 18:38:59 -07006410 "column" : 8,
6411 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
6412 }
6413 },
6414 {
6415 "op" : "add_header",
6416 "parameters" : [
6417 {
6418 "type" : "header",
6419 "value" : "gtpu_udp"
6420 }
6421 ],
6422 "source_info" : {
6423 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006424 "line" : 316,
Robert MacDavidde12b982020-07-15 18:38:59 -07006425 "column" : 8,
6426 "source_fragment" : "hdr.gtpu_udp.setValid()"
6427 }
6428 },
6429 {
6430 "op" : "assign",
6431 "parameters" : [
6432 {
6433 "type" : "field",
6434 "value" : ["gtpu_udp", "sport"]
6435 },
6436 {
6437 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006438 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006439 }
6440 ],
6441 "source_info" : {
6442 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006443 "line" : 317,
Robert MacDavidde12b982020-07-15 18:38:59 -07006444 "column" : 8,
6445 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
6446 }
6447 },
6448 {
6449 "op" : "assign",
6450 "parameters" : [
6451 {
6452 "type" : "field",
6453 "value" : ["gtpu_udp", "dport"]
6454 },
6455 {
6456 "type" : "hexstr",
6457 "value" : "0x0868"
6458 }
6459 ],
6460 "source_info" : {
6461 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006462 "line" : 318,
Robert MacDavidde12b982020-07-15 18:38:59 -07006463 "column" : 8,
6464 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
6465 }
6466 },
6467 {
6468 "op" : "assign",
6469 "parameters" : [
6470 {
6471 "type" : "field",
6472 "value" : ["gtpu_udp", "len"]
6473 },
6474 {
6475 "type" : "expression",
6476 "value" : {
6477 "type" : "expression",
6478 "value" : {
6479 "op" : "&",
6480 "left" : {
6481 "type" : "expression",
6482 "value" : {
6483 "op" : "+",
6484 "left" : {
6485 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006486 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006487 },
6488 "right" : {
6489 "type" : "hexstr",
6490 "value" : "0x0010"
6491 }
6492 }
6493 },
6494 "right" : {
6495 "type" : "hexstr",
6496 "value" : "0xffff"
6497 }
6498 }
6499 }
6500 }
6501 ],
6502 "source_info" : {
6503 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006504 "line" : 319,
Robert MacDavidde12b982020-07-15 18:38:59 -07006505 "column" : 8,
6506 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
6507 }
6508 },
6509 {
6510 "op" : "assign",
6511 "parameters" : [
6512 {
6513 "type" : "field",
6514 "value" : ["gtpu_udp", "checksum"]
6515 },
6516 {
6517 "type" : "hexstr",
6518 "value" : "0x0000"
6519 }
6520 ],
6521 "source_info" : {
6522 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006523 "line" : 321,
Robert MacDavidde12b982020-07-15 18:38:59 -07006524 "column" : 8,
6525 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
6526 }
6527 },
6528 {
6529 "op" : "add_header",
6530 "parameters" : [
6531 {
6532 "type" : "header",
6533 "value" : "outer_gtpu"
6534 }
6535 ],
6536 "source_info" : {
6537 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006538 "line" : 324,
Robert MacDavidde12b982020-07-15 18:38:59 -07006539 "column" : 8,
6540 "source_fragment" : "hdr.outer_gtpu.setValid()"
6541 }
6542 },
6543 {
6544 "op" : "assign",
6545 "parameters" : [
6546 {
6547 "type" : "field",
6548 "value" : ["outer_gtpu", "version"]
6549 },
6550 {
6551 "type" : "hexstr",
6552 "value" : "0x01"
6553 }
6554 ],
6555 "source_info" : {
6556 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006557 "line" : 325,
Robert MacDavidde12b982020-07-15 18:38:59 -07006558 "column" : 8,
6559 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
6560 }
6561 },
6562 {
6563 "op" : "assign",
6564 "parameters" : [
6565 {
6566 "type" : "field",
6567 "value" : ["outer_gtpu", "pt"]
6568 },
6569 {
6570 "type" : "hexstr",
6571 "value" : "0x01"
6572 }
6573 ],
6574 "source_info" : {
6575 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006576 "line" : 326,
Robert MacDavidde12b982020-07-15 18:38:59 -07006577 "column" : 8,
6578 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
6579 }
6580 },
6581 {
6582 "op" : "assign",
6583 "parameters" : [
6584 {
6585 "type" : "field",
6586 "value" : ["outer_gtpu", "spare"]
6587 },
6588 {
6589 "type" : "hexstr",
6590 "value" : "0x00"
6591 }
6592 ],
6593 "source_info" : {
6594 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006595 "line" : 327,
Robert MacDavidde12b982020-07-15 18:38:59 -07006596 "column" : 8,
6597 "source_fragment" : "hdr.outer_gtpu.spare = 0"
6598 }
6599 },
6600 {
6601 "op" : "assign",
6602 "parameters" : [
6603 {
6604 "type" : "field",
6605 "value" : ["outer_gtpu", "ex_flag"]
6606 },
6607 {
6608 "type" : "hexstr",
6609 "value" : "0x00"
6610 }
6611 ],
6612 "source_info" : {
6613 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006614 "line" : 328,
Robert MacDavidde12b982020-07-15 18:38:59 -07006615 "column" : 8,
6616 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
6617 }
6618 },
6619 {
6620 "op" : "assign",
6621 "parameters" : [
6622 {
6623 "type" : "field",
6624 "value" : ["outer_gtpu", "seq_flag"]
6625 },
6626 {
6627 "type" : "hexstr",
6628 "value" : "0x00"
6629 }
6630 ],
6631 "source_info" : {
6632 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006633 "line" : 329,
Robert MacDavidde12b982020-07-15 18:38:59 -07006634 "column" : 8,
6635 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
6636 }
6637 },
6638 {
6639 "op" : "assign",
6640 "parameters" : [
6641 {
6642 "type" : "field",
6643 "value" : ["outer_gtpu", "npdu_flag"]
6644 },
6645 {
6646 "type" : "hexstr",
6647 "value" : "0x00"
6648 }
6649 ],
6650 "source_info" : {
6651 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006652 "line" : 330,
Robert MacDavidde12b982020-07-15 18:38:59 -07006653 "column" : 8,
6654 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
6655 }
6656 },
6657 {
6658 "op" : "assign",
6659 "parameters" : [
6660 {
6661 "type" : "field",
6662 "value" : ["outer_gtpu", "msgtype"]
6663 },
6664 {
6665 "type" : "hexstr",
6666 "value" : "0xff"
6667 }
6668 ],
6669 "source_info" : {
6670 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006671 "line" : 331,
Robert MacDavidde12b982020-07-15 18:38:59 -07006672 "column" : 8,
6673 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
6674 }
6675 },
6676 {
6677 "op" : "assign",
6678 "parameters" : [
6679 {
6680 "type" : "field",
6681 "value" : ["outer_gtpu", "msglen"]
6682 },
6683 {
6684 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006685 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006686 }
6687 ],
6688 "source_info" : {
6689 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006690 "line" : 332,
Robert MacDavidde12b982020-07-15 18:38:59 -07006691 "column" : 8,
6692 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
6693 }
6694 },
6695 {
6696 "op" : "assign",
6697 "parameters" : [
6698 {
6699 "type" : "field",
6700 "value" : ["outer_gtpu", "teid"]
6701 },
6702 {
6703 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006704 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006705 }
6706 ],
6707 "source_info" : {
6708 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006709 "line" : 333,
Robert MacDavidde12b982020-07-15 18:38:59 -07006710 "column" : 8,
6711 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
6712 }
6713 }
6714 ]
6715 },
6716 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006717 "name" : "packetio41",
6718 "id" : 59,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006719 "runtime_data" : [],
6720 "primitives" : [
6721 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006722 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006723 "parameters" : [],
6724 "source_info" : {
6725 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006726 "line" : 41,
6727 "column" : 12,
6728 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006729 }
6730 }
6731 ]
6732 },
6733 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006734 "name" : "packetio44",
6735 "id" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006736 "runtime_data" : [],
6737 "primitives" : [
6738 {
6739 "op" : "add_header",
6740 "parameters" : [
6741 {
6742 "type" : "header",
6743 "value" : "packet_in"
6744 }
6745 ],
6746 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006747 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006748 "line" : 44,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006749 "column" : 12,
6750 "source_fragment" : "hdr.packet_in.setValid()"
6751 }
6752 },
6753 {
6754 "op" : "assign",
6755 "parameters" : [
6756 {
6757 "type" : "field",
6758 "value" : ["packet_in", "ingress_port"]
6759 },
6760 {
6761 "type" : "field",
6762 "value" : ["standard_metadata", "ingress_port"]
6763 }
6764 ],
6765 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006766 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006767 "line" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006768 "column" : 12,
6769 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
6770 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006771 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006772 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006773 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006774 "parameters" : [],
6775 "source_info" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006776 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006777 "line" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006778 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006779 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006780 }
6781 }
6782 ]
6783 },
6784 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006785 "name" : "next349",
6786 "id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006787 "runtime_data" : [],
6788 "primitives" : [
6789 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006790 "op" : "mark_to_drop",
6791 "parameters" : [
6792 {
6793 "type" : "header",
6794 "value" : "standard_metadata"
6795 }
6796 ],
6797 "source_info" : {
6798 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006799 "line" : 349,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006800 "column" : 12,
6801 "source_fragment" : "mark_to_drop(standard_metadata)"
6802 }
6803 }
6804 ]
6805 },
6806 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006807 "name" : "next376",
6808 "id" : 62,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006809 "runtime_data" : [],
6810 "primitives" : [
6811 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006812 "op" : "mark_to_drop",
6813 "parameters" : [
6814 {
6815 "type" : "header",
6816 "value" : "standard_metadata"
6817 }
6818 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006819 "source_info" : {
6820 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006821 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006822 "column" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006823 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006824 }
6825 }
6826 ]
6827 },
6828 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006829 "name" : "next375",
6830 "id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006831 "runtime_data" : [],
6832 "primitives" : [
6833 {
6834 "op" : "assign",
6835 "parameters" : [
6836 {
6837 "type" : "field",
6838 "value" : ["mpls", "ttl"]
6839 },
6840 {
6841 "type" : "expression",
6842 "value" : {
6843 "type" : "expression",
6844 "value" : {
6845 "op" : "&",
6846 "left" : {
6847 "type" : "expression",
6848 "value" : {
6849 "op" : "+",
6850 "left" : {
6851 "type" : "field",
6852 "value" : ["mpls", "ttl"]
6853 },
6854 "right" : {
6855 "type" : "hexstr",
6856 "value" : "0xff"
6857 }
6858 }
6859 },
6860 "right" : {
6861 "type" : "hexstr",
6862 "value" : "0xff"
6863 }
6864 }
6865 }
6866 }
6867 ],
6868 "source_info" : {
6869 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006870 "line" : 375,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006871 "column" : 12,
6872 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
6873 }
6874 }
6875 ]
6876 },
6877 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006878 "name" : "next380",
6879 "id" : 64,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006880 "runtime_data" : [],
6881 "primitives" : [
6882 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006883 "op" : "mark_to_drop",
6884 "parameters" : [
6885 {
6886 "type" : "header",
6887 "value" : "standard_metadata"
6888 }
6889 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006890 "source_info" : {
6891 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006892 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006893 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006894 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006895 }
6896 }
6897 ]
6898 },
6899 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006900 "name" : "next379",
6901 "id" : 65,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006902 "runtime_data" : [],
6903 "primitives" : [
6904 {
6905 "op" : "assign",
6906 "parameters" : [
6907 {
6908 "type" : "field",
6909 "value" : ["ipv4", "ttl"]
6910 },
6911 {
6912 "type" : "expression",
6913 "value" : {
6914 "type" : "expression",
6915 "value" : {
6916 "op" : "&",
6917 "left" : {
6918 "type" : "expression",
6919 "value" : {
6920 "op" : "+",
6921 "left" : {
6922 "type" : "field",
6923 "value" : ["ipv4", "ttl"]
6924 },
6925 "right" : {
6926 "type" : "hexstr",
6927 "value" : "0xff"
6928 }
6929 }
6930 },
6931 "right" : {
6932 "type" : "hexstr",
6933 "value" : "0xff"
6934 }
6935 }
6936 }
6937 }
6938 ],
6939 "source_info" : {
6940 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006941 "line" : 379,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006942 "column" : 16,
6943 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
6944 }
6945 }
6946 ]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006947 },
6948 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006949 "name" : "spgw342",
6950 "id" : 66,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006951 "runtime_data" : [],
6952 "primitives" : [
6953 {
6954 "op" : "count",
6955 "parameters" : [
6956 {
6957 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006958 "value" : "FabricEgress.spgw.pdr_counter"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006959 },
6960 {
6961 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006962 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006963 }
6964 ],
6965 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006966 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006967 "line" : 342,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006968 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07006969 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006970 }
6971 }
6972 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006973 }
6974 ],
6975 "pipelines" : [
6976 {
6977 "name" : "ingress",
6978 "id" : 0,
6979 "source_info" : {
6980 "filename" : "fabric.p4",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006981 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006982 "column" : 8,
6983 "source_fragment" : "FabricIngress"
6984 },
Robert MacDavidde12b982020-07-15 18:38:59 -07006985 "init_table" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006986 "tables" : [
6987 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006988 "name" : "tbl_packetio25",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006989 "id" : 0,
Carmelo Cascone3032b872019-04-13 01:23:54 -07006990 "source_info" : {
Carmelo Cascone3032b872019-04-13 01:23:54 -07006991 "filename" : "include/control/packetio.p4",
6992 "line" : 25,
6993 "column" : 42,
6994 "source_fragment" : "= hdr.packet_out.egress_port; ..."
6995 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006996 "key" : [],
6997 "match_type" : "exact",
6998 "type" : "simple",
6999 "max_size" : 1024,
7000 "with_counters" : false,
7001 "support_timeout" : false,
7002 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007003 "action_ids" : [46],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007004 "actions" : ["packetio25"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007005 "base_default_next" : "FabricIngress.spgw.interfaces",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007006 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007007 "packetio25" : "FabricIngress.spgw.interfaces"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007008 },
7009 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007010 "action_id" : 46,
Robert MacDavidde12b982020-07-15 18:38:59 -07007011 "action_const" : true,
7012 "action_data" : [],
7013 "action_entry_const" : true
7014 }
7015 },
7016 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007017 "name" : "FabricIngress.spgw.interfaces",
Robert MacDavidde12b982020-07-15 18:38:59 -07007018 "id" : 1,
Robert MacDavidde12b982020-07-15 18:38:59 -07007019 "source_info" : {
7020 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007021 "line" : 129,
Robert MacDavidde12b982020-07-15 18:38:59 -07007022 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007023 "source_fragment" : "interfaces"
Robert MacDavidde12b982020-07-15 18:38:59 -07007024 },
7025 "key" : [
7026 {
7027 "match_type" : "lpm",
7028 "name" : "ipv4_dst_addr",
7029 "target" : ["ipv4", "dst_addr"],
7030 "mask" : null
7031 },
7032 {
7033 "match_type" : "exact",
7034 "name" : "gtpu_is_valid",
7035 "target" : ["gtpu", "$valid$"],
7036 "mask" : null
7037 }
7038 ],
7039 "match_type" : "lpm",
7040 "type" : "simple",
7041 "max_size" : 128,
7042 "with_counters" : false,
7043 "support_timeout" : false,
7044 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007045 "action_ids" : [37, 38],
7046 "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
7047 "base_default_next" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007048 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007049 "__HIT__" : "node_5",
7050 "__MISS__" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07007051 },
7052 "default_entry" : {
7053 "action_id" : 38,
7054 "action_const" : true,
7055 "action_data" : [],
7056 "action_entry_const" : true
7057 }
7058 },
7059 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007060 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007061 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07007062 "source_info" : {
7063 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007064 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07007065 "column" : 10,
7066 "source_fragment" : "decap_gtpu"
7067 },
7068 "key" : [
7069 {
7070 "match_type" : "exact",
7071 "name" : "hdr.inner_tcp.$valid$",
7072 "target" : ["inner_tcp", "$valid$"],
7073 "mask" : null
7074 },
7075 {
7076 "match_type" : "exact",
7077 "name" : "hdr.inner_udp.$valid$",
7078 "target" : ["inner_udp", "$valid$"],
7079 "mask" : null
7080 },
7081 {
7082 "match_type" : "exact",
7083 "name" : "hdr.inner_icmp.$valid$",
7084 "target" : ["inner_icmp", "$valid$"],
7085 "mask" : null
7086 }
7087 ],
7088 "match_type" : "exact",
7089 "type" : "simple",
7090 "max_size" : 1024,
7091 "with_counters" : false,
7092 "support_timeout" : false,
7093 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007094 "action_ids" : [29, 30, 31, 32],
7095 "actions" : ["FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007096 "base_default_next" : "node_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07007097 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007098 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_7",
7099 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_7",
7100 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_7",
7101 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07007102 },
7103 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007104 "action_id" : 32,
Robert MacDavidde12b982020-07-15 18:38:59 -07007105 "action_const" : true,
7106 "action_data" : [],
7107 "action_entry_const" : true
7108 },
7109 "entries" : [
7110 {
7111 "source_info" : {
7112 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007113 "line" : 89,
Robert MacDavidde12b982020-07-15 18:38:59 -07007114 "column" : 12,
7115 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
7116 },
7117 "match_key" : [
7118 {
7119 "match_type" : "exact",
7120 "key" : "0x01"
7121 },
7122 {
7123 "match_type" : "exact",
7124 "key" : "0x00"
7125 },
7126 {
7127 "match_type" : "exact",
7128 "key" : "0x00"
7129 }
7130 ],
7131 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007132 "action_id" : 29,
Robert MacDavidde12b982020-07-15 18:38:59 -07007133 "action_data" : []
7134 },
7135 "priority" : 1
7136 },
7137 {
7138 "source_info" : {
7139 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007140 "line" : 90,
Robert MacDavidde12b982020-07-15 18:38:59 -07007141 "column" : 12,
7142 "source_fragment" : "(false, true, false) : decap_inner_udp()"
7143 },
7144 "match_key" : [
7145 {
7146 "match_type" : "exact",
7147 "key" : "0x00"
7148 },
7149 {
7150 "match_type" : "exact",
7151 "key" : "0x01"
7152 },
7153 {
7154 "match_type" : "exact",
7155 "key" : "0x00"
7156 }
7157 ],
7158 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007159 "action_id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -07007160 "action_data" : []
7161 },
7162 "priority" : 2
7163 },
7164 {
7165 "source_info" : {
7166 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007167 "line" : 91,
Robert MacDavidde12b982020-07-15 18:38:59 -07007168 "column" : 12,
7169 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
7170 },
7171 "match_key" : [
7172 {
7173 "match_type" : "exact",
7174 "key" : "0x00"
7175 },
7176 {
7177 "match_type" : "exact",
7178 "key" : "0x00"
7179 },
7180 {
7181 "match_type" : "exact",
7182 "key" : "0x01"
7183 }
7184 ],
7185 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007186 "action_id" : 31,
Robert MacDavidde12b982020-07-15 18:38:59 -07007187 "action_data" : []
7188 },
7189 "priority" : 3
7190 }
7191 ]
7192 },
7193 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007194 "name" : "FabricIngress.spgw.uplink_pdrs",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007195 "id" : 3,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007196 "source_info" : {
7197 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007198 "line" : 176,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007199 "column" : 10,
7200 "source_fragment" : "uplink_pdrs"
7201 },
7202 "key" : [
7203 {
7204 "match_type" : "exact",
7205 "name" : "tunnel_ipv4_dst",
7206 "target" : ["ipv4", "dst_addr"],
7207 "mask" : null
7208 },
7209 {
7210 "match_type" : "exact",
7211 "name" : "teid",
7212 "target" : ["gtpu", "teid"],
7213 "mask" : null
7214 }
7215 ],
7216 "match_type" : "exact",
7217 "type" : "simple",
7218 "max_size" : 1024,
7219 "with_counters" : false,
7220 "support_timeout" : false,
7221 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007222 "action_ids" : [40, 42, 8],
7223 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007224 "base_default_next" : "node_10",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007225 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007226 "FabricIngress.spgw.load_pdr" : "node_10",
7227 "FabricIngress.spgw.load_pdr_qos" : "node_10",
7228 "NoAction" : "node_10"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007229 },
7230 "default_entry" : {
7231 "action_id" : 8,
7232 "action_const" : false,
7233 "action_data" : [],
7234 "action_entry_const" : false
7235 }
7236 },
7237 {
7238 "name" : "FabricIngress.spgw.downlink_pdrs",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007239 "id" : 4,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007240 "source_info" : {
7241 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007242 "line" : 164,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007243 "column" : 10,
7244 "source_fragment" : "downlink_pdrs"
7245 },
7246 "key" : [
7247 {
7248 "match_type" : "exact",
7249 "name" : "ue_addr",
7250 "target" : ["ipv4", "dst_addr"],
7251 "mask" : null
7252 }
7253 ],
7254 "match_type" : "exact",
7255 "type" : "simple",
7256 "max_size" : 1024,
7257 "with_counters" : false,
7258 "support_timeout" : false,
7259 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007260 "action_ids" : [39, 41, 7],
7261 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007262 "base_default_next" : "node_10",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007263 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007264 "FabricIngress.spgw.load_pdr" : "node_10",
7265 "FabricIngress.spgw.load_pdr_qos" : "node_10",
7266 "NoAction" : "node_10"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007267 },
7268 "default_entry" : {
7269 "action_id" : 7,
7270 "action_const" : false,
7271 "action_data" : [],
7272 "action_entry_const" : false
7273 }
7274 },
7275 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007276 "name" : "tbl_spgw265",
7277 "id" : 5,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007278 "source_info" : {
7279 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007280 "line" : 265,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007281 "column" : 16,
7282 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
7283 },
7284 "key" : [],
7285 "match_type" : "exact",
7286 "type" : "simple",
7287 "max_size" : 1024,
7288 "with_counters" : false,
7289 "support_timeout" : false,
7290 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007291 "action_ids" : [47],
7292 "actions" : ["spgw265"],
7293 "base_default_next" : "node_12",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007294 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007295 "spgw265" : "node_12"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007296 },
7297 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007298 "action_id" : 47,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007299 "action_const" : true,
7300 "action_data" : [],
7301 "action_entry_const" : true
7302 }
7303 },
7304 {
7305 "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007306 "id" : 6,
Robert MacDavidde12b982020-07-15 18:38:59 -07007307 "source_info" : {
7308 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007309 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07007310 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007311 "source_fragment" : "decap_gtpu"
7312 },
7313 "key" : [
7314 {
7315 "match_type" : "exact",
7316 "name" : "hdr.inner_tcp.$valid$",
7317 "target" : ["inner_tcp", "$valid$"],
7318 "mask" : null
7319 },
7320 {
7321 "match_type" : "exact",
7322 "name" : "hdr.inner_udp.$valid$",
7323 "target" : ["inner_udp", "$valid$"],
7324 "mask" : null
7325 },
7326 {
7327 "match_type" : "exact",
7328 "name" : "hdr.inner_icmp.$valid$",
7329 "target" : ["inner_icmp", "$valid$"],
7330 "mask" : null
7331 }
7332 ],
7333 "match_type" : "exact",
7334 "type" : "simple",
7335 "max_size" : 1024,
7336 "with_counters" : false,
7337 "support_timeout" : false,
7338 "direct_meters" : null,
7339 "action_ids" : [33, 34, 35, 36],
7340 "actions" : ["FabricIngress.spgw.decap_gtpu.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu.decap_inner_udp", "FabricIngress.spgw.decap_gtpu.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu.decap_inner_unknown"],
7341 "base_default_next" : "FabricIngress.spgw.fars",
7342 "next_tables" : {
7343 "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
7344 "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
7345 "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
7346 "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
7347 },
7348 "default_entry" : {
7349 "action_id" : 36,
7350 "action_const" : true,
7351 "action_data" : [],
7352 "action_entry_const" : true
7353 },
7354 "entries" : [
7355 {
7356 "source_info" : {
7357 "filename" : "include/control/spgw.p4",
7358 "line" : 89,
7359 "column" : 12,
7360 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
7361 },
7362 "match_key" : [
7363 {
7364 "match_type" : "exact",
7365 "key" : "0x01"
7366 },
7367 {
7368 "match_type" : "exact",
7369 "key" : "0x00"
7370 },
7371 {
7372 "match_type" : "exact",
7373 "key" : "0x00"
7374 }
7375 ],
7376 "action_entry" : {
7377 "action_id" : 33,
7378 "action_data" : []
7379 },
7380 "priority" : 1
7381 },
7382 {
7383 "source_info" : {
7384 "filename" : "include/control/spgw.p4",
7385 "line" : 90,
7386 "column" : 12,
7387 "source_fragment" : "(false, true, false) : decap_inner_udp()"
7388 },
7389 "match_key" : [
7390 {
7391 "match_type" : "exact",
7392 "key" : "0x00"
7393 },
7394 {
7395 "match_type" : "exact",
7396 "key" : "0x01"
7397 },
7398 {
7399 "match_type" : "exact",
7400 "key" : "0x00"
7401 }
7402 ],
7403 "action_entry" : {
7404 "action_id" : 34,
7405 "action_data" : []
7406 },
7407 "priority" : 2
7408 },
7409 {
7410 "source_info" : {
7411 "filename" : "include/control/spgw.p4",
7412 "line" : 91,
7413 "column" : 12,
7414 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
7415 },
7416 "match_key" : [
7417 {
7418 "match_type" : "exact",
7419 "key" : "0x00"
7420 },
7421 {
7422 "match_type" : "exact",
7423 "key" : "0x00"
7424 },
7425 {
7426 "match_type" : "exact",
7427 "key" : "0x01"
7428 }
7429 ],
7430 "action_entry" : {
7431 "action_id" : 35,
7432 "action_data" : []
7433 },
7434 "priority" : 3
7435 }
7436 ]
7437 },
7438 {
7439 "name" : "FabricIngress.spgw.fars",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007440 "id" : 7,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007441 "source_info" : {
7442 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007443 "line" : 233,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007444 "column" : 10,
7445 "source_fragment" : "fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07007446 },
7447 "key" : [
7448 {
7449 "match_type" : "exact",
7450 "name" : "far_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007451 "target" : ["scalars", "userMetadata._spgw_far_id25"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007452 "mask" : null
7453 }
7454 ],
7455 "match_type" : "exact",
7456 "type" : "simple",
7457 "max_size" : 2048,
7458 "with_counters" : false,
7459 "support_timeout" : false,
7460 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007461 "action_ids" : [43, 44, 45],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007462 "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007463 "base_default_next" : "tbl_spgw282",
Robert MacDavidde12b982020-07-15 18:38:59 -07007464 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007465 "FabricIngress.spgw.load_normal_far" : "tbl_spgw282",
7466 "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw282",
7467 "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw282"
Robert MacDavidde12b982020-07-15 18:38:59 -07007468 },
7469 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007470 "action_id" : 43,
Robert MacDavidde12b982020-07-15 18:38:59 -07007471 "action_const" : true,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007472 "action_data" : ["0x1", "0x0"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007473 "action_entry_const" : true
7474 }
7475 },
7476 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007477 "name" : "tbl_spgw282",
7478 "id" : 8,
Robert MacDavidde12b982020-07-15 18:38:59 -07007479 "source_info" : {
7480 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007481 "line" : 282,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007482 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07007483 "source_fragment" : "="
7484 },
7485 "key" : [],
7486 "match_type" : "exact",
7487 "type" : "simple",
7488 "max_size" : 1024,
7489 "with_counters" : false,
7490 "support_timeout" : false,
7491 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007492 "action_ids" : [48],
7493 "actions" : ["spgw282"],
7494 "base_default_next" : "node_16",
Robert MacDavidde12b982020-07-15 18:38:59 -07007495 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007496 "spgw282" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07007497 },
7498 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007499 "action_id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007500 "action_const" : true,
7501 "action_data" : [],
7502 "action_entry_const" : true
7503 }
7504 },
7505 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007506 "name" : "tbl_filtering111",
7507 "id" : 9,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007508 "source_info" : {
7509 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007510 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007511 "column" : 36,
7512 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07007513 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007514 "key" : [],
7515 "match_type" : "exact",
7516 "type" : "simple",
7517 "max_size" : 1024,
7518 "with_counters" : false,
7519 "support_timeout" : false,
7520 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007521 "action_ids" : [49],
7522 "actions" : ["filtering111"],
7523 "base_default_next" : "node_18",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007524 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007525 "filtering111" : "node_18"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007526 },
7527 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007528 "action_id" : 49,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007529 "action_const" : true,
7530 "action_data" : [],
7531 "action_entry_const" : true
7532 }
7533 },
7534 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007535 "name" : "tbl_filtering127",
7536 "id" : 10,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007537 "source_info" : {
7538 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007539 "line" : 127,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007540 "column" : 37,
7541 "source_fragment" : "="
7542 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007543 "key" : [],
7544 "match_type" : "exact",
7545 "type" : "simple",
7546 "max_size" : 1024,
7547 "with_counters" : false,
7548 "support_timeout" : false,
7549 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007550 "action_ids" : [50],
7551 "actions" : ["filtering127"],
Daniele Moro5a2de712019-09-24 14:34:07 -07007552 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007553 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007554 "filtering127" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007555 },
7556 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007557 "action_id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007558 "action_const" : true,
7559 "action_data" : [],
7560 "action_entry_const" : true
7561 }
7562 },
7563 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007564 "name" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007565 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007566 "source_info" : {
7567 "filename" : "include/control/filtering.p4",
7568 "line" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007569 "column" : 10,
7570 "source_fragment" : "ingress_port_vlan"
7571 },
7572 "key" : [
7573 {
7574 "match_type" : "exact",
7575 "name" : "ig_port",
7576 "target" : ["standard_metadata", "ingress_port"],
7577 "mask" : null
7578 },
7579 {
7580 "match_type" : "exact",
7581 "name" : "vlan_is_valid",
7582 "target" : ["vlan_tag", "$valid$"],
7583 "mask" : null
7584 },
7585 {
7586 "match_type" : "ternary",
7587 "name" : "vlan_id",
7588 "target" : ["vlan_tag", "vlan_id"],
7589 "mask" : null
7590 }
7591 ],
7592 "match_type" : "ternary",
7593 "type" : "simple",
7594 "max_size" : 1024,
7595 "with_counters" : true,
7596 "support_timeout" : false,
7597 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007598 "action_ids" : [9, 10, 11],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007599 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
7600 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
7601 "next_tables" : {
7602 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
7603 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
7604 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
7605 },
7606 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007607 "action_id" : 9,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007608 "action_const" : true,
7609 "action_data" : [],
7610 "action_entry_const" : true
7611 }
7612 },
7613 {
7614 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007615 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007616 "source_info" : {
7617 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007618 "line" : 92,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007619 "column" : 10,
7620 "source_fragment" : "fwd_classifier"
7621 },
7622 "key" : [
7623 {
7624 "match_type" : "exact",
7625 "name" : "ig_port",
7626 "target" : ["standard_metadata", "ingress_port"],
7627 "mask" : null
7628 },
7629 {
7630 "match_type" : "ternary",
7631 "name" : "eth_dst",
7632 "target" : ["ethernet", "dst_addr"],
7633 "mask" : null
7634 },
7635 {
Daniele Moro5a2de712019-09-24 14:34:07 -07007636 "match_type" : "ternary",
7637 "name" : "eth_type",
7638 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007639 "mask" : null
7640 },
7641 {
7642 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07007643 "name" : "ip_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007644 "target" : ["scalars", "userMetadata._ip_eth_type0"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007645 "mask" : null
7646 }
7647 ],
7648 "match_type" : "ternary",
7649 "type" : "simple",
7650 "max_size" : 1024,
7651 "with_counters" : true,
7652 "support_timeout" : false,
7653 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007654 "action_ids" : [12],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007655 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007656 "base_default_next" : "node_22",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007657 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007658 "FabricIngress.filtering.set_forwarding_type" : "node_22"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007659 },
7660 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007661 "action_id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007662 "action_const" : true,
7663 "action_data" : ["0x0"],
7664 "action_entry_const" : true
7665 }
7666 },
7667 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08007668 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007669 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007670 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007671 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007672 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007673 "column" : 10,
7674 "source_fragment" : "bridging"
7675 },
7676 "key" : [
7677 {
7678 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007679 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007680 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007681 "mask" : null
7682 },
7683 {
7684 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007685 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007686 "target" : ["ethernet", "dst_addr"],
7687 "mask" : null
7688 }
7689 ],
7690 "match_type" : "ternary",
7691 "type" : "simple",
7692 "max_size" : 1024,
7693 "with_counters" : true,
7694 "support_timeout" : false,
7695 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007696 "action_ids" : [13, 0],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007697 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
7698 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007699 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007700 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
7701 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007702 },
7703 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007704 "action_id" : 0,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007705 "action_const" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007706 "action_data" : [],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007707 "action_entry_const" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007708 }
7709 },
7710 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08007711 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007712 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007713 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007714 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007715 "line" : 71,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007716 "column" : 10,
7717 "source_fragment" : "mpls"
7718 },
7719 "key" : [
7720 {
7721 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007722 "name" : "mpls_label",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007723 "target" : ["scalars", "userMetadata._mpls_label4"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007724 "mask" : null
7725 }
7726 ],
7727 "match_type" : "exact",
7728 "type" : "simple",
7729 "max_size" : 1024,
7730 "with_counters" : true,
7731 "support_timeout" : false,
7732 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007733 "action_ids" : [14, 1],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007734 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
7735 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007736 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007737 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
7738 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007739 },
7740 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007741 "action_id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007742 "action_const" : true,
7743 "action_data" : [],
7744 "action_entry_const" : true
7745 }
7746 },
7747 {
Charles Chan384aea22018-08-23 22:08:02 -07007748 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007749 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007750 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007751 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07007752 "line" : 108,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007753 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -07007754 "source_fragment" : "routing_v4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007755 },
7756 "key" : [
7757 {
7758 "match_type" : "lpm",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007759 "name" : "ipv4_dst",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007760 "target" : ["scalars", "userMetadata._ipv4_dst_addr16"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007761 "mask" : null
7762 }
7763 ],
7764 "match_type" : "lpm",
7765 "type" : "simple",
7766 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07007767 "with_counters" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007768 "support_timeout" : false,
7769 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007770 "action_ids" : [15, 16, 2],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007771 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
7772 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007773 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007774 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
7775 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
7776 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007777 },
7778 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007779 "action_id" : 2,
CyberHasHe9ba39c2019-10-11 05:59:12 +08007780 "action_const" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007781 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08007782 "action_entry_const" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007783 }
7784 },
7785 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007786 "name" : "FabricIngress.acl.acl",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007787 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007788 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007789 "filename" : "include/control/acl.p4",
7790 "line" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007791 "column" : 10,
7792 "source_fragment" : "acl"
7793 },
7794 "key" : [
7795 {
7796 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007797 "name" : "ig_port",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007798 "target" : ["standard_metadata", "ingress_port"],
7799 "mask" : null
7800 },
7801 {
7802 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007803 "name" : "ip_proto",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007804 "target" : ["scalars", "userMetadata._ip_proto12"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007805 "mask" : null
7806 },
7807 {
7808 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007809 "name" : "l4_sport",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007810 "target" : ["scalars", "userMetadata._l4_sport13"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007811 "mask" : null
7812 },
7813 {
7814 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007815 "name" : "l4_dport",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007816 "target" : ["scalars", "userMetadata._l4_dport14"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007817 "mask" : null
7818 },
7819 {
7820 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007821 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007822 "target" : ["ethernet", "dst_addr"],
7823 "mask" : null
7824 },
7825 {
7826 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007827 "name" : "eth_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007828 "target" : ["ethernet", "src_addr"],
7829 "mask" : null
7830 },
7831 {
7832 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007833 "name" : "vlan_id",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007834 "target" : ["vlan_tag", "vlan_id"],
7835 "mask" : null
7836 },
7837 {
7838 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007839 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07007840 "target" : ["eth_type", "value"],
Yi Tseng8235a1a2018-07-24 20:57:28 +08007841 "mask" : null
7842 },
7843 {
7844 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007845 "name" : "ipv4_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007846 "target" : ["ipv4", "src_addr"],
7847 "mask" : null
7848 },
7849 {
7850 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007851 "name" : "ipv4_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007852 "target" : ["ipv4", "dst_addr"],
7853 "mask" : null
7854 },
7855 {
7856 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007857 "name" : "icmp_type",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007858 "target" : ["icmp", "icmp_type"],
7859 "mask" : null
7860 },
7861 {
7862 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007863 "name" : "icmp_code",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007864 "target" : ["icmp", "icmp_code"],
7865 "mask" : null
7866 }
7867 ],
7868 "match_type" : "ternary",
7869 "type" : "simple",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007870 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007871 "with_counters" : true,
7872 "support_timeout" : false,
7873 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007874 "action_ids" : [17, 18, 19, 20, 21],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007875 "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"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007876 "base_default_next" : "node_30",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007877 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007878 "FabricIngress.acl.set_next_id_acl" : "node_30",
7879 "FabricIngress.acl.punt_to_cpu" : "node_30",
7880 "FabricIngress.acl.set_clone_session_id" : "node_30",
7881 "FabricIngress.acl.drop" : "node_30",
7882 "FabricIngress.acl.nop_acl" : "node_30"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007883 },
7884 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007885 "action_id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007886 "action_const" : true,
7887 "action_data" : [],
7888 "action_entry_const" : true
7889 }
7890 },
7891 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007892 "name" : "FabricIngress.next.xconnect",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007893 "id" : 17,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007894 "source_info" : {
7895 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007896 "line" : 119,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007897 "column" : 10,
7898 "source_fragment" : "xconnect"
7899 },
7900 "key" : [
7901 {
7902 "match_type" : "exact",
7903 "name" : "ig_port",
7904 "target" : ["standard_metadata", "ingress_port"],
7905 "mask" : null
7906 },
7907 {
7908 "match_type" : "exact",
7909 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007910 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007911 "mask" : null
7912 }
7913 ],
7914 "match_type" : "exact",
7915 "type" : "simple",
7916 "max_size" : 1024,
7917 "with_counters" : true,
7918 "support_timeout" : false,
7919 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007920 "action_ids" : [23, 24, 4],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007921 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
7922 "base_default_next" : "FabricIngress.next.hashed",
7923 "next_tables" : {
7924 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
7925 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
7926 "nop" : "FabricIngress.next.hashed"
7927 },
7928 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007929 "action_id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007930 "action_const" : true,
7931 "action_data" : [],
7932 "action_entry_const" : true
7933 }
7934 },
7935 {
7936 "name" : "FabricIngress.next.hashed",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007937 "id" : 18,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007938 "source_info" : {
7939 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007940 "line" : 202,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007941 "column" : 10,
7942 "source_fragment" : "hashed"
7943 },
7944 "key" : [
7945 {
7946 "match_type" : "exact",
7947 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007948 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007949 "mask" : null
7950 }
7951 ],
7952 "match_type" : "exact",
7953 "type" : "indirect_ws",
7954 "action_profile" : "FabricIngress.next.hashed_selector",
7955 "max_size" : 1024,
7956 "with_counters" : true,
7957 "support_timeout" : false,
7958 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007959 "action_ids" : [25, 26, 27, 5],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007960 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
7961 "base_default_next" : "FabricIngress.next.multicast",
7962 "next_tables" : {
7963 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
7964 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
7965 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
7966 "nop" : "FabricIngress.next.multicast"
7967 }
7968 },
7969 {
7970 "name" : "FabricIngress.next.multicast",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007971 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007972 "source_info" : {
7973 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007974 "line" : 236,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007975 "column" : 10,
7976 "source_fragment" : "multicast"
7977 },
7978 "key" : [
7979 {
7980 "match_type" : "exact",
7981 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007982 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007983 "mask" : null
7984 }
7985 ],
7986 "match_type" : "exact",
7987 "type" : "simple",
7988 "max_size" : 1024,
7989 "with_counters" : true,
7990 "support_timeout" : false,
7991 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007992 "action_ids" : [28, 6],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007993 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
7994 "base_default_next" : "FabricIngress.next.next_vlan",
7995 "next_tables" : {
7996 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
7997 "nop" : "FabricIngress.next.next_vlan"
7998 },
7999 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008000 "action_id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008001 "action_const" : true,
8002 "action_data" : [],
8003 "action_entry_const" : true
8004 }
8005 },
8006 {
8007 "name" : "FabricIngress.next.next_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008008 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008009 "source_info" : {
8010 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008011 "line" : 86,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008012 "column" : 10,
8013 "source_fragment" : "next_vlan"
8014 },
8015 "key" : [
8016 {
8017 "match_type" : "exact",
8018 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008019 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008020 "mask" : null
8021 }
8022 ],
8023 "match_type" : "exact",
8024 "type" : "simple",
8025 "max_size" : 1024,
8026 "with_counters" : true,
8027 "support_timeout" : false,
8028 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008029 "action_ids" : [22, 3],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008030 "actions" : ["FabricIngress.next.set_vlan", "nop"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008031 "base_default_next" : "node_35",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008032 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008033 "FabricIngress.next.set_vlan" : "node_35",
8034 "nop" : "node_35"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008035 },
8036 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008037 "action_id" : 3,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008038 "action_const" : true,
8039 "action_data" : [],
8040 "action_entry_const" : true
8041 }
8042 },
8043 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008044 "name" : "tbl_port_counter31",
8045 "id" : 21,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008046 "source_info" : {
8047 "filename" : "include/control/port_counter.p4",
8048 "line" : 31,
8049 "column" : 12,
8050 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
8051 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02008052 "key" : [],
8053 "match_type" : "exact",
8054 "type" : "simple",
8055 "max_size" : 1024,
8056 "with_counters" : false,
8057 "support_timeout" : false,
8058 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008059 "action_ids" : [51],
8060 "actions" : ["port_counter31"],
8061 "base_default_next" : "node_37",
Carmelo Casconea5400af2018-07-17 22:11:54 +02008062 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008063 "port_counter31" : "node_37"
Carmelo Casconea5400af2018-07-17 22:11:54 +02008064 },
8065 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008066 "action_id" : 51,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008067 "action_const" : true,
8068 "action_data" : [],
8069 "action_entry_const" : true
8070 }
8071 },
8072 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008073 "name" : "tbl_port_counter34",
8074 "id" : 22,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008075 "source_info" : {
8076 "filename" : "include/control/port_counter.p4",
8077 "line" : 34,
8078 "column" : 12,
8079 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
8080 },
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008081 "key" : [],
8082 "match_type" : "exact",
8083 "type" : "simple",
8084 "max_size" : 1024,
8085 "with_counters" : false,
8086 "support_timeout" : false,
8087 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008088 "action_ids" : [52],
8089 "actions" : ["port_counter34"],
Carmelo Casconea5400af2018-07-17 22:11:54 +02008090 "base_default_next" : null,
Yi Tseng27b9bc02018-04-12 14:52:40 +08008091 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008092 "port_counter34" : null
Carmelo Casconea5400af2018-07-17 22:11:54 +02008093 },
8094 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008095 "action_id" : 52,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008096 "action_const" : true,
8097 "action_data" : [],
8098 "action_entry_const" : true
8099 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008100 }
8101 ],
8102 "action_profiles" : [
8103 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008104 "name" : "FabricIngress.next.hashed_selector",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008105 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008106 "source_info" : {
8107 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008108 "line" : 183,
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008109 "column" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008110 "source_fragment" : "hashed_selector"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008111 },
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008112 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008113 "selector" : {
8114 "algo" : "crc16",
8115 "input" : [
8116 {
8117 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008118 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008119 },
8120 {
8121 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008122 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008123 },
8124 {
8125 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008126 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008127 },
8128 {
8129 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008130 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008131 },
8132 {
8133 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008134 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008135 }
8136 ]
8137 }
8138 }
8139 ],
8140 "conditionals" : [
8141 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008142 "name" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008143 "id" : 0,
8144 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008145 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008146 "line" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008147 "column" : 12,
8148 "source_fragment" : "hdr.packet_out.isValid()"
8149 },
8150 "expression" : {
8151 "type" : "expression",
8152 "value" : {
8153 "op" : "d2b",
8154 "left" : null,
8155 "right" : {
8156 "type" : "field",
8157 "value" : ["packet_out", "$valid$"]
8158 }
8159 }
8160 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008161 "true_next" : "tbl_packetio25",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008162 "false_next" : "FabricIngress.spgw.interfaces"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008163 },
8164 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008165 "name" : "node_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07008166 "id" : 1,
8167 "source_info" : {
8168 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008169 "line" : 255,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008170 "column" : 16,
8171 "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
Robert MacDavidde12b982020-07-15 18:38:59 -07008172 },
8173 "expression" : {
8174 "type" : "expression",
8175 "value" : {
8176 "op" : "==",
8177 "left" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008178 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008179 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008180 },
8181 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008182 "type" : "hexstr",
8183 "value" : "0x03"
Robert MacDavidde12b982020-07-15 18:38:59 -07008184 }
8185 }
8186 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008187 "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008188 "false_next" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07008189 },
8190 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008191 "name" : "node_7",
8192 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07008193 "source_info" : {
8194 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008195 "line" : 259,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008196 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07008197 "source_fragment" : "hdr.gtpu.isValid()"
8198 },
8199 "expression" : {
8200 "type" : "expression",
8201 "value" : {
8202 "op" : "d2b",
8203 "left" : null,
8204 "right" : {
8205 "type" : "field",
8206 "value" : ["gtpu", "$valid$"]
8207 }
8208 }
8209 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008210 "true_next" : "FabricIngress.spgw.uplink_pdrs",
8211 "false_next" : "FabricIngress.spgw.downlink_pdrs"
Robert MacDavidde12b982020-07-15 18:38:59 -07008212 },
8213 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008214 "name" : "node_10",
8215 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008216 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008217 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008218 "line" : 264,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008219 "column" : 16,
8220 "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
8221 },
8222 "expression" : {
8223 "type" : "expression",
8224 "value" : {
8225 "op" : "!=",
8226 "left" : {
8227 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008228 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008229 },
8230 "right" : {
8231 "type" : "hexstr",
8232 "value" : "0x03"
8233 }
8234 }
8235 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008236 "true_next" : "tbl_spgw265",
8237 "false_next" : "node_12"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008238 },
8239 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008240 "name" : "node_12",
8241 "id" : 4,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008242 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008243 "filename" : "fabric.p4",
8244 "line" : 66,
8245 "column" : 24,
8246 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -07008247 },
8248 "expression" : {
8249 "type" : "expression",
8250 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008251 "op" : "d2b",
8252 "left" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07008253 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008254 "type" : "field",
8255 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008256 }
8257 }
8258 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008259 "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
8260 "false_next" : "FabricIngress.spgw.fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07008261 },
8262 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008263 "name" : "node_16",
8264 "id" : 5,
Robert MacDavidde12b982020-07-15 18:38:59 -07008265 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008266 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008267 "line" : 110,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008268 "column" : 12,
8269 "source_fragment" : "hdr.vlan_tag.isValid()"
8270 },
8271 "expression" : {
8272 "type" : "expression",
8273 "value" : {
8274 "op" : "d2b",
8275 "left" : null,
8276 "right" : {
8277 "type" : "field",
8278 "value" : ["vlan_tag", "$valid$"]
8279 }
8280 }
8281 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008282 "true_next" : "tbl_filtering111",
8283 "false_next" : "node_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008284 },
8285 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008286 "name" : "node_18",
8287 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008288 "source_info" : {
8289 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008290 "line" : 122,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008291 "column" : 12,
8292 "source_fragment" : "!hdr.mpls.isValid()"
8293 },
8294 "expression" : {
8295 "type" : "expression",
8296 "value" : {
8297 "op" : "not",
8298 "left" : null,
8299 "right" : {
8300 "type" : "expression",
8301 "value" : {
8302 "op" : "d2b",
8303 "left" : null,
8304 "right" : {
8305 "type" : "field",
8306 "value" : ["mpls", "$valid$"]
8307 }
8308 }
8309 }
8310 }
8311 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008312 "true_next" : "tbl_filtering127",
Daniele Moro5a2de712019-09-24 14:34:07 -07008313 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008314 },
8315 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008316 "name" : "node_22",
8317 "id" : 7,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008318 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008319 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008320 "line" : 69,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008321 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008322 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008323 },
8324 "expression" : {
8325 "type" : "expression",
8326 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008327 "op" : "not",
8328 "left" : null,
8329 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008330 "type" : "expression",
8331 "value" : {
8332 "op" : "d2b",
8333 "left" : null,
8334 "right" : {
8335 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008336 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008337 }
8338 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008339 }
8340 }
8341 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008342 "true_next" : "node_23",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008343 "false_next" : "FabricIngress.acl.acl"
8344 },
8345 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008346 "name" : "node_23",
8347 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008348 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008349 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008350 "line" : 150,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008351 "column" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008352 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
8353 },
8354 "expression" : {
8355 "type" : "expression",
8356 "value" : {
8357 "op" : "==",
8358 "left" : {
8359 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008360 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008361 },
8362 "right" : {
8363 "type" : "hexstr",
8364 "value" : "0x00"
8365 }
8366 }
8367 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08008368 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008369 "false_next" : "node_25"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008370 },
8371 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008372 "name" : "node_25",
8373 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008374 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008375 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008376 "line" : 151,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008377 "column" : 17,
8378 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
8379 },
8380 "expression" : {
8381 "type" : "expression",
8382 "value" : {
8383 "op" : "==",
8384 "left" : {
8385 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008386 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008387 },
8388 "right" : {
8389 "type" : "hexstr",
8390 "value" : "0x01"
8391 }
8392 }
8393 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08008394 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008395 "false_next" : "node_27"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008396 },
8397 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008398 "name" : "node_27",
8399 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008400 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008401 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008402 "line" : 152,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008403 "column" : 17,
8404 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
8405 },
8406 "expression" : {
8407 "type" : "expression",
8408 "value" : {
8409 "op" : "==",
8410 "left" : {
8411 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008412 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008413 },
8414 "right" : {
8415 "type" : "hexstr",
8416 "value" : "0x02"
8417 }
8418 }
8419 },
Charles Chan384aea22018-08-23 22:08:02 -07008420 "true_next" : "FabricIngress.forwarding.routing_v4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008421 "false_next" : "FabricIngress.acl.acl"
8422 },
8423 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008424 "name" : "node_30",
8425 "id" : 11,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008426 "source_info" : {
8427 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008428 "line" : 73,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008429 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008430 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008431 },
8432 "expression" : {
8433 "type" : "expression",
8434 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008435 "op" : "not",
8436 "left" : null,
8437 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008438 "type" : "expression",
8439 "value" : {
8440 "op" : "d2b",
8441 "left" : null,
8442 "right" : {
8443 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008444 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008445 }
8446 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008447 }
8448 }
8449 },
8450 "false_next" : null,
8451 "true_next" : "FabricIngress.next.xconnect"
Yi Tseng27b9bc02018-04-12 14:52:40 +08008452 },
8453 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008454 "name" : "node_35",
8455 "id" : 12,
Yi Tseng27b9bc02018-04-12 14:52:40 +08008456 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008457 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008458 "line" : 30,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008459 "column" : 12,
8460 "source_fragment" : "standard_metadata.egress_spec < 511"
8461 },
8462 "expression" : {
8463 "type" : "expression",
8464 "value" : {
8465 "op" : "<",
8466 "left" : {
8467 "type" : "field",
8468 "value" : ["standard_metadata", "egress_spec"]
8469 },
8470 "right" : {
8471 "type" : "hexstr",
8472 "value" : "0x01ff"
8473 }
8474 }
8475 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008476 "true_next" : "tbl_port_counter31",
8477 "false_next" : "node_37"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008478 },
8479 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008480 "name" : "node_37",
8481 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008482 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008483 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008484 "line" : 33,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008485 "column" : 12,
8486 "source_fragment" : "standard_metadata.ingress_port < 511"
8487 },
8488 "expression" : {
8489 "type" : "expression",
8490 "value" : {
8491 "op" : "<",
8492 "left" : {
8493 "type" : "field",
8494 "value" : ["standard_metadata", "ingress_port"]
8495 },
8496 "right" : {
8497 "type" : "hexstr",
8498 "value" : "0x01ff"
8499 }
8500 }
8501 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008502 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008503 "true_next" : "tbl_port_counter34"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008504 }
8505 ]
8506 },
8507 {
8508 "name" : "egress",
8509 "id" : 1,
8510 "source_info" : {
8511 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008512 "line" : 91,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008513 "column" : 8,
8514 "source_fragment" : "FabricEgress"
8515 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008516 "init_table" : "node_41",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008517 "tables" : [
8518 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008519 "name" : "tbl_packetio41",
8520 "id" : 23,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008521 "source_info" : {
8522 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008523 "line" : 41,
8524 "column" : 12,
8525 "source_fragment" : "exit"
Carmelo Cascone3032b872019-04-13 01:23:54 -07008526 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02008527 "key" : [],
8528 "match_type" : "exact",
8529 "type" : "simple",
8530 "max_size" : 1024,
8531 "with_counters" : false,
8532 "support_timeout" : false,
8533 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008534 "action_ids" : [59],
8535 "actions" : ["packetio41"],
8536 "base_default_next" : "node_43",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008537 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008538 "packetio41" : "node_43"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008539 },
8540 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008541 "action_id" : 59,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008542 "action_const" : true,
8543 "action_data" : [],
8544 "action_entry_const" : true
8545 }
8546 },
8547 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008548 "name" : "tbl_packetio44",
8549 "id" : 24,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008550 "source_info" : {
8551 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008552 "line" : 44,
8553 "column" : 12,
8554 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07008555 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008556 "key" : [],
8557 "match_type" : "exact",
8558 "type" : "simple",
8559 "max_size" : 1024,
8560 "with_counters" : false,
8561 "support_timeout" : false,
8562 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008563 "action_ids" : [60],
8564 "actions" : ["packetio44"],
8565 "base_default_next" : "node_45",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008566 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008567 "packetio44" : "node_45"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008568 },
8569 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008570 "action_id" : 60,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008571 "action_const" : true,
8572 "action_data" : [],
8573 "action_entry_const" : true
8574 }
8575 },
8576 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008577 "name" : "tbl_next349",
8578 "id" : 25,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008579 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008580 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008581 "line" : 349,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008582 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008583 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone3032b872019-04-13 01:23:54 -07008584 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008585 "key" : [],
8586 "match_type" : "exact",
8587 "type" : "simple",
8588 "max_size" : 1024,
8589 "with_counters" : false,
8590 "support_timeout" : false,
8591 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008592 "action_ids" : [61],
8593 "actions" : ["next349"],
8594 "base_default_next" : "node_47",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008595 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008596 "next349" : "node_47"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008597 },
8598 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008599 "action_id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008600 "action_const" : true,
8601 "action_data" : [],
8602 "action_entry_const" : true
8603 }
8604 },
8605 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008606 "name" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008607 "id" : 26,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008608 "source_info" : {
8609 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008610 "line" : 353,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008611 "column" : 36,
8612 "source_fragment" : "pop_mpls_if_present()"
8613 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008614 "key" : [],
8615 "match_type" : "exact",
8616 "type" : "simple",
8617 "max_size" : 1024,
8618 "with_counters" : false,
8619 "support_timeout" : false,
8620 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008621 "action_ids" : [53],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008622 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
8623 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
8624 "next_tables" : {
8625 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
8626 },
8627 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008628 "action_id" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008629 "action_const" : true,
8630 "action_data" : [],
8631 "action_entry_const" : true
8632 }
8633 },
8634 {
8635 "name" : "tbl_egress_next_set_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008636 "id" : 27,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008637 "source_info" : {
8638 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008639 "line" : 355,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008640 "column" : 12,
8641 "source_fragment" : "set_mpls()"
8642 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008643 "key" : [],
8644 "match_type" : "exact",
8645 "type" : "simple",
8646 "max_size" : 1024,
8647 "with_counters" : false,
8648 "support_timeout" : false,
8649 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008650 "action_ids" : [54],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008651 "actions" : ["FabricEgress.egress_next.set_mpls"],
8652 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
8653 "next_tables" : {
8654 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
8655 },
8656 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008657 "action_id" : 54,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008658 "action_const" : true,
8659 "action_data" : [],
8660 "action_entry_const" : true
8661 }
8662 },
8663 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008664 "name" : "FabricEgress.egress_next.egress_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008665 "id" : 28,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008666 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008667 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008668 "line" : 331,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008669 "column" : 10,
8670 "source_fragment" : "egress_vlan"
8671 },
8672 "key" : [
8673 {
8674 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008675 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008676 "target" : ["scalars", "userMetadata._vlan_id1"],
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008677 "mask" : null
8678 },
8679 {
8680 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008681 "name" : "eg_port",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008682 "target" : ["standard_metadata", "egress_port"],
8683 "mask" : null
8684 }
8685 ],
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08008686 "match_type" : "exact",
8687 "type" : "simple",
8688 "max_size" : 1024,
Yi Tseng47eac892018-07-11 02:17:04 +08008689 "with_counters" : true,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08008690 "support_timeout" : false,
8691 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008692 "action_ids" : [55, 56, 57],
pierventre48e78822020-12-15 17:34:54 +01008693 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008694 "base_default_next" : "node_52",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08008695 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008696 "FabricEgress.egress_next.push_vlan" : "node_52",
8697 "FabricEgress.egress_next.pop_vlan" : "node_52",
8698 "FabricEgress.egress_next.drop" : "node_52"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008699 },
8700 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008701 "action_id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008702 "action_const" : true,
8703 "action_data" : [],
8704 "action_entry_const" : true
8705 }
8706 },
8707 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008708 "name" : "tbl_next375",
8709 "id" : 29,
pierventre48e78822020-12-15 17:34:54 +01008710 "source_info" : {
8711 "filename" : "include/control/next.p4",
8712 "line" : 375,
8713 "column" : 25,
8714 "source_fragment" : "="
Daniele Moro7c3a0022019-07-12 13:38:34 -07008715 },
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008716 "key" : [],
8717 "match_type" : "exact",
8718 "type" : "simple",
8719 "max_size" : 1024,
8720 "with_counters" : false,
8721 "support_timeout" : false,
8722 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008723 "action_ids" : [63],
8724 "actions" : ["next375"],
8725 "base_default_next" : "node_54",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008726 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008727 "next375" : "node_54"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008728 },
8729 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008730 "action_id" : 63,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008731 "action_const" : true,
8732 "action_data" : [],
8733 "action_entry_const" : true
8734 }
8735 },
8736 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008737 "name" : "tbl_next376",
8738 "id" : 30,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008739 "source_info" : {
8740 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008741 "line" : 376,
8742 "column" : 35,
8743 "source_fragment" : "mark_to_drop(standard_metadata)"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008744 },
8745 "key" : [],
8746 "match_type" : "exact",
8747 "type" : "simple",
8748 "max_size" : 1024,
8749 "with_counters" : false,
8750 "support_timeout" : false,
8751 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008752 "action_ids" : [62],
8753 "actions" : ["next376"],
8754 "base_default_next" : "node_60",
Daniele Moro7c3a0022019-07-12 13:38:34 -07008755 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008756 "next376" : "node_60"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008757 },
8758 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008759 "action_id" : 62,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008760 "action_const" : true,
8761 "action_data" : [],
8762 "action_entry_const" : true
8763 }
8764 },
8765 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008766 "name" : "tbl_next379",
8767 "id" : 31,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008768 "source_info" : {
8769 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008770 "line" : 379,
8771 "column" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008772 "source_fragment" : "="
8773 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008774 "key" : [],
8775 "match_type" : "exact",
8776 "type" : "simple",
8777 "max_size" : 1024,
8778 "with_counters" : false,
8779 "support_timeout" : false,
8780 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008781 "action_ids" : [65],
8782 "actions" : ["next379"],
8783 "base_default_next" : "node_58",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008784 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008785 "next379" : "node_58"
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008786 },
8787 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008788 "action_id" : 65,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008789 "action_const" : true,
8790 "action_data" : [],
8791 "action_entry_const" : true
8792 }
8793 },
8794 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008795 "name" : "tbl_next380",
8796 "id" : 32,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008797 "source_info" : {
8798 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008799 "line" : 380,
8800 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008801 "source_fragment" : "mark_to_drop(standard_metadata)"
8802 },
8803 "key" : [],
8804 "match_type" : "exact",
8805 "type" : "simple",
8806 "max_size" : 1024,
8807 "with_counters" : false,
8808 "support_timeout" : false,
8809 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008810 "action_ids" : [64],
8811 "actions" : ["next380"],
8812 "base_default_next" : "node_60",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008813 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008814 "next380" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008815 },
8816 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008817 "action_id" : 64,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008818 "action_const" : true,
8819 "action_data" : [],
8820 "action_entry_const" : true
8821 }
8822 },
8823 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008824 "name" : "tbl_spgw_gtpu_encap",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008825 "id" : 33,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008826 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008827 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008828 "line" : 339,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008829 "column" : 16,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008830 "source_fragment" : "gtpu_encap()"
8831 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008832 "key" : [],
8833 "match_type" : "exact",
8834 "type" : "simple",
8835 "max_size" : 1024,
8836 "with_counters" : false,
8837 "support_timeout" : false,
8838 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008839 "action_ids" : [58],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008840 "actions" : ["FabricEgress.spgw.gtpu_encap"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008841 "base_default_next" : "node_63",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008842 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008843 "FabricEgress.spgw.gtpu_encap" : "node_63"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008844 },
8845 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008846 "action_id" : 58,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008847 "action_const" : true,
8848 "action_data" : [],
8849 "action_entry_const" : true
8850 }
8851 },
8852 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008853 "name" : "tbl_spgw342",
8854 "id" : 34,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008855 "source_info" : {
8856 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008857 "line" : 342,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008858 "column" : 16,
8859 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
8860 },
8861 "key" : [],
8862 "match_type" : "exact",
8863 "type" : "simple",
8864 "max_size" : 1024,
8865 "with_counters" : false,
8866 "support_timeout" : false,
8867 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008868 "action_ids" : [66],
8869 "actions" : ["spgw342"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008870 "base_default_next" : null,
8871 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008872 "spgw342" : null
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008873 },
8874 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008875 "action_id" : 66,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008876 "action_const" : true,
8877 "action_data" : [],
8878 "action_entry_const" : true
8879 }
8880 }
8881 ],
8882 "action_profiles" : [],
8883 "conditionals" : [
8884 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008885 "name" : "node_41",
8886 "id" : 14,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008887 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008888 "filename" : "fabric.p4",
8889 "line" : 103,
8890 "column" : 33,
8891 "source_fragment" : "fabric_metadata"
Carmelo Casconea5400af2018-07-17 22:11:54 +02008892 },
8893 "expression" : {
8894 "type" : "expression",
8895 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008896 "op" : "d2b",
8897 "left" : null,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008898 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008899 "type" : "field",
8900 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02008901 }
8902 }
8903 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008904 "true_next" : "tbl_packetio41",
8905 "false_next" : "node_43"
Carmelo Casconea5400af2018-07-17 22:11:54 +02008906 },
8907 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008908 "name" : "node_43",
8909 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008910 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008911 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008912 "line" : 43,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008913 "column" : 12,
Carmelo Casconeb531b682018-01-30 17:55:56 -08008914 "source_fragment" : "standard_metadata.egress_port == 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008915 },
8916 "expression" : {
8917 "type" : "expression",
8918 "value" : {
8919 "op" : "==",
8920 "left" : {
8921 "type" : "field",
8922 "value" : ["standard_metadata", "egress_port"]
8923 },
8924 "right" : {
8925 "type" : "hexstr",
8926 "value" : "0x00ff"
8927 }
8928 }
8929 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008930 "true_next" : "tbl_packetio44",
8931 "false_next" : "node_45"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008932 },
8933 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008934 "name" : "node_45",
8935 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008936 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008937 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008938 "line" : 347,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008939 "column" : 12,
8940 "source_fragment" : "fabric_metadata.is_multicast == true ..."
8941 },
8942 "expression" : {
8943 "type" : "expression",
8944 "value" : {
8945 "op" : "and",
8946 "left" : {
8947 "type" : "expression",
8948 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008949 "op" : "d2b",
8950 "left" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008951 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008952 "type" : "field",
8953 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008954 }
8955 }
8956 },
8957 "right" : {
8958 "type" : "expression",
8959 "value" : {
8960 "op" : "==",
8961 "left" : {
8962 "type" : "field",
8963 "value" : ["standard_metadata", "ingress_port"]
8964 },
8965 "right" : {
8966 "type" : "field",
8967 "value" : ["standard_metadata", "egress_port"]
8968 }
8969 }
8970 }
8971 }
8972 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008973 "true_next" : "tbl_next349",
8974 "false_next" : "node_47"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008975 },
8976 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008977 "name" : "node_47",
8978 "id" : 17,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008979 "source_info" : {
8980 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008981 "line" : 352,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008982 "column" : 12,
8983 "source_fragment" : "fabric_metadata.mpls_label == 0"
8984 },
8985 "expression" : {
8986 "type" : "expression",
8987 "value" : {
8988 "op" : "==",
8989 "left" : {
8990 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008991 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008992 },
8993 "right" : {
8994 "type" : "hexstr",
8995 "value" : "0x000000"
8996 }
8997 }
8998 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008999 "true_next" : "node_48",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009000 "false_next" : "tbl_egress_next_set_mpls"
9001 },
9002 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009003 "name" : "node_48",
9004 "id" : 18,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009005 "source_info" : {
9006 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009007 "line" : 353,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009008 "column" : 16,
9009 "source_fragment" : "hdr.mpls.isValid()"
9010 },
9011 "expression" : {
9012 "type" : "expression",
9013 "value" : {
9014 "op" : "d2b",
9015 "left" : null,
9016 "right" : {
9017 "type" : "field",
9018 "value" : ["mpls", "$valid$"]
9019 }
9020 }
9021 },
9022 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009023 "false_next" : "FabricEgress.egress_next.egress_vlan"
9024 },
9025 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009026 "name" : "node_52",
9027 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009028 "source_info" : {
9029 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009030 "line" : 374,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009031 "column" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009032 "source_fragment" : "hdr.mpls.isValid()"
9033 },
9034 "expression" : {
9035 "type" : "expression",
9036 "value" : {
9037 "op" : "d2b",
9038 "left" : null,
9039 "right" : {
9040 "type" : "field",
9041 "value" : ["mpls", "$valid$"]
9042 }
9043 }
9044 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009045 "true_next" : "tbl_next375",
9046 "false_next" : "node_56"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009047 },
9048 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009049 "name" : "node_54",
9050 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009051 "source_info" : {
9052 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009053 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009054 "column" : 16,
9055 "source_fragment" : "hdr.mpls.ttl == 0"
9056 },
9057 "expression" : {
9058 "type" : "expression",
9059 "value" : {
9060 "op" : "==",
9061 "left" : {
9062 "type" : "field",
9063 "value" : ["mpls", "ttl"]
9064 },
9065 "right" : {
9066 "type" : "hexstr",
9067 "value" : "0x00"
9068 }
9069 }
9070 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009071 "true_next" : "tbl_next376",
9072 "false_next" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009073 },
9074 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009075 "name" : "node_56",
9076 "id" : 21,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009077 "source_info" : {
9078 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009079 "line" : 378,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009080 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07009081 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009082 },
9083 "expression" : {
9084 "type" : "expression",
9085 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07009086 "op" : "and",
9087 "left" : {
9088 "type" : "expression",
9089 "value" : {
9090 "op" : "d2b",
9091 "left" : null,
9092 "right" : {
9093 "type" : "field",
9094 "value" : ["ipv4", "$valid$"]
9095 }
9096 }
9097 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009098 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07009099 "type" : "expression",
9100 "value" : {
9101 "op" : "!=",
9102 "left" : {
9103 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009104 "value" : ["scalars", "userMetadata._fwd_type8"]
Charles Chan74ad51e2020-09-12 19:05:42 -07009105 },
9106 "right" : {
9107 "type" : "hexstr",
9108 "value" : "0x00"
9109 }
9110 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009111 }
9112 }
9113 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009114 "true_next" : "tbl_next379",
9115 "false_next" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009116 },
9117 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009118 "name" : "node_58",
9119 "id" : 22,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009120 "source_info" : {
9121 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009122 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009123 "column" : 20,
9124 "source_fragment" : "hdr.ipv4.ttl == 0"
9125 },
9126 "expression" : {
9127 "type" : "expression",
9128 "value" : {
9129 "op" : "==",
9130 "left" : {
9131 "type" : "field",
9132 "value" : ["ipv4", "ttl"]
9133 },
9134 "right" : {
9135 "type" : "hexstr",
9136 "value" : "0x00"
9137 }
9138 }
9139 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009140 "true_next" : "tbl_next380",
9141 "false_next" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009142 },
9143 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009144 "name" : "node_60",
9145 "id" : 23,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009146 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009147 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009148 "line" : 337,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009149 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009150 "source_fragment" : "fabric_md.spgw.skip_spgw"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009151 },
9152 "expression" : {
9153 "type" : "expression",
9154 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009155 "op" : "not",
9156 "left" : null,
9157 "right" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009158 "type" : "expression",
9159 "value" : {
9160 "op" : "d2b",
9161 "left" : null,
9162 "right" : {
9163 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009164 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009165 }
9166 }
Robert MacDavidde12b982020-07-15 18:38:59 -07009167 }
9168 }
9169 },
9170 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009171 "true_next" : "node_61"
Robert MacDavidde12b982020-07-15 18:38:59 -07009172 },
9173 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009174 "name" : "node_61",
9175 "id" : 24,
Robert MacDavidde12b982020-07-15 18:38:59 -07009176 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009177 "filename" : "fabric.p4",
9178 "line" : 106,
9179 "column" : 24,
9180 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -07009181 },
9182 "expression" : {
9183 "type" : "expression",
9184 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009185 "op" : "d2b",
9186 "left" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009187 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009188 "type" : "field",
9189 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009190 }
9191 }
9192 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009193 "true_next" : "tbl_spgw_gtpu_encap",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009194 "false_next" : "node_63"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009195 },
9196 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009197 "name" : "node_63",
9198 "id" : 25,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009199 "source_info" : {
9200 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009201 "line" : 341,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009202 "column" : 16,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009203 "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009204 },
9205 "expression" : {
9206 "type" : "expression",
9207 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009208 "op" : "not",
9209 "left" : null,
9210 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009211 "type" : "expression",
9212 "value" : {
9213 "op" : "d2b",
9214 "left" : null,
9215 "right" : {
9216 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009217 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009218 }
9219 }
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009220 }
9221 }
9222 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009223 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009224 "true_next" : "tbl_spgw342"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009225 }
9226 ]
9227 }
9228 ],
9229 "checksums" : [
9230 {
9231 "name" : "cksum",
9232 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009233 "source_info" : {
9234 "filename" : "include/checksum.p4",
9235 "line" : 28,
9236 "column" : 8,
9237 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
9238 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009239 "target" : ["ipv4", "hdr_checksum"],
9240 "type" : "generic",
9241 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009242 "verify" : false,
9243 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009244 "if_cond" : {
9245 "type" : "expression",
9246 "value" : {
9247 "op" : "d2b",
9248 "left" : null,
9249 "right" : {
9250 "type" : "field",
9251 "value" : ["ipv4", "$valid$"]
9252 }
9253 }
9254 }
9255 },
9256 {
9257 "name" : "cksum_0",
9258 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009259 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009260 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009261 "line" : 358,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009262 "column" : 8,
9263 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
9264 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009265 "target" : ["gtpu_ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009266 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009267 "calculation" : "calc_0",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009268 "verify" : false,
9269 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009270 "if_cond" : {
9271 "type" : "expression",
9272 "value" : {
9273 "op" : "d2b",
9274 "left" : null,
9275 "right" : {
9276 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009277 "value" : ["gtpu_ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009278 }
9279 }
9280 }
9281 },
9282 {
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009283 "name" : "cksum_1",
9284 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009285 "source_info" : {
9286 "filename" : "include/checksum.p4",
9287 "line" : 57,
9288 "column" : 8,
9289 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
9290 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009291 "target" : ["ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009292 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009293 "calculation" : "calc_1",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009294 "verify" : true,
9295 "update" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009296 "if_cond" : {
9297 "type" : "expression",
9298 "value" : {
9299 "op" : "d2b",
9300 "left" : null,
9301 "right" : {
9302 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009303 "value" : ["ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009304 }
9305 }
9306 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009307 }
9308 ],
9309 "force_arith" : [],
9310 "extern_instances" : [],
9311 "field_aliases" : [
9312 [
9313 "queueing_metadata.enq_timestamp",
9314 ["standard_metadata", "enq_timestamp"]
9315 ],
9316 [
9317 "queueing_metadata.enq_qdepth",
9318 ["standard_metadata", "enq_qdepth"]
9319 ],
9320 [
9321 "queueing_metadata.deq_timedelta",
9322 ["standard_metadata", "deq_timedelta"]
9323 ],
9324 [
9325 "queueing_metadata.deq_qdepth",
9326 ["standard_metadata", "deq_qdepth"]
9327 ],
9328 [
9329 "intrinsic_metadata.ingress_global_timestamp",
9330 ["standard_metadata", "ingress_global_timestamp"]
9331 ],
9332 [
Yi Tseng27b9bc02018-04-12 14:52:40 +08009333 "intrinsic_metadata.egress_global_timestamp",
9334 ["standard_metadata", "egress_global_timestamp"]
9335 ],
9336 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009337 "intrinsic_metadata.mcast_grp",
9338 ["standard_metadata", "mcast_grp"]
9339 ],
9340 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009341 "intrinsic_metadata.egress_rid",
9342 ["standard_metadata", "egress_rid"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08009343 ],
9344 [
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009345 "intrinsic_metadata.priority",
9346 ["standard_metadata", "priority"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009347 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009348 ],
9349 "program" : "fabric.p4",
9350 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009351 "version" : [2, 23],
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009352 "compiler" : "https://github.com/p4lang/p4c"
9353 }
Carmelo Cascone25243d62019-02-21 15:37:31 -08009354}