blob: a23792d22c0c5415e2513764f860422a62ddcba1 [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" : [
pierventre48e78822020-12-15 17:34:54 +01007 ["tmp_0", 16, false],
Robert MacDavidde12b982020-07-15 18:38:59 -07008 ["tmp_1", 16, false],
pierventre48e78822020-12-15 17:34:54 +01009 ["tmp_2", 4, false],
Robert MacDavidde12b982020-07-15 18:38:59 -070010 ["tmp", 32, false],
pierventre48e78822020-12-15 17:34:54 +010011 ["tmp_3", 32, false],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080012 ["spgw_tmp", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070013 ["fabric_metadata_t._ip_eth_type0", 16, false],
14 ["fabric_metadata_t._vlan_id1", 12, false],
15 ["fabric_metadata_t._vlan_pri2", 3, false],
16 ["fabric_metadata_t._vlan_cfi3", 1, false],
17 ["fabric_metadata_t._mpls_label4", 20, false],
18 ["fabric_metadata_t._mpls_ttl5", 8, false],
19 ["fabric_metadata_t._skip_forwarding6", 1, false],
20 ["fabric_metadata_t._skip_next7", 1, false],
21 ["fabric_metadata_t._fwd_type8", 3, false],
22 ["fabric_metadata_t._next_id9", 32, false],
23 ["fabric_metadata_t._is_multicast10", 1, false],
24 ["fabric_metadata_t._is_controller_packet_out11", 1, false],
25 ["fabric_metadata_t._ip_proto12", 8, false],
26 ["fabric_metadata_t._l4_sport13", 16, false],
27 ["fabric_metadata_t._l4_dport14", 16, false],
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040028 ["fabric_metadata_t._ipv4_src_addr15", 32, false],
29 ["fabric_metadata_t._ipv4_dst_addr16", 32, false],
Robert MacDavidde12b982020-07-15 18:38:59 -070030 ["fabric_metadata_t._inner_l4_sport17", 16, false],
31 ["fabric_metadata_t._inner_l4_dport18", 16, false],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080032 ["fabric_metadata_t._spgw_ipv4_len19", 16, false],
33 ["fabric_metadata_t._spgw_teid20", 32, false],
34 ["fabric_metadata_t._spgw_tunnel_src_port21", 16, false],
35 ["fabric_metadata_t._spgw_tunnel_src_addr22", 32, false],
36 ["fabric_metadata_t._spgw_tunnel_dst_addr23", 32, false],
37 ["fabric_metadata_t._spgw_ctr_id24", 32, false],
38 ["fabric_metadata_t._spgw_far_id25", 32, false],
39 ["fabric_metadata_t._spgw_src_iface26", 8, false],
40 ["fabric_metadata_t._spgw_skip_spgw27", 1, false],
41 ["fabric_metadata_t._spgw_notify_spgwc28", 1, false],
42 ["fabric_metadata_t._spgw_needs_gtpu_encap29", 1, false],
43 ["fabric_metadata_t._spgw_needs_gtpu_decap30", 1, false],
44 ["fabric_metadata_t._spgw_skip_egress_pdr_ctr31", 1, false],
pierventre48e78822020-12-15 17:34:54 +010045 ["_padding_0", 3, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080046 ]
47 },
48 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +020049 "name" : "standard_metadata",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080050 "id" : 1,
51 "fields" : [
Carmelo Cascone6af4e172018-06-15 16:01:30 +020052 ["ingress_port", 9, false],
53 ["egress_spec", 9, false],
54 ["egress_port", 9, false],
55 ["clone_spec", 32, false],
56 ["instance_type", 32, false],
57 ["drop", 1, false],
58 ["recirculate_port", 16, false],
59 ["packet_length", 32, false],
60 ["enq_timestamp", 32, false],
61 ["enq_qdepth", 19, false],
62 ["deq_timedelta", 32, false],
63 ["deq_qdepth", 19, false],
64 ["ingress_global_timestamp", 48, false],
65 ["egress_global_timestamp", 48, false],
66 ["lf_field_list", 32, false],
67 ["mcast_grp", 16, false],
68 ["resubmit_flag", 32, false],
69 ["egress_rid", 16, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020070 ["recirculate_flag", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070071 ["checksum_error", 1, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070072 ["parser_error", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070073 ["priority", 3, false],
74 ["_padding", 2, false]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020075 ]
76 },
77 {
78 "name" : "ethernet_t",
79 "id" : 2,
80 "fields" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080081 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070082 ["src_addr", 48, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080083 ]
84 },
85 {
86 "name" : "vlan_tag_t",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020087 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080088 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -070089 ["eth_type", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080090 ["pri", 3, false],
91 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -070092 ["vlan_id", 12, false]
93 ]
94 },
95 {
96 "name" : "eth_type_t",
97 "id" : 4,
98 "fields" : [
99 ["value", 16, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800100 ]
101 },
102 {
103 "name" : "mpls_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700104 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800105 "fields" : [
106 ["label", 20, false],
107 ["tc", 3, false],
108 ["bos", 1, false],
109 ["ttl", 8, false]
110 ]
111 },
112 {
113 "name" : "ipv4_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700114 "id" : 6,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800115 "fields" : [
116 ["version", 4, false],
117 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900118 ["dscp", 6, false],
119 ["ecn", 2, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800120 ["total_len", 16, false],
121 ["identification", 16, false],
122 ["flags", 3, false],
123 ["frag_offset", 13, false],
124 ["ttl", 8, false],
125 ["protocol", 8, false],
126 ["hdr_checksum", 16, false],
127 ["src_addr", 32, false],
128 ["dst_addr", 32, false]
129 ]
130 },
131 {
132 "name" : "udp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700133 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800134 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800135 ["sport", 16, false],
136 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800137 ["len", 16, false],
138 ["checksum", 16, false]
139 ]
140 },
141 {
142 "name" : "gtpu_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700143 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800144 "fields" : [
145 ["version", 3, false],
146 ["pt", 1, false],
147 ["spare", 1, false],
148 ["ex_flag", 1, false],
149 ["seq_flag", 1, false],
150 ["npdu_flag", 1, false],
151 ["msgtype", 8, false],
152 ["msglen", 16, false],
153 ["teid", 32, false]
154 ]
155 },
156 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800157 "name" : "tcp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700158 "id" : 9,
Yi Tseng27b9bc02018-04-12 14:52:40 +0800159 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800160 ["sport", 16, false],
161 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800162 ["seq_no", 32, false],
163 ["ack_no", 32, false],
164 ["data_offset", 4, false],
165 ["res", 3, false],
166 ["ecn", 3, false],
167 ["ctrl", 6, false],
168 ["window", 16, false],
169 ["checksum", 16, false],
170 ["urgent_ptr", 16, false]
171 ]
172 },
173 {
174 "name" : "icmp_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700175 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800176 "fields" : [
177 ["icmp_type", 8, false],
178 ["icmp_code", 8, false],
179 ["checksum", 16, false],
180 ["identifier", 16, false],
181 ["sequence_number", 16, false],
182 ["timestamp", 64, false]
183 ]
184 },
185 {
186 "name" : "packet_out_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700187 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800188 "fields" : [
189 ["egress_port", 9, false],
190 ["_pad", 7, false]
191 ]
192 },
193 {
194 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700195 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800196 "fields" : [
197 ["ingress_port", 9, false],
198 ["_pad", 7, false]
199 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800200 }
201 ],
202 "headers" : [
203 {
204 "name" : "scalars",
205 "id" : 0,
206 "header_type" : "scalars_0",
207 "metadata" : true,
208 "pi_omit" : true
209 },
210 {
211 "name" : "standard_metadata",
212 "id" : 1,
213 "header_type" : "standard_metadata",
214 "metadata" : true,
215 "pi_omit" : true
216 },
217 {
218 "name" : "ethernet",
219 "id" : 2,
220 "header_type" : "ethernet_t",
221 "metadata" : false,
222 "pi_omit" : true
223 },
224 {
225 "name" : "vlan_tag",
226 "id" : 3,
227 "header_type" : "vlan_tag_t",
228 "metadata" : false,
229 "pi_omit" : true
230 },
231 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800232 "name" : "inner_vlan_tag",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800233 "id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800234 "header_type" : "vlan_tag_t",
235 "metadata" : false,
236 "pi_omit" : true
237 },
238 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700239 "name" : "eth_type",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800240 "id" : 5,
Daniele Moro5a2de712019-09-24 14:34:07 -0700241 "header_type" : "eth_type_t",
242 "metadata" : false,
243 "pi_omit" : true
244 },
245 {
246 "name" : "mpls",
247 "id" : 6,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800248 "header_type" : "mpls_t",
249 "metadata" : false,
250 "pi_omit" : true
251 },
252 {
253 "name" : "gtpu_ipv4",
Daniele Moro5a2de712019-09-24 14:34:07 -0700254 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800255 "header_type" : "ipv4_t",
256 "metadata" : false,
257 "pi_omit" : true
258 },
259 {
260 "name" : "gtpu_udp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700261 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800262 "header_type" : "udp_t",
263 "metadata" : false,
264 "pi_omit" : true
265 },
266 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700267 "name" : "outer_gtpu",
Daniele Moro5a2de712019-09-24 14:34:07 -0700268 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800269 "header_type" : "gtpu_t",
270 "metadata" : false,
271 "pi_omit" : true
272 },
273 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700274 "name" : "gtpu",
Daniele Moro5a2de712019-09-24 14:34:07 -0700275 "id" : 10,
Robert MacDavidde12b982020-07-15 18:38:59 -0700276 "header_type" : "gtpu_t",
277 "metadata" : false,
278 "pi_omit" : true
279 },
280 {
281 "name" : "inner_ipv4",
282 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800283 "header_type" : "ipv4_t",
284 "metadata" : false,
285 "pi_omit" : true
286 },
287 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700288 "name" : "inner_udp",
Robert MacDavidde12b982020-07-15 18:38:59 -0700289 "id" : 12,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700290 "header_type" : "udp_t",
291 "metadata" : false,
292 "pi_omit" : true
293 },
294 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700295 "name" : "inner_tcp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700296 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800297 "header_type" : "tcp_t",
298 "metadata" : false,
299 "pi_omit" : true
300 },
301 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700302 "name" : "inner_icmp",
Daniele Moro5a2de712019-09-24 14:34:07 -0700303 "id" : 14,
Robert MacDavidde12b982020-07-15 18:38:59 -0700304 "header_type" : "icmp_t",
305 "metadata" : false,
306 "pi_omit" : true
307 },
308 {
309 "name" : "ipv4",
310 "id" : 15,
311 "header_type" : "ipv4_t",
312 "metadata" : false,
313 "pi_omit" : true
314 },
315 {
316 "name" : "tcp",
317 "id" : 16,
318 "header_type" : "tcp_t",
319 "metadata" : false,
320 "pi_omit" : true
321 },
322 {
323 "name" : "udp",
324 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800325 "header_type" : "udp_t",
326 "metadata" : false,
327 "pi_omit" : true
328 },
329 {
330 "name" : "icmp",
Robert MacDavidde12b982020-07-15 18:38:59 -0700331 "id" : 18,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800332 "header_type" : "icmp_t",
333 "metadata" : false,
334 "pi_omit" : true
335 },
336 {
337 "name" : "packet_out",
Robert MacDavidde12b982020-07-15 18:38:59 -0700338 "id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800339 "header_type" : "packet_out_header_t",
340 "metadata" : false,
341 "pi_omit" : true
342 },
343 {
344 "name" : "packet_in",
Robert MacDavidde12b982020-07-15 18:38:59 -0700345 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800346 "header_type" : "packet_in_header_t",
347 "metadata" : false,
348 "pi_omit" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800349 }
350 ],
351 "header_stacks" : [],
352 "header_union_types" : [],
353 "header_unions" : [],
354 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700355 "field_lists" : [
356 {
357 "id" : 1,
358 "name" : "fl",
359 "source_info" : {
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700360 "filename" : "include/control/acl.p4",
361 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700362 "column" : 40,
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700363 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700364 },
365 "elements" : [
366 {
367 "type" : "field",
368 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700369 }
370 ]
371 }
372 ],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700373 "errors" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700374 ["NoError", 1],
375 ["PacketTooShort", 2],
376 ["NoMatch", 3],
377 ["StackOutOfBounds", 4],
378 ["HeaderTooShort", 5],
379 ["ParserTimeout", 6],
380 ["ParserInvalidArgument", 7]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700381 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800382 "enums" : [],
383 "parsers" : [
384 {
385 "name" : "parser",
386 "id" : 0,
387 "init_state" : "start",
388 "parse_states" : [
389 {
390 "name" : "start",
391 "id" : 0,
392 "parser_ops" : [],
393 "transitions" : [
394 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800395 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800396 "value" : "0x00ff",
397 "mask" : null,
398 "next_state" : "parse_packet_out"
399 },
400 {
401 "value" : "default",
402 "mask" : null,
403 "next_state" : "parse_ethernet"
404 }
405 ],
406 "transition_key" : [
407 {
408 "type" : "field",
409 "value" : ["standard_metadata", "ingress_port"]
410 }
411 ]
412 },
413 {
414 "name" : "parse_packet_out",
415 "id" : 1,
416 "parser_ops" : [
417 {
418 "parameters" : [
419 {
420 "type" : "regular",
421 "value" : "packet_out"
422 }
423 ],
424 "op" : "extract"
425 }
426 ],
427 "transitions" : [
428 {
429 "value" : "default",
430 "mask" : null,
431 "next_state" : "parse_ethernet"
432 }
433 ],
434 "transition_key" : []
435 },
436 {
437 "name" : "parse_ethernet",
438 "id" : 2,
439 "parser_ops" : [
440 {
441 "parameters" : [
442 {
443 "type" : "regular",
444 "value" : "ethernet"
445 }
446 ],
447 "op" : "extract"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800448 },
449 {
450 "parameters" : [
451 {
452 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700453 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800454 },
455 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700456 "type" : "hexstr",
457 "value" : "0x0ffe"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800458 }
459 ],
460 "op" : "set"
461 },
462 {
463 "parameters" : [
464 {
465 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100466 "value" : ["scalars", "tmp_0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800467 },
468 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700469 "type" : "lookahead",
470 "value" : [0, 16]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800471 }
472 ],
473 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800474 }
475 ],
476 "transitions" : [
477 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800478 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700479 "value" : "0x88a8",
480 "mask" : null,
481 "next_state" : "parse_vlan_tag"
482 },
483 {
484 "type" : "hexstr",
485 "value" : "0x9100",
486 "mask" : null,
487 "next_state" : "parse_vlan_tag"
488 },
489 {
490 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800491 "value" : "0x8100",
492 "mask" : null,
493 "next_state" : "parse_vlan_tag"
494 },
495 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800496 "value" : "default",
497 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700498 "next_state" : "parse_eth_type"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800499 }
500 ],
501 "transition_key" : [
502 {
503 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100504 "value" : ["scalars", "tmp_0"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800505 }
506 ]
507 },
508 {
509 "name" : "parse_vlan_tag",
510 "id" : 3,
511 "parser_ops" : [
512 {
513 "parameters" : [
514 {
515 "type" : "regular",
516 "value" : "vlan_tag"
517 }
518 ],
519 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700520 },
521 {
522 "parameters" : [
523 {
524 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100525 "value" : ["scalars", "tmp_1"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700526 },
527 {
528 "type" : "lookahead",
529 "value" : [0, 16]
530 }
531 ],
532 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800533 }
534 ],
535 "transitions" : [
536 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800537 "type" : "hexstr",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800538 "value" : "0x8100",
539 "mask" : null,
540 "next_state" : "parse_inner_vlan_tag"
541 },
542 {
543 "value" : "default",
544 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700545 "next_state" : "parse_eth_type"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800546 }
547 ],
548 "transition_key" : [
549 {
550 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100551 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800552 }
553 ]
554 },
555 {
556 "name" : "parse_inner_vlan_tag",
557 "id" : 4,
558 "parser_ops" : [
559 {
560 "parameters" : [
561 {
562 "type" : "regular",
563 "value" : "inner_vlan_tag"
564 }
565 ],
566 "op" : "extract"
567 }
568 ],
569 "transitions" : [
570 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700571 "value" : "default",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800572 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700573 "next_state" : "parse_eth_type"
574 }
575 ],
576 "transition_key" : []
577 },
578 {
579 "name" : "parse_eth_type",
580 "id" : 5,
581 "parser_ops" : [
582 {
583 "parameters" : [
584 {
585 "type" : "regular",
586 "value" : "eth_type"
587 }
588 ],
589 "op" : "extract"
590 }
591 ],
592 "transitions" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800593 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800594 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800595 "value" : "0x8847",
596 "mask" : null,
597 "next_state" : "parse_mpls"
598 },
599 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700600 "type" : "hexstr",
601 "value" : "0x0800",
602 "mask" : null,
603 "next_state" : "parse_ipv4"
604 },
605 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800606 "value" : "default",
607 "mask" : null,
608 "next_state" : null
609 }
610 ],
611 "transition_key" : [
612 {
613 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700614 "value" : ["eth_type", "value"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800615 }
616 ]
617 },
618 {
619 "name" : "parse_mpls",
Daniele Moro5a2de712019-09-24 14:34:07 -0700620 "id" : 6,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800621 "parser_ops" : [
622 {
623 "parameters" : [
624 {
625 "type" : "regular",
626 "value" : "mpls"
627 }
628 ],
629 "op" : "extract"
630 },
631 {
632 "parameters" : [
633 {
634 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700635 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800636 },
637 {
638 "type" : "field",
639 "value" : ["mpls", "label"]
640 }
641 ],
642 "op" : "set"
643 },
644 {
645 "parameters" : [
646 {
647 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700648 "value" : ["scalars", "fabric_metadata_t._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800649 },
650 {
651 "type" : "field",
652 "value" : ["mpls", "ttl"]
653 }
654 ],
655 "op" : "set"
656 },
657 {
658 "parameters" : [
659 {
660 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100661 "value" : ["scalars", "tmp_2"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800662 },
663 {
664 "type" : "lookahead",
665 "value" : [0, 4]
666 }
667 ],
668 "op" : "set"
669 }
670 ],
671 "transitions" : [
672 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800673 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800674 "value" : "0x04",
675 "mask" : null,
676 "next_state" : "parse_ipv4"
677 },
678 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800679 "value" : "default",
680 "mask" : null,
681 "next_state" : "parse_ethernet"
682 }
683 ],
684 "transition_key" : [
685 {
686 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +0100687 "value" : ["scalars", "tmp_2"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800688 }
689 ]
690 },
691 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700692 "name" : "parse_ipv4",
693 "id" : 7,
694 "parser_ops" : [
695 {
696 "parameters" : [
697 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800698 "type" : "regular",
699 "value" : "ipv4"
700 }
701 ],
702 "op" : "extract"
703 },
704 {
705 "parameters" : [
706 {
707 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700708 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800709 },
710 {
711 "type" : "field",
712 "value" : ["ipv4", "protocol"]
713 }
714 ],
715 "op" : "set"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800716 },
717 {
718 "parameters" : [
719 {
720 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700721 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800722 },
723 {
724 "type" : "hexstr",
725 "value" : "0x0800"
726 }
727 ],
728 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400729 },
730 {
731 "parameters" : [
732 {
733 "type" : "field",
734 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
735 },
736 {
737 "type" : "field",
738 "value" : ["ipv4", "src_addr"]
739 }
740 ],
741 "op" : "set"
742 },
743 {
744 "parameters" : [
745 {
746 "type" : "field",
747 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
748 },
749 {
750 "type" : "field",
751 "value" : ["ipv4", "dst_addr"]
752 }
753 ],
754 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800755 }
756 ],
757 "transitions" : [
758 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800759 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800760 "value" : "0x06",
761 "mask" : null,
762 "next_state" : "parse_tcp"
763 },
764 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800765 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800766 "value" : "0x11",
767 "mask" : null,
768 "next_state" : "parse_udp"
769 },
770 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800771 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800772 "value" : "0x01",
773 "mask" : null,
774 "next_state" : "parse_icmp"
775 },
776 {
777 "value" : "default",
778 "mask" : null,
779 "next_state" : null
780 }
781 ],
782 "transition_key" : [
783 {
784 "type" : "field",
785 "value" : ["ipv4", "protocol"]
786 }
787 ]
788 },
789 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800790 "name" : "parse_tcp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700791 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800792 "parser_ops" : [
793 {
794 "parameters" : [
795 {
796 "type" : "regular",
797 "value" : "tcp"
798 }
799 ],
800 "op" : "extract"
801 },
802 {
803 "parameters" : [
804 {
805 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700806 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800807 },
808 {
809 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800810 "value" : ["tcp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800811 }
812 ],
813 "op" : "set"
814 },
815 {
816 "parameters" : [
817 {
818 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700819 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800820 },
821 {
822 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800823 "value" : ["tcp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800824 }
825 ],
826 "op" : "set"
827 }
828 ],
829 "transitions" : [
830 {
831 "value" : "default",
832 "mask" : null,
833 "next_state" : null
834 }
835 ],
836 "transition_key" : []
837 },
838 {
839 "name" : "parse_udp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700840 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800841 "parser_ops" : [
842 {
843 "parameters" : [
844 {
845 "type" : "regular",
846 "value" : "udp"
847 }
848 ],
849 "op" : "extract"
850 },
851 {
852 "parameters" : [
853 {
854 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700855 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800856 },
857 {
858 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800859 "value" : ["udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800860 }
861 ],
862 "op" : "set"
863 },
864 {
865 "parameters" : [
866 {
867 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700868 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800869 },
870 {
871 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800872 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800873 }
874 ],
875 "op" : "set"
876 }
877 ],
878 "transitions" : [
879 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800880 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800881 "value" : "0x0868",
882 "mask" : null,
883 "next_state" : "parse_gtpu"
884 },
885 {
886 "value" : "default",
887 "mask" : null,
888 "next_state" : null
889 }
890 ],
891 "transition_key" : [
892 {
893 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800894 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800895 }
896 ]
897 },
898 {
899 "name" : "parse_icmp",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700900 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800901 "parser_ops" : [
902 {
903 "parameters" : [
904 {
905 "type" : "regular",
906 "value" : "icmp"
907 }
908 ],
909 "op" : "extract"
910 }
911 ],
912 "transitions" : [
913 {
914 "value" : "default",
915 "mask" : null,
916 "next_state" : null
917 }
918 ],
919 "transition_key" : []
920 },
921 {
922 "name" : "parse_gtpu",
Daniele Moro7c3a0022019-07-12 13:38:34 -0700923 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800924 "parser_ops" : [
925 {
926 "parameters" : [
927 {
928 "type" : "regular",
929 "value" : "gtpu"
930 }
931 ],
932 "op" : "extract"
933 },
934 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800935 "parameters" : [
936 {
937 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700938 "value" : "inner_ipv4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800939 }
940 ],
941 "op" : "extract"
942 }
943 ],
944 "transitions" : [
945 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800946 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800947 "value" : "0x06",
948 "mask" : null,
949 "next_state" : "parse_tcp"
950 },
951 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800952 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800953 "value" : "0x11",
954 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700955 "next_state" : "parse_inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800956 },
957 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800958 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800959 "value" : "0x01",
960 "mask" : null,
961 "next_state" : "parse_icmp"
962 },
963 {
964 "value" : "default",
965 "mask" : null,
966 "next_state" : null
967 }
968 ],
969 "transition_key" : [
970 {
971 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700972 "value" : ["inner_ipv4", "protocol"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800973 }
974 ]
975 },
976 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700977 "name" : "parse_inner_udp",
Robert MacDavidde12b982020-07-15 18:38:59 -0700978 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800979 "parser_ops" : [
980 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800981 "parameters" : [
982 {
983 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700984 "value" : "inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800985 }
986 ],
987 "op" : "extract"
988 },
989 {
990 "parameters" : [
991 {
992 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -0700993 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800994 },
995 {
996 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800997 "value" : ["inner_udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800998 }
999 ],
1000 "op" : "set"
1001 },
1002 {
1003 "parameters" : [
1004 {
1005 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07001006 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001007 },
1008 {
1009 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001010 "value" : ["inner_udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001011 }
1012 ],
1013 "op" : "set"
1014 }
1015 ],
1016 "transitions" : [
1017 {
1018 "value" : "default",
1019 "mask" : null,
1020 "next_state" : null
1021 }
1022 ],
1023 "transition_key" : []
1024 }
1025 ]
1026 }
1027 ],
Yi Tseng27b9bc02018-04-12 14:52:40 +08001028 "parse_vsets" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001029 "deparsers" : [
1030 {
1031 "name" : "deparser",
1032 "id" : 0,
1033 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001034 "filename" : "include/parser.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07001035 "line" : 268,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001036 "column" : 8,
1037 "source_fragment" : "FabricDeparser"
1038 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001039 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001040 }
1041 ],
1042 "meter_arrays" : [],
1043 "counter_arrays" : [
1044 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001045 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001046 "id" : 0,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001047 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001048 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1049 "source_info" : {
1050 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001051 "line" : 31,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001052 "column" : 50,
1053 "source_fragment" : "ingress_port_vlan_counter"
1054 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001055 },
1056 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001057 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001058 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001059 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001060 "binding" : "FabricIngress.filtering.fwd_classifier",
1061 "source_info" : {
1062 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001063 "line" : 85,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001064 "column" : 50,
1065 "source_fragment" : "fwd_classifier_counter"
1066 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001067 },
1068 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001069 "name" : "FabricIngress.forwarding.bridging_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001070 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001071 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001072 "binding" : "FabricIngress.forwarding.bridging",
1073 "source_info" : {
1074 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001075 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001076 "column" : 50,
1077 "source_fragment" : "bridging_counter"
1078 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001079 },
1080 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001081 "name" : "FabricIngress.forwarding.mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001082 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001083 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001084 "binding" : "FabricIngress.forwarding.mpls",
1085 "source_info" : {
1086 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001087 "line" : 63,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001088 "column" : 50,
1089 "source_fragment" : "mpls_counter"
1090 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001091 },
1092 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001093 "name" : "FabricIngress.acl.acl_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001094 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001095 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001096 "binding" : "FabricIngress.acl.acl",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001097 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001098 "filename" : "include/control/acl.p4",
1099 "line" : 30,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001100 "column" : 50,
1101 "source_fragment" : "acl_counter"
1102 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001103 },
1104 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001105 "name" : "FabricIngress.next.next_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001106 "id" : 5,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001107 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001108 "binding" : "FabricIngress.next.next_vlan",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001109 "source_info" : {
1110 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001111 "line" : 67,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001112 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001113 "source_fragment" : "next_vlan_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001114 }
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001115 },
1116 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001117 "name" : "FabricIngress.next.xconnect_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001118 "id" : 6,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001119 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001120 "binding" : "FabricIngress.next.xconnect",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001121 "source_info" : {
1122 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001123 "line" : 107,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001124 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001125 "source_fragment" : "xconnect_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001126 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001127 },
1128 {
1129 "name" : "FabricIngress.next.hashed_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001130 "id" : 7,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001131 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001132 "binding" : "FabricIngress.next.hashed",
1133 "source_info" : {
1134 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001135 "line" : 184,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001136 "column" : 50,
1137 "source_fragment" : "hashed_counter"
1138 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001139 },
1140 {
Esin Karaman971fb7f2017-12-28 13:44:52 +00001141 "name" : "FabricIngress.next.multicast_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001142 "id" : 8,
Esin Karaman971fb7f2017-12-28 13:44:52 +00001143 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001144 "binding" : "FabricIngress.next.multicast",
1145 "source_info" : {
1146 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001147 "line" : 228,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001148 "column" : 50,
1149 "source_fragment" : "multicast_counter"
1150 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00001151 },
1152 {
1153 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001154 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001155 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001156 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001157 "line" : 26,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001158 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001159 "source_fragment" : "egress_port_counter"
1160 },
1161 "size" : 511,
1162 "is_direct" : false
1163 },
1164 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001165 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001166 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001167 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001168 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001169 "line" : 27,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001170 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001171 "source_fragment" : "ingress_port_counter"
1172 },
1173 "size" : 511,
1174 "is_direct" : false
Yi Tseng47eac892018-07-11 02:17:04 +08001175 },
1176 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001177 "name" : "FabricIngress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001178 "id" : 11,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001179 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001180 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001181 "line" : 109,
Robert MacDavidde12b982020-07-15 18:38:59 -07001182 "column" : 53,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001183 "source_fragment" : "pdr_counter"
1184 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001185 "size" : 2048,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001186 "is_direct" : false
1187 },
1188 {
1189 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001190 "id" : 12,
Yi Tseng47eac892018-07-11 02:17:04 +08001191 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001192 "binding" : "FabricEgress.egress_next.egress_vlan",
1193 "source_info" : {
1194 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01001195 "line" : 314,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001196 "column" : 50,
1197 "source_fragment" : "egress_vlan_counter"
1198 }
Robert MacDavidde12b982020-07-15 18:38:59 -07001199 },
1200 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001201 "name" : "FabricEgress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001202 "id" : 13,
1203 "source_info" : {
1204 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03001205 "line" : 296,
Robert MacDavidde12b982020-07-15 18:38:59 -07001206 "column" : 53,
1207 "source_fragment" : "pdr_counter"
1208 },
1209 "size" : 2048,
1210 "is_direct" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001211 }
1212 ],
1213 "register_arrays" : [],
1214 "calculations" : [
1215 {
1216 "name" : "calc",
1217 "id" : 0,
1218 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001219 "filename" : "include/checksum.p4",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001220 "line" : 28,
1221 "column" : 8,
1222 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1223 },
1224 "algo" : "csum16",
1225 "input" : [
1226 {
1227 "type" : "field",
1228 "value" : ["ipv4", "version"]
1229 },
1230 {
1231 "type" : "field",
1232 "value" : ["ipv4", "ihl"]
1233 },
1234 {
1235 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001236 "value" : ["ipv4", "dscp"]
1237 },
1238 {
1239 "type" : "field",
1240 "value" : ["ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001241 },
1242 {
1243 "type" : "field",
1244 "value" : ["ipv4", "total_len"]
1245 },
1246 {
1247 "type" : "field",
1248 "value" : ["ipv4", "identification"]
1249 },
1250 {
1251 "type" : "field",
1252 "value" : ["ipv4", "flags"]
1253 },
1254 {
1255 "type" : "field",
1256 "value" : ["ipv4", "frag_offset"]
1257 },
1258 {
1259 "type" : "field",
1260 "value" : ["ipv4", "ttl"]
1261 },
1262 {
1263 "type" : "field",
1264 "value" : ["ipv4", "protocol"]
1265 },
1266 {
1267 "type" : "field",
1268 "value" : ["ipv4", "src_addr"]
1269 },
1270 {
1271 "type" : "field",
1272 "value" : ["ipv4", "dst_addr"]
1273 }
1274 ]
1275 },
1276 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001277 "name" : "calc_0",
1278 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001279 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001280 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03001281 "line" : 359,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001282 "column" : 8,
1283 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
1284 },
1285 "algo" : "csum16",
1286 "input" : [
1287 {
1288 "type" : "field",
1289 "value" : ["gtpu_ipv4", "version"]
1290 },
1291 {
1292 "type" : "field",
1293 "value" : ["gtpu_ipv4", "ihl"]
1294 },
1295 {
1296 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001297 "value" : ["gtpu_ipv4", "dscp"]
1298 },
1299 {
1300 "type" : "field",
1301 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001302 },
1303 {
1304 "type" : "field",
1305 "value" : ["gtpu_ipv4", "total_len"]
1306 },
1307 {
1308 "type" : "field",
1309 "value" : ["gtpu_ipv4", "identification"]
1310 },
1311 {
1312 "type" : "field",
1313 "value" : ["gtpu_ipv4", "flags"]
1314 },
1315 {
1316 "type" : "field",
1317 "value" : ["gtpu_ipv4", "frag_offset"]
1318 },
1319 {
1320 "type" : "field",
1321 "value" : ["gtpu_ipv4", "ttl"]
1322 },
1323 {
1324 "type" : "field",
1325 "value" : ["gtpu_ipv4", "protocol"]
1326 },
1327 {
1328 "type" : "field",
1329 "value" : ["gtpu_ipv4", "src_addr"]
1330 },
1331 {
1332 "type" : "field",
1333 "value" : ["gtpu_ipv4", "dst_addr"]
1334 }
1335 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001336 },
1337 {
1338 "name" : "calc_1",
1339 "id" : 2,
1340 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001341 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001342 "line" : 57,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001343 "column" : 8,
1344 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1345 },
1346 "algo" : "csum16",
1347 "input" : [
1348 {
1349 "type" : "field",
1350 "value" : ["ipv4", "version"]
1351 },
1352 {
1353 "type" : "field",
1354 "value" : ["ipv4", "ihl"]
1355 },
1356 {
1357 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001358 "value" : ["ipv4", "dscp"]
1359 },
1360 {
1361 "type" : "field",
1362 "value" : ["ipv4", "ecn"]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02001363 },
1364 {
1365 "type" : "field",
1366 "value" : ["ipv4", "total_len"]
1367 },
1368 {
1369 "type" : "field",
1370 "value" : ["ipv4", "identification"]
1371 },
1372 {
1373 "type" : "field",
1374 "value" : ["ipv4", "flags"]
1375 },
1376 {
1377 "type" : "field",
1378 "value" : ["ipv4", "frag_offset"]
1379 },
1380 {
1381 "type" : "field",
1382 "value" : ["ipv4", "ttl"]
1383 },
1384 {
1385 "type" : "field",
1386 "value" : ["ipv4", "protocol"]
1387 },
1388 {
1389 "type" : "field",
1390 "value" : ["ipv4", "src_addr"]
1391 },
1392 {
1393 "type" : "field",
1394 "value" : ["ipv4", "dst_addr"]
1395 }
1396 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001397 }
1398 ],
1399 "learn_lists" : [],
1400 "actions" : [
1401 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001402 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001403 "id" : 0,
1404 "runtime_data" : [],
1405 "primitives" : []
1406 },
1407 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001408 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001409 "id" : 1,
1410 "runtime_data" : [],
1411 "primitives" : []
1412 },
1413 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001414 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001415 "id" : 2,
1416 "runtime_data" : [],
1417 "primitives" : []
1418 },
1419 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001420 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001421 "id" : 3,
1422 "runtime_data" : [],
1423 "primitives" : []
1424 },
1425 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001426 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001427 "id" : 4,
1428 "runtime_data" : [],
1429 "primitives" : []
1430 },
1431 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001432 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001433 "id" : 5,
1434 "runtime_data" : [],
1435 "primitives" : []
1436 },
1437 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001438 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001439 "id" : 6,
1440 "runtime_data" : [],
1441 "primitives" : []
1442 },
1443 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001444 "name" : "NoAction",
Robert MacDavidde12b982020-07-15 18:38:59 -07001445 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001446 "runtime_data" : [],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001447 "primitives" : []
1448 },
1449 {
1450 "name" : "NoAction",
1451 "id" : 8,
1452 "runtime_data" : [],
1453 "primitives" : []
1454 },
1455 {
1456 "name" : "FabricIngress.filtering.deny",
1457 "id" : 9,
1458 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001459 "primitives" : [
1460 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001461 "op" : "assign",
1462 "parameters" : [
1463 {
1464 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001465 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001466 },
1467 {
1468 "type" : "expression",
1469 "value" : {
1470 "type" : "expression",
1471 "value" : {
1472 "op" : "b2d",
1473 "left" : null,
1474 "right" : {
1475 "type" : "bool",
1476 "value" : true
1477 }
1478 }
1479 }
1480 }
1481 ],
1482 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001483 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001484 "line" : 36,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001485 "column" : 40,
1486 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001487 }
1488 },
1489 {
1490 "op" : "assign",
1491 "parameters" : [
1492 {
1493 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001494 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001495 },
1496 {
1497 "type" : "expression",
1498 "value" : {
1499 "type" : "expression",
1500 "value" : {
1501 "op" : "b2d",
1502 "left" : null,
1503 "right" : {
1504 "type" : "bool",
1505 "value" : true
1506 }
1507 }
1508 }
1509 }
1510 ],
1511 "source_info" : {
1512 "filename" : "include/control/filtering.p4",
1513 "line" : 37,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001514 "column" : 34,
1515 "source_fragment" : "= true; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001516 }
1517 }
1518 ]
1519 },
1520 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001521 "name" : "FabricIngress.filtering.permit",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001522 "id" : 10,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07001523 "runtime_data" : [],
1524 "primitives" : []
1525 },
1526 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001527 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001528 "id" : 11,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001529 "runtime_data" : [
1530 {
1531 "name" : "vlan_id",
1532 "bitwidth" : 12
1533 }
1534 ],
1535 "primitives" : [
1536 {
1537 "op" : "assign",
1538 "parameters" : [
1539 {
1540 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001541 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001542 },
1543 {
1544 "type" : "runtime_data",
1545 "value" : 0
1546 }
1547 ],
1548 "source_info" : {
1549 "filename" : "include/control/filtering.p4",
1550 "line" : 47,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001551 "column" : 32,
1552 "source_fragment" : "= vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001553 }
1554 }
1555 ]
1556 },
1557 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001558 "name" : "FabricIngress.filtering.set_forwarding_type",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001559 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001560 "runtime_data" : [
1561 {
1562 "name" : "fwd_type",
1563 "bitwidth" : 3
1564 }
1565 ],
1566 "primitives" : [
1567 {
1568 "op" : "assign",
1569 "parameters" : [
1570 {
1571 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001572 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001573 },
1574 {
1575 "type" : "runtime_data",
1576 "value" : 0
1577 }
1578 ],
1579 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001580 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001581 "line" : 88,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001582 "column" : 33,
1583 "source_fragment" : "= fwd_type; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001584 }
1585 }
1586 ]
1587 },
1588 {
Yi Tseng47eac892018-07-11 02:17:04 +08001589 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001590 "id" : 13,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001591 "runtime_data" : [
1592 {
1593 "name" : "next_id",
1594 "bitwidth" : 32
1595 }
1596 ],
1597 "primitives" : [
1598 {
1599 "op" : "assign",
1600 "parameters" : [
1601 {
1602 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001603 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001604 },
1605 {
1606 "type" : "runtime_data",
1607 "value" : 0
1608 }
1609 ],
1610 "source_info" : {
1611 "filename" : "include/control/forwarding.p4",
1612 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001613 "column" : 32,
1614 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001615 }
1616 }
1617 ]
1618 },
1619 {
1620 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001621 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001622 "runtime_data" : [
1623 {
1624 "name" : "next_id",
1625 "bitwidth" : 32
1626 }
1627 ],
1628 "primitives" : [
1629 {
1630 "op" : "assign",
1631 "parameters" : [
1632 {
1633 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001634 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001635 },
1636 {
1637 "type" : "hexstr",
1638 "value" : "0x000000"
1639 }
1640 ],
1641 "source_info" : {
1642 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001643 "line" : 66,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001644 "column" : 35,
1645 "source_fragment" : "= 0; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001646 }
1647 },
1648 {
1649 "op" : "assign",
1650 "parameters" : [
1651 {
1652 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001653 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001654 },
1655 {
1656 "type" : "runtime_data",
1657 "value" : 0
1658 }
1659 ],
1660 "source_info" : {
1661 "filename" : "include/control/forwarding.p4",
1662 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001663 "column" : 32,
1664 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001665 }
1666 }
1667 ]
1668 },
1669 {
1670 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001671 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001672 "runtime_data" : [
1673 {
1674 "name" : "next_id",
1675 "bitwidth" : 32
1676 }
1677 ],
1678 "primitives" : [
1679 {
1680 "op" : "assign",
1681 "parameters" : [
1682 {
1683 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001684 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001685 },
1686 {
1687 "type" : "runtime_data",
1688 "value" : 0
1689 }
1690 ],
1691 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001692 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001693 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001694 "column" : 32,
1695 "source_fragment" : "= next_id; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001696 }
1697 }
1698 ]
1699 },
1700 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001701 "name" : "FabricIngress.forwarding.nop_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001702 "id" : 16,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001703 "runtime_data" : [],
1704 "primitives" : []
Yi Tseng47eac892018-07-11 02:17:04 +08001705 },
1706 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001707 "name" : "FabricIngress.acl.set_next_id_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001708 "id" : 17,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001709 "runtime_data" : [
1710 {
1711 "name" : "next_id",
1712 "bitwidth" : 32
1713 }
1714 ],
1715 "primitives" : [
1716 {
1717 "op" : "assign",
1718 "parameters" : [
1719 {
1720 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001721 "value" : ["scalars", "fabric_metadata_t._next_id9"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08001722 },
1723 {
1724 "type" : "runtime_data",
1725 "value" : 0
1726 }
1727 ],
1728 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001729 "filename" : "include/control/acl.p4",
1730 "line" : 33,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001731 "column" : 32,
1732 "source_fragment" : "= next_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001733 }
1734 }
1735 ]
1736 },
1737 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001738 "name" : "FabricIngress.acl.punt_to_cpu",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001739 "id" : 18,
Charles Chancd03f072018-08-31 17:46:37 -07001740 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001741 "primitives" : [
1742 {
1743 "op" : "assign",
1744 "parameters" : [
1745 {
1746 "type" : "field",
1747 "value" : ["standard_metadata", "egress_spec"]
1748 },
1749 {
1750 "type" : "hexstr",
1751 "value" : "0x00ff"
1752 }
1753 ],
1754 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001755 "filename" : "include/control/acl.p4",
1756 "line" : 39,
Carmelo Casconeb531b682018-01-30 17:55:56 -08001757 "column" : 8,
1758 "source_fragment" : "standard_metadata.egress_spec = 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001759 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001760 },
1761 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001762 "op" : "assign",
1763 "parameters" : [
1764 {
1765 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001766 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001767 },
1768 {
1769 "type" : "expression",
1770 "value" : {
1771 "type" : "expression",
1772 "value" : {
1773 "op" : "b2d",
1774 "left" : null,
1775 "right" : {
1776 "type" : "bool",
1777 "value" : true
1778 }
1779 }
1780 }
1781 }
1782 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001783 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001784 "filename" : "include/control/acl.p4",
1785 "line" : 40,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001786 "column" : 34,
1787 "source_fragment" : "= true; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001788 }
1789 }
1790 ]
1791 },
1792 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001793 "name" : "FabricIngress.acl.set_clone_session_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001794 "id" : 19,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001795 "runtime_data" : [
1796 {
1797 "name" : "clone_id",
1798 "bitwidth" : 32
1799 }
1800 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001801 "primitives" : [
1802 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001803 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001804 "parameters" : [
1805 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001806 "type" : "runtime_data",
1807 "value" : 0
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001808 },
1809 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001810 "type" : "hexstr",
1811 "value" : "0x1"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001812 }
1813 ],
1814 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001815 "filename" : "include/control/acl.p4",
1816 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001817 "column" : 8,
Daniele Moro3b7a21b2019-06-25 17:33:40 -07001818 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02001819 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001820 }
1821 ]
1822 },
1823 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001824 "name" : "FabricIngress.acl.drop",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001825 "id" : 20,
Yi Tseng47eac892018-07-11 02:17:04 +08001826 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001827 "primitives" : [
1828 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001829 "op" : "mark_to_drop",
1830 "parameters" : [
1831 {
1832 "type" : "header",
1833 "value" : "standard_metadata"
1834 }
1835 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001836 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001837 "filename" : "include/control/acl.p4",
1838 "line" : 51,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001839 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07001840 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001841 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001842 },
1843 {
1844 "op" : "assign",
1845 "parameters" : [
1846 {
1847 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001848 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001849 },
1850 {
1851 "type" : "expression",
1852 "value" : {
1853 "type" : "expression",
1854 "value" : {
1855 "op" : "b2d",
1856 "left" : null,
1857 "right" : {
1858 "type" : "bool",
1859 "value" : true
1860 }
1861 }
1862 }
1863 }
1864 ],
1865 "source_info" : {
1866 "filename" : "include/control/acl.p4",
1867 "line" : 52,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001868 "column" : 34,
1869 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001870 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001871 }
1872 ]
1873 },
1874 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001875 "name" : "FabricIngress.acl.nop_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001876 "id" : 21,
Charles Chancf696e52018-08-16 16:25:13 -07001877 "runtime_data" : [],
1878 "primitives" : []
1879 },
1880 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001881 "name" : "FabricIngress.next.set_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001882 "id" : 22,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001883 "runtime_data" : [
1884 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001885 "name" : "vlan_id",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001886 "bitwidth" : 12
1887 }
1888 ],
1889 "primitives" : [
1890 {
1891 "op" : "assign",
1892 "parameters" : [
1893 {
1894 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07001895 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001896 },
1897 {
1898 "type" : "runtime_data",
1899 "value" : 0
1900 }
1901 ],
1902 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001903 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001904 "line" : 70,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08001905 "column" : 32,
1906 "source_fragment" : "= vlan_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001907 }
1908 }
1909 ]
1910 },
1911 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001912 "name" : "FabricIngress.next.output_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07001913 "id" : 23,
Yi Tseng47eac892018-07-11 02:17:04 +08001914 "runtime_data" : [
1915 {
1916 "name" : "port_num",
1917 "bitwidth" : 9
1918 }
1919 ],
1920 "primitives" : [
1921 {
1922 "op" : "assign",
1923 "parameters" : [
1924 {
1925 "type" : "field",
1926 "value" : ["standard_metadata", "egress_spec"]
1927 },
1928 {
1929 "type" : "runtime_data",
1930 "value" : 0
1931 }
1932 ],
1933 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001934 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001935 "line" : 31,
1936 "column" : 5,
1937 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
Yi Tseng47eac892018-07-11 02:17:04 +08001938 }
1939 }
1940 ]
1941 },
1942 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001943 "name" : "FabricIngress.next.set_next_id_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07001944 "id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001945 "runtime_data" : [
1946 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001947 "name" : "next_id",
1948 "bitwidth" : 32
1949 }
1950 ],
1951 "primitives" : [
1952 {
1953 "op" : "assign",
1954 "parameters" : [
1955 {
1956 "type" : "field",
1957 "value" : ["scalars", "fabric_metadata_t._next_id9"]
1958 },
1959 {
1960 "type" : "runtime_data",
1961 "value" : 0
1962 }
1963 ],
1964 "source_info" : {
1965 "filename" : "include/control/next.p4",
1966 "line" : 115,
1967 "column" : 32,
1968 "source_fragment" : "= next_id; ..."
1969 }
1970 }
1971 ]
1972 },
1973 {
1974 "name" : "FabricIngress.next.output_hashed",
1975 "id" : 25,
1976 "runtime_data" : [
1977 {
1978 "name" : "port_num",
1979 "bitwidth" : 9
1980 }
1981 ],
1982 "primitives" : [
1983 {
1984 "op" : "assign",
1985 "parameters" : [
1986 {
1987 "type" : "field",
1988 "value" : ["standard_metadata", "egress_spec"]
1989 },
1990 {
1991 "type" : "runtime_data",
1992 "value" : 0
1993 }
1994 ],
1995 "source_info" : {
1996 "filename" : "include/control/next.p4",
1997 "line" : 31,
1998 "column" : 5,
1999 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2000 }
2001 }
2002 ]
2003 },
2004 {
2005 "name" : "FabricIngress.next.routing_hashed",
2006 "id" : 26,
2007 "runtime_data" : [
2008 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002009 "name" : "port_num",
2010 "bitwidth" : 9
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002011 },
2012 {
2013 "name" : "smac",
2014 "bitwidth" : 48
2015 },
2016 {
2017 "name" : "dmac",
2018 "bitwidth" : 48
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002019 }
2020 ],
2021 "primitives" : [
2022 {
2023 "op" : "assign",
2024 "parameters" : [
2025 {
2026 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002027 "value" : ["ethernet", "src_addr"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002028 },
2029 {
2030 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002031 "value" : 1
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002032 }
2033 ],
2034 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002035 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002036 "line" : 36,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002037 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002038 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2039 }
2040 },
2041 {
2042 "op" : "assign",
2043 "parameters" : [
2044 {
2045 "type" : "field",
2046 "value" : ["ethernet", "dst_addr"]
2047 },
2048 {
2049 "type" : "runtime_data",
2050 "value" : 2
2051 }
2052 ],
2053 "source_info" : {
2054 "filename" : "include/control/next.p4",
2055 "line" : 41,
2056 "column" : 8,
2057 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002058 }
2059 },
2060 {
2061 "op" : "assign",
2062 "parameters" : [
2063 {
2064 "type" : "field",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002065 "value" : ["standard_metadata", "egress_spec"]
2066 },
2067 {
2068 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002069 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002070 }
2071 ],
2072 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002073 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002074 "line" : 31,
2075 "column" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002076 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2077 }
2078 }
2079 ]
2080 },
2081 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002082 "name" : "FabricIngress.next.mpls_routing_hashed",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002083 "id" : 27,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002084 "runtime_data" : [
2085 {
2086 "name" : "port_num",
2087 "bitwidth" : 9
2088 },
2089 {
2090 "name" : "smac",
2091 "bitwidth" : 48
2092 },
2093 {
2094 "name" : "dmac",
2095 "bitwidth" : 48
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002096 },
2097 {
2098 "name" : "label",
2099 "bitwidth" : 20
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002100 }
2101 ],
2102 "primitives" : [
2103 {
2104 "op" : "assign",
2105 "parameters" : [
2106 {
2107 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002108 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002109 },
2110 {
2111 "type" : "runtime_data",
2112 "value" : 3
2113 }
2114 ],
2115 "source_info" : {
2116 "filename" : "include/control/next.p4",
2117 "line" : 46,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002118 "column" : 35,
2119 "source_fragment" : "= label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002120 }
2121 },
2122 {
2123 "op" : "assign",
2124 "parameters" : [
2125 {
2126 "type" : "field",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002127 "value" : ["ethernet", "src_addr"]
2128 },
2129 {
2130 "type" : "runtime_data",
2131 "value" : 1
2132 }
2133 ],
2134 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002135 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002136 "line" : 36,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002137 "column" : 8,
2138 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2139 }
2140 },
2141 {
2142 "op" : "assign",
2143 "parameters" : [
2144 {
2145 "type" : "field",
2146 "value" : ["ethernet", "dst_addr"]
2147 },
2148 {
2149 "type" : "runtime_data",
2150 "value" : 2
2151 }
2152 ],
2153 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002154 "filename" : "include/control/next.p4",
Yi Tseng47eac892018-07-11 02:17:04 +08002155 "line" : 41,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002156 "column" : 8,
2157 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2158 }
2159 },
2160 {
2161 "op" : "assign",
2162 "parameters" : [
2163 {
2164 "type" : "field",
2165 "value" : ["standard_metadata", "egress_spec"]
2166 },
2167 {
2168 "type" : "runtime_data",
2169 "value" : 0
2170 }
2171 ],
2172 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002173 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002174 "line" : 31,
2175 "column" : 5,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002176 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2177 }
2178 }
2179 ]
2180 },
2181 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002182 "name" : "FabricIngress.next.set_mcast_group_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002183 "id" : 28,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002184 "runtime_data" : [
2185 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002186 "name" : "group_id",
Esin Karaman971fb7f2017-12-28 13:44:52 +00002187 "bitwidth" : 16
2188 }
2189 ],
2190 "primitives" : [
2191 {
2192 "op" : "assign",
2193 "parameters" : [
2194 {
2195 "type" : "field",
2196 "value" : ["standard_metadata", "mcast_grp"]
2197 },
2198 {
2199 "type" : "runtime_data",
2200 "value" : 0
2201 }
2202 ],
2203 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002204 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002205 "line" : 231,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002206 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002207 "source_fragment" : "standard_metadata.mcast_grp = group_id"
Esin Karaman971fb7f2017-12-28 13:44:52 +00002208 }
Carmelo Casconea5400af2018-07-17 22:11:54 +02002209 },
2210 {
2211 "op" : "assign",
2212 "parameters" : [
2213 {
2214 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07002215 "value" : ["scalars", "fabric_metadata_t._is_multicast10"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02002216 },
2217 {
2218 "type" : "expression",
2219 "value" : {
2220 "type" : "expression",
2221 "value" : {
2222 "op" : "b2d",
2223 "left" : null,
2224 "right" : {
2225 "type" : "bool",
2226 "value" : true
2227 }
2228 }
2229 }
2230 }
2231 ],
2232 "source_info" : {
2233 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002234 "line" : 232,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002235 "column" : 37,
2236 "source_fragment" : "= true; ..."
Carmelo Casconea5400af2018-07-17 22:11:54 +02002237 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00002238 }
2239 ]
2240 },
2241 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002242 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
2243 "id" : 29,
2244 "runtime_data" : [],
2245 "primitives" : [
2246 {
2247 "op" : "assign",
2248 "parameters" : [
2249 {
2250 "type" : "field",
2251 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
2252 },
2253 {
2254 "type" : "hexstr",
2255 "value" : "0x0800"
2256 }
2257 ],
2258 "source_info" : {
2259 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03002260 "line" : 119,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002261 "column" : 31,
2262 "source_fragment" : "0x0800; ..."
2263 }
2264 },
2265 {
2266 "op" : "assign",
2267 "parameters" : [
2268 {
2269 "type" : "field",
2270 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
2271 },
2272 {
2273 "type" : "field",
2274 "value" : ["inner_ipv4", "protocol"]
2275 }
2276 ],
2277 "source_info" : {
2278 "filename" : "include/control/spgw.p4",
2279 "line" : 39,
2280 "column" : 27,
2281 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2282 }
2283 },
2284 {
2285 "op" : "assign",
2286 "parameters" : [
2287 {
2288 "type" : "field",
2289 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
2290 },
2291 {
2292 "type" : "field",
2293 "value" : ["inner_ipv4", "src_addr"]
2294 }
2295 ],
2296 "source_info" : {
2297 "filename" : "include/control/spgw.p4",
2298 "line" : 40,
2299 "column" : 32,
2300 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2301 }
2302 },
2303 {
2304 "op" : "assign",
2305 "parameters" : [
2306 {
2307 "type" : "field",
2308 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
2309 },
2310 {
2311 "type" : "field",
2312 "value" : ["inner_ipv4", "dst_addr"]
2313 }
2314 ],
2315 "source_info" : {
2316 "filename" : "include/control/spgw.p4",
2317 "line" : 41,
2318 "column" : 32,
2319 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2320 }
2321 },
2322 {
2323 "op" : "assign",
2324 "parameters" : [
2325 {
2326 "type" : "field",
2327 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
2328 },
2329 {
2330 "type" : "field",
2331 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
2332 }
2333 ],
2334 "source_info" : {
2335 "filename" : "include/control/spgw.p4",
2336 "line" : 42,
2337 "column" : 27,
2338 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2339 }
2340 },
2341 {
2342 "op" : "assign",
2343 "parameters" : [
2344 {
2345 "type" : "field",
2346 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
2347 },
2348 {
2349 "type" : "field",
2350 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
2351 }
2352 ],
2353 "source_info" : {
2354 "filename" : "include/control/spgw.p4",
2355 "line" : 43,
2356 "column" : 27,
2357 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
2358 }
2359 },
2360 {
2361 "op" : "assign_header",
2362 "parameters" : [
2363 {
2364 "type" : "header",
2365 "value" : "ipv4"
2366 },
2367 {
2368 "type" : "header",
2369 "value" : "inner_ipv4"
2370 }
2371 ],
2372 "source_info" : {
2373 "filename" : "include/control/spgw.p4",
2374 "line" : 45,
2375 "column" : 8,
2376 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
2377 }
2378 },
2379 {
2380 "op" : "remove_header",
2381 "parameters" : [
2382 {
2383 "type" : "header",
2384 "value" : "inner_ipv4"
2385 }
2386 ],
2387 "source_info" : {
2388 "filename" : "include/control/spgw.p4",
2389 "line" : 46,
2390 "column" : 8,
2391 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
2392 }
2393 },
2394 {
2395 "op" : "remove_header",
2396 "parameters" : [
2397 {
2398 "type" : "header",
2399 "value" : "gtpu"
2400 }
2401 ],
2402 "source_info" : {
2403 "filename" : "include/control/spgw.p4",
2404 "line" : 47,
2405 "column" : 8,
2406 "source_fragment" : "hdr.gtpu.setInvalid()"
2407 }
2408 },
2409 {
2410 "op" : "remove_header",
2411 "parameters" : [
2412 {
2413 "type" : "header",
2414 "value" : "udp"
2415 }
2416 ],
2417 "source_info" : {
2418 "filename" : "include/control/spgw.p4",
2419 "line" : 52,
2420 "column" : 8,
2421 "source_fragment" : "hdr.udp.setInvalid()"
2422 }
2423 },
2424 {
2425 "op" : "assign_header",
2426 "parameters" : [
2427 {
2428 "type" : "header",
2429 "value" : "tcp"
2430 },
2431 {
2432 "type" : "header",
2433 "value" : "inner_tcp"
2434 }
2435 ],
2436 "source_info" : {
2437 "filename" : "include/control/spgw.p4",
2438 "line" : 53,
2439 "column" : 8,
2440 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
2441 }
2442 },
2443 {
2444 "op" : "remove_header",
2445 "parameters" : [
2446 {
2447 "type" : "header",
2448 "value" : "inner_tcp"
2449 }
2450 ],
2451 "source_info" : {
2452 "filename" : "include/control/spgw.p4",
2453 "line" : 54,
2454 "column" : 8,
2455 "source_fragment" : "hdr.inner_tcp.setInvalid()"
2456 }
2457 }
2458 ]
2459 },
2460 {
2461 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
2462 "id" : 30,
2463 "runtime_data" : [],
2464 "primitives" : [
2465 {
2466 "op" : "assign",
2467 "parameters" : [
2468 {
2469 "type" : "field",
2470 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
2471 },
2472 {
2473 "type" : "hexstr",
2474 "value" : "0x0800"
2475 }
2476 ],
2477 "source_info" : {
2478 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03002479 "line" : 119,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002480 "column" : 31,
2481 "source_fragment" : "0x0800; ..."
2482 }
2483 },
2484 {
2485 "op" : "assign",
2486 "parameters" : [
2487 {
2488 "type" : "field",
2489 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
2490 },
2491 {
2492 "type" : "field",
2493 "value" : ["inner_ipv4", "protocol"]
2494 }
2495 ],
2496 "source_info" : {
2497 "filename" : "include/control/spgw.p4",
2498 "line" : 39,
2499 "column" : 27,
2500 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2501 }
2502 },
2503 {
2504 "op" : "assign",
2505 "parameters" : [
2506 {
2507 "type" : "field",
2508 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
2509 },
2510 {
2511 "type" : "field",
2512 "value" : ["inner_ipv4", "src_addr"]
2513 }
2514 ],
2515 "source_info" : {
2516 "filename" : "include/control/spgw.p4",
2517 "line" : 40,
2518 "column" : 32,
2519 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2520 }
2521 },
2522 {
2523 "op" : "assign",
2524 "parameters" : [
2525 {
2526 "type" : "field",
2527 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
2528 },
2529 {
2530 "type" : "field",
2531 "value" : ["inner_ipv4", "dst_addr"]
2532 }
2533 ],
2534 "source_info" : {
2535 "filename" : "include/control/spgw.p4",
2536 "line" : 41,
2537 "column" : 32,
2538 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2539 }
2540 },
2541 {
2542 "op" : "assign",
2543 "parameters" : [
2544 {
2545 "type" : "field",
2546 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
2547 },
2548 {
2549 "type" : "field",
2550 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
2551 }
2552 ],
2553 "source_info" : {
2554 "filename" : "include/control/spgw.p4",
2555 "line" : 42,
2556 "column" : 27,
2557 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2558 }
2559 },
2560 {
2561 "op" : "assign",
2562 "parameters" : [
2563 {
2564 "type" : "field",
2565 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
2566 },
2567 {
2568 "type" : "field",
2569 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
2570 }
2571 ],
2572 "source_info" : {
2573 "filename" : "include/control/spgw.p4",
2574 "line" : 43,
2575 "column" : 27,
2576 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
2577 }
2578 },
2579 {
2580 "op" : "assign_header",
2581 "parameters" : [
2582 {
2583 "type" : "header",
2584 "value" : "ipv4"
2585 },
2586 {
2587 "type" : "header",
2588 "value" : "inner_ipv4"
2589 }
2590 ],
2591 "source_info" : {
2592 "filename" : "include/control/spgw.p4",
2593 "line" : 45,
2594 "column" : 8,
2595 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
2596 }
2597 },
2598 {
2599 "op" : "remove_header",
2600 "parameters" : [
2601 {
2602 "type" : "header",
2603 "value" : "inner_ipv4"
2604 }
2605 ],
2606 "source_info" : {
2607 "filename" : "include/control/spgw.p4",
2608 "line" : 46,
2609 "column" : 8,
2610 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
2611 }
2612 },
2613 {
2614 "op" : "remove_header",
2615 "parameters" : [
2616 {
2617 "type" : "header",
2618 "value" : "gtpu"
2619 }
2620 ],
2621 "source_info" : {
2622 "filename" : "include/control/spgw.p4",
2623 "line" : 47,
2624 "column" : 8,
2625 "source_fragment" : "hdr.gtpu.setInvalid()"
2626 }
2627 },
2628 {
2629 "op" : "assign_header",
2630 "parameters" : [
2631 {
2632 "type" : "header",
2633 "value" : "udp"
2634 },
2635 {
2636 "type" : "header",
2637 "value" : "inner_udp"
2638 }
2639 ],
2640 "source_info" : {
2641 "filename" : "include/control/spgw.p4",
2642 "line" : 59,
2643 "column" : 8,
2644 "source_fragment" : "hdr.udp = hdr.inner_udp"
2645 }
2646 },
2647 {
2648 "op" : "remove_header",
2649 "parameters" : [
2650 {
2651 "type" : "header",
2652 "value" : "inner_udp"
2653 }
2654 ],
2655 "source_info" : {
2656 "filename" : "include/control/spgw.p4",
2657 "line" : 60,
2658 "column" : 8,
2659 "source_fragment" : "hdr.inner_udp.setInvalid()"
2660 }
2661 }
2662 ]
2663 },
2664 {
2665 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
2666 "id" : 31,
2667 "runtime_data" : [],
2668 "primitives" : [
2669 {
2670 "op" : "assign",
2671 "parameters" : [
2672 {
2673 "type" : "field",
2674 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
2675 },
2676 {
2677 "type" : "hexstr",
2678 "value" : "0x0800"
2679 }
2680 ],
2681 "source_info" : {
2682 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03002683 "line" : 119,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002684 "column" : 31,
2685 "source_fragment" : "0x0800; ..."
2686 }
2687 },
2688 {
2689 "op" : "assign",
2690 "parameters" : [
2691 {
2692 "type" : "field",
2693 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
2694 },
2695 {
2696 "type" : "field",
2697 "value" : ["inner_ipv4", "protocol"]
2698 }
2699 ],
2700 "source_info" : {
2701 "filename" : "include/control/spgw.p4",
2702 "line" : 39,
2703 "column" : 27,
2704 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2705 }
2706 },
2707 {
2708 "op" : "assign",
2709 "parameters" : [
2710 {
2711 "type" : "field",
2712 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
2713 },
2714 {
2715 "type" : "field",
2716 "value" : ["inner_ipv4", "src_addr"]
2717 }
2718 ],
2719 "source_info" : {
2720 "filename" : "include/control/spgw.p4",
2721 "line" : 40,
2722 "column" : 32,
2723 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2724 }
2725 },
2726 {
2727 "op" : "assign",
2728 "parameters" : [
2729 {
2730 "type" : "field",
2731 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
2732 },
2733 {
2734 "type" : "field",
2735 "value" : ["inner_ipv4", "dst_addr"]
2736 }
2737 ],
2738 "source_info" : {
2739 "filename" : "include/control/spgw.p4",
2740 "line" : 41,
2741 "column" : 32,
2742 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2743 }
2744 },
2745 {
2746 "op" : "assign",
2747 "parameters" : [
2748 {
2749 "type" : "field",
2750 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
2751 },
2752 {
2753 "type" : "field",
2754 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
2755 }
2756 ],
2757 "source_info" : {
2758 "filename" : "include/control/spgw.p4",
2759 "line" : 42,
2760 "column" : 27,
2761 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2762 }
2763 },
2764 {
2765 "op" : "assign",
2766 "parameters" : [
2767 {
2768 "type" : "field",
2769 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
2770 },
2771 {
2772 "type" : "field",
2773 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
2774 }
2775 ],
2776 "source_info" : {
2777 "filename" : "include/control/spgw.p4",
2778 "line" : 43,
2779 "column" : 27,
2780 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
2781 }
2782 },
2783 {
2784 "op" : "assign_header",
2785 "parameters" : [
2786 {
2787 "type" : "header",
2788 "value" : "ipv4"
2789 },
2790 {
2791 "type" : "header",
2792 "value" : "inner_ipv4"
2793 }
2794 ],
2795 "source_info" : {
2796 "filename" : "include/control/spgw.p4",
2797 "line" : 45,
2798 "column" : 8,
2799 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
2800 }
2801 },
2802 {
2803 "op" : "remove_header",
2804 "parameters" : [
2805 {
2806 "type" : "header",
2807 "value" : "inner_ipv4"
2808 }
2809 ],
2810 "source_info" : {
2811 "filename" : "include/control/spgw.p4",
2812 "line" : 46,
2813 "column" : 8,
2814 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
2815 }
2816 },
2817 {
2818 "op" : "remove_header",
2819 "parameters" : [
2820 {
2821 "type" : "header",
2822 "value" : "gtpu"
2823 }
2824 ],
2825 "source_info" : {
2826 "filename" : "include/control/spgw.p4",
2827 "line" : 47,
2828 "column" : 8,
2829 "source_fragment" : "hdr.gtpu.setInvalid()"
2830 }
2831 },
2832 {
2833 "op" : "remove_header",
2834 "parameters" : [
2835 {
2836 "type" : "header",
2837 "value" : "udp"
2838 }
2839 ],
2840 "source_info" : {
2841 "filename" : "include/control/spgw.p4",
2842 "line" : 65,
2843 "column" : 8,
2844 "source_fragment" : "hdr.udp.setInvalid()"
2845 }
2846 },
2847 {
2848 "op" : "assign_header",
2849 "parameters" : [
2850 {
2851 "type" : "header",
2852 "value" : "icmp"
2853 },
2854 {
2855 "type" : "header",
2856 "value" : "inner_icmp"
2857 }
2858 ],
2859 "source_info" : {
2860 "filename" : "include/control/spgw.p4",
2861 "line" : 66,
2862 "column" : 8,
2863 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
2864 }
2865 },
2866 {
2867 "op" : "remove_header",
2868 "parameters" : [
2869 {
2870 "type" : "header",
2871 "value" : "inner_icmp"
2872 }
2873 ],
2874 "source_info" : {
2875 "filename" : "include/control/spgw.p4",
2876 "line" : 67,
2877 "column" : 8,
2878 "source_fragment" : "hdr.inner_icmp.setInvalid()"
2879 }
2880 }
2881 ]
2882 },
2883 {
2884 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
2885 "id" : 32,
2886 "runtime_data" : [],
2887 "primitives" : [
2888 {
2889 "op" : "assign",
2890 "parameters" : [
2891 {
2892 "type" : "field",
2893 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
2894 },
2895 {
2896 "type" : "hexstr",
2897 "value" : "0x0800"
2898 }
2899 ],
2900 "source_info" : {
2901 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03002902 "line" : 119,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002903 "column" : 31,
2904 "source_fragment" : "0x0800; ..."
2905 }
2906 },
2907 {
2908 "op" : "assign",
2909 "parameters" : [
2910 {
2911 "type" : "field",
2912 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
2913 },
2914 {
2915 "type" : "field",
2916 "value" : ["inner_ipv4", "protocol"]
2917 }
2918 ],
2919 "source_info" : {
2920 "filename" : "include/control/spgw.p4",
2921 "line" : 39,
2922 "column" : 27,
2923 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
2924 }
2925 },
2926 {
2927 "op" : "assign",
2928 "parameters" : [
2929 {
2930 "type" : "field",
2931 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
2932 },
2933 {
2934 "type" : "field",
2935 "value" : ["inner_ipv4", "src_addr"]
2936 }
2937 ],
2938 "source_info" : {
2939 "filename" : "include/control/spgw.p4",
2940 "line" : 40,
2941 "column" : 32,
2942 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
2943 }
2944 },
2945 {
2946 "op" : "assign",
2947 "parameters" : [
2948 {
2949 "type" : "field",
2950 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
2951 },
2952 {
2953 "type" : "field",
2954 "value" : ["inner_ipv4", "dst_addr"]
2955 }
2956 ],
2957 "source_info" : {
2958 "filename" : "include/control/spgw.p4",
2959 "line" : 41,
2960 "column" : 32,
2961 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
2962 }
2963 },
2964 {
2965 "op" : "assign",
2966 "parameters" : [
2967 {
2968 "type" : "field",
2969 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
2970 },
2971 {
2972 "type" : "field",
2973 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
2974 }
2975 ],
2976 "source_info" : {
2977 "filename" : "include/control/spgw.p4",
2978 "line" : 42,
2979 "column" : 27,
2980 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
2981 }
2982 },
2983 {
2984 "op" : "assign",
2985 "parameters" : [
2986 {
2987 "type" : "field",
2988 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
2989 },
2990 {
2991 "type" : "field",
2992 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
2993 }
2994 ],
2995 "source_info" : {
2996 "filename" : "include/control/spgw.p4",
2997 "line" : 43,
2998 "column" : 27,
2999 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3000 }
3001 },
3002 {
3003 "op" : "assign_header",
3004 "parameters" : [
3005 {
3006 "type" : "header",
3007 "value" : "ipv4"
3008 },
3009 {
3010 "type" : "header",
3011 "value" : "inner_ipv4"
3012 }
3013 ],
3014 "source_info" : {
3015 "filename" : "include/control/spgw.p4",
3016 "line" : 45,
3017 "column" : 8,
3018 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3019 }
3020 },
3021 {
3022 "op" : "remove_header",
3023 "parameters" : [
3024 {
3025 "type" : "header",
3026 "value" : "inner_ipv4"
3027 }
3028 ],
3029 "source_info" : {
3030 "filename" : "include/control/spgw.p4",
3031 "line" : 46,
3032 "column" : 8,
3033 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3034 }
3035 },
3036 {
3037 "op" : "remove_header",
3038 "parameters" : [
3039 {
3040 "type" : "header",
3041 "value" : "gtpu"
3042 }
3043 ],
3044 "source_info" : {
3045 "filename" : "include/control/spgw.p4",
3046 "line" : 47,
3047 "column" : 8,
3048 "source_fragment" : "hdr.gtpu.setInvalid()"
3049 }
3050 },
3051 {
3052 "op" : "remove_header",
3053 "parameters" : [
3054 {
3055 "type" : "header",
3056 "value" : "udp"
3057 }
3058 ],
3059 "source_info" : {
3060 "filename" : "include/control/spgw.p4",
3061 "line" : 72,
3062 "column" : 8,
3063 "source_fragment" : "hdr.udp.setInvalid()"
3064 }
3065 }
3066 ]
3067 },
3068 {
3069 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
3070 "id" : 33,
3071 "runtime_data" : [],
3072 "primitives" : [
3073 {
3074 "op" : "assign",
3075 "parameters" : [
3076 {
3077 "type" : "field",
3078 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3079 },
3080 {
3081 "type" : "hexstr",
3082 "value" : "0x0800"
3083 }
3084 ],
3085 "source_info" : {
3086 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003087 "line" : 119,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003088 "column" : 31,
3089 "source_fragment" : "0x0800; ..."
3090 }
3091 },
3092 {
3093 "op" : "assign",
3094 "parameters" : [
3095 {
3096 "type" : "field",
3097 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3098 },
3099 {
3100 "type" : "field",
3101 "value" : ["inner_ipv4", "protocol"]
3102 }
3103 ],
3104 "source_info" : {
3105 "filename" : "include/control/spgw.p4",
3106 "line" : 39,
3107 "column" : 27,
3108 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3109 }
3110 },
3111 {
3112 "op" : "assign",
3113 "parameters" : [
3114 {
3115 "type" : "field",
3116 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3117 },
3118 {
3119 "type" : "field",
3120 "value" : ["inner_ipv4", "src_addr"]
3121 }
3122 ],
3123 "source_info" : {
3124 "filename" : "include/control/spgw.p4",
3125 "line" : 40,
3126 "column" : 32,
3127 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3128 }
3129 },
3130 {
3131 "op" : "assign",
3132 "parameters" : [
3133 {
3134 "type" : "field",
3135 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3136 },
3137 {
3138 "type" : "field",
3139 "value" : ["inner_ipv4", "dst_addr"]
3140 }
3141 ],
3142 "source_info" : {
3143 "filename" : "include/control/spgw.p4",
3144 "line" : 41,
3145 "column" : 32,
3146 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3147 }
3148 },
3149 {
3150 "op" : "assign",
3151 "parameters" : [
3152 {
3153 "type" : "field",
3154 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3155 },
3156 {
3157 "type" : "field",
3158 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3159 }
3160 ],
3161 "source_info" : {
3162 "filename" : "include/control/spgw.p4",
3163 "line" : 42,
3164 "column" : 27,
3165 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3166 }
3167 },
3168 {
3169 "op" : "assign",
3170 "parameters" : [
3171 {
3172 "type" : "field",
3173 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3174 },
3175 {
3176 "type" : "field",
3177 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3178 }
3179 ],
3180 "source_info" : {
3181 "filename" : "include/control/spgw.p4",
3182 "line" : 43,
3183 "column" : 27,
3184 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3185 }
3186 },
3187 {
3188 "op" : "assign_header",
3189 "parameters" : [
3190 {
3191 "type" : "header",
3192 "value" : "ipv4"
3193 },
3194 {
3195 "type" : "header",
3196 "value" : "inner_ipv4"
3197 }
3198 ],
3199 "source_info" : {
3200 "filename" : "include/control/spgw.p4",
3201 "line" : 45,
3202 "column" : 8,
3203 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3204 }
3205 },
3206 {
3207 "op" : "remove_header",
3208 "parameters" : [
3209 {
3210 "type" : "header",
3211 "value" : "inner_ipv4"
3212 }
3213 ],
3214 "source_info" : {
3215 "filename" : "include/control/spgw.p4",
3216 "line" : 46,
3217 "column" : 8,
3218 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3219 }
3220 },
3221 {
3222 "op" : "remove_header",
3223 "parameters" : [
3224 {
3225 "type" : "header",
3226 "value" : "gtpu"
3227 }
3228 ],
3229 "source_info" : {
3230 "filename" : "include/control/spgw.p4",
3231 "line" : 47,
3232 "column" : 8,
3233 "source_fragment" : "hdr.gtpu.setInvalid()"
3234 }
3235 },
3236 {
3237 "op" : "remove_header",
3238 "parameters" : [
3239 {
3240 "type" : "header",
3241 "value" : "udp"
3242 }
3243 ],
3244 "source_info" : {
3245 "filename" : "include/control/spgw.p4",
3246 "line" : 52,
3247 "column" : 8,
3248 "source_fragment" : "hdr.udp.setInvalid()"
3249 }
3250 },
3251 {
3252 "op" : "assign_header",
3253 "parameters" : [
3254 {
3255 "type" : "header",
3256 "value" : "tcp"
3257 },
3258 {
3259 "type" : "header",
3260 "value" : "inner_tcp"
3261 }
3262 ],
3263 "source_info" : {
3264 "filename" : "include/control/spgw.p4",
3265 "line" : 53,
3266 "column" : 8,
3267 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
3268 }
3269 },
3270 {
3271 "op" : "remove_header",
3272 "parameters" : [
3273 {
3274 "type" : "header",
3275 "value" : "inner_tcp"
3276 }
3277 ],
3278 "source_info" : {
3279 "filename" : "include/control/spgw.p4",
3280 "line" : 54,
3281 "column" : 8,
3282 "source_fragment" : "hdr.inner_tcp.setInvalid()"
3283 }
3284 }
3285 ]
3286 },
3287 {
3288 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
3289 "id" : 34,
3290 "runtime_data" : [],
3291 "primitives" : [
3292 {
3293 "op" : "assign",
3294 "parameters" : [
3295 {
3296 "type" : "field",
3297 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3298 },
3299 {
3300 "type" : "hexstr",
3301 "value" : "0x0800"
3302 }
3303 ],
3304 "source_info" : {
3305 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003306 "line" : 119,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003307 "column" : 31,
3308 "source_fragment" : "0x0800; ..."
3309 }
3310 },
3311 {
3312 "op" : "assign",
3313 "parameters" : [
3314 {
3315 "type" : "field",
3316 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3317 },
3318 {
3319 "type" : "field",
3320 "value" : ["inner_ipv4", "protocol"]
3321 }
3322 ],
3323 "source_info" : {
3324 "filename" : "include/control/spgw.p4",
3325 "line" : 39,
3326 "column" : 27,
3327 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3328 }
3329 },
3330 {
3331 "op" : "assign",
3332 "parameters" : [
3333 {
3334 "type" : "field",
3335 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3336 },
3337 {
3338 "type" : "field",
3339 "value" : ["inner_ipv4", "src_addr"]
3340 }
3341 ],
3342 "source_info" : {
3343 "filename" : "include/control/spgw.p4",
3344 "line" : 40,
3345 "column" : 32,
3346 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3347 }
3348 },
3349 {
3350 "op" : "assign",
3351 "parameters" : [
3352 {
3353 "type" : "field",
3354 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3355 },
3356 {
3357 "type" : "field",
3358 "value" : ["inner_ipv4", "dst_addr"]
3359 }
3360 ],
3361 "source_info" : {
3362 "filename" : "include/control/spgw.p4",
3363 "line" : 41,
3364 "column" : 32,
3365 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3366 }
3367 },
3368 {
3369 "op" : "assign",
3370 "parameters" : [
3371 {
3372 "type" : "field",
3373 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3374 },
3375 {
3376 "type" : "field",
3377 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3378 }
3379 ],
3380 "source_info" : {
3381 "filename" : "include/control/spgw.p4",
3382 "line" : 42,
3383 "column" : 27,
3384 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3385 }
3386 },
3387 {
3388 "op" : "assign",
3389 "parameters" : [
3390 {
3391 "type" : "field",
3392 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3393 },
3394 {
3395 "type" : "field",
3396 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3397 }
3398 ],
3399 "source_info" : {
3400 "filename" : "include/control/spgw.p4",
3401 "line" : 43,
3402 "column" : 27,
3403 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3404 }
3405 },
3406 {
3407 "op" : "assign_header",
3408 "parameters" : [
3409 {
3410 "type" : "header",
3411 "value" : "ipv4"
3412 },
3413 {
3414 "type" : "header",
3415 "value" : "inner_ipv4"
3416 }
3417 ],
3418 "source_info" : {
3419 "filename" : "include/control/spgw.p4",
3420 "line" : 45,
3421 "column" : 8,
3422 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3423 }
3424 },
3425 {
3426 "op" : "remove_header",
3427 "parameters" : [
3428 {
3429 "type" : "header",
3430 "value" : "inner_ipv4"
3431 }
3432 ],
3433 "source_info" : {
3434 "filename" : "include/control/spgw.p4",
3435 "line" : 46,
3436 "column" : 8,
3437 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3438 }
3439 },
3440 {
3441 "op" : "remove_header",
3442 "parameters" : [
3443 {
3444 "type" : "header",
3445 "value" : "gtpu"
3446 }
3447 ],
3448 "source_info" : {
3449 "filename" : "include/control/spgw.p4",
3450 "line" : 47,
3451 "column" : 8,
3452 "source_fragment" : "hdr.gtpu.setInvalid()"
3453 }
3454 },
3455 {
3456 "op" : "assign_header",
3457 "parameters" : [
3458 {
3459 "type" : "header",
3460 "value" : "udp"
3461 },
3462 {
3463 "type" : "header",
3464 "value" : "inner_udp"
3465 }
3466 ],
3467 "source_info" : {
3468 "filename" : "include/control/spgw.p4",
3469 "line" : 59,
3470 "column" : 8,
3471 "source_fragment" : "hdr.udp = hdr.inner_udp"
3472 }
3473 },
3474 {
3475 "op" : "remove_header",
3476 "parameters" : [
3477 {
3478 "type" : "header",
3479 "value" : "inner_udp"
3480 }
3481 ],
3482 "source_info" : {
3483 "filename" : "include/control/spgw.p4",
3484 "line" : 60,
3485 "column" : 8,
3486 "source_fragment" : "hdr.inner_udp.setInvalid()"
3487 }
3488 }
3489 ]
3490 },
3491 {
3492 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
3493 "id" : 35,
3494 "runtime_data" : [],
3495 "primitives" : [
3496 {
3497 "op" : "assign",
3498 "parameters" : [
3499 {
3500 "type" : "field",
3501 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3502 },
3503 {
3504 "type" : "hexstr",
3505 "value" : "0x0800"
3506 }
3507 ],
3508 "source_info" : {
3509 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003510 "line" : 119,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003511 "column" : 31,
3512 "source_fragment" : "0x0800; ..."
3513 }
3514 },
3515 {
3516 "op" : "assign",
3517 "parameters" : [
3518 {
3519 "type" : "field",
3520 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3521 },
3522 {
3523 "type" : "field",
3524 "value" : ["inner_ipv4", "protocol"]
3525 }
3526 ],
3527 "source_info" : {
3528 "filename" : "include/control/spgw.p4",
3529 "line" : 39,
3530 "column" : 27,
3531 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3532 }
3533 },
3534 {
3535 "op" : "assign",
3536 "parameters" : [
3537 {
3538 "type" : "field",
3539 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3540 },
3541 {
3542 "type" : "field",
3543 "value" : ["inner_ipv4", "src_addr"]
3544 }
3545 ],
3546 "source_info" : {
3547 "filename" : "include/control/spgw.p4",
3548 "line" : 40,
3549 "column" : 32,
3550 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3551 }
3552 },
3553 {
3554 "op" : "assign",
3555 "parameters" : [
3556 {
3557 "type" : "field",
3558 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3559 },
3560 {
3561 "type" : "field",
3562 "value" : ["inner_ipv4", "dst_addr"]
3563 }
3564 ],
3565 "source_info" : {
3566 "filename" : "include/control/spgw.p4",
3567 "line" : 41,
3568 "column" : 32,
3569 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3570 }
3571 },
3572 {
3573 "op" : "assign",
3574 "parameters" : [
3575 {
3576 "type" : "field",
3577 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3578 },
3579 {
3580 "type" : "field",
3581 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3582 }
3583 ],
3584 "source_info" : {
3585 "filename" : "include/control/spgw.p4",
3586 "line" : 42,
3587 "column" : 27,
3588 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3589 }
3590 },
3591 {
3592 "op" : "assign",
3593 "parameters" : [
3594 {
3595 "type" : "field",
3596 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3597 },
3598 {
3599 "type" : "field",
3600 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3601 }
3602 ],
3603 "source_info" : {
3604 "filename" : "include/control/spgw.p4",
3605 "line" : 43,
3606 "column" : 27,
3607 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3608 }
3609 },
3610 {
3611 "op" : "assign_header",
3612 "parameters" : [
3613 {
3614 "type" : "header",
3615 "value" : "ipv4"
3616 },
3617 {
3618 "type" : "header",
3619 "value" : "inner_ipv4"
3620 }
3621 ],
3622 "source_info" : {
3623 "filename" : "include/control/spgw.p4",
3624 "line" : 45,
3625 "column" : 8,
3626 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3627 }
3628 },
3629 {
3630 "op" : "remove_header",
3631 "parameters" : [
3632 {
3633 "type" : "header",
3634 "value" : "inner_ipv4"
3635 }
3636 ],
3637 "source_info" : {
3638 "filename" : "include/control/spgw.p4",
3639 "line" : 46,
3640 "column" : 8,
3641 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3642 }
3643 },
3644 {
3645 "op" : "remove_header",
3646 "parameters" : [
3647 {
3648 "type" : "header",
3649 "value" : "gtpu"
3650 }
3651 ],
3652 "source_info" : {
3653 "filename" : "include/control/spgw.p4",
3654 "line" : 47,
3655 "column" : 8,
3656 "source_fragment" : "hdr.gtpu.setInvalid()"
3657 }
3658 },
3659 {
3660 "op" : "remove_header",
3661 "parameters" : [
3662 {
3663 "type" : "header",
3664 "value" : "udp"
3665 }
3666 ],
3667 "source_info" : {
3668 "filename" : "include/control/spgw.p4",
3669 "line" : 65,
3670 "column" : 8,
3671 "source_fragment" : "hdr.udp.setInvalid()"
3672 }
3673 },
3674 {
3675 "op" : "assign_header",
3676 "parameters" : [
3677 {
3678 "type" : "header",
3679 "value" : "icmp"
3680 },
3681 {
3682 "type" : "header",
3683 "value" : "inner_icmp"
3684 }
3685 ],
3686 "source_info" : {
3687 "filename" : "include/control/spgw.p4",
3688 "line" : 66,
3689 "column" : 8,
3690 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
3691 }
3692 },
3693 {
3694 "op" : "remove_header",
3695 "parameters" : [
3696 {
3697 "type" : "header",
3698 "value" : "inner_icmp"
3699 }
3700 ],
3701 "source_info" : {
3702 "filename" : "include/control/spgw.p4",
3703 "line" : 67,
3704 "column" : 8,
3705 "source_fragment" : "hdr.inner_icmp.setInvalid()"
3706 }
3707 }
3708 ]
3709 },
3710 {
3711 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
3712 "id" : 36,
3713 "runtime_data" : [],
3714 "primitives" : [
3715 {
3716 "op" : "assign",
3717 "parameters" : [
3718 {
3719 "type" : "field",
3720 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
3721 },
3722 {
3723 "type" : "hexstr",
3724 "value" : "0x0800"
3725 }
3726 ],
3727 "source_info" : {
3728 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003729 "line" : 119,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003730 "column" : 31,
3731 "source_fragment" : "0x0800; ..."
3732 }
3733 },
3734 {
3735 "op" : "assign",
3736 "parameters" : [
3737 {
3738 "type" : "field",
3739 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
3740 },
3741 {
3742 "type" : "field",
3743 "value" : ["inner_ipv4", "protocol"]
3744 }
3745 ],
3746 "source_info" : {
3747 "filename" : "include/control/spgw.p4",
3748 "line" : 39,
3749 "column" : 27,
3750 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3751 }
3752 },
3753 {
3754 "op" : "assign",
3755 "parameters" : [
3756 {
3757 "type" : "field",
3758 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
3759 },
3760 {
3761 "type" : "field",
3762 "value" : ["inner_ipv4", "src_addr"]
3763 }
3764 ],
3765 "source_info" : {
3766 "filename" : "include/control/spgw.p4",
3767 "line" : 40,
3768 "column" : 32,
3769 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3770 }
3771 },
3772 {
3773 "op" : "assign",
3774 "parameters" : [
3775 {
3776 "type" : "field",
3777 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
3778 },
3779 {
3780 "type" : "field",
3781 "value" : ["inner_ipv4", "dst_addr"]
3782 }
3783 ],
3784 "source_info" : {
3785 "filename" : "include/control/spgw.p4",
3786 "line" : 41,
3787 "column" : 32,
3788 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3789 }
3790 },
3791 {
3792 "op" : "assign",
3793 "parameters" : [
3794 {
3795 "type" : "field",
3796 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
3797 },
3798 {
3799 "type" : "field",
3800 "value" : ["scalars", "fabric_metadata_t._inner_l4_sport17"]
3801 }
3802 ],
3803 "source_info" : {
3804 "filename" : "include/control/spgw.p4",
3805 "line" : 42,
3806 "column" : 27,
3807 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3808 }
3809 },
3810 {
3811 "op" : "assign",
3812 "parameters" : [
3813 {
3814 "type" : "field",
3815 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
3816 },
3817 {
3818 "type" : "field",
3819 "value" : ["scalars", "fabric_metadata_t._inner_l4_dport18"]
3820 }
3821 ],
3822 "source_info" : {
3823 "filename" : "include/control/spgw.p4",
3824 "line" : 43,
3825 "column" : 27,
3826 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3827 }
3828 },
3829 {
3830 "op" : "assign_header",
3831 "parameters" : [
3832 {
3833 "type" : "header",
3834 "value" : "ipv4"
3835 },
3836 {
3837 "type" : "header",
3838 "value" : "inner_ipv4"
3839 }
3840 ],
3841 "source_info" : {
3842 "filename" : "include/control/spgw.p4",
3843 "line" : 45,
3844 "column" : 8,
3845 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3846 }
3847 },
3848 {
3849 "op" : "remove_header",
3850 "parameters" : [
3851 {
3852 "type" : "header",
3853 "value" : "inner_ipv4"
3854 }
3855 ],
3856 "source_info" : {
3857 "filename" : "include/control/spgw.p4",
3858 "line" : 46,
3859 "column" : 8,
3860 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3861 }
3862 },
3863 {
3864 "op" : "remove_header",
3865 "parameters" : [
3866 {
3867 "type" : "header",
3868 "value" : "gtpu"
3869 }
3870 ],
3871 "source_info" : {
3872 "filename" : "include/control/spgw.p4",
3873 "line" : 47,
3874 "column" : 8,
3875 "source_fragment" : "hdr.gtpu.setInvalid()"
3876 }
3877 },
3878 {
3879 "op" : "remove_header",
3880 "parameters" : [
3881 {
3882 "type" : "header",
3883 "value" : "udp"
3884 }
3885 ],
3886 "source_info" : {
3887 "filename" : "include/control/spgw.p4",
3888 "line" : 72,
3889 "column" : 8,
3890 "source_fragment" : "hdr.udp.setInvalid()"
3891 }
3892 }
3893 ]
3894 },
3895 {
3896 "name" : "FabricIngress.spgw.load_iface",
3897 "id" : 37,
Robert MacDavidde12b982020-07-15 18:38:59 -07003898 "runtime_data" : [
3899 {
3900 "name" : "src_iface",
3901 "bitwidth" : 8
Robert MacDavidde12b982020-07-15 18:38:59 -07003902 }
3903 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003904 "primitives" : [
3905 {
3906 "op" : "assign",
3907 "parameters" : [
3908 {
3909 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003910 "value" : ["scalars", "fabric_metadata_t._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07003911 },
3912 {
3913 "type" : "runtime_data",
3914 "value" : 0
3915 }
3916 ],
3917 "source_info" : {
3918 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003919 "line" : 121,
Robert MacDavidde12b982020-07-15 18:38:59 -07003920 "column" : 33,
3921 "source_fragment" : "= src_iface; ..."
3922 }
3923 },
3924 {
3925 "op" : "assign",
3926 "parameters" : [
3927 {
3928 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003929 "value" : ["scalars", "fabric_metadata_t._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07003930 },
3931 {
3932 "type" : "expression",
3933 "value" : {
3934 "type" : "expression",
3935 "value" : {
3936 "op" : "b2d",
3937 "left" : null,
3938 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003939 "type" : "bool",
3940 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07003941 }
3942 }
3943 }
3944 }
3945 ],
3946 "source_info" : {
3947 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003948 "line" : 122,
Robert MacDavidde12b982020-07-15 18:38:59 -07003949 "column" : 33,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003950 "source_fragment" : "= false; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07003951 }
3952 }
3953 ]
3954 },
3955 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003956 "name" : "FabricIngress.spgw.iface_miss",
3957 "id" : 38,
3958 "runtime_data" : [],
3959 "primitives" : [
3960 {
3961 "op" : "assign",
3962 "parameters" : [
3963 {
3964 "type" : "field",
3965 "value" : ["scalars", "fabric_metadata_t._spgw_src_iface26"]
3966 },
3967 {
3968 "type" : "hexstr",
3969 "value" : "0x00"
3970 }
3971 ],
3972 "source_info" : {
3973 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03003974 "line" : 109,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003975 "column" : 44,
3976 "source_fragment" : "8w0; ..."
3977 }
3978 },
3979 {
3980 "op" : "assign",
3981 "parameters" : [
3982 {
3983 "type" : "field",
3984 "value" : ["scalars", "fabric_metadata_t._spgw_skip_spgw27"]
3985 },
3986 {
3987 "type" : "expression",
3988 "value" : {
3989 "type" : "expression",
3990 "value" : {
3991 "op" : "b2d",
3992 "left" : null,
3993 "right" : {
3994 "type" : "bool",
3995 "value" : true
3996 }
3997 }
3998 }
3999 }
4000 ],
4001 "source_info" : {
4002 "filename" : "include/control/spgw.p4",
4003 "line" : 126,
4004 "column" : 33,
4005 "source_fragment" : "= true; ..."
4006 }
4007 }
4008 ]
4009 },
4010 {
4011 "name" : "FabricIngress.spgw.load_pdr",
4012 "id" : 39,
Robert MacDavidde12b982020-07-15 18:38:59 -07004013 "runtime_data" : [
4014 {
4015 "name" : "ctr_id",
4016 "bitwidth" : 32
4017 },
4018 {
4019 "name" : "far_id",
4020 "bitwidth" : 32
4021 },
4022 {
4023 "name" : "needs_gtpu_decap",
4024 "bitwidth" : 1
4025 }
4026 ],
4027 "primitives" : [
4028 {
4029 "op" : "assign",
4030 "parameters" : [
4031 {
4032 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004033 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004034 },
4035 {
4036 "type" : "runtime_data",
4037 "value" : 0
4038 }
4039 ],
4040 "source_info" : {
4041 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004042 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004043 "column" : 30,
4044 "source_fragment" : "= ctr_id; ..."
4045 }
4046 },
4047 {
4048 "op" : "assign",
4049 "parameters" : [
4050 {
4051 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004052 "value" : ["scalars", "fabric_metadata_t._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004053 },
4054 {
4055 "type" : "runtime_data",
4056 "value" : 1
4057 }
4058 ],
4059 "source_info" : {
4060 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004061 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004062 "column" : 30,
4063 "source_fragment" : "= far_id; ..."
4064 }
4065 },
4066 {
4067 "op" : "assign",
4068 "parameters" : [
4069 {
4070 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004071 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004072 },
4073 {
4074 "type" : "expression",
4075 "value" : {
4076 "type" : "expression",
4077 "value" : {
4078 "op" : "b2d",
4079 "left" : null,
4080 "right" : {
4081 "type" : "expression",
4082 "value" : {
4083 "op" : "!=",
4084 "left" : {
4085 "type" : "local",
4086 "value" : 2
4087 },
4088 "right" : {
4089 "type" : "hexstr",
4090 "value" : "0x00"
4091 }
4092 }
4093 }
4094 }
4095 }
4096 }
4097 ],
4098 "source_info" : {
4099 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004100 "line" : 153,
Robert MacDavidde12b982020-07-15 18:38:59 -07004101 "column" : 40,
4102 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
4103 }
4104 }
4105 ]
4106 },
4107 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004108 "name" : "FabricIngress.spgw.load_pdr",
4109 "id" : 40,
Robert MacDavidde12b982020-07-15 18:38:59 -07004110 "runtime_data" : [
4111 {
4112 "name" : "ctr_id",
4113 "bitwidth" : 32
4114 },
4115 {
4116 "name" : "far_id",
4117 "bitwidth" : 32
4118 },
4119 {
4120 "name" : "needs_gtpu_decap",
4121 "bitwidth" : 1
4122 }
4123 ],
4124 "primitives" : [
4125 {
4126 "op" : "assign",
4127 "parameters" : [
4128 {
4129 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004130 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004131 },
4132 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004133 "type" : "runtime_data",
4134 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004135 }
4136 ],
4137 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004138 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004139 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004140 "column" : 30,
4141 "source_fragment" : "= ctr_id; ..."
4142 }
4143 },
4144 {
4145 "op" : "assign",
4146 "parameters" : [
4147 {
4148 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004149 "value" : ["scalars", "fabric_metadata_t._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004150 },
4151 {
4152 "type" : "runtime_data",
4153 "value" : 1
4154 }
4155 ],
4156 "source_info" : {
4157 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004158 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004159 "column" : 30,
4160 "source_fragment" : "= far_id; ..."
4161 }
4162 },
4163 {
4164 "op" : "assign",
4165 "parameters" : [
4166 {
4167 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004168 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004169 },
4170 {
4171 "type" : "expression",
4172 "value" : {
4173 "type" : "expression",
4174 "value" : {
4175 "op" : "b2d",
4176 "left" : null,
4177 "right" : {
4178 "type" : "expression",
4179 "value" : {
4180 "op" : "!=",
4181 "left" : {
4182 "type" : "local",
4183 "value" : 2
4184 },
4185 "right" : {
4186 "type" : "hexstr",
4187 "value" : "0x00"
4188 }
4189 }
4190 }
4191 }
4192 }
4193 }
4194 ],
4195 "source_info" : {
4196 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004197 "line" : 153,
Robert MacDavidde12b982020-07-15 18:38:59 -07004198 "column" : 40,
4199 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004200 }
4201 }
4202 ]
4203 },
4204 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004205 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004206 "id" : 41,
Robert MacDavidde12b982020-07-15 18:38:59 -07004207 "runtime_data" : [
4208 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004209 "name" : "ctr_id",
4210 "bitwidth" : 32
4211 },
4212 {
4213 "name" : "far_id",
4214 "bitwidth" : 32
4215 },
4216 {
4217 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07004218 "bitwidth" : 1
4219 },
4220 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004221 "name" : "qid",
4222 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07004223 }
4224 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08004225 "primitives" : [
4226 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004227 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004228 "parameters" : [
4229 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004230 "type" : "field",
ersuneetsinghe326c722021-03-25 21:17:29 -03004231 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004232 },
4233 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004234 "type" : "runtime_data",
4235 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004236 }
4237 ],
4238 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004239 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004240 "line" : 151,
4241 "column" : 30,
4242 "source_fragment" : "= ctr_id; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004243 }
4244 },
4245 {
4246 "op" : "assign",
4247 "parameters" : [
4248 {
4249 "type" : "field",
ersuneetsinghe326c722021-03-25 21:17:29 -03004250 "value" : ["scalars", "fabric_metadata_t._spgw_far_id25"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004251 },
4252 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004253 "type" : "runtime_data",
4254 "value" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004255 }
4256 ],
4257 "source_info" : {
4258 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004259 "line" : 152,
4260 "column" : 30,
4261 "source_fragment" : "= far_id; ..."
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004262 }
4263 },
4264 {
4265 "op" : "assign",
4266 "parameters" : [
4267 {
4268 "type" : "field",
ersuneetsinghe326c722021-03-25 21:17:29 -03004269 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004270 },
4271 {
4272 "type" : "expression",
4273 "value" : {
4274 "type" : "expression",
4275 "value" : {
4276 "op" : "b2d",
4277 "left" : null,
4278 "right" : {
4279 "type" : "expression",
4280 "value" : {
4281 "op" : "!=",
4282 "left" : {
4283 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03004284 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07004285 },
4286 "right" : {
4287 "type" : "hexstr",
4288 "value" : "0x00"
4289 }
4290 }
4291 }
4292 }
4293 }
4294 }
4295 ],
4296 "source_info" : {
4297 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004298 "line" : 153,
4299 "column" : 40,
4300 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004301 }
4302 }
4303 ]
4304 },
4305 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004306 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004307 "id" : 42,
Robert MacDavidde12b982020-07-15 18:38:59 -07004308 "runtime_data" : [
4309 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004310 "name" : "ctr_id",
4311 "bitwidth" : 32
4312 },
4313 {
4314 "name" : "far_id",
4315 "bitwidth" : 32
4316 },
4317 {
4318 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07004319 "bitwidth" : 1
4320 },
4321 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004322 "name" : "qid",
4323 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07004324 }
4325 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004326 "primitives" : [
4327 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004328 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004329 "parameters" : [
4330 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004331 "type" : "field",
ersuneetsinghe326c722021-03-25 21:17:29 -03004332 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
4333 },
4334 {
4335 "type" : "runtime_data",
4336 "value" : 0
4337 }
4338 ],
4339 "source_info" : {
4340 "filename" : "include/control/spgw.p4",
4341 "line" : 151,
4342 "column" : 30,
4343 "source_fragment" : "= ctr_id; ..."
4344 }
4345 },
4346 {
4347 "op" : "assign",
4348 "parameters" : [
4349 {
4350 "type" : "field",
4351 "value" : ["scalars", "fabric_metadata_t._spgw_far_id25"]
4352 },
4353 {
4354 "type" : "runtime_data",
4355 "value" : 1
4356 }
4357 ],
4358 "source_info" : {
4359 "filename" : "include/control/spgw.p4",
4360 "line" : 152,
4361 "column" : 30,
4362 "source_fragment" : "= far_id; ..."
4363 }
4364 },
4365 {
4366 "op" : "assign",
4367 "parameters" : [
4368 {
4369 "type" : "field",
4370 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap30"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004371 },
4372 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004373 "type" : "expression",
4374 "value" : {
4375 "type" : "expression",
4376 "value" : {
4377 "op" : "b2d",
4378 "left" : null,
4379 "right" : {
4380 "type" : "expression",
4381 "value" : {
4382 "op" : "!=",
4383 "left" : {
4384 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03004385 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07004386 },
4387 "right" : {
4388 "type" : "hexstr",
4389 "value" : "0x00"
4390 }
4391 }
4392 }
4393 }
4394 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004395 }
4396 ],
4397 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004398 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004399 "line" : 153,
Robert MacDavidde12b982020-07-15 18:38:59 -07004400 "column" : 40,
ersuneetsinghe326c722021-03-25 21:17:29 -03004401 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004402 }
4403 }
4404 ]
4405 },
4406 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004407 "name" : "FabricIngress.spgw.load_normal_far",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004408 "id" : 43,
4409 "runtime_data" : [
4410 {
4411 "name" : "drop",
4412 "bitwidth" : 1
4413 },
4414 {
4415 "name" : "notify_cp",
4416 "bitwidth" : 1
ersuneetsinghe326c722021-03-25 21:17:29 -03004417 }
4418 ],
4419 "primitives" : [
4420 {
4421 "op" : "assign",
4422 "parameters" : [
4423 {
4424 "type" : "field",
4425 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
4426 },
4427 {
4428 "type" : "expression",
4429 "value" : {
4430 "type" : "expression",
4431 "value" : {
4432 "op" : "b2d",
4433 "left" : null,
4434 "right" : {
4435 "type" : "expression",
4436 "value" : {
4437 "op" : "!=",
4438 "left" : {
4439 "type" : "local",
4440 "value" : 0
4441 },
4442 "right" : {
4443 "type" : "hexstr",
4444 "value" : "0x00"
4445 }
4446 }
4447 }
4448 }
4449 }
4450 }
4451 ],
4452 "source_info" : {
4453 "filename" : "include/control/spgw.p4",
4454 "line" : 196,
4455 "column" : 34,
4456 "source_fragment" : "= (bool)drop; ..."
4457 }
4458 },
4459 {
4460 "op" : "assign",
4461 "parameters" : [
4462 {
4463 "type" : "field",
4464 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
4465 },
4466 {
4467 "type" : "expression",
4468 "value" : {
4469 "type" : "expression",
4470 "value" : {
4471 "op" : "b2d",
4472 "left" : null,
4473 "right" : {
4474 "type" : "expression",
4475 "value" : {
4476 "op" : "!=",
4477 "left" : {
4478 "type" : "local",
4479 "value" : 0
4480 },
4481 "right" : {
4482 "type" : "hexstr",
4483 "value" : "0x00"
4484 }
4485 }
4486 }
4487 }
4488 }
4489 }
4490 ],
4491 "source_info" : {
4492 "filename" : "include/control/spgw.p4",
4493 "line" : 197,
4494 "column" : 28,
4495 "source_fragment" : "= (bool)drop; ..."
4496 }
4497 },
4498 {
4499 "op" : "assign",
4500 "parameters" : [
4501 {
4502 "type" : "field",
4503 "value" : ["scalars", "fabric_metadata_t._spgw_notify_spgwc28"]
4504 },
4505 {
4506 "type" : "expression",
4507 "value" : {
4508 "type" : "expression",
4509 "value" : {
4510 "op" : "b2d",
4511 "left" : null,
4512 "right" : {
4513 "type" : "expression",
4514 "value" : {
4515 "op" : "!=",
4516 "left" : {
4517 "type" : "local",
4518 "value" : 1
4519 },
4520 "right" : {
4521 "type" : "hexstr",
4522 "value" : "0x00"
4523 }
4524 }
4525 }
4526 }
4527 }
4528 }
4529 ],
4530 "source_info" : {
4531 "filename" : "include/control/spgw.p4",
4532 "line" : 198,
4533 "column" : 36,
4534 "source_fragment" : "= (bool)notify_cp; ..."
4535 }
4536 }
4537 ]
4538 },
4539 {
4540 "name" : "FabricIngress.spgw.load_tunnel_far",
4541 "id" : 44,
4542 "runtime_data" : [
4543 {
4544 "name" : "drop",
4545 "bitwidth" : 1
4546 },
4547 {
4548 "name" : "notify_cp",
4549 "bitwidth" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004550 },
4551 {
4552 "name" : "tunnel_src_port",
4553 "bitwidth" : 16
4554 },
4555 {
4556 "name" : "tunnel_src_addr",
4557 "bitwidth" : 32
4558 },
4559 {
4560 "name" : "tunnel_dst_addr",
4561 "bitwidth" : 32
4562 },
4563 {
4564 "name" : "teid",
4565 "bitwidth" : 32
4566 }
4567 ],
Robert MacDavidde12b982020-07-15 18:38:59 -07004568 "primitives" : [
4569 {
4570 "op" : "assign",
4571 "parameters" : [
4572 {
4573 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004574 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004575 },
4576 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004577 "type" : "expression",
4578 "value" : {
4579 "type" : "expression",
4580 "value" : {
4581 "op" : "b2d",
4582 "left" : null,
4583 "right" : {
4584 "type" : "expression",
4585 "value" : {
4586 "op" : "!=",
4587 "left" : {
4588 "type" : "local",
4589 "value" : 0
4590 },
4591 "right" : {
4592 "type" : "hexstr",
4593 "value" : "0x00"
4594 }
4595 }
4596 }
4597 }
4598 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004599 }
4600 ],
4601 "source_info" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004602 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004603 "line" : 207,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004604 "column" : 34,
4605 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004606 }
4607 },
4608 {
4609 "op" : "assign",
4610 "parameters" : [
4611 {
4612 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004613 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004614 },
4615 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004616 "type" : "expression",
4617 "value" : {
4618 "type" : "expression",
4619 "value" : {
4620 "op" : "b2d",
4621 "left" : null,
4622 "right" : {
4623 "type" : "expression",
4624 "value" : {
4625 "op" : "!=",
4626 "left" : {
4627 "type" : "local",
4628 "value" : 0
4629 },
4630 "right" : {
4631 "type" : "hexstr",
4632 "value" : "0x00"
4633 }
4634 }
4635 }
4636 }
4637 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004638 }
4639 ],
4640 "source_info" : {
4641 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004642 "line" : 208,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004643 "column" : 28,
4644 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004645 }
4646 },
4647 {
4648 "op" : "assign",
4649 "parameters" : [
4650 {
4651 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004652 "value" : ["scalars", "fabric_metadata_t._spgw_notify_spgwc28"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004653 },
4654 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004655 "type" : "expression",
4656 "value" : {
4657 "type" : "expression",
4658 "value" : {
4659 "op" : "b2d",
4660 "left" : null,
4661 "right" : {
4662 "type" : "expression",
4663 "value" : {
4664 "op" : "!=",
4665 "left" : {
4666 "type" : "local",
4667 "value" : 1
4668 },
4669 "right" : {
4670 "type" : "hexstr",
4671 "value" : "0x00"
4672 }
4673 }
4674 }
4675 }
4676 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004677 }
4678 ],
4679 "source_info" : {
4680 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004681 "line" : 209,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004682 "column" : 36,
4683 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004684 }
4685 },
4686 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004687 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004688 "parameters" : [
4689 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004690 "type" : "field",
4691 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_encap29"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004692 },
4693 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004694 "type" : "expression",
4695 "value" : {
4696 "type" : "expression",
4697 "value" : {
4698 "op" : "b2d",
4699 "left" : null,
4700 "right" : {
4701 "type" : "bool",
4702 "value" : true
4703 }
4704 }
4705 }
Robert MacDavidde12b982020-07-15 18:38:59 -07004706 }
4707 ],
4708 "source_info" : {
4709 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004710 "line" : 211,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004711 "column" : 40,
4712 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004713 }
4714 },
4715 {
4716 "op" : "assign",
4717 "parameters" : [
4718 {
4719 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004720 "value" : ["scalars", "fabric_metadata_t._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004721 },
4722 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004723 "type" : "runtime_data",
4724 "value" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07004725 }
4726 ],
4727 "source_info" : {
4728 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004729 "line" : 212,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004730 "column" : 28,
4731 "source_fragment" : "= teid; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004732 }
4733 },
4734 {
4735 "op" : "assign",
4736 "parameters" : [
4737 {
4738 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004739 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004740 },
4741 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004742 "type" : "runtime_data",
4743 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07004744 }
4745 ],
4746 "source_info" : {
4747 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004748 "line" : 213,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004749 "column" : 39,
4750 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004751 }
4752 },
4753 {
4754 "op" : "assign",
4755 "parameters" : [
4756 {
4757 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004758 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004759 },
4760 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004761 "type" : "runtime_data",
4762 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07004763 }
4764 ],
4765 "source_info" : {
4766 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004767 "line" : 214,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004768 "column" : 39,
4769 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004770 }
4771 },
4772 {
4773 "op" : "assign",
4774 "parameters" : [
4775 {
4776 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004777 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004778 },
4779 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004780 "type" : "runtime_data",
4781 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07004782 }
4783 ],
4784 "source_info" : {
4785 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004786 "line" : 215,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004787 "column" : 39,
4788 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004789 }
4790 },
4791 {
4792 "op" : "assign",
4793 "parameters" : [
4794 {
4795 "type" : "field",
4796 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
4797 },
4798 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004799 "type" : "runtime_data",
4800 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07004801 }
4802 ],
4803 "source_info" : {
4804 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004805 "line" : 217,
Robert MacDavidde12b982020-07-15 18:38:59 -07004806 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004807 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004808 }
4809 },
4810 {
4811 "op" : "assign",
4812 "parameters" : [
4813 {
4814 "type" : "field",
4815 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
4816 },
4817 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004818 "type" : "runtime_data",
4819 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07004820 }
4821 ],
4822 "source_info" : {
4823 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004824 "line" : 218,
Robert MacDavidde12b982020-07-15 18:38:59 -07004825 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004826 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004827 }
4828 },
4829 {
4830 "op" : "assign",
4831 "parameters" : [
4832 {
4833 "type" : "field",
4834 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
4835 },
4836 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004837 "type" : "runtime_data",
4838 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07004839 }
4840 ],
4841 "source_info" : {
4842 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004843 "line" : 219,
Robert MacDavidde12b982020-07-15 18:38:59 -07004844 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004845 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004846 }
4847 },
4848 {
4849 "op" : "assign",
4850 "parameters" : [
4851 {
4852 "type" : "field",
4853 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
4854 },
4855 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004856 "type" : "hexstr",
4857 "value" : "0x0868"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004858 }
4859 ],
4860 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004861 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03004862 "line" : 220,
4863 "column" : 27,
4864 "source_fragment" : "= 2152; ..."
4865 }
4866 }
4867 ]
4868 },
4869 {
4870 "name" : "FabricIngress.spgw.load_dbuf_far",
4871 "id" : 45,
4872 "runtime_data" : [
4873 {
4874 "name" : "drop",
4875 "bitwidth" : 1
4876 },
4877 {
4878 "name" : "notify_cp",
4879 "bitwidth" : 1
4880 },
4881 {
4882 "name" : "tunnel_src_port",
4883 "bitwidth" : 16
4884 },
4885 {
4886 "name" : "tunnel_src_addr",
4887 "bitwidth" : 32
4888 },
4889 {
4890 "name" : "tunnel_dst_addr",
4891 "bitwidth" : 32
4892 },
4893 {
4894 "name" : "teid",
4895 "bitwidth" : 32
4896 }
4897 ],
4898 "primitives" : [
4899 {
4900 "op" : "assign",
4901 "parameters" : [
4902 {
4903 "type" : "field",
4904 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
4905 },
4906 {
4907 "type" : "expression",
4908 "value" : {
4909 "type" : "expression",
4910 "value" : {
4911 "op" : "b2d",
4912 "left" : null,
4913 "right" : {
4914 "type" : "expression",
4915 "value" : {
4916 "op" : "!=",
4917 "left" : {
4918 "type" : "local",
4919 "value" : 0
4920 },
4921 "right" : {
4922 "type" : "hexstr",
4923 "value" : "0x00"
4924 }
4925 }
4926 }
4927 }
4928 }
4929 }
4930 ],
4931 "source_info" : {
4932 "filename" : "include/control/spgw.p4",
4933 "line" : 207,
4934 "column" : 34,
4935 "source_fragment" : "= (bool)drop; ..."
4936 }
4937 },
4938 {
4939 "op" : "assign",
4940 "parameters" : [
4941 {
4942 "type" : "field",
4943 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
4944 },
4945 {
4946 "type" : "expression",
4947 "value" : {
4948 "type" : "expression",
4949 "value" : {
4950 "op" : "b2d",
4951 "left" : null,
4952 "right" : {
4953 "type" : "expression",
4954 "value" : {
4955 "op" : "!=",
4956 "left" : {
4957 "type" : "local",
4958 "value" : 0
4959 },
4960 "right" : {
4961 "type" : "hexstr",
4962 "value" : "0x00"
4963 }
4964 }
4965 }
4966 }
4967 }
4968 }
4969 ],
4970 "source_info" : {
4971 "filename" : "include/control/spgw.p4",
4972 "line" : 208,
4973 "column" : 28,
4974 "source_fragment" : "= (bool)drop; ..."
4975 }
4976 },
4977 {
4978 "op" : "assign",
4979 "parameters" : [
4980 {
4981 "type" : "field",
4982 "value" : ["scalars", "fabric_metadata_t._spgw_notify_spgwc28"]
4983 },
4984 {
4985 "type" : "expression",
4986 "value" : {
4987 "type" : "expression",
4988 "value" : {
4989 "op" : "b2d",
4990 "left" : null,
4991 "right" : {
4992 "type" : "expression",
4993 "value" : {
4994 "op" : "!=",
4995 "left" : {
4996 "type" : "local",
4997 "value" : 1
4998 },
4999 "right" : {
5000 "type" : "hexstr",
5001 "value" : "0x00"
5002 }
5003 }
5004 }
5005 }
5006 }
5007 }
5008 ],
5009 "source_info" : {
5010 "filename" : "include/control/spgw.p4",
5011 "line" : 209,
5012 "column" : 36,
5013 "source_fragment" : "= (bool)notify_cp; ..."
5014 }
5015 },
5016 {
5017 "op" : "assign",
5018 "parameters" : [
5019 {
5020 "type" : "field",
5021 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_encap29"]
5022 },
5023 {
5024 "type" : "expression",
5025 "value" : {
5026 "type" : "expression",
5027 "value" : {
5028 "op" : "b2d",
5029 "left" : null,
5030 "right" : {
5031 "type" : "bool",
5032 "value" : true
5033 }
5034 }
5035 }
5036 }
5037 ],
5038 "source_info" : {
5039 "filename" : "include/control/spgw.p4",
5040 "line" : 211,
5041 "column" : 40,
5042 "source_fragment" : "= true; ..."
5043 }
5044 },
5045 {
5046 "op" : "assign",
5047 "parameters" : [
5048 {
5049 "type" : "field",
5050 "value" : ["scalars", "fabric_metadata_t._spgw_teid20"]
5051 },
5052 {
5053 "type" : "runtime_data",
5054 "value" : 5
5055 }
5056 ],
5057 "source_info" : {
5058 "filename" : "include/control/spgw.p4",
5059 "line" : 212,
5060 "column" : 28,
5061 "source_fragment" : "= teid; ..."
5062 }
5063 },
5064 {
5065 "op" : "assign",
5066 "parameters" : [
5067 {
5068 "type" : "field",
5069 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_port21"]
5070 },
5071 {
5072 "type" : "runtime_data",
5073 "value" : 2
5074 }
5075 ],
5076 "source_info" : {
5077 "filename" : "include/control/spgw.p4",
5078 "line" : 213,
5079 "column" : 39,
5080 "source_fragment" : "= tunnel_src_port; ..."
5081 }
5082 },
5083 {
5084 "op" : "assign",
5085 "parameters" : [
5086 {
5087 "type" : "field",
5088 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_addr22"]
5089 },
5090 {
5091 "type" : "runtime_data",
5092 "value" : 3
5093 }
5094 ],
5095 "source_info" : {
5096 "filename" : "include/control/spgw.p4",
5097 "line" : 214,
5098 "column" : 39,
5099 "source_fragment" : "= tunnel_src_addr; ..."
5100 }
5101 },
5102 {
5103 "op" : "assign",
5104 "parameters" : [
5105 {
5106 "type" : "field",
5107 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_dst_addr23"]
5108 },
5109 {
5110 "type" : "runtime_data",
5111 "value" : 4
5112 }
5113 ],
5114 "source_info" : {
5115 "filename" : "include/control/spgw.p4",
5116 "line" : 215,
5117 "column" : 39,
5118 "source_fragment" : "= tunnel_dst_addr; ..."
5119 }
5120 },
5121 {
5122 "op" : "assign",
5123 "parameters" : [
5124 {
5125 "type" : "field",
5126 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
5127 },
5128 {
5129 "type" : "runtime_data",
5130 "value" : 3
5131 }
5132 ],
5133 "source_info" : {
5134 "filename" : "include/control/spgw.p4",
5135 "line" : 217,
5136 "column" : 32,
5137 "source_fragment" : "= tunnel_src_addr; ..."
5138 }
5139 },
5140 {
5141 "op" : "assign",
5142 "parameters" : [
5143 {
5144 "type" : "field",
5145 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
5146 },
5147 {
5148 "type" : "runtime_data",
5149 "value" : 4
5150 }
5151 ],
5152 "source_info" : {
5153 "filename" : "include/control/spgw.p4",
5154 "line" : 218,
5155 "column" : 32,
5156 "source_fragment" : "= tunnel_dst_addr; ..."
5157 }
5158 },
5159 {
5160 "op" : "assign",
5161 "parameters" : [
5162 {
5163 "type" : "field",
5164 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
5165 },
5166 {
5167 "type" : "runtime_data",
5168 "value" : 2
5169 }
5170 ],
5171 "source_info" : {
5172 "filename" : "include/control/spgw.p4",
5173 "line" : 219,
5174 "column" : 27,
5175 "source_fragment" : "= tunnel_src_port; ..."
5176 }
5177 },
5178 {
5179 "op" : "assign",
5180 "parameters" : [
5181 {
5182 "type" : "field",
5183 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
5184 },
5185 {
5186 "type" : "hexstr",
5187 "value" : "0x0868"
5188 }
5189 ],
5190 "source_info" : {
5191 "filename" : "include/control/spgw.p4",
5192 "line" : 220,
Robert MacDavidde12b982020-07-15 18:38:59 -07005193 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005194 "source_fragment" : "= 2152; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005195 }
5196 },
5197 {
5198 "op" : "assign",
5199 "parameters" : [
5200 {
5201 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005202 "value" : ["scalars", "fabric_metadata_t._spgw_skip_egress_pdr_ctr31"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005203 },
5204 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005205 "type" : "expression",
5206 "value" : {
5207 "type" : "expression",
5208 "value" : {
5209 "op" : "b2d",
5210 "left" : null,
5211 "right" : {
5212 "type" : "bool",
5213 "value" : true
5214 }
5215 }
5216 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005217 }
5218 ],
5219 "source_info" : {
5220 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005221 "line" : 231,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005222 "column" : 43,
5223 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005224 }
5225 }
5226 ]
5227 },
5228 {
5229 "name" : "act",
ersuneetsinghe326c722021-03-25 21:17:29 -03005230 "id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005231 "runtime_data" : [],
5232 "primitives" : [
5233 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005234 "op" : "assign",
5235 "parameters" : [
5236 {
5237 "type" : "field",
5238 "value" : ["standard_metadata", "egress_spec"]
5239 },
5240 {
5241 "type" : "field",
5242 "value" : ["packet_out", "egress_port"]
5243 }
5244 ],
5245 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005246 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005247 "line" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005248 "column" : 12,
5249 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
5250 }
5251 },
5252 {
5253 "op" : "remove_header",
5254 "parameters" : [
5255 {
5256 "type" : "header",
5257 "value" : "packet_out"
5258 }
5259 ],
5260 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005261 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005262 "line" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005263 "column" : 12,
5264 "source_fragment" : "hdr.packet_out.setInvalid()"
5265 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07005266 },
5267 {
5268 "op" : "assign",
5269 "parameters" : [
5270 {
5271 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005272 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out11"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07005273 },
5274 {
5275 "type" : "expression",
5276 "value" : {
5277 "type" : "expression",
5278 "value" : {
5279 "op" : "b2d",
5280 "left" : null,
5281 "right" : {
5282 "type" : "bool",
5283 "value" : true
5284 }
5285 }
5286 }
5287 }
5288 ],
5289 "source_info" : {
5290 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005291 "line" : 27,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005292 "column" : 53,
5293 "source_fragment" : "= true; ..."
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07005294 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07005295 },
5296 {
5297 "op" : "exit",
5298 "parameters" : [],
5299 "source_info" : {
5300 "filename" : "include/control/packetio.p4",
5301 "line" : 29,
5302 "column" : 12,
5303 "source_fragment" : "exit"
5304 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005305 }
5306 ]
5307 },
5308 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005309 "name" : "act_0",
ersuneetsinghe326c722021-03-25 21:17:29 -03005310 "id" : 47,
Robert MacDavidde12b982020-07-15 18:38:59 -07005311 "runtime_data" : [],
5312 "primitives" : [
5313 {
5314 "op" : "assign",
5315 "parameters" : [
5316 {
5317 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005318 "value" : ["scalars", "spgw_tmp"]
5319 },
5320 {
5321 "type" : "expression",
5322 "value" : {
5323 "type" : "expression",
5324 "value" : {
5325 "op" : "b2d",
5326 "left" : null,
5327 "right" : {
5328 "type" : "bool",
5329 "value" : true
5330 }
5331 }
5332 }
5333 }
5334 ]
5335 }
5336 ]
5337 },
5338 {
5339 "name" : "act_1",
ersuneetsinghe326c722021-03-25 21:17:29 -03005340 "id" : 48,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005341 "runtime_data" : [],
5342 "primitives" : [
5343 {
5344 "op" : "assign",
5345 "parameters" : [
5346 {
5347 "type" : "field",
5348 "value" : ["scalars", "spgw_tmp"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005349 },
5350 {
5351 "type" : "expression",
5352 "value" : {
5353 "type" : "expression",
5354 "value" : {
5355 "op" : "b2d",
5356 "left" : null,
5357 "right" : {
5358 "type" : "bool",
5359 "value" : false
5360 }
5361 }
5362 }
5363 }
5364 ]
5365 }
5366 ]
5367 },
5368 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005369 "name" : "act_2",
ersuneetsinghe326c722021-03-25 21:17:29 -03005370 "id" : 49,
Robert MacDavidde12b982020-07-15 18:38:59 -07005371 "runtime_data" : [],
5372 "primitives" : [
5373 {
5374 "op" : "count",
5375 "parameters" : [
5376 {
5377 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005378 "value" : "FabricIngress.spgw.pdr_counter"
Robert MacDavidde12b982020-07-15 18:38:59 -07005379 },
5380 {
5381 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005382 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005383 }
5384 ],
5385 "source_info" : {
5386 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005387 "line" : 266,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005388 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07005389 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
5390 }
5391 }
5392 ]
5393 },
5394 {
5395 "name" : "act_3",
ersuneetsinghe326c722021-03-25 21:17:29 -03005396 "id" : 50,
Robert MacDavidde12b982020-07-15 18:38:59 -07005397 "runtime_data" : [],
5398 "primitives" : [
5399 {
5400 "op" : "assign",
5401 "parameters" : [
5402 {
5403 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005404 "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005405 },
5406 {
5407 "type" : "field",
5408 "value" : ["ipv4", "total_len"]
5409 }
5410 ],
5411 "source_info" : {
5412 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005413 "line" : 283,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005414 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07005415 "source_fragment" : "= hdr.ipv4.total_len; ..."
5416 }
5417 }
5418 ]
5419 },
5420 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005421 "name" : "act_4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005422 "id" : 51,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005423 "runtime_data" : [],
5424 "primitives" : [
5425 {
5426 "op" : "assign",
5427 "parameters" : [
5428 {
5429 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005430 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005431 },
5432 {
5433 "type" : "field",
5434 "value" : ["vlan_tag", "vlan_id"]
5435 }
5436 ],
5437 "source_info" : {
5438 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005439 "line" : 111,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005440 "column" : 36,
5441 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005442 }
5443 },
5444 {
5445 "op" : "assign",
5446 "parameters" : [
5447 {
5448 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005449 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005450 },
5451 {
5452 "type" : "field",
5453 "value" : ["vlan_tag", "pri"]
5454 }
5455 ],
5456 "source_info" : {
5457 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005458 "line" : 112,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005459 "column" : 37,
5460 "source_fragment" : "= hdr.vlan_tag.pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005461 }
5462 },
5463 {
5464 "op" : "assign",
5465 "parameters" : [
5466 {
5467 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005468 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005469 },
5470 {
5471 "type" : "field",
5472 "value" : ["vlan_tag", "cfi"]
5473 }
5474 ],
5475 "source_info" : {
5476 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005477 "line" : 113,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005478 "column" : 37,
5479 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005480 }
5481 }
5482 ]
5483 },
5484 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005485 "name" : "act_5",
ersuneetsinghe326c722021-03-25 21:17:29 -03005486 "id" : 52,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005487 "runtime_data" : [],
5488 "primitives" : [
5489 {
5490 "op" : "assign",
5491 "parameters" : [
5492 {
5493 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005494 "value" : ["scalars", "fabric_metadata_t._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005495 },
5496 {
5497 "type" : "hexstr",
5498 "value" : "0x41"
5499 }
5500 ],
5501 "source_info" : {
5502 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005503 "line" : 127,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005504 "column" : 37,
5505 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005506 }
5507 }
5508 ]
5509 },
5510 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005511 "name" : "act_6",
ersuneetsinghe326c722021-03-25 21:17:29 -03005512 "id" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005513 "runtime_data" : [],
5514 "primitives" : [
5515 {
5516 "op" : "assign",
5517 "parameters" : [
5518 {
5519 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07005520 "value" : ["scalars", "tmp"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005521 },
5522 {
5523 "type" : "expression",
5524 "value" : {
5525 "type" : "expression",
5526 "value" : {
5527 "op" : "&",
5528 "left" : {
5529 "type" : "field",
5530 "value" : ["standard_metadata", "egress_spec"]
5531 },
5532 "right" : {
5533 "type" : "hexstr",
5534 "value" : "0xffffffff"
5535 }
5536 }
5537 }
5538 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005539 ],
5540 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005541 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005542 "line" : 31,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005543 "column" : 38,
5544 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
5545 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005546 },
5547 {
5548 "op" : "count",
5549 "parameters" : [
5550 {
5551 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08005552 "value" : "FabricIngress.port_counters_control.egress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005553 },
5554 {
5555 "type" : "field",
Robert MacDavidde12b982020-07-15 18:38:59 -07005556 "value" : ["scalars", "tmp"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005557 }
5558 ],
5559 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005560 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005561 "line" : 31,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005562 "column" : 12,
5563 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5564 }
5565 }
5566 ]
5567 },
5568 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005569 "name" : "act_7",
ersuneetsinghe326c722021-03-25 21:17:29 -03005570 "id" : 54,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005571 "runtime_data" : [],
5572 "primitives" : [
5573 {
5574 "op" : "assign",
5575 "parameters" : [
5576 {
5577 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +01005578 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005579 },
5580 {
5581 "type" : "expression",
5582 "value" : {
5583 "type" : "expression",
5584 "value" : {
5585 "op" : "&",
5586 "left" : {
5587 "type" : "field",
5588 "value" : ["standard_metadata", "ingress_port"]
5589 },
5590 "right" : {
5591 "type" : "hexstr",
5592 "value" : "0xffffffff"
5593 }
5594 }
5595 }
5596 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005597 ],
5598 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005599 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005600 "line" : 34,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02005601 "column" : 39,
5602 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
5603 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005604 },
5605 {
5606 "op" : "count",
5607 "parameters" : [
5608 {
5609 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08005610 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005611 },
5612 {
5613 "type" : "field",
pierventre48e78822020-12-15 17:34:54 +01005614 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005615 }
5616 ],
5617 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005618 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005619 "line" : 34,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005620 "column" : 12,
5621 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5622 }
5623 }
5624 ]
5625 },
5626 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005627 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
ersuneetsinghe326c722021-03-25 21:17:29 -03005628 "id" : 55,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005629 "runtime_data" : [],
5630 "primitives" : [
5631 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005632 "op" : "remove_header",
5633 "parameters" : [
5634 {
5635 "type" : "header",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005636 "value" : "mpls"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005637 }
5638 ],
5639 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005640 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005641 "line" : 270,
Yi Tseng47eac892018-07-11 02:17:04 +08005642 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005643 "source_fragment" : "hdr.mpls.setInvalid()"
Yi Tseng47eac892018-07-11 02:17:04 +08005644 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005645 },
Yi Tseng47eac892018-07-11 02:17:04 +08005646 {
5647 "op" : "assign",
5648 "parameters" : [
5649 {
5650 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005651 "value" : ["eth_type", "value"]
Yi Tseng47eac892018-07-11 02:17:04 +08005652 },
5653 {
5654 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005655 "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005656 }
5657 ],
5658 "source_info" : {
5659 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005660 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07005661 "column" : 8,
5662 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005663 }
5664 }
5665 ]
5666 },
5667 {
5668 "name" : "FabricEgress.egress_next.set_mpls",
ersuneetsinghe326c722021-03-25 21:17:29 -03005669 "id" : 56,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005670 "runtime_data" : [],
5671 "primitives" : [
5672 {
5673 "op" : "add_header",
5674 "parameters" : [
5675 {
5676 "type" : "header",
5677 "value" : "mpls"
Yi Tseng47eac892018-07-11 02:17:04 +08005678 }
5679 ],
5680 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005681 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005682 "line" : 277,
Yi Tseng47eac892018-07-11 02:17:04 +08005683 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005684 "source_fragment" : "hdr.mpls.setValid()"
5685 }
5686 },
5687 {
5688 "op" : "assign",
5689 "parameters" : [
5690 {
5691 "type" : "field",
5692 "value" : ["mpls", "label"]
5693 },
5694 {
5695 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005696 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005697 }
5698 ],
5699 "source_info" : {
5700 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005701 "line" : 278,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005702 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005703 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005704 }
5705 },
5706 {
5707 "op" : "assign",
5708 "parameters" : [
5709 {
5710 "type" : "field",
5711 "value" : ["mpls", "tc"]
5712 },
5713 {
5714 "type" : "hexstr",
5715 "value" : "0x00"
5716 }
5717 ],
5718 "source_info" : {
5719 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005720 "line" : 279,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005721 "column" : 8,
5722 "source_fragment" : "hdr.mpls.tc = 3w0"
5723 }
5724 },
5725 {
5726 "op" : "assign",
5727 "parameters" : [
5728 {
5729 "type" : "field",
5730 "value" : ["mpls", "bos"]
5731 },
5732 {
5733 "type" : "hexstr",
5734 "value" : "0x01"
5735 }
5736 ],
5737 "source_info" : {
5738 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005739 "line" : 280,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005740 "column" : 8,
5741 "source_fragment" : "hdr.mpls.bos = 1w1"
5742 }
5743 },
5744 {
5745 "op" : "assign",
5746 "parameters" : [
5747 {
5748 "type" : "field",
5749 "value" : ["mpls", "ttl"]
5750 },
5751 {
5752 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005753 "value" : ["scalars", "fabric_metadata_t._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005754 }
5755 ],
5756 "source_info" : {
5757 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005758 "line" : 281,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005759 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005760 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005761 }
5762 },
5763 {
5764 "op" : "assign",
5765 "parameters" : [
5766 {
5767 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005768 "value" : ["eth_type", "value"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005769 },
5770 {
5771 "type" : "hexstr",
5772 "value" : "0x8847"
5773 }
5774 ],
5775 "source_info" : {
5776 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005777 "line" : 117,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005778 "column" : 31,
5779 "source_fragment" : "0x8847; ..."
5780 }
5781 }
5782 ]
5783 },
5784 {
5785 "name" : "FabricEgress.egress_next.push_vlan",
ersuneetsinghe326c722021-03-25 21:17:29 -03005786 "id" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005787 "runtime_data" : [],
5788 "primitives" : [
5789 {
5790 "op" : "add_header",
5791 "parameters" : [
5792 {
5793 "type" : "header",
5794 "value" : "vlan_tag"
5795 }
5796 ],
5797 "source_info" : {
5798 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005799 "line" : 289,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005800 "column" : 8,
5801 "source_fragment" : "hdr.vlan_tag.setValid()"
5802 }
5803 },
5804 {
5805 "op" : "assign",
5806 "parameters" : [
5807 {
5808 "type" : "field",
5809 "value" : ["vlan_tag", "cfi"]
5810 },
5811 {
5812 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005813 "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005814 }
5815 ],
5816 "source_info" : {
5817 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005818 "line" : 290,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005819 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005820 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005821 }
5822 },
5823 {
5824 "op" : "assign",
5825 "parameters" : [
5826 {
5827 "type" : "field",
5828 "value" : ["vlan_tag", "pri"]
5829 },
5830 {
5831 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005832 "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005833 }
5834 ],
5835 "source_info" : {
5836 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005837 "line" : 291,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005838 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005839 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005840 }
5841 },
5842 {
5843 "op" : "assign",
5844 "parameters" : [
5845 {
5846 "type" : "field",
5847 "value" : ["vlan_tag", "eth_type"]
5848 },
5849 {
Daniele Moro5a2de712019-09-24 14:34:07 -07005850 "type" : "hexstr",
5851 "value" : "0x8100"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005852 }
5853 ],
5854 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07005855 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005856 "line" : 116,
Daniele Moro5a2de712019-09-24 14:34:07 -07005857 "column" : 31,
5858 "source_fragment" : "0x8100; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005859 }
5860 },
5861 {
5862 "op" : "assign",
5863 "parameters" : [
5864 {
5865 "type" : "field",
5866 "value" : ["vlan_tag", "vlan_id"]
5867 },
5868 {
5869 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07005870 "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005871 }
5872 ],
5873 "source_info" : {
5874 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07005875 "line" : 293,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005876 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08005877 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005878 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005879 }
5880 ]
5881 },
5882 {
5883 "name" : "FabricEgress.egress_next.pop_vlan",
ersuneetsinghe326c722021-03-25 21:17:29 -03005884 "id" : 58,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08005885 "runtime_data" : [],
5886 "primitives" : [
5887 {
Yi Tseng47eac892018-07-11 02:17:04 +08005888 "op" : "remove_header",
5889 "parameters" : [
5890 {
5891 "type" : "header",
5892 "value" : "vlan_tag"
5893 }
5894 ],
5895 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02005896 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01005897 "line" : 322,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08005898 "column" : 8,
5899 "source_fragment" : "hdr.vlan_tag.setInvalid()"
5900 }
5901 }
5902 ]
5903 },
5904 {
pierventre48e78822020-12-15 17:34:54 +01005905 "name" : "FabricEgress.egress_next.drop",
ersuneetsinghe326c722021-03-25 21:17:29 -03005906 "id" : 59,
pierventre48e78822020-12-15 17:34:54 +01005907 "runtime_data" : [],
5908 "primitives" : [
5909 {
5910 "op" : "mark_to_drop",
5911 "parameters" : [
5912 {
5913 "type" : "header",
5914 "value" : "standard_metadata"
5915 }
5916 ],
5917 "source_info" : {
5918 "filename" : "include/control/next.p4",
5919 "line" : 327,
5920 "column" : 8,
5921 "source_fragment" : "mark_to_drop(standard_metadata)"
5922 }
5923 }
5924 ]
5925 },
5926 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005927 "name" : "FabricEgress.spgw.gtpu_encap",
ersuneetsinghe326c722021-03-25 21:17:29 -03005928 "id" : 60,
Robert MacDavidde12b982020-07-15 18:38:59 -07005929 "runtime_data" : [],
5930 "primitives" : [
5931 {
5932 "op" : "add_header",
5933 "parameters" : [
5934 {
5935 "type" : "header",
5936 "value" : "gtpu_ipv4"
5937 }
5938 ],
5939 "source_info" : {
5940 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005941 "line" : 301,
Robert MacDavidde12b982020-07-15 18:38:59 -07005942 "column" : 8,
5943 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
5944 }
5945 },
5946 {
5947 "op" : "assign",
5948 "parameters" : [
5949 {
5950 "type" : "field",
5951 "value" : ["gtpu_ipv4", "version"]
5952 },
5953 {
5954 "type" : "hexstr",
5955 "value" : "0x04"
5956 }
5957 ],
5958 "source_info" : {
5959 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005960 "line" : 302,
Robert MacDavidde12b982020-07-15 18:38:59 -07005961 "column" : 8,
5962 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
5963 }
5964 },
5965 {
5966 "op" : "assign",
5967 "parameters" : [
5968 {
5969 "type" : "field",
5970 "value" : ["gtpu_ipv4", "ihl"]
5971 },
5972 {
5973 "type" : "hexstr",
5974 "value" : "0x05"
5975 }
5976 ],
5977 "source_info" : {
5978 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005979 "line" : 134,
Robert MacDavidde12b982020-07-15 18:38:59 -07005980 "column" : 28,
5981 "source_fragment" : "5; ..."
5982 }
5983 },
5984 {
5985 "op" : "assign",
5986 "parameters" : [
5987 {
5988 "type" : "field",
5989 "value" : ["gtpu_ipv4", "dscp"]
5990 },
5991 {
5992 "type" : "hexstr",
5993 "value" : "0x00"
5994 }
5995 ],
5996 "source_info" : {
5997 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005998 "line" : 304,
Robert MacDavidde12b982020-07-15 18:38:59 -07005999 "column" : 8,
6000 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
6001 }
6002 },
6003 {
6004 "op" : "assign",
6005 "parameters" : [
6006 {
6007 "type" : "field",
6008 "value" : ["gtpu_ipv4", "ecn"]
6009 },
6010 {
6011 "type" : "hexstr",
6012 "value" : "0x00"
6013 }
6014 ],
6015 "source_info" : {
6016 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006017 "line" : 305,
Robert MacDavidde12b982020-07-15 18:38:59 -07006018 "column" : 8,
6019 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
6020 }
6021 },
6022 {
6023 "op" : "assign",
6024 "parameters" : [
6025 {
6026 "type" : "field",
6027 "value" : ["gtpu_ipv4", "total_len"]
6028 },
6029 {
6030 "type" : "expression",
6031 "value" : {
6032 "type" : "expression",
6033 "value" : {
6034 "op" : "&",
6035 "left" : {
6036 "type" : "expression",
6037 "value" : {
6038 "op" : "+",
6039 "left" : {
6040 "type" : "field",
6041 "value" : ["ipv4", "total_len"]
6042 },
6043 "right" : {
6044 "type" : "hexstr",
6045 "value" : "0x0024"
6046 }
6047 }
6048 },
6049 "right" : {
6050 "type" : "hexstr",
6051 "value" : "0xffff"
6052 }
6053 }
6054 }
6055 }
6056 ],
6057 "source_info" : {
6058 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006059 "line" : 306,
Robert MacDavidde12b982020-07-15 18:38:59 -07006060 "column" : 8,
6061 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
6062 }
6063 },
6064 {
6065 "op" : "assign",
6066 "parameters" : [
6067 {
6068 "type" : "field",
6069 "value" : ["gtpu_ipv4", "identification"]
6070 },
6071 {
6072 "type" : "hexstr",
6073 "value" : "0x1513"
6074 }
6075 ],
6076 "source_info" : {
6077 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006078 "line" : 308,
Robert MacDavidde12b982020-07-15 18:38:59 -07006079 "column" : 8,
6080 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
6081 }
6082 },
6083 {
6084 "op" : "assign",
6085 "parameters" : [
6086 {
6087 "type" : "field",
6088 "value" : ["gtpu_ipv4", "flags"]
6089 },
6090 {
6091 "type" : "hexstr",
6092 "value" : "0x00"
6093 }
6094 ],
6095 "source_info" : {
6096 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006097 "line" : 309,
Robert MacDavidde12b982020-07-15 18:38:59 -07006098 "column" : 8,
6099 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
6100 }
6101 },
6102 {
6103 "op" : "assign",
6104 "parameters" : [
6105 {
6106 "type" : "field",
6107 "value" : ["gtpu_ipv4", "frag_offset"]
6108 },
6109 {
6110 "type" : "hexstr",
6111 "value" : "0x0000"
6112 }
6113 ],
6114 "source_info" : {
6115 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006116 "line" : 310,
Robert MacDavidde12b982020-07-15 18:38:59 -07006117 "column" : 8,
6118 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
6119 }
6120 },
6121 {
6122 "op" : "assign",
6123 "parameters" : [
6124 {
6125 "type" : "field",
6126 "value" : ["gtpu_ipv4", "ttl"]
6127 },
6128 {
6129 "type" : "hexstr",
6130 "value" : "0x40"
6131 }
6132 ],
6133 "source_info" : {
6134 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006135 "line" : 147,
Robert MacDavidde12b982020-07-15 18:38:59 -07006136 "column" : 32,
6137 "source_fragment" : "64; ..."
6138 }
6139 },
6140 {
6141 "op" : "assign",
6142 "parameters" : [
6143 {
6144 "type" : "field",
6145 "value" : ["gtpu_ipv4", "protocol"]
6146 },
6147 {
6148 "type" : "hexstr",
6149 "value" : "0x11"
6150 }
6151 ],
6152 "source_info" : {
6153 "filename" : "include/control/../define.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006154 "line" : 131,
Robert MacDavidde12b982020-07-15 18:38:59 -07006155 "column" : 25,
6156 "source_fragment" : "17; ..."
6157 }
6158 },
6159 {
6160 "op" : "assign",
6161 "parameters" : [
6162 {
6163 "type" : "field",
6164 "value" : ["gtpu_ipv4", "src_addr"]
6165 },
6166 {
6167 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006168 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006169 }
6170 ],
6171 "source_info" : {
6172 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006173 "line" : 313,
Robert MacDavidde12b982020-07-15 18:38:59 -07006174 "column" : 8,
6175 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
6176 }
6177 },
6178 {
6179 "op" : "assign",
6180 "parameters" : [
6181 {
6182 "type" : "field",
6183 "value" : ["gtpu_ipv4", "dst_addr"]
6184 },
6185 {
6186 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006187 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006188 }
6189 ],
6190 "source_info" : {
6191 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006192 "line" : 314,
Robert MacDavidde12b982020-07-15 18:38:59 -07006193 "column" : 8,
6194 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
6195 }
6196 },
6197 {
6198 "op" : "assign",
6199 "parameters" : [
6200 {
6201 "type" : "field",
6202 "value" : ["gtpu_ipv4", "hdr_checksum"]
6203 },
6204 {
6205 "type" : "hexstr",
6206 "value" : "0x0000"
6207 }
6208 ],
6209 "source_info" : {
6210 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006211 "line" : 315,
Robert MacDavidde12b982020-07-15 18:38:59 -07006212 "column" : 8,
6213 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
6214 }
6215 },
6216 {
6217 "op" : "add_header",
6218 "parameters" : [
6219 {
6220 "type" : "header",
6221 "value" : "gtpu_udp"
6222 }
6223 ],
6224 "source_info" : {
6225 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006226 "line" : 317,
Robert MacDavidde12b982020-07-15 18:38:59 -07006227 "column" : 8,
6228 "source_fragment" : "hdr.gtpu_udp.setValid()"
6229 }
6230 },
6231 {
6232 "op" : "assign",
6233 "parameters" : [
6234 {
6235 "type" : "field",
6236 "value" : ["gtpu_udp", "sport"]
6237 },
6238 {
6239 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006240 "value" : ["scalars", "fabric_metadata_t._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006241 }
6242 ],
6243 "source_info" : {
6244 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006245 "line" : 318,
Robert MacDavidde12b982020-07-15 18:38:59 -07006246 "column" : 8,
6247 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
6248 }
6249 },
6250 {
6251 "op" : "assign",
6252 "parameters" : [
6253 {
6254 "type" : "field",
6255 "value" : ["gtpu_udp", "dport"]
6256 },
6257 {
6258 "type" : "hexstr",
6259 "value" : "0x0868"
6260 }
6261 ],
6262 "source_info" : {
6263 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006264 "line" : 319,
Robert MacDavidde12b982020-07-15 18:38:59 -07006265 "column" : 8,
6266 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
6267 }
6268 },
6269 {
6270 "op" : "assign",
6271 "parameters" : [
6272 {
6273 "type" : "field",
6274 "value" : ["gtpu_udp", "len"]
6275 },
6276 {
6277 "type" : "expression",
6278 "value" : {
6279 "type" : "expression",
6280 "value" : {
6281 "op" : "&",
6282 "left" : {
6283 "type" : "expression",
6284 "value" : {
6285 "op" : "+",
6286 "left" : {
6287 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006288 "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006289 },
6290 "right" : {
6291 "type" : "hexstr",
6292 "value" : "0x0010"
6293 }
6294 }
6295 },
6296 "right" : {
6297 "type" : "hexstr",
6298 "value" : "0xffff"
6299 }
6300 }
6301 }
6302 }
6303 ],
6304 "source_info" : {
6305 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006306 "line" : 320,
Robert MacDavidde12b982020-07-15 18:38:59 -07006307 "column" : 8,
6308 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
6309 }
6310 },
6311 {
6312 "op" : "assign",
6313 "parameters" : [
6314 {
6315 "type" : "field",
6316 "value" : ["gtpu_udp", "checksum"]
6317 },
6318 {
6319 "type" : "hexstr",
6320 "value" : "0x0000"
6321 }
6322 ],
6323 "source_info" : {
6324 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006325 "line" : 322,
Robert MacDavidde12b982020-07-15 18:38:59 -07006326 "column" : 8,
6327 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
6328 }
6329 },
6330 {
6331 "op" : "add_header",
6332 "parameters" : [
6333 {
6334 "type" : "header",
6335 "value" : "outer_gtpu"
6336 }
6337 ],
6338 "source_info" : {
6339 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006340 "line" : 325,
Robert MacDavidde12b982020-07-15 18:38:59 -07006341 "column" : 8,
6342 "source_fragment" : "hdr.outer_gtpu.setValid()"
6343 }
6344 },
6345 {
6346 "op" : "assign",
6347 "parameters" : [
6348 {
6349 "type" : "field",
6350 "value" : ["outer_gtpu", "version"]
6351 },
6352 {
6353 "type" : "hexstr",
6354 "value" : "0x01"
6355 }
6356 ],
6357 "source_info" : {
6358 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006359 "line" : 326,
Robert MacDavidde12b982020-07-15 18:38:59 -07006360 "column" : 8,
6361 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
6362 }
6363 },
6364 {
6365 "op" : "assign",
6366 "parameters" : [
6367 {
6368 "type" : "field",
6369 "value" : ["outer_gtpu", "pt"]
6370 },
6371 {
6372 "type" : "hexstr",
6373 "value" : "0x01"
6374 }
6375 ],
6376 "source_info" : {
6377 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006378 "line" : 327,
Robert MacDavidde12b982020-07-15 18:38:59 -07006379 "column" : 8,
6380 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
6381 }
6382 },
6383 {
6384 "op" : "assign",
6385 "parameters" : [
6386 {
6387 "type" : "field",
6388 "value" : ["outer_gtpu", "spare"]
6389 },
6390 {
6391 "type" : "hexstr",
6392 "value" : "0x00"
6393 }
6394 ],
6395 "source_info" : {
6396 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006397 "line" : 328,
Robert MacDavidde12b982020-07-15 18:38:59 -07006398 "column" : 8,
6399 "source_fragment" : "hdr.outer_gtpu.spare = 0"
6400 }
6401 },
6402 {
6403 "op" : "assign",
6404 "parameters" : [
6405 {
6406 "type" : "field",
6407 "value" : ["outer_gtpu", "ex_flag"]
6408 },
6409 {
6410 "type" : "hexstr",
6411 "value" : "0x00"
6412 }
6413 ],
6414 "source_info" : {
6415 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006416 "line" : 329,
Robert MacDavidde12b982020-07-15 18:38:59 -07006417 "column" : 8,
6418 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
6419 }
6420 },
6421 {
6422 "op" : "assign",
6423 "parameters" : [
6424 {
6425 "type" : "field",
6426 "value" : ["outer_gtpu", "seq_flag"]
6427 },
6428 {
6429 "type" : "hexstr",
6430 "value" : "0x00"
6431 }
6432 ],
6433 "source_info" : {
6434 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006435 "line" : 330,
Robert MacDavidde12b982020-07-15 18:38:59 -07006436 "column" : 8,
6437 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
6438 }
6439 },
6440 {
6441 "op" : "assign",
6442 "parameters" : [
6443 {
6444 "type" : "field",
6445 "value" : ["outer_gtpu", "npdu_flag"]
6446 },
6447 {
6448 "type" : "hexstr",
6449 "value" : "0x00"
6450 }
6451 ],
6452 "source_info" : {
6453 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006454 "line" : 331,
Robert MacDavidde12b982020-07-15 18:38:59 -07006455 "column" : 8,
6456 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
6457 }
6458 },
6459 {
6460 "op" : "assign",
6461 "parameters" : [
6462 {
6463 "type" : "field",
6464 "value" : ["outer_gtpu", "msgtype"]
6465 },
6466 {
6467 "type" : "hexstr",
6468 "value" : "0xff"
6469 }
6470 ],
6471 "source_info" : {
6472 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006473 "line" : 332,
Robert MacDavidde12b982020-07-15 18:38:59 -07006474 "column" : 8,
6475 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
6476 }
6477 },
6478 {
6479 "op" : "assign",
6480 "parameters" : [
6481 {
6482 "type" : "field",
6483 "value" : ["outer_gtpu", "msglen"]
6484 },
6485 {
6486 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006487 "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006488 }
6489 ],
6490 "source_info" : {
6491 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006492 "line" : 333,
Robert MacDavidde12b982020-07-15 18:38:59 -07006493 "column" : 8,
6494 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
6495 }
6496 },
6497 {
6498 "op" : "assign",
6499 "parameters" : [
6500 {
6501 "type" : "field",
6502 "value" : ["outer_gtpu", "teid"]
6503 },
6504 {
6505 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006506 "value" : ["scalars", "fabric_metadata_t._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006507 }
6508 ],
6509 "source_info" : {
6510 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006511 "line" : 334,
Robert MacDavidde12b982020-07-15 18:38:59 -07006512 "column" : 8,
6513 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
6514 }
6515 }
6516 ]
6517 },
6518 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006519 "name" : "act_8",
ersuneetsinghe326c722021-03-25 21:17:29 -03006520 "id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006521 "runtime_data" : [],
6522 "primitives" : [
6523 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006524 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006525 "parameters" : [],
6526 "source_info" : {
6527 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006528 "line" : 41,
6529 "column" : 12,
6530 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006531 }
6532 }
6533 ]
6534 },
6535 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006536 "name" : "act_9",
ersuneetsinghe326c722021-03-25 21:17:29 -03006537 "id" : 62,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006538 "runtime_data" : [],
6539 "primitives" : [
6540 {
6541 "op" : "add_header",
6542 "parameters" : [
6543 {
6544 "type" : "header",
6545 "value" : "packet_in"
6546 }
6547 ],
6548 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006549 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006550 "line" : 44,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006551 "column" : 12,
6552 "source_fragment" : "hdr.packet_in.setValid()"
6553 }
6554 },
6555 {
6556 "op" : "assign",
6557 "parameters" : [
6558 {
6559 "type" : "field",
6560 "value" : ["packet_in", "ingress_port"]
6561 },
6562 {
6563 "type" : "field",
6564 "value" : ["standard_metadata", "ingress_port"]
6565 }
6566 ],
6567 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006568 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006569 "line" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006570 "column" : 12,
6571 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
6572 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006573 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006574 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006575 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006576 "parameters" : [],
6577 "source_info" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006578 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006579 "line" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006580 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006581 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006582 }
6583 }
6584 ]
6585 },
6586 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006587 "name" : "act_10",
ersuneetsinghe326c722021-03-25 21:17:29 -03006588 "id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006589 "runtime_data" : [],
6590 "primitives" : [
6591 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006592 "op" : "mark_to_drop",
6593 "parameters" : [
6594 {
6595 "type" : "header",
6596 "value" : "standard_metadata"
6597 }
6598 ],
6599 "source_info" : {
6600 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006601 "line" : 349,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006602 "column" : 12,
6603 "source_fragment" : "mark_to_drop(standard_metadata)"
6604 }
6605 }
6606 ]
6607 },
6608 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006609 "name" : "act_11",
ersuneetsinghe326c722021-03-25 21:17:29 -03006610 "id" : 64,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006611 "runtime_data" : [],
6612 "primitives" : [
6613 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006614 "op" : "mark_to_drop",
6615 "parameters" : [
6616 {
6617 "type" : "header",
6618 "value" : "standard_metadata"
6619 }
6620 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006621 "source_info" : {
6622 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006623 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006624 "column" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006625 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006626 }
6627 }
6628 ]
6629 },
6630 {
pierventre48e78822020-12-15 17:34:54 +01006631 "name" : "act_12",
ersuneetsinghe326c722021-03-25 21:17:29 -03006632 "id" : 65,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006633 "runtime_data" : [],
6634 "primitives" : [
6635 {
6636 "op" : "assign",
6637 "parameters" : [
6638 {
6639 "type" : "field",
6640 "value" : ["mpls", "ttl"]
6641 },
6642 {
6643 "type" : "expression",
6644 "value" : {
6645 "type" : "expression",
6646 "value" : {
6647 "op" : "&",
6648 "left" : {
6649 "type" : "expression",
6650 "value" : {
6651 "op" : "+",
6652 "left" : {
6653 "type" : "field",
6654 "value" : ["mpls", "ttl"]
6655 },
6656 "right" : {
6657 "type" : "hexstr",
6658 "value" : "0xff"
6659 }
6660 }
6661 },
6662 "right" : {
6663 "type" : "hexstr",
6664 "value" : "0xff"
6665 }
6666 }
6667 }
6668 }
6669 ],
6670 "source_info" : {
6671 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006672 "line" : 375,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006673 "column" : 12,
6674 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
6675 }
6676 }
6677 ]
6678 },
6679 {
pierventre48e78822020-12-15 17:34:54 +01006680 "name" : "act_13",
ersuneetsinghe326c722021-03-25 21:17:29 -03006681 "id" : 66,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006682 "runtime_data" : [],
6683 "primitives" : [
6684 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006685 "op" : "mark_to_drop",
6686 "parameters" : [
6687 {
6688 "type" : "header",
6689 "value" : "standard_metadata"
6690 }
6691 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006692 "source_info" : {
6693 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006694 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006695 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006696 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006697 }
6698 }
6699 ]
6700 },
6701 {
pierventre48e78822020-12-15 17:34:54 +01006702 "name" : "act_14",
ersuneetsinghe326c722021-03-25 21:17:29 -03006703 "id" : 67,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006704 "runtime_data" : [],
6705 "primitives" : [
6706 {
6707 "op" : "assign",
6708 "parameters" : [
6709 {
6710 "type" : "field",
6711 "value" : ["ipv4", "ttl"]
6712 },
6713 {
6714 "type" : "expression",
6715 "value" : {
6716 "type" : "expression",
6717 "value" : {
6718 "op" : "&",
6719 "left" : {
6720 "type" : "expression",
6721 "value" : {
6722 "op" : "+",
6723 "left" : {
6724 "type" : "field",
6725 "value" : ["ipv4", "ttl"]
6726 },
6727 "right" : {
6728 "type" : "hexstr",
6729 "value" : "0xff"
6730 }
6731 }
6732 },
6733 "right" : {
6734 "type" : "hexstr",
6735 "value" : "0xff"
6736 }
6737 }
6738 }
6739 }
6740 ],
6741 "source_info" : {
6742 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006743 "line" : 379,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006744 "column" : 16,
6745 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
6746 }
6747 }
6748 ]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006749 },
6750 {
pierventre48e78822020-12-15 17:34:54 +01006751 "name" : "act_15",
ersuneetsinghe326c722021-03-25 21:17:29 -03006752 "id" : 68,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006753 "runtime_data" : [],
6754 "primitives" : [
6755 {
6756 "op" : "count",
6757 "parameters" : [
6758 {
6759 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006760 "value" : "FabricEgress.spgw.pdr_counter"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006761 },
6762 {
6763 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006764 "value" : ["scalars", "fabric_metadata_t._spgw_ctr_id24"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006765 }
6766 ],
6767 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07006768 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03006769 "line" : 343,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006770 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07006771 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04006772 }
6773 }
6774 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006775 }
6776 ],
6777 "pipelines" : [
6778 {
6779 "name" : "ingress",
6780 "id" : 0,
6781 "source_info" : {
6782 "filename" : "fabric.p4",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006783 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006784 "column" : 8,
6785 "source_fragment" : "FabricIngress"
6786 },
Robert MacDavidde12b982020-07-15 18:38:59 -07006787 "init_table" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006788 "tables" : [
6789 {
6790 "name" : "tbl_act",
6791 "id" : 0,
Carmelo Cascone3032b872019-04-13 01:23:54 -07006792 "source_info" : {
Carmelo Cascone3032b872019-04-13 01:23:54 -07006793 "filename" : "include/control/packetio.p4",
6794 "line" : 25,
6795 "column" : 42,
6796 "source_fragment" : "= hdr.packet_out.egress_port; ..."
6797 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006798 "key" : [],
6799 "match_type" : "exact",
6800 "type" : "simple",
6801 "max_size" : 1024,
6802 "with_counters" : false,
6803 "support_timeout" : false,
6804 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03006805 "action_ids" : [46],
Robert MacDavidde12b982020-07-15 18:38:59 -07006806 "actions" : ["act"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006807 "base_default_next" : "FabricIngress.spgw.interfaces",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006808 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006809 "act" : "FabricIngress.spgw.interfaces"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006810 },
6811 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03006812 "action_id" : 46,
Robert MacDavidde12b982020-07-15 18:38:59 -07006813 "action_const" : true,
6814 "action_data" : [],
6815 "action_entry_const" : true
6816 }
6817 },
6818 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006819 "name" : "FabricIngress.spgw.interfaces",
Robert MacDavidde12b982020-07-15 18:38:59 -07006820 "id" : 1,
Robert MacDavidde12b982020-07-15 18:38:59 -07006821 "source_info" : {
6822 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006823 "line" : 130,
Robert MacDavidde12b982020-07-15 18:38:59 -07006824 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006825 "source_fragment" : "interfaces"
Robert MacDavidde12b982020-07-15 18:38:59 -07006826 },
6827 "key" : [
6828 {
6829 "match_type" : "lpm",
6830 "name" : "ipv4_dst_addr",
6831 "target" : ["ipv4", "dst_addr"],
6832 "mask" : null
6833 },
6834 {
6835 "match_type" : "exact",
6836 "name" : "gtpu_is_valid",
6837 "target" : ["gtpu", "$valid$"],
6838 "mask" : null
6839 }
6840 ],
6841 "match_type" : "lpm",
6842 "type" : "simple",
6843 "max_size" : 128,
6844 "with_counters" : false,
6845 "support_timeout" : false,
6846 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006847 "action_ids" : [37, 38],
6848 "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
6849 "base_default_next" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07006850 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006851 "__HIT__" : "tbl_act_0",
6852 "__MISS__" : "tbl_act_1"
Robert MacDavidde12b982020-07-15 18:38:59 -07006853 },
6854 "default_entry" : {
6855 "action_id" : 38,
6856 "action_const" : true,
6857 "action_data" : [],
6858 "action_entry_const" : true
6859 }
6860 },
6861 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006862 "name" : "tbl_act_0",
6863 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07006864 "key" : [],
6865 "match_type" : "exact",
6866 "type" : "simple",
6867 "max_size" : 1024,
6868 "with_counters" : false,
6869 "support_timeout" : false,
6870 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03006871 "action_ids" : [47],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006872 "actions" : ["act_0"],
6873 "base_default_next" : "node_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07006874 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006875 "act_0" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07006876 },
6877 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03006878 "action_id" : 47,
Robert MacDavidde12b982020-07-15 18:38:59 -07006879 "action_const" : true,
6880 "action_data" : [],
6881 "action_entry_const" : true
6882 }
6883 },
6884 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006885 "name" : "tbl_act_1",
6886 "id" : 3,
6887 "key" : [],
6888 "match_type" : "exact",
6889 "type" : "simple",
6890 "max_size" : 1024,
6891 "with_counters" : false,
6892 "support_timeout" : false,
6893 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03006894 "action_ids" : [48],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006895 "actions" : ["act_1"],
6896 "base_default_next" : "node_7",
6897 "next_tables" : {
6898 "act_1" : "node_7"
6899 },
6900 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03006901 "action_id" : 48,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006902 "action_const" : true,
6903 "action_data" : [],
6904 "action_entry_const" : true
6905 }
6906 },
6907 {
6908 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
6909 "id" : 4,
Robert MacDavidde12b982020-07-15 18:38:59 -07006910 "source_info" : {
6911 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006912 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07006913 "column" : 10,
6914 "source_fragment" : "decap_gtpu"
6915 },
6916 "key" : [
6917 {
6918 "match_type" : "exact",
6919 "name" : "hdr.inner_tcp.$valid$",
6920 "target" : ["inner_tcp", "$valid$"],
6921 "mask" : null
6922 },
6923 {
6924 "match_type" : "exact",
6925 "name" : "hdr.inner_udp.$valid$",
6926 "target" : ["inner_udp", "$valid$"],
6927 "mask" : null
6928 },
6929 {
6930 "match_type" : "exact",
6931 "name" : "hdr.inner_icmp.$valid$",
6932 "target" : ["inner_icmp", "$valid$"],
6933 "mask" : null
6934 }
6935 ],
6936 "match_type" : "exact",
6937 "type" : "simple",
6938 "max_size" : 1024,
6939 "with_counters" : false,
6940 "support_timeout" : false,
6941 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006942 "action_ids" : [29, 30, 31, 32],
6943 "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"],
6944 "base_default_next" : "node_10",
Robert MacDavidde12b982020-07-15 18:38:59 -07006945 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006946 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_10",
6947 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_10",
6948 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_10",
6949 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_10"
Robert MacDavidde12b982020-07-15 18:38:59 -07006950 },
6951 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006952 "action_id" : 32,
Robert MacDavidde12b982020-07-15 18:38:59 -07006953 "action_const" : true,
6954 "action_data" : [],
6955 "action_entry_const" : true
6956 },
6957 "entries" : [
6958 {
6959 "source_info" : {
6960 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006961 "line" : 89,
Robert MacDavidde12b982020-07-15 18:38:59 -07006962 "column" : 12,
6963 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
6964 },
6965 "match_key" : [
6966 {
6967 "match_type" : "exact",
6968 "key" : "0x01"
6969 },
6970 {
6971 "match_type" : "exact",
6972 "key" : "0x00"
6973 },
6974 {
6975 "match_type" : "exact",
6976 "key" : "0x00"
6977 }
6978 ],
6979 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006980 "action_id" : 29,
Robert MacDavidde12b982020-07-15 18:38:59 -07006981 "action_data" : []
6982 },
6983 "priority" : 1
6984 },
6985 {
6986 "source_info" : {
6987 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006988 "line" : 90,
Robert MacDavidde12b982020-07-15 18:38:59 -07006989 "column" : 12,
6990 "source_fragment" : "(false, true, false) : decap_inner_udp()"
6991 },
6992 "match_key" : [
6993 {
6994 "match_type" : "exact",
6995 "key" : "0x00"
6996 },
6997 {
6998 "match_type" : "exact",
6999 "key" : "0x01"
7000 },
7001 {
7002 "match_type" : "exact",
7003 "key" : "0x00"
7004 }
7005 ],
7006 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007007 "action_id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -07007008 "action_data" : []
7009 },
7010 "priority" : 2
7011 },
7012 {
7013 "source_info" : {
7014 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007015 "line" : 91,
Robert MacDavidde12b982020-07-15 18:38:59 -07007016 "column" : 12,
7017 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
7018 },
7019 "match_key" : [
7020 {
7021 "match_type" : "exact",
7022 "key" : "0x00"
7023 },
7024 {
7025 "match_type" : "exact",
7026 "key" : "0x00"
7027 },
7028 {
7029 "match_type" : "exact",
7030 "key" : "0x01"
7031 }
7032 ],
7033 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007034 "action_id" : 31,
Robert MacDavidde12b982020-07-15 18:38:59 -07007035 "action_data" : []
7036 },
7037 "priority" : 3
7038 }
7039 ]
7040 },
7041 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007042 "name" : "FabricIngress.spgw.uplink_pdrs",
7043 "id" : 5,
7044 "source_info" : {
7045 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03007046 "line" : 177,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007047 "column" : 10,
7048 "source_fragment" : "uplink_pdrs"
7049 },
7050 "key" : [
7051 {
7052 "match_type" : "exact",
7053 "name" : "tunnel_ipv4_dst",
7054 "target" : ["ipv4", "dst_addr"],
7055 "mask" : null
7056 },
7057 {
7058 "match_type" : "exact",
7059 "name" : "teid",
7060 "target" : ["gtpu", "teid"],
7061 "mask" : null
7062 }
7063 ],
7064 "match_type" : "exact",
7065 "type" : "simple",
7066 "max_size" : 1024,
7067 "with_counters" : false,
7068 "support_timeout" : false,
7069 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007070 "action_ids" : [40, 42, 8],
7071 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007072 "base_default_next" : "node_13",
7073 "next_tables" : {
7074 "FabricIngress.spgw.load_pdr" : "node_13",
ersuneetsinghe326c722021-03-25 21:17:29 -03007075 "FabricIngress.spgw.load_pdr_qos" : "node_13",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007076 "NoAction" : "node_13"
7077 },
7078 "default_entry" : {
7079 "action_id" : 8,
7080 "action_const" : false,
7081 "action_data" : [],
7082 "action_entry_const" : false
7083 }
7084 },
7085 {
7086 "name" : "FabricIngress.spgw.downlink_pdrs",
7087 "id" : 6,
7088 "source_info" : {
7089 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03007090 "line" : 165,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007091 "column" : 10,
7092 "source_fragment" : "downlink_pdrs"
7093 },
7094 "key" : [
7095 {
7096 "match_type" : "exact",
7097 "name" : "ue_addr",
7098 "target" : ["ipv4", "dst_addr"],
7099 "mask" : null
7100 }
7101 ],
7102 "match_type" : "exact",
7103 "type" : "simple",
7104 "max_size" : 1024,
7105 "with_counters" : false,
7106 "support_timeout" : false,
7107 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007108 "action_ids" : [39, 41, 7],
7109 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007110 "base_default_next" : "node_13",
7111 "next_tables" : {
7112 "FabricIngress.spgw.load_pdr" : "node_13",
ersuneetsinghe326c722021-03-25 21:17:29 -03007113 "FabricIngress.spgw.load_pdr_qos" : "node_13",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007114 "NoAction" : "node_13"
7115 },
7116 "default_entry" : {
7117 "action_id" : 7,
7118 "action_const" : false,
7119 "action_data" : [],
7120 "action_entry_const" : false
7121 }
7122 },
7123 {
7124 "name" : "tbl_act_2",
7125 "id" : 7,
7126 "source_info" : {
7127 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03007128 "line" : 266,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007129 "column" : 16,
7130 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
7131 },
7132 "key" : [],
7133 "match_type" : "exact",
7134 "type" : "simple",
7135 "max_size" : 1024,
7136 "with_counters" : false,
7137 "support_timeout" : false,
7138 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007139 "action_ids" : [49],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007140 "actions" : ["act_2"],
7141 "base_default_next" : "node_15",
7142 "next_tables" : {
7143 "act_2" : "node_15"
7144 },
7145 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007146 "action_id" : 49,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007147 "action_const" : true,
7148 "action_data" : [],
7149 "action_entry_const" : true
7150 }
7151 },
7152 {
7153 "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
Robert MacDavidde12b982020-07-15 18:38:59 -07007154 "id" : 8,
7155 "source_info" : {
7156 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007157 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07007158 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007159 "source_fragment" : "decap_gtpu"
7160 },
7161 "key" : [
7162 {
7163 "match_type" : "exact",
7164 "name" : "hdr.inner_tcp.$valid$",
7165 "target" : ["inner_tcp", "$valid$"],
7166 "mask" : null
7167 },
7168 {
7169 "match_type" : "exact",
7170 "name" : "hdr.inner_udp.$valid$",
7171 "target" : ["inner_udp", "$valid$"],
7172 "mask" : null
7173 },
7174 {
7175 "match_type" : "exact",
7176 "name" : "hdr.inner_icmp.$valid$",
7177 "target" : ["inner_icmp", "$valid$"],
7178 "mask" : null
7179 }
7180 ],
7181 "match_type" : "exact",
7182 "type" : "simple",
7183 "max_size" : 1024,
7184 "with_counters" : false,
7185 "support_timeout" : false,
7186 "direct_meters" : null,
7187 "action_ids" : [33, 34, 35, 36],
7188 "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"],
7189 "base_default_next" : "FabricIngress.spgw.fars",
7190 "next_tables" : {
7191 "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
7192 "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
7193 "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
7194 "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
7195 },
7196 "default_entry" : {
7197 "action_id" : 36,
7198 "action_const" : true,
7199 "action_data" : [],
7200 "action_entry_const" : true
7201 },
7202 "entries" : [
7203 {
7204 "source_info" : {
7205 "filename" : "include/control/spgw.p4",
7206 "line" : 89,
7207 "column" : 12,
7208 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
7209 },
7210 "match_key" : [
7211 {
7212 "match_type" : "exact",
7213 "key" : "0x01"
7214 },
7215 {
7216 "match_type" : "exact",
7217 "key" : "0x00"
7218 },
7219 {
7220 "match_type" : "exact",
7221 "key" : "0x00"
7222 }
7223 ],
7224 "action_entry" : {
7225 "action_id" : 33,
7226 "action_data" : []
7227 },
7228 "priority" : 1
7229 },
7230 {
7231 "source_info" : {
7232 "filename" : "include/control/spgw.p4",
7233 "line" : 90,
7234 "column" : 12,
7235 "source_fragment" : "(false, true, false) : decap_inner_udp()"
7236 },
7237 "match_key" : [
7238 {
7239 "match_type" : "exact",
7240 "key" : "0x00"
7241 },
7242 {
7243 "match_type" : "exact",
7244 "key" : "0x01"
7245 },
7246 {
7247 "match_type" : "exact",
7248 "key" : "0x00"
7249 }
7250 ],
7251 "action_entry" : {
7252 "action_id" : 34,
7253 "action_data" : []
7254 },
7255 "priority" : 2
7256 },
7257 {
7258 "source_info" : {
7259 "filename" : "include/control/spgw.p4",
7260 "line" : 91,
7261 "column" : 12,
7262 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
7263 },
7264 "match_key" : [
7265 {
7266 "match_type" : "exact",
7267 "key" : "0x00"
7268 },
7269 {
7270 "match_type" : "exact",
7271 "key" : "0x00"
7272 },
7273 {
7274 "match_type" : "exact",
7275 "key" : "0x01"
7276 }
7277 ],
7278 "action_entry" : {
7279 "action_id" : 35,
7280 "action_data" : []
7281 },
7282 "priority" : 3
7283 }
7284 ]
7285 },
7286 {
7287 "name" : "FabricIngress.spgw.fars",
7288 "id" : 9,
7289 "source_info" : {
7290 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03007291 "line" : 234,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007292 "column" : 10,
7293 "source_fragment" : "fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07007294 },
7295 "key" : [
7296 {
7297 "match_type" : "exact",
7298 "name" : "far_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007299 "target" : ["scalars", "fabric_metadata_t._spgw_far_id25"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007300 "mask" : null
7301 }
7302 ],
7303 "match_type" : "exact",
7304 "type" : "simple",
7305 "max_size" : 2048,
7306 "with_counters" : false,
7307 "support_timeout" : false,
7308 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007309 "action_ids" : [43, 44, 45],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007310 "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
7311 "base_default_next" : "tbl_act_3",
Robert MacDavidde12b982020-07-15 18:38:59 -07007312 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007313 "FabricIngress.spgw.load_normal_far" : "tbl_act_3",
7314 "FabricIngress.spgw.load_tunnel_far" : "tbl_act_3",
7315 "FabricIngress.spgw.load_dbuf_far" : "tbl_act_3"
Robert MacDavidde12b982020-07-15 18:38:59 -07007316 },
7317 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007318 "action_id" : 43,
Robert MacDavidde12b982020-07-15 18:38:59 -07007319 "action_const" : true,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007320 "action_data" : ["0x1", "0x0"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007321 "action_entry_const" : true
7322 }
7323 },
7324 {
7325 "name" : "tbl_act_3",
Robert MacDavidde12b982020-07-15 18:38:59 -07007326 "id" : 10,
7327 "source_info" : {
7328 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03007329 "line" : 283,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007330 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07007331 "source_fragment" : "="
7332 },
7333 "key" : [],
7334 "match_type" : "exact",
7335 "type" : "simple",
7336 "max_size" : 1024,
7337 "with_counters" : false,
7338 "support_timeout" : false,
7339 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007340 "action_ids" : [50],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007341 "actions" : ["act_3"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007342 "base_default_next" : "node_19",
7343 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007344 "act_3" : "node_19"
Robert MacDavidde12b982020-07-15 18:38:59 -07007345 },
7346 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007347 "action_id" : 50,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007348 "action_const" : true,
7349 "action_data" : [],
7350 "action_entry_const" : true
7351 }
7352 },
7353 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007354 "name" : "tbl_act_4",
Robert MacDavidde12b982020-07-15 18:38:59 -07007355 "id" : 11,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007356 "source_info" : {
7357 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007358 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007359 "column" : 36,
7360 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07007361 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007362 "key" : [],
7363 "match_type" : "exact",
7364 "type" : "simple",
7365 "max_size" : 1024,
7366 "with_counters" : false,
7367 "support_timeout" : false,
7368 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007369 "action_ids" : [51],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007370 "actions" : ["act_4"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007371 "base_default_next" : "node_21",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007372 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007373 "act_4" : "node_21"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007374 },
7375 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007376 "action_id" : 51,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007377 "action_const" : true,
7378 "action_data" : [],
7379 "action_entry_const" : true
7380 }
7381 },
7382 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007383 "name" : "tbl_act_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07007384 "id" : 12,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007385 "source_info" : {
7386 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007387 "line" : 127,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007388 "column" : 37,
7389 "source_fragment" : "="
7390 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007391 "key" : [],
7392 "match_type" : "exact",
7393 "type" : "simple",
7394 "max_size" : 1024,
7395 "with_counters" : false,
7396 "support_timeout" : false,
7397 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007398 "action_ids" : [52],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007399 "actions" : ["act_5"],
Daniele Moro5a2de712019-09-24 14:34:07 -07007400 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007401 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007402 "act_5" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007403 },
7404 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007405 "action_id" : 52,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007406 "action_const" : true,
7407 "action_data" : [],
7408 "action_entry_const" : true
7409 }
7410 },
7411 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07007412 "name" : "FabricIngress.filtering.ingress_port_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07007413 "id" : 13,
Daniele Moro7c3a0022019-07-12 13:38:34 -07007414 "source_info" : {
7415 "filename" : "include/control/filtering.p4",
7416 "line" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007417 "column" : 10,
7418 "source_fragment" : "ingress_port_vlan"
7419 },
7420 "key" : [
7421 {
7422 "match_type" : "exact",
7423 "name" : "ig_port",
7424 "target" : ["standard_metadata", "ingress_port"],
7425 "mask" : null
7426 },
7427 {
7428 "match_type" : "exact",
7429 "name" : "vlan_is_valid",
7430 "target" : ["vlan_tag", "$valid$"],
7431 "mask" : null
7432 },
7433 {
7434 "match_type" : "ternary",
7435 "name" : "vlan_id",
7436 "target" : ["vlan_tag", "vlan_id"],
7437 "mask" : null
7438 }
7439 ],
7440 "match_type" : "ternary",
7441 "type" : "simple",
7442 "max_size" : 1024,
7443 "with_counters" : true,
7444 "support_timeout" : false,
7445 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007446 "action_ids" : [9, 10, 11],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007447 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
7448 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
7449 "next_tables" : {
7450 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
7451 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
7452 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
7453 },
7454 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007455 "action_id" : 9,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007456 "action_const" : true,
7457 "action_data" : [],
7458 "action_entry_const" : true
7459 }
7460 },
7461 {
7462 "name" : "FabricIngress.filtering.fwd_classifier",
Robert MacDavidde12b982020-07-15 18:38:59 -07007463 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007464 "source_info" : {
7465 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007466 "line" : 92,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007467 "column" : 10,
7468 "source_fragment" : "fwd_classifier"
7469 },
7470 "key" : [
7471 {
7472 "match_type" : "exact",
7473 "name" : "ig_port",
7474 "target" : ["standard_metadata", "ingress_port"],
7475 "mask" : null
7476 },
7477 {
7478 "match_type" : "ternary",
7479 "name" : "eth_dst",
7480 "target" : ["ethernet", "dst_addr"],
7481 "mask" : null
7482 },
7483 {
Daniele Moro5a2de712019-09-24 14:34:07 -07007484 "match_type" : "ternary",
7485 "name" : "eth_type",
7486 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07007487 "mask" : null
7488 },
7489 {
7490 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07007491 "name" : "ip_eth_type",
7492 "target" : ["scalars", "fabric_metadata_t._ip_eth_type0"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007493 "mask" : null
7494 }
7495 ],
7496 "match_type" : "ternary",
7497 "type" : "simple",
7498 "max_size" : 1024,
7499 "with_counters" : true,
7500 "support_timeout" : false,
7501 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007502 "action_ids" : [12],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007503 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007504 "base_default_next" : "node_25",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007505 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007506 "FabricIngress.filtering.set_forwarding_type" : "node_25"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007507 },
7508 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007509 "action_id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007510 "action_const" : true,
7511 "action_data" : ["0x0"],
7512 "action_entry_const" : true
7513 }
7514 },
7515 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08007516 "name" : "FabricIngress.forwarding.bridging",
Robert MacDavidde12b982020-07-15 18:38:59 -07007517 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007518 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007519 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007520 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007521 "column" : 10,
7522 "source_fragment" : "bridging"
7523 },
7524 "key" : [
7525 {
7526 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007527 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007528 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007529 "mask" : null
7530 },
7531 {
7532 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007533 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007534 "target" : ["ethernet", "dst_addr"],
7535 "mask" : null
7536 }
7537 ],
7538 "match_type" : "ternary",
7539 "type" : "simple",
7540 "max_size" : 1024,
7541 "with_counters" : true,
7542 "support_timeout" : false,
7543 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007544 "action_ids" : [13, 0],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007545 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
7546 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007547 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007548 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
7549 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007550 },
7551 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007552 "action_id" : 0,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007553 "action_const" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007554 "action_data" : [],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007555 "action_entry_const" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007556 }
7557 },
7558 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08007559 "name" : "FabricIngress.forwarding.mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07007560 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007561 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007562 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007563 "line" : 71,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007564 "column" : 10,
7565 "source_fragment" : "mpls"
7566 },
7567 "key" : [
7568 {
7569 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007570 "name" : "mpls_label",
Daniele Moro5a2de712019-09-24 14:34:07 -07007571 "target" : ["scalars", "fabric_metadata_t._mpls_label4"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007572 "mask" : null
7573 }
7574 ],
7575 "match_type" : "exact",
7576 "type" : "simple",
7577 "max_size" : 1024,
7578 "with_counters" : true,
7579 "support_timeout" : false,
7580 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007581 "action_ids" : [14, 1],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007582 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
7583 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007584 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007585 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
7586 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007587 },
7588 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007589 "action_id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007590 "action_const" : true,
7591 "action_data" : [],
7592 "action_entry_const" : true
7593 }
7594 },
7595 {
Charles Chan384aea22018-08-23 22:08:02 -07007596 "name" : "FabricIngress.forwarding.routing_v4",
Robert MacDavidde12b982020-07-15 18:38:59 -07007597 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007598 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007599 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07007600 "line" : 108,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007601 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -07007602 "source_fragment" : "routing_v4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007603 },
7604 "key" : [
7605 {
7606 "match_type" : "lpm",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007607 "name" : "ipv4_dst",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007608 "target" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007609 "mask" : null
7610 }
7611 ],
7612 "match_type" : "lpm",
7613 "type" : "simple",
7614 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07007615 "with_counters" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007616 "support_timeout" : false,
7617 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007618 "action_ids" : [15, 16, 2],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007619 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
7620 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007621 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007622 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
7623 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
7624 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007625 },
7626 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007627 "action_id" : 2,
CyberHasHe9ba39c2019-10-11 05:59:12 +08007628 "action_const" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007629 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08007630 "action_entry_const" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007631 }
7632 },
7633 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007634 "name" : "FabricIngress.acl.acl",
Robert MacDavidde12b982020-07-15 18:38:59 -07007635 "id" : 18,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007636 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007637 "filename" : "include/control/acl.p4",
7638 "line" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007639 "column" : 10,
7640 "source_fragment" : "acl"
7641 },
7642 "key" : [
7643 {
7644 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007645 "name" : "ig_port",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007646 "target" : ["standard_metadata", "ingress_port"],
7647 "mask" : null
7648 },
7649 {
7650 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007651 "name" : "ip_proto",
Daniele Moro5a2de712019-09-24 14:34:07 -07007652 "target" : ["scalars", "fabric_metadata_t._ip_proto12"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007653 "mask" : null
7654 },
7655 {
7656 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007657 "name" : "l4_sport",
Daniele Moro5a2de712019-09-24 14:34:07 -07007658 "target" : ["scalars", "fabric_metadata_t._l4_sport13"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007659 "mask" : null
7660 },
7661 {
7662 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007663 "name" : "l4_dport",
Daniele Moro5a2de712019-09-24 14:34:07 -07007664 "target" : ["scalars", "fabric_metadata_t._l4_dport14"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007665 "mask" : null
7666 },
7667 {
7668 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007669 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007670 "target" : ["ethernet", "dst_addr"],
7671 "mask" : null
7672 },
7673 {
7674 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08007675 "name" : "eth_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007676 "target" : ["ethernet", "src_addr"],
7677 "mask" : null
7678 },
7679 {
7680 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007681 "name" : "vlan_id",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007682 "target" : ["vlan_tag", "vlan_id"],
7683 "mask" : null
7684 },
7685 {
7686 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007687 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07007688 "target" : ["eth_type", "value"],
Yi Tseng8235a1a2018-07-24 20:57:28 +08007689 "mask" : null
7690 },
7691 {
7692 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007693 "name" : "ipv4_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007694 "target" : ["ipv4", "src_addr"],
7695 "mask" : null
7696 },
7697 {
7698 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007699 "name" : "ipv4_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007700 "target" : ["ipv4", "dst_addr"],
7701 "mask" : null
7702 },
7703 {
7704 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007705 "name" : "icmp_type",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007706 "target" : ["icmp", "icmp_type"],
7707 "mask" : null
7708 },
7709 {
7710 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007711 "name" : "icmp_code",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007712 "target" : ["icmp", "icmp_code"],
7713 "mask" : null
7714 }
7715 ],
7716 "match_type" : "ternary",
7717 "type" : "simple",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007718 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007719 "with_counters" : true,
7720 "support_timeout" : false,
7721 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007722 "action_ids" : [17, 18, 19, 20, 21],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007723 "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007724 "base_default_next" : "node_33",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007725 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007726 "FabricIngress.acl.set_next_id_acl" : "node_33",
7727 "FabricIngress.acl.punt_to_cpu" : "node_33",
7728 "FabricIngress.acl.set_clone_session_id" : "node_33",
7729 "FabricIngress.acl.drop" : "node_33",
7730 "FabricIngress.acl.nop_acl" : "node_33"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007731 },
7732 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007733 "action_id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007734 "action_const" : true,
7735 "action_data" : [],
7736 "action_entry_const" : true
7737 }
7738 },
7739 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007740 "name" : "FabricIngress.next.xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07007741 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007742 "source_info" : {
7743 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007744 "line" : 119,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007745 "column" : 10,
7746 "source_fragment" : "xconnect"
7747 },
7748 "key" : [
7749 {
7750 "match_type" : "exact",
7751 "name" : "ig_port",
7752 "target" : ["standard_metadata", "ingress_port"],
7753 "mask" : null
7754 },
7755 {
7756 "match_type" : "exact",
7757 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007758 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007759 "mask" : null
7760 }
7761 ],
7762 "match_type" : "exact",
7763 "type" : "simple",
7764 "max_size" : 1024,
7765 "with_counters" : true,
7766 "support_timeout" : false,
7767 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007768 "action_ids" : [23, 24, 4],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007769 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
7770 "base_default_next" : "FabricIngress.next.hashed",
7771 "next_tables" : {
7772 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
7773 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
7774 "nop" : "FabricIngress.next.hashed"
7775 },
7776 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007777 "action_id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007778 "action_const" : true,
7779 "action_data" : [],
7780 "action_entry_const" : true
7781 }
7782 },
7783 {
7784 "name" : "FabricIngress.next.hashed",
Robert MacDavidde12b982020-07-15 18:38:59 -07007785 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007786 "source_info" : {
7787 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007788 "line" : 202,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007789 "column" : 10,
7790 "source_fragment" : "hashed"
7791 },
7792 "key" : [
7793 {
7794 "match_type" : "exact",
7795 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007796 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007797 "mask" : null
7798 }
7799 ],
7800 "match_type" : "exact",
7801 "type" : "indirect_ws",
7802 "action_profile" : "FabricIngress.next.hashed_selector",
7803 "max_size" : 1024,
7804 "with_counters" : true,
7805 "support_timeout" : false,
7806 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007807 "action_ids" : [25, 26, 27, 5],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007808 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
7809 "base_default_next" : "FabricIngress.next.multicast",
7810 "next_tables" : {
7811 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
7812 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
7813 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
7814 "nop" : "FabricIngress.next.multicast"
7815 }
7816 },
7817 {
7818 "name" : "FabricIngress.next.multicast",
Robert MacDavidde12b982020-07-15 18:38:59 -07007819 "id" : 21,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007820 "source_info" : {
7821 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007822 "line" : 236,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007823 "column" : 10,
7824 "source_fragment" : "multicast"
7825 },
7826 "key" : [
7827 {
7828 "match_type" : "exact",
7829 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007830 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007831 "mask" : null
7832 }
7833 ],
7834 "match_type" : "exact",
7835 "type" : "simple",
7836 "max_size" : 1024,
7837 "with_counters" : true,
7838 "support_timeout" : false,
7839 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007840 "action_ids" : [28, 6],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007841 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
7842 "base_default_next" : "FabricIngress.next.next_vlan",
7843 "next_tables" : {
7844 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
7845 "nop" : "FabricIngress.next.next_vlan"
7846 },
7847 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007848 "action_id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007849 "action_const" : true,
7850 "action_data" : [],
7851 "action_entry_const" : true
7852 }
7853 },
7854 {
7855 "name" : "FabricIngress.next.next_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07007856 "id" : 22,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007857 "source_info" : {
7858 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007859 "line" : 86,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007860 "column" : 10,
7861 "source_fragment" : "next_vlan"
7862 },
7863 "key" : [
7864 {
7865 "match_type" : "exact",
7866 "name" : "next_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07007867 "target" : ["scalars", "fabric_metadata_t._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007868 "mask" : null
7869 }
7870 ],
7871 "match_type" : "exact",
7872 "type" : "simple",
7873 "max_size" : 1024,
7874 "with_counters" : true,
7875 "support_timeout" : false,
7876 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007877 "action_ids" : [22, 3],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007878 "actions" : ["FabricIngress.next.set_vlan", "nop"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007879 "base_default_next" : "node_38",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007880 "next_tables" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007881 "FabricIngress.next.set_vlan" : "node_38",
7882 "nop" : "node_38"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007883 },
7884 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007885 "action_id" : 3,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007886 "action_const" : true,
7887 "action_data" : [],
7888 "action_entry_const" : true
7889 }
7890 },
7891 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007892 "name" : "tbl_act_6",
Robert MacDavidde12b982020-07-15 18:38:59 -07007893 "id" : 23,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007894 "source_info" : {
7895 "filename" : "include/control/port_counter.p4",
7896 "line" : 31,
7897 "column" : 12,
7898 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
7899 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02007900 "key" : [],
7901 "match_type" : "exact",
7902 "type" : "simple",
7903 "max_size" : 1024,
7904 "with_counters" : false,
7905 "support_timeout" : false,
7906 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007907 "action_ids" : [53],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007908 "actions" : ["act_6"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007909 "base_default_next" : "node_40",
Carmelo Casconea5400af2018-07-17 22:11:54 +02007910 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007911 "act_6" : "node_40"
Carmelo Casconea5400af2018-07-17 22:11:54 +02007912 },
7913 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007914 "action_id" : 53,
Carmelo Casconea5400af2018-07-17 22:11:54 +02007915 "action_const" : true,
7916 "action_data" : [],
7917 "action_entry_const" : true
7918 }
7919 },
7920 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007921 "name" : "tbl_act_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07007922 "id" : 24,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007923 "source_info" : {
7924 "filename" : "include/control/port_counter.p4",
7925 "line" : 34,
7926 "column" : 12,
7927 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
7928 },
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007929 "key" : [],
7930 "match_type" : "exact",
7931 "type" : "simple",
7932 "max_size" : 1024,
7933 "with_counters" : false,
7934 "support_timeout" : false,
7935 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007936 "action_ids" : [54],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007937 "actions" : ["act_7"],
Carmelo Casconea5400af2018-07-17 22:11:54 +02007938 "base_default_next" : null,
Yi Tseng27b9bc02018-04-12 14:52:40 +08007939 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007940 "act_7" : null
Carmelo Casconea5400af2018-07-17 22:11:54 +02007941 },
7942 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007943 "action_id" : 54,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07007944 "action_const" : true,
7945 "action_data" : [],
7946 "action_entry_const" : true
7947 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007948 }
7949 ],
7950 "action_profiles" : [
7951 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007952 "name" : "FabricIngress.next.hashed_selector",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007953 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07007954 "source_info" : {
7955 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007956 "line" : 183,
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007957 "column" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007958 "source_fragment" : "hashed_selector"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07007959 },
Carmelo Cascone70e816b2019-03-19 16:15:47 -07007960 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007961 "selector" : {
7962 "algo" : "crc16",
7963 "input" : [
7964 {
7965 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007966 "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr15"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007967 },
7968 {
7969 "type" : "field",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007970 "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007971 },
7972 {
7973 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007974 "value" : ["scalars", "fabric_metadata_t._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007975 },
7976 {
7977 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007978 "value" : ["scalars", "fabric_metadata_t._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007979 },
7980 {
7981 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007982 "value" : ["scalars", "fabric_metadata_t._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007983 }
7984 ]
7985 }
7986 }
7987 ],
7988 "conditionals" : [
7989 {
Robert MacDavidde12b982020-07-15 18:38:59 -07007990 "name" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007991 "id" : 0,
7992 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007993 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007994 "line" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007995 "column" : 12,
7996 "source_fragment" : "hdr.packet_out.isValid()"
7997 },
7998 "expression" : {
7999 "type" : "expression",
8000 "value" : {
8001 "op" : "d2b",
8002 "left" : null,
8003 "right" : {
8004 "type" : "field",
8005 "value" : ["packet_out", "$valid$"]
8006 }
8007 }
8008 },
Robert MacDavidde12b982020-07-15 18:38:59 -07008009 "true_next" : "tbl_act",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008010 "false_next" : "FabricIngress.spgw.interfaces"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008011 },
8012 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008013 "name" : "node_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07008014 "id" : 1,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008015 "expression" : {
8016 "type" : "expression",
8017 "value" : {
8018 "op" : "d2b",
8019 "left" : null,
8020 "right" : {
8021 "type" : "field",
8022 "value" : ["scalars", "spgw_tmp"]
8023 }
8024 }
8025 },
8026 "true_next" : "node_8",
8027 "false_next" : "node_19"
8028 },
8029 {
8030 "name" : "node_8",
8031 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07008032 "source_info" : {
8033 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03008034 "line" : 256,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008035 "column" : 16,
8036 "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
Robert MacDavidde12b982020-07-15 18:38:59 -07008037 },
8038 "expression" : {
8039 "type" : "expression",
8040 "value" : {
8041 "op" : "==",
8042 "left" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008043 "type" : "field",
8044 "value" : ["scalars", "fabric_metadata_t._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008045 },
8046 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008047 "type" : "hexstr",
8048 "value" : "0x03"
Robert MacDavidde12b982020-07-15 18:38:59 -07008049 }
8050 }
8051 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008052 "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
8053 "false_next" : "node_10"
Robert MacDavidde12b982020-07-15 18:38:59 -07008054 },
8055 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008056 "name" : "node_10",
Robert MacDavidde12b982020-07-15 18:38:59 -07008057 "id" : 3,
8058 "source_info" : {
8059 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03008060 "line" : 260,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008061 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07008062 "source_fragment" : "hdr.gtpu.isValid()"
8063 },
8064 "expression" : {
8065 "type" : "expression",
8066 "value" : {
8067 "op" : "d2b",
8068 "left" : null,
8069 "right" : {
8070 "type" : "field",
8071 "value" : ["gtpu", "$valid$"]
8072 }
8073 }
8074 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008075 "true_next" : "FabricIngress.spgw.uplink_pdrs",
8076 "false_next" : "FabricIngress.spgw.downlink_pdrs"
Robert MacDavidde12b982020-07-15 18:38:59 -07008077 },
8078 {
8079 "name" : "node_13",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008080 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008081 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008082 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03008083 "line" : 265,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008084 "column" : 16,
8085 "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
8086 },
8087 "expression" : {
8088 "type" : "expression",
8089 "value" : {
8090 "op" : "!=",
8091 "left" : {
8092 "type" : "field",
8093 "value" : ["scalars", "fabric_metadata_t._spgw_src_iface26"]
8094 },
8095 "right" : {
8096 "type" : "hexstr",
8097 "value" : "0x03"
8098 }
8099 }
8100 },
8101 "true_next" : "tbl_act_2",
8102 "false_next" : "node_15"
8103 },
8104 {
8105 "name" : "node_15",
8106 "id" : 5,
8107 "source_info" : {
8108 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03008109 "line" : 270,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008110 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07008111 "source_fragment" : "fabric_md.spgw.needs_gtpu_decap == true"
8112 },
8113 "expression" : {
8114 "type" : "expression",
8115 "value" : {
8116 "op" : "==",
8117 "left" : {
8118 "type" : "expression",
8119 "value" : {
8120 "op" : "d2b",
8121 "left" : null,
8122 "right" : {
8123 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008124 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008125 }
8126 }
8127 },
8128 "right" : {
8129 "type" : "bool",
8130 "value" : true
8131 }
8132 }
8133 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008134 "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
8135 "false_next" : "FabricIngress.spgw.fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07008136 },
8137 {
8138 "name" : "node_19",
8139 "id" : 6,
8140 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008141 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008142 "line" : 110,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008143 "column" : 12,
8144 "source_fragment" : "hdr.vlan_tag.isValid()"
8145 },
8146 "expression" : {
8147 "type" : "expression",
8148 "value" : {
8149 "op" : "d2b",
8150 "left" : null,
8151 "right" : {
8152 "type" : "field",
8153 "value" : ["vlan_tag", "$valid$"]
8154 }
8155 }
8156 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008157 "true_next" : "tbl_act_4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008158 "false_next" : "node_21"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008159 },
8160 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008161 "name" : "node_21",
8162 "id" : 7,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008163 "source_info" : {
8164 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008165 "line" : 122,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008166 "column" : 12,
8167 "source_fragment" : "!hdr.mpls.isValid()"
8168 },
8169 "expression" : {
8170 "type" : "expression",
8171 "value" : {
8172 "op" : "not",
8173 "left" : null,
8174 "right" : {
8175 "type" : "expression",
8176 "value" : {
8177 "op" : "d2b",
8178 "left" : null,
8179 "right" : {
8180 "type" : "field",
8181 "value" : ["mpls", "$valid$"]
8182 }
8183 }
8184 }
8185 }
8186 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008187 "true_next" : "tbl_act_5",
Daniele Moro5a2de712019-09-24 14:34:07 -07008188 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008189 },
8190 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008191 "name" : "node_25",
Daniele Moro5a2de712019-09-24 14:34:07 -07008192 "id" : 8,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008193 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008194 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008195 "line" : 69,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008196 "column" : 12,
8197 "source_fragment" : "fabric_metadata.skip_forwarding == false"
8198 },
8199 "expression" : {
8200 "type" : "expression",
8201 "value" : {
8202 "op" : "==",
8203 "left" : {
8204 "type" : "expression",
8205 "value" : {
8206 "op" : "d2b",
8207 "left" : null,
8208 "right" : {
8209 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008210 "value" : ["scalars", "fabric_metadata_t._skip_forwarding6"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008211 }
8212 }
8213 },
8214 "right" : {
8215 "type" : "bool",
8216 "value" : false
8217 }
8218 }
8219 },
Robert MacDavidde12b982020-07-15 18:38:59 -07008220 "true_next" : "node_26",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008221 "false_next" : "FabricIngress.acl.acl"
8222 },
8223 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008224 "name" : "node_26",
8225 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008226 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008227 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008228 "line" : 150,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008229 "column" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008230 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
8231 },
8232 "expression" : {
8233 "type" : "expression",
8234 "value" : {
8235 "op" : "==",
8236 "left" : {
8237 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008238 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008239 },
8240 "right" : {
8241 "type" : "hexstr",
8242 "value" : "0x00"
8243 }
8244 }
8245 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08008246 "true_next" : "FabricIngress.forwarding.bridging",
Robert MacDavidde12b982020-07-15 18:38:59 -07008247 "false_next" : "node_28"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008248 },
8249 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008250 "name" : "node_28",
8251 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008252 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008253 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008254 "line" : 151,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008255 "column" : 17,
8256 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
8257 },
8258 "expression" : {
8259 "type" : "expression",
8260 "value" : {
8261 "op" : "==",
8262 "left" : {
8263 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008264 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008265 },
8266 "right" : {
8267 "type" : "hexstr",
8268 "value" : "0x01"
8269 }
8270 }
8271 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08008272 "true_next" : "FabricIngress.forwarding.mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07008273 "false_next" : "node_30"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008274 },
8275 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008276 "name" : "node_30",
8277 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008278 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008279 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008280 "line" : 152,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008281 "column" : 17,
8282 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
8283 },
8284 "expression" : {
8285 "type" : "expression",
8286 "value" : {
8287 "op" : "==",
8288 "left" : {
8289 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008290 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008291 },
8292 "right" : {
8293 "type" : "hexstr",
8294 "value" : "0x02"
8295 }
8296 }
8297 },
Charles Chan384aea22018-08-23 22:08:02 -07008298 "true_next" : "FabricIngress.forwarding.routing_v4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008299 "false_next" : "FabricIngress.acl.acl"
8300 },
8301 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008302 "name" : "node_33",
8303 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008304 "source_info" : {
8305 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008306 "line" : 73,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008307 "column" : 12,
8308 "source_fragment" : "fabric_metadata.skip_next == false"
8309 },
8310 "expression" : {
8311 "type" : "expression",
8312 "value" : {
8313 "op" : "==",
8314 "left" : {
8315 "type" : "expression",
8316 "value" : {
8317 "op" : "d2b",
8318 "left" : null,
8319 "right" : {
8320 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008321 "value" : ["scalars", "fabric_metadata_t._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008322 }
8323 }
8324 },
8325 "right" : {
8326 "type" : "bool",
8327 "value" : false
8328 }
8329 }
8330 },
8331 "false_next" : null,
8332 "true_next" : "FabricIngress.next.xconnect"
Yi Tseng27b9bc02018-04-12 14:52:40 +08008333 },
8334 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008335 "name" : "node_38",
8336 "id" : 13,
Yi Tseng27b9bc02018-04-12 14:52:40 +08008337 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008338 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008339 "line" : 30,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008340 "column" : 12,
8341 "source_fragment" : "standard_metadata.egress_spec < 511"
8342 },
8343 "expression" : {
8344 "type" : "expression",
8345 "value" : {
8346 "op" : "<",
8347 "left" : {
8348 "type" : "field",
8349 "value" : ["standard_metadata", "egress_spec"]
8350 },
8351 "right" : {
8352 "type" : "hexstr",
8353 "value" : "0x01ff"
8354 }
8355 }
8356 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008357 "true_next" : "tbl_act_6",
Robert MacDavidde12b982020-07-15 18:38:59 -07008358 "false_next" : "node_40"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008359 },
8360 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008361 "name" : "node_40",
8362 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008363 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008364 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008365 "line" : 33,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008366 "column" : 12,
8367 "source_fragment" : "standard_metadata.ingress_port < 511"
8368 },
8369 "expression" : {
8370 "type" : "expression",
8371 "value" : {
8372 "op" : "<",
8373 "left" : {
8374 "type" : "field",
8375 "value" : ["standard_metadata", "ingress_port"]
8376 },
8377 "right" : {
8378 "type" : "hexstr",
8379 "value" : "0x01ff"
8380 }
8381 }
8382 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008383 "false_next" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008384 "true_next" : "tbl_act_7"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008385 }
8386 ]
8387 },
8388 {
8389 "name" : "egress",
8390 "id" : 1,
8391 "source_info" : {
8392 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008393 "line" : 91,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008394 "column" : 8,
8395 "source_fragment" : "FabricEgress"
8396 },
Robert MacDavidde12b982020-07-15 18:38:59 -07008397 "init_table" : "node_44",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008398 "tables" : [
8399 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008400 "name" : "tbl_act_8",
Robert MacDavidde12b982020-07-15 18:38:59 -07008401 "id" : 25,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008402 "source_info" : {
8403 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008404 "line" : 41,
8405 "column" : 12,
8406 "source_fragment" : "exit"
Carmelo Cascone3032b872019-04-13 01:23:54 -07008407 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02008408 "key" : [],
8409 "match_type" : "exact",
8410 "type" : "simple",
8411 "max_size" : 1024,
8412 "with_counters" : false,
8413 "support_timeout" : false,
8414 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008415 "action_ids" : [61],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008416 "actions" : ["act_8"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008417 "base_default_next" : "node_46",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008418 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008419 "act_8" : "node_46"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008420 },
8421 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008422 "action_id" : 61,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008423 "action_const" : true,
8424 "action_data" : [],
8425 "action_entry_const" : true
8426 }
8427 },
8428 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008429 "name" : "tbl_act_9",
Robert MacDavidde12b982020-07-15 18:38:59 -07008430 "id" : 26,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008431 "source_info" : {
8432 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008433 "line" : 44,
8434 "column" : 12,
8435 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07008436 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008437 "key" : [],
8438 "match_type" : "exact",
8439 "type" : "simple",
8440 "max_size" : 1024,
8441 "with_counters" : false,
8442 "support_timeout" : false,
8443 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008444 "action_ids" : [62],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008445 "actions" : ["act_9"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008446 "base_default_next" : "node_48",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008447 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008448 "act_9" : "node_48"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008449 },
8450 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008451 "action_id" : 62,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008452 "action_const" : true,
8453 "action_data" : [],
8454 "action_entry_const" : true
8455 }
8456 },
8457 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008458 "name" : "tbl_act_10",
Robert MacDavidde12b982020-07-15 18:38:59 -07008459 "id" : 27,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008460 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008461 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008462 "line" : 349,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008463 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008464 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone3032b872019-04-13 01:23:54 -07008465 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008466 "key" : [],
8467 "match_type" : "exact",
8468 "type" : "simple",
8469 "max_size" : 1024,
8470 "with_counters" : false,
8471 "support_timeout" : false,
8472 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008473 "action_ids" : [63],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008474 "actions" : ["act_10"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008475 "base_default_next" : "node_50",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008476 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008477 "act_10" : "node_50"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008478 },
8479 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008480 "action_id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008481 "action_const" : true,
8482 "action_data" : [],
8483 "action_entry_const" : true
8484 }
8485 },
8486 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008487 "name" : "tbl_egress_next_pop_mpls_if_present",
Robert MacDavidde12b982020-07-15 18:38:59 -07008488 "id" : 28,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008489 "source_info" : {
8490 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008491 "line" : 353,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008492 "column" : 36,
8493 "source_fragment" : "pop_mpls_if_present()"
8494 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008495 "key" : [],
8496 "match_type" : "exact",
8497 "type" : "simple",
8498 "max_size" : 1024,
8499 "with_counters" : false,
8500 "support_timeout" : false,
8501 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008502 "action_ids" : [55],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008503 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
8504 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
8505 "next_tables" : {
8506 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
8507 },
8508 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008509 "action_id" : 55,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008510 "action_const" : true,
8511 "action_data" : [],
8512 "action_entry_const" : true
8513 }
8514 },
8515 {
8516 "name" : "tbl_egress_next_set_mpls",
Robert MacDavidde12b982020-07-15 18:38:59 -07008517 "id" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008518 "source_info" : {
8519 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008520 "line" : 355,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008521 "column" : 12,
8522 "source_fragment" : "set_mpls()"
8523 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008524 "key" : [],
8525 "match_type" : "exact",
8526 "type" : "simple",
8527 "max_size" : 1024,
8528 "with_counters" : false,
8529 "support_timeout" : false,
8530 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008531 "action_ids" : [56],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008532 "actions" : ["FabricEgress.egress_next.set_mpls"],
8533 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
8534 "next_tables" : {
8535 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
8536 },
8537 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008538 "action_id" : 56,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008539 "action_const" : true,
8540 "action_data" : [],
8541 "action_entry_const" : true
8542 }
8543 },
8544 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008545 "name" : "FabricEgress.egress_next.egress_vlan",
Robert MacDavidde12b982020-07-15 18:38:59 -07008546 "id" : 30,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008547 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008548 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008549 "line" : 331,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008550 "column" : 10,
8551 "source_fragment" : "egress_vlan"
8552 },
8553 "key" : [
8554 {
8555 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008556 "name" : "vlan_id",
Daniele Moro5a2de712019-09-24 14:34:07 -07008557 "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008558 "mask" : null
8559 },
8560 {
8561 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008562 "name" : "eg_port",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008563 "target" : ["standard_metadata", "egress_port"],
8564 "mask" : null
8565 }
8566 ],
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08008567 "match_type" : "exact",
8568 "type" : "simple",
8569 "max_size" : 1024,
Yi Tseng47eac892018-07-11 02:17:04 +08008570 "with_counters" : true,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08008571 "support_timeout" : false,
8572 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008573 "action_ids" : [57, 58, 59],
pierventre48e78822020-12-15 17:34:54 +01008574 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
8575 "base_default_next" : "node_55",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08008576 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008577 "FabricEgress.egress_next.push_vlan" : "node_55",
8578 "FabricEgress.egress_next.pop_vlan" : "node_55",
8579 "FabricEgress.egress_next.drop" : "node_55"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008580 },
8581 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008582 "action_id" : 59,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008583 "action_const" : true,
8584 "action_data" : [],
8585 "action_entry_const" : true
8586 }
8587 },
8588 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008589 "name" : "tbl_act_11",
Robert MacDavidde12b982020-07-15 18:38:59 -07008590 "id" : 31,
pierventre48e78822020-12-15 17:34:54 +01008591 "source_info" : {
8592 "filename" : "include/control/next.p4",
8593 "line" : 375,
8594 "column" : 25,
8595 "source_fragment" : "="
Daniele Moro7c3a0022019-07-12 13:38:34 -07008596 },
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008597 "key" : [],
8598 "match_type" : "exact",
8599 "type" : "simple",
8600 "max_size" : 1024,
8601 "with_counters" : false,
8602 "support_timeout" : false,
8603 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008604 "action_ids" : [65],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008605 "actions" : ["act_12"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008606 "base_default_next" : "node_57",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008607 "next_tables" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008608 "act_12" : "node_57"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008609 },
8610 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008611 "action_id" : 65,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008612 "action_const" : true,
8613 "action_data" : [],
8614 "action_entry_const" : true
8615 }
8616 },
8617 {
pierventre48e78822020-12-15 17:34:54 +01008618 "name" : "tbl_act_12",
8619 "id" : 32,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008620 "source_info" : {
8621 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008622 "line" : 376,
8623 "column" : 35,
8624 "source_fragment" : "mark_to_drop(standard_metadata)"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008625 },
8626 "key" : [],
8627 "match_type" : "exact",
8628 "type" : "simple",
8629 "max_size" : 1024,
8630 "with_counters" : false,
8631 "support_timeout" : false,
8632 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008633 "action_ids" : [64],
pierventre48e78822020-12-15 17:34:54 +01008634 "actions" : ["act_11"],
8635 "base_default_next" : "node_63",
Daniele Moro7c3a0022019-07-12 13:38:34 -07008636 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008637 "act_11" : "node_63"
Daniele Moro7c3a0022019-07-12 13:38:34 -07008638 },
8639 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008640 "action_id" : 64,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008641 "action_const" : true,
8642 "action_data" : [],
8643 "action_entry_const" : true
8644 }
8645 },
8646 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008647 "name" : "tbl_act_13",
pierventre48e78822020-12-15 17:34:54 +01008648 "id" : 33,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008649 "source_info" : {
8650 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008651 "line" : 379,
8652 "column" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008653 "source_fragment" : "="
8654 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008655 "key" : [],
8656 "match_type" : "exact",
8657 "type" : "simple",
8658 "max_size" : 1024,
8659 "with_counters" : false,
8660 "support_timeout" : false,
8661 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008662 "action_ids" : [67],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008663 "actions" : ["act_14"],
pierventre48e78822020-12-15 17:34:54 +01008664 "base_default_next" : "node_61",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008665 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008666 "act_14" : "node_61"
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008667 },
8668 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008669 "action_id" : 67,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008670 "action_const" : true,
8671 "action_data" : [],
8672 "action_entry_const" : true
8673 }
8674 },
8675 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008676 "name" : "tbl_act_14",
pierventre48e78822020-12-15 17:34:54 +01008677 "id" : 34,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008678 "source_info" : {
8679 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008680 "line" : 380,
8681 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07008682 "source_fragment" : "mark_to_drop(standard_metadata)"
8683 },
8684 "key" : [],
8685 "match_type" : "exact",
8686 "type" : "simple",
8687 "max_size" : 1024,
8688 "with_counters" : false,
8689 "support_timeout" : false,
8690 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008691 "action_ids" : [66],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008692 "actions" : ["act_13"],
pierventre48e78822020-12-15 17:34:54 +01008693 "base_default_next" : "node_63",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008694 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008695 "act_13" : "node_63"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008696 },
8697 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008698 "action_id" : 66,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008699 "action_const" : true,
8700 "action_data" : [],
8701 "action_entry_const" : true
8702 }
8703 },
8704 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008705 "name" : "tbl_spgw_gtpu_encap",
pierventre48e78822020-12-15 17:34:54 +01008706 "id" : 35,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008707 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008708 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03008709 "line" : 340,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008710 "column" : 16,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008711 "source_fragment" : "gtpu_encap()"
8712 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008713 "key" : [],
8714 "match_type" : "exact",
8715 "type" : "simple",
8716 "max_size" : 1024,
8717 "with_counters" : false,
8718 "support_timeout" : false,
8719 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008720 "action_ids" : [60],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008721 "actions" : ["FabricEgress.spgw.gtpu_encap"],
pierventre48e78822020-12-15 17:34:54 +01008722 "base_default_next" : "node_66",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008723 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008724 "FabricEgress.spgw.gtpu_encap" : "node_66"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008725 },
8726 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008727 "action_id" : 60,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008728 "action_const" : true,
8729 "action_data" : [],
8730 "action_entry_const" : true
8731 }
8732 },
8733 {
pierventre48e78822020-12-15 17:34:54 +01008734 "name" : "tbl_act_15",
8735 "id" : 36,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008736 "source_info" : {
8737 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03008738 "line" : 343,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008739 "column" : 16,
8740 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
8741 },
8742 "key" : [],
8743 "match_type" : "exact",
8744 "type" : "simple",
8745 "max_size" : 1024,
8746 "with_counters" : false,
8747 "support_timeout" : false,
8748 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008749 "action_ids" : [68],
pierventre48e78822020-12-15 17:34:54 +01008750 "actions" : ["act_15"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008751 "base_default_next" : null,
8752 "next_tables" : {
pierventre48e78822020-12-15 17:34:54 +01008753 "act_15" : null
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008754 },
8755 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008756 "action_id" : 68,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008757 "action_const" : true,
8758 "action_data" : [],
8759 "action_entry_const" : true
8760 }
8761 }
8762 ],
8763 "action_profiles" : [],
8764 "conditionals" : [
8765 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008766 "name" : "node_44",
8767 "id" : 15,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008768 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008769 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008770 "line" : 39,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008771 "column" : 12,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008772 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
Carmelo Casconea5400af2018-07-17 22:11:54 +02008773 },
8774 "expression" : {
8775 "type" : "expression",
8776 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008777 "op" : "==",
Carmelo Casconea5400af2018-07-17 22:11:54 +02008778 "left" : {
8779 "type" : "expression",
8780 "value" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008781 "op" : "d2b",
8782 "left" : null,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008783 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008784 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008785 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out11"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02008786 }
8787 }
8788 },
8789 "right" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008790 "type" : "bool",
8791 "value" : true
Carmelo Casconea5400af2018-07-17 22:11:54 +02008792 }
8793 }
8794 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008795 "true_next" : "tbl_act_8",
Robert MacDavidde12b982020-07-15 18:38:59 -07008796 "false_next" : "node_46"
Carmelo Casconea5400af2018-07-17 22:11:54 +02008797 },
8798 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008799 "name" : "node_46",
8800 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008801 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008802 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008803 "line" : 43,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008804 "column" : 12,
Carmelo Casconeb531b682018-01-30 17:55:56 -08008805 "source_fragment" : "standard_metadata.egress_port == 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008806 },
8807 "expression" : {
8808 "type" : "expression",
8809 "value" : {
8810 "op" : "==",
8811 "left" : {
8812 "type" : "field",
8813 "value" : ["standard_metadata", "egress_port"]
8814 },
8815 "right" : {
8816 "type" : "hexstr",
8817 "value" : "0x00ff"
8818 }
8819 }
8820 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008821 "true_next" : "tbl_act_9",
Robert MacDavidde12b982020-07-15 18:38:59 -07008822 "false_next" : "node_48"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008823 },
8824 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008825 "name" : "node_48",
8826 "id" : 17,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008827 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008828 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008829 "line" : 347,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008830 "column" : 12,
8831 "source_fragment" : "fabric_metadata.is_multicast == true ..."
8832 },
8833 "expression" : {
8834 "type" : "expression",
8835 "value" : {
8836 "op" : "and",
8837 "left" : {
8838 "type" : "expression",
8839 "value" : {
8840 "op" : "==",
8841 "left" : {
8842 "type" : "expression",
8843 "value" : {
8844 "op" : "d2b",
8845 "left" : null,
8846 "right" : {
8847 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008848 "value" : ["scalars", "fabric_metadata_t._is_multicast10"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008849 }
8850 }
8851 },
8852 "right" : {
8853 "type" : "bool",
8854 "value" : true
8855 }
8856 }
8857 },
8858 "right" : {
8859 "type" : "expression",
8860 "value" : {
8861 "op" : "==",
8862 "left" : {
8863 "type" : "field",
8864 "value" : ["standard_metadata", "ingress_port"]
8865 },
8866 "right" : {
8867 "type" : "field",
8868 "value" : ["standard_metadata", "egress_port"]
8869 }
8870 }
8871 }
8872 }
8873 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008874 "true_next" : "tbl_act_10",
Robert MacDavidde12b982020-07-15 18:38:59 -07008875 "false_next" : "node_50"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008876 },
8877 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008878 "name" : "node_50",
8879 "id" : 18,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008880 "source_info" : {
8881 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008882 "line" : 352,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008883 "column" : 12,
8884 "source_fragment" : "fabric_metadata.mpls_label == 0"
8885 },
8886 "expression" : {
8887 "type" : "expression",
8888 "value" : {
8889 "op" : "==",
8890 "left" : {
8891 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07008892 "value" : ["scalars", "fabric_metadata_t._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008893 },
8894 "right" : {
8895 "type" : "hexstr",
8896 "value" : "0x000000"
8897 }
8898 }
8899 },
Robert MacDavidde12b982020-07-15 18:38:59 -07008900 "true_next" : "node_51",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008901 "false_next" : "tbl_egress_next_set_mpls"
8902 },
8903 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008904 "name" : "node_51",
8905 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008906 "source_info" : {
8907 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008908 "line" : 353,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008909 "column" : 16,
8910 "source_fragment" : "hdr.mpls.isValid()"
8911 },
8912 "expression" : {
8913 "type" : "expression",
8914 "value" : {
8915 "op" : "d2b",
8916 "left" : null,
8917 "right" : {
8918 "type" : "field",
8919 "value" : ["mpls", "$valid$"]
8920 }
8921 }
8922 },
8923 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07008924 "false_next" : "FabricEgress.egress_next.egress_vlan"
8925 },
8926 {
pierventre48e78822020-12-15 17:34:54 +01008927 "name" : "node_55",
Robert MacDavidde12b982020-07-15 18:38:59 -07008928 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008929 "source_info" : {
8930 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008931 "line" : 374,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008932 "column" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008933 "source_fragment" : "hdr.mpls.isValid()"
8934 },
8935 "expression" : {
8936 "type" : "expression",
8937 "value" : {
8938 "op" : "d2b",
8939 "left" : null,
8940 "right" : {
8941 "type" : "field",
8942 "value" : ["mpls", "$valid$"]
8943 }
8944 }
8945 },
pierventre48e78822020-12-15 17:34:54 +01008946 "true_next" : "tbl_act_11",
8947 "false_next" : "node_59"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008948 },
8949 {
pierventre48e78822020-12-15 17:34:54 +01008950 "name" : "node_57",
8951 "id" : 21,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008952 "source_info" : {
8953 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008954 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008955 "column" : 16,
8956 "source_fragment" : "hdr.mpls.ttl == 0"
8957 },
8958 "expression" : {
8959 "type" : "expression",
8960 "value" : {
8961 "op" : "==",
8962 "left" : {
8963 "type" : "field",
8964 "value" : ["mpls", "ttl"]
8965 },
8966 "right" : {
8967 "type" : "hexstr",
8968 "value" : "0x00"
8969 }
8970 }
8971 },
pierventre48e78822020-12-15 17:34:54 +01008972 "true_next" : "tbl_act_12",
8973 "false_next" : "node_63"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008974 },
8975 {
pierventre48e78822020-12-15 17:34:54 +01008976 "name" : "node_59",
8977 "id" : 22,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008978 "source_info" : {
8979 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01008980 "line" : 378,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008981 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07008982 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008983 },
8984 "expression" : {
8985 "type" : "expression",
8986 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07008987 "op" : "and",
8988 "left" : {
8989 "type" : "expression",
8990 "value" : {
8991 "op" : "d2b",
8992 "left" : null,
8993 "right" : {
8994 "type" : "field",
8995 "value" : ["ipv4", "$valid$"]
8996 }
8997 }
8998 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008999 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07009000 "type" : "expression",
9001 "value" : {
9002 "op" : "!=",
9003 "left" : {
9004 "type" : "field",
9005 "value" : ["scalars", "fabric_metadata_t._fwd_type8"]
9006 },
9007 "right" : {
9008 "type" : "hexstr",
9009 "value" : "0x00"
9010 }
9011 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009012 }
9013 }
9014 },
pierventre48e78822020-12-15 17:34:54 +01009015 "true_next" : "tbl_act_13",
9016 "false_next" : "node_63"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009017 },
9018 {
pierventre48e78822020-12-15 17:34:54 +01009019 "name" : "node_61",
9020 "id" : 23,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009021 "source_info" : {
9022 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009023 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009024 "column" : 20,
9025 "source_fragment" : "hdr.ipv4.ttl == 0"
9026 },
9027 "expression" : {
9028 "type" : "expression",
9029 "value" : {
9030 "op" : "==",
9031 "left" : {
9032 "type" : "field",
9033 "value" : ["ipv4", "ttl"]
9034 },
9035 "right" : {
9036 "type" : "hexstr",
9037 "value" : "0x00"
9038 }
9039 }
9040 },
pierventre48e78822020-12-15 17:34:54 +01009041 "true_next" : "tbl_act_14",
9042 "false_next" : "node_63"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009043 },
9044 {
pierventre48e78822020-12-15 17:34:54 +01009045 "name" : "node_63",
9046 "id" : 24,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009047 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009048 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03009049 "line" : 338,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009050 "column" : 12,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009051 "source_fragment" : "fabric_md.spgw.skip_spgw == false"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009052 },
9053 "expression" : {
9054 "type" : "expression",
9055 "value" : {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07009056 "op" : "==",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009057 "left" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009058 "type" : "expression",
9059 "value" : {
9060 "op" : "d2b",
9061 "left" : null,
9062 "right" : {
9063 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009064 "value" : ["scalars", "fabric_metadata_t._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009065 }
9066 }
9067 },
9068 "right" : {
9069 "type" : "bool",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009070 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07009071 }
9072 }
9073 },
9074 "false_next" : null,
pierventre48e78822020-12-15 17:34:54 +01009075 "true_next" : "node_64"
Robert MacDavidde12b982020-07-15 18:38:59 -07009076 },
9077 {
pierventre48e78822020-12-15 17:34:54 +01009078 "name" : "node_64",
9079 "id" : 25,
Robert MacDavidde12b982020-07-15 18:38:59 -07009080 "source_info" : {
9081 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03009082 "line" : 339,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009083 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07009084 "source_fragment" : "fabric_md.spgw.needs_gtpu_encap == true"
9085 },
9086 "expression" : {
9087 "type" : "expression",
9088 "value" : {
9089 "op" : "==",
9090 "left" : {
9091 "type" : "expression",
9092 "value" : {
9093 "op" : "d2b",
9094 "left" : null,
9095 "right" : {
9096 "type" : "field",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009097 "value" : ["scalars", "fabric_metadata_t._spgw_needs_gtpu_encap29"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009098 }
9099 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009100 },
9101 "right" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009102 "type" : "bool",
9103 "value" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009104 }
9105 }
9106 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009107 "true_next" : "tbl_spgw_gtpu_encap",
pierventre48e78822020-12-15 17:34:54 +01009108 "false_next" : "node_66"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009109 },
9110 {
pierventre48e78822020-12-15 17:34:54 +01009111 "name" : "node_66",
9112 "id" : 26,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009113 "source_info" : {
9114 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03009115 "line" : 342,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009116 "column" : 16,
9117 "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr == false"
9118 },
9119 "expression" : {
9120 "type" : "expression",
9121 "value" : {
9122 "op" : "==",
9123 "left" : {
9124 "type" : "expression",
9125 "value" : {
9126 "op" : "d2b",
9127 "left" : null,
9128 "right" : {
9129 "type" : "field",
9130 "value" : ["scalars", "fabric_metadata_t._spgw_skip_egress_pdr_ctr31"]
9131 }
9132 }
9133 },
9134 "right" : {
9135 "type" : "bool",
9136 "value" : false
9137 }
9138 }
9139 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009140 "false_next" : null,
pierventre48e78822020-12-15 17:34:54 +01009141 "true_next" : "tbl_act_15"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009142 }
9143 ]
9144 }
9145 ],
9146 "checksums" : [
9147 {
9148 "name" : "cksum",
9149 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009150 "source_info" : {
9151 "filename" : "include/checksum.p4",
9152 "line" : 28,
9153 "column" : 8,
9154 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
9155 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009156 "target" : ["ipv4", "hdr_checksum"],
9157 "type" : "generic",
9158 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009159 "verify" : false,
9160 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009161 "if_cond" : {
9162 "type" : "expression",
9163 "value" : {
9164 "op" : "d2b",
9165 "left" : null,
9166 "right" : {
9167 "type" : "field",
9168 "value" : ["ipv4", "$valid$"]
9169 }
9170 }
9171 }
9172 },
9173 {
9174 "name" : "cksum_0",
9175 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009176 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009177 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03009178 "line" : 359,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009179 "column" : 8,
9180 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
9181 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009182 "target" : ["gtpu_ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009183 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009184 "calculation" : "calc_0",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009185 "verify" : false,
9186 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009187 "if_cond" : {
9188 "type" : "expression",
9189 "value" : {
9190 "op" : "d2b",
9191 "left" : null,
9192 "right" : {
9193 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009194 "value" : ["gtpu_ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009195 }
9196 }
9197 }
9198 },
9199 {
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009200 "name" : "cksum_1",
9201 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009202 "source_info" : {
9203 "filename" : "include/checksum.p4",
9204 "line" : 57,
9205 "column" : 8,
9206 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
9207 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009208 "target" : ["ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009209 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009210 "calculation" : "calc_1",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009211 "verify" : true,
9212 "update" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009213 "if_cond" : {
9214 "type" : "expression",
9215 "value" : {
9216 "op" : "d2b",
9217 "left" : null,
9218 "right" : {
9219 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009220 "value" : ["ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009221 }
9222 }
9223 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009224 }
9225 ],
9226 "force_arith" : [],
9227 "extern_instances" : [],
9228 "field_aliases" : [
9229 [
9230 "queueing_metadata.enq_timestamp",
9231 ["standard_metadata", "enq_timestamp"]
9232 ],
9233 [
9234 "queueing_metadata.enq_qdepth",
9235 ["standard_metadata", "enq_qdepth"]
9236 ],
9237 [
9238 "queueing_metadata.deq_timedelta",
9239 ["standard_metadata", "deq_timedelta"]
9240 ],
9241 [
9242 "queueing_metadata.deq_qdepth",
9243 ["standard_metadata", "deq_qdepth"]
9244 ],
9245 [
9246 "intrinsic_metadata.ingress_global_timestamp",
9247 ["standard_metadata", "ingress_global_timestamp"]
9248 ],
9249 [
Yi Tseng27b9bc02018-04-12 14:52:40 +08009250 "intrinsic_metadata.egress_global_timestamp",
9251 ["standard_metadata", "egress_global_timestamp"]
9252 ],
9253 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009254 "intrinsic_metadata.lf_field_list",
9255 ["standard_metadata", "lf_field_list"]
9256 ],
9257 [
9258 "intrinsic_metadata.mcast_grp",
9259 ["standard_metadata", "mcast_grp"]
9260 ],
9261 [
9262 "intrinsic_metadata.resubmit_flag",
9263 ["standard_metadata", "resubmit_flag"]
9264 ],
9265 [
9266 "intrinsic_metadata.egress_rid",
9267 ["standard_metadata", "egress_rid"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08009268 ],
9269 [
9270 "intrinsic_metadata.recirculate_flag",
9271 ["standard_metadata", "recirculate_flag"]
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009272 ],
9273 [
9274 "intrinsic_metadata.priority",
9275 ["standard_metadata", "priority"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009276 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009277 ],
9278 "program" : "fabric.p4",
9279 "__meta__" : {
9280 "version" : [2, 18],
9281 "compiler" : "https://github.com/p4lang/p4c"
9282 }
Carmelo Cascone25243d62019-02-21 15:37:31 -08009283}