blob: 0e331611ffc6ae3bff3a35f39eeb9506af0cf06a [file] [log] [blame]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001{
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007 ["tmp_0", 1, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07008 ["tmp_2", 3, false],
9 ["tmp_4", 8, false],
Robert MacDavidde12b982020-07-15 18:38:59 -070010 ["tmp_1", 16, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020011 ["tmp_3", 16, false],
12 ["tmp_5", 4, false],
13 ["tmp_6", 16, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070014 ["tmp_7", 64, false],
15 ["tmp_8", 32, false],
16 ["tmp_9", 32, false],
Wailok Shum4f51bde2021-06-11 22:48:41 +080017 ["acl_ipv4_src", 32, false],
18 ["acl_ipv4_dst", 32, false],
19 ["acl_ip_proto", 8, false],
20 ["acl_l4_sport", 16, false],
21 ["acl_l4_dport", 16, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020022 ["userMetadata._ip_eth_type0", 16, false],
23 ["userMetadata._vlan_id1", 12, false],
24 ["userMetadata._vlan_pri2", 3, false],
25 ["userMetadata._vlan_cfi3", 1, false],
26 ["userMetadata._mpls_label4", 20, false],
27 ["userMetadata._mpls_ttl5", 8, false],
28 ["userMetadata._skip_forwarding6", 1, false],
29 ["userMetadata._skip_next7", 1, false],
30 ["userMetadata._fwd_type8", 3, false],
31 ["userMetadata._next_id9", 32, false],
32 ["userMetadata._is_multicast10", 1, false],
33 ["userMetadata._is_controller_packet_out11", 1, false],
34 ["userMetadata._ip_proto12", 8, false],
35 ["userMetadata._l4_sport13", 16, false],
36 ["userMetadata._l4_dport14", 16, false],
37 ["userMetadata._ipv4_src_addr15", 32, false],
38 ["userMetadata._ipv4_dst_addr16", 32, false],
39 ["userMetadata._inner_l4_sport17", 16, false],
40 ["userMetadata._inner_l4_dport18", 16, false],
41 ["userMetadata._spgw_ipv4_len19", 16, false],
42 ["userMetadata._spgw_teid20", 32, false],
43 ["userMetadata._spgw_tunnel_src_port21", 16, false],
44 ["userMetadata._spgw_tunnel_src_addr22", 32, false],
45 ["userMetadata._spgw_tunnel_dst_addr23", 32, false],
46 ["userMetadata._spgw_ctr_id24", 32, false],
47 ["userMetadata._spgw_far_id25", 32, false],
48 ["userMetadata._spgw_src_iface26", 8, false],
49 ["userMetadata._spgw_skip_spgw27", 1, false],
50 ["userMetadata._spgw_notify_spgwc28", 1, false],
51 ["userMetadata._spgw_needs_gtpu_encap29", 1, false],
52 ["userMetadata._spgw_needs_gtpu_decap30", 1, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070053 ["userMetadata._spgw_skip_egress_pdr_ctr31", 1, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080054 ]
55 },
56 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020057 "name" : "packet_out_header_t",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080058 "id" : 1,
59 "fields" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +020060 ["egress_port", 9, false],
61 ["do_forwarding", 1, false],
62 ["_pad", 6, false]
63 ]
64 },
65 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070066 "name" : "gtpu_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020067 "id" : 2,
68 "fields" : [
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070069 ["version", 3, false],
70 ["pt", 1, false],
71 ["spare", 1, false],
72 ["ex_flag", 1, false],
73 ["seq_flag", 1, false],
74 ["npdu_flag", 1, false],
75 ["msgtype", 8, false],
76 ["msglen", 16, false],
77 ["teid", 32, false]
78 ]
79 },
80 {
81 "name" : "standard_metadata",
82 "id" : 3,
83 "fields" : [
Carmelo Cascone6af4e172018-06-15 16:01:30 +020084 ["ingress_port", 9, false],
85 ["egress_spec", 9, false],
86 ["egress_port", 9, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020087 ["instance_type", 32, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020088 ["packet_length", 32, false],
89 ["enq_timestamp", 32, false],
90 ["enq_qdepth", 19, false],
91 ["deq_timedelta", 32, false],
92 ["deq_qdepth", 19, false],
93 ["ingress_global_timestamp", 48, false],
94 ["egress_global_timestamp", 48, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020095 ["mcast_grp", 16, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020096 ["egress_rid", 16, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070097 ["checksum_error", 1, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070098 ["parser_error", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070099 ["priority", 3, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200100 ["_padding", 3, false]
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200101 ]
102 },
103 {
104 "name" : "ethernet_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700105 "id" : 4,
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200106 "fields" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800107 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700108 ["src_addr", 48, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800109 ]
110 },
111 {
112 "name" : "vlan_tag_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700113 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800114 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -0700115 ["eth_type", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800116 ["pri", 3, false],
117 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700118 ["vlan_id", 12, false]
119 ]
120 },
121 {
122 "name" : "eth_type_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700123 "id" : 6,
Daniele Moro5a2de712019-09-24 14:34:07 -0700124 "fields" : [
125 ["value", 16, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800126 ]
127 },
128 {
129 "name" : "mpls_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700130 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800131 "fields" : [
132 ["label", 20, false],
133 ["tc", 3, false],
134 ["bos", 1, false],
135 ["ttl", 8, false]
136 ]
137 },
138 {
139 "name" : "ipv4_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700140 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800141 "fields" : [
142 ["version", 4, false],
143 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900144 ["dscp", 6, false],
145 ["ecn", 2, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800146 ["total_len", 16, false],
147 ["identification", 16, false],
148 ["flags", 3, false],
149 ["frag_offset", 13, false],
150 ["ttl", 8, false],
151 ["protocol", 8, false],
152 ["hdr_checksum", 16, false],
153 ["src_addr", 32, false],
154 ["dst_addr", 32, false]
155 ]
156 },
157 {
158 "name" : "udp_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700159 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800160 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800161 ["sport", 16, false],
162 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800163 ["len", 16, false],
164 ["checksum", 16, false]
165 ]
166 },
167 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800168 "name" : "tcp_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200169 "id" : 10,
Yi Tseng27b9bc02018-04-12 14:52:40 +0800170 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800171 ["sport", 16, false],
172 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800173 ["seq_no", 32, false],
174 ["ack_no", 32, false],
175 ["data_offset", 4, false],
176 ["res", 3, false],
177 ["ecn", 3, false],
178 ["ctrl", 6, false],
179 ["window", 16, false],
180 ["checksum", 16, false],
181 ["urgent_ptr", 16, false]
182 ]
183 },
184 {
185 "name" : "icmp_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200186 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800187 "fields" : [
188 ["icmp_type", 8, false],
189 ["icmp_code", 8, false],
190 ["checksum", 16, false],
191 ["identifier", 16, false],
192 ["sequence_number", 16, false],
193 ["timestamp", 64, false]
194 ]
195 },
196 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800197 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700198 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800199 "fields" : [
200 ["ingress_port", 9, false],
201 ["_pad", 7, false]
202 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800203 }
204 ],
205 "headers" : [
206 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200207 "name" : "tmp",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800208 "id" : 0,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200209 "header_type" : "packet_out_header_t",
210 "metadata" : false,
211 "pi_omit" : true
212 },
213 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700214 "name" : "gtpu_0",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200215 "id" : 1,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700216 "header_type" : "gtpu_t",
217 "metadata" : false,
218 "pi_omit" : true
219 },
220 {
221 "name" : "scalars",
222 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800223 "header_type" : "scalars_0",
224 "metadata" : true,
225 "pi_omit" : true
226 },
227 {
228 "name" : "standard_metadata",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700229 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800230 "header_type" : "standard_metadata",
231 "metadata" : true,
232 "pi_omit" : true
233 },
234 {
235 "name" : "ethernet",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700236 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800237 "header_type" : "ethernet_t",
238 "metadata" : false,
239 "pi_omit" : true
240 },
241 {
242 "name" : "vlan_tag",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800243 "id" : 5,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200244 "header_type" : "vlan_tag_t",
245 "metadata" : false,
246 "pi_omit" : true
247 },
248 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700249 "name" : "inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200250 "id" : 6,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700251 "header_type" : "vlan_tag_t",
252 "metadata" : false,
253 "pi_omit" : true
254 },
255 {
256 "name" : "eth_type",
257 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700258 "header_type" : "eth_type_t",
259 "metadata" : false,
260 "pi_omit" : true
261 },
262 {
263 "name" : "mpls",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700264 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800265 "header_type" : "mpls_t",
266 "metadata" : false,
267 "pi_omit" : true
268 },
269 {
270 "name" : "gtpu_ipv4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700271 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800272 "header_type" : "ipv4_t",
273 "metadata" : false,
274 "pi_omit" : true
275 },
276 {
277 "name" : "gtpu_udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700278 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800279 "header_type" : "udp_t",
280 "metadata" : false,
281 "pi_omit" : true
282 },
283 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700284 "name" : "outer_gtpu",
Robert MacDavidde12b982020-07-15 18:38:59 -0700285 "id" : 11,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200286 "header_type" : "gtpu_t",
287 "metadata" : false,
288 "pi_omit" : true
289 },
290 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700291 "name" : "gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200292 "id" : 12,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700293 "header_type" : "gtpu_t",
294 "metadata" : false,
295 "pi_omit" : true
296 },
297 {
298 "name" : "inner_ipv4",
299 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800300 "header_type" : "ipv4_t",
301 "metadata" : false,
302 "pi_omit" : true
303 },
304 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700305 "name" : "inner_udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700306 "id" : 14,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700307 "header_type" : "udp_t",
308 "metadata" : false,
309 "pi_omit" : true
310 },
311 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700312 "name" : "inner_tcp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700313 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800314 "header_type" : "tcp_t",
315 "metadata" : false,
316 "pi_omit" : true
317 },
318 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700319 "name" : "inner_icmp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700320 "id" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -0700321 "header_type" : "icmp_t",
322 "metadata" : false,
323 "pi_omit" : true
324 },
325 {
326 "name" : "ipv4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700327 "id" : 17,
Robert MacDavidde12b982020-07-15 18:38:59 -0700328 "header_type" : "ipv4_t",
329 "metadata" : false,
330 "pi_omit" : true
331 },
332 {
333 "name" : "tcp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700334 "id" : 18,
Robert MacDavidde12b982020-07-15 18:38:59 -0700335 "header_type" : "tcp_t",
336 "metadata" : false,
337 "pi_omit" : true
338 },
339 {
340 "name" : "udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700341 "id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800342 "header_type" : "udp_t",
343 "metadata" : false,
344 "pi_omit" : true
345 },
346 {
347 "name" : "icmp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700348 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800349 "header_type" : "icmp_t",
350 "metadata" : false,
351 "pi_omit" : true
352 },
353 {
354 "name" : "packet_out",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700355 "id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800356 "header_type" : "packet_out_header_t",
357 "metadata" : false,
358 "pi_omit" : true
359 },
360 {
361 "name" : "packet_in",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700362 "id" : 22,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800363 "header_type" : "packet_in_header_t",
364 "metadata" : false,
365 "pi_omit" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800366 }
367 ],
368 "header_stacks" : [],
369 "header_union_types" : [],
370 "header_unions" : [],
371 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700372 "field_lists" : [
373 {
374 "id" : 1,
375 "name" : "fl",
376 "source_info" : {
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700377 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +0800378 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700379 "column" : 40,
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700380 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700381 },
382 "elements" : [
383 {
384 "type" : "field",
385 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700386 }
387 ]
388 }
389 ],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700390 "errors" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700391 ["NoError", 1],
392 ["PacketTooShort", 2],
393 ["NoMatch", 3],
394 ["StackOutOfBounds", 4],
395 ["HeaderTooShort", 5],
396 ["ParserTimeout", 6],
397 ["ParserInvalidArgument", 7]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700398 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800399 "enums" : [],
400 "parsers" : [
401 {
402 "name" : "parser",
403 "id" : 0,
404 "init_state" : "start",
405 "parse_states" : [
406 {
407 "name" : "start",
408 "id" : 0,
409 "parser_ops" : [],
410 "transitions" : [
411 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800412 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800413 "value" : "0x00ff",
414 "mask" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200415 "next_state" : "check_packet_out"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800416 },
417 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200418 "type" : "default",
419 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800420 "mask" : null,
421 "next_state" : "parse_ethernet"
422 }
423 ],
424 "transition_key" : [
425 {
426 "type" : "field",
427 "value" : ["standard_metadata", "ingress_port"]
428 }
429 ]
430 },
431 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200432 "name" : "check_packet_out",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800433 "id" : 1,
434 "parser_ops" : [
435 {
436 "parameters" : [
437 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200438 "type" : "field",
439 "value" : ["scalars", "tmp_6"]
440 },
441 {
442 "type" : "lookahead",
443 "value" : [0, 16]
444 }
445 ],
446 "op" : "set"
447 },
448 {
449 "parameters" : [
450 {
451 "parameters" : [
452 {
453 "type" : "header",
454 "value" : "tmp"
455 }
456 ],
457 "op" : "add_header"
458 }
459 ],
460 "op" : "primitive"
461 },
462 {
463 "parameters" : [
464 {
465 "type" : "field",
466 "value" : ["tmp", "egress_port"]
467 },
468 {
469 "type" : "expression",
470 "value" : {
471 "type" : "expression",
472 "value" : {
473 "op" : "&",
474 "left" : {
475 "type" : "expression",
476 "value" : {
477 "op" : "&",
478 "left" : {
479 "type" : "expression",
480 "value" : {
481 "op" : ">>",
482 "left" : {
483 "type" : "field",
484 "value" : ["scalars", "tmp_6"]
485 },
486 "right" : {
487 "type" : "hexstr",
488 "value" : "0x7"
489 }
490 }
491 },
492 "right" : {
493 "type" : "hexstr",
494 "value" : "0xffff"
495 }
496 }
497 },
498 "right" : {
499 "type" : "hexstr",
500 "value" : "0x01ff"
501 }
502 }
503 }
504 }
505 ],
506 "op" : "set"
507 },
508 {
509 "parameters" : [
510 {
511 "type" : "field",
512 "value" : ["tmp", "do_forwarding"]
513 },
514 {
515 "type" : "expression",
516 "value" : {
517 "type" : "expression",
518 "value" : {
519 "op" : "&",
520 "left" : {
521 "type" : "expression",
522 "value" : {
523 "op" : "&",
524 "left" : {
525 "type" : "expression",
526 "value" : {
527 "op" : ">>",
528 "left" : {
529 "type" : "field",
530 "value" : ["scalars", "tmp_6"]
531 },
532 "right" : {
533 "type" : "hexstr",
534 "value" : "0x6"
535 }
536 }
537 },
538 "right" : {
539 "type" : "hexstr",
540 "value" : "0xffff"
541 }
542 }
543 },
544 "right" : {
545 "type" : "hexstr",
546 "value" : "0x01"
547 }
548 }
549 }
550 }
551 ],
552 "op" : "set"
553 },
554 {
555 "parameters" : [
556 {
557 "type" : "field",
558 "value" : ["tmp", "_pad"]
559 },
560 {
561 "type" : "expression",
562 "value" : {
563 "type" : "expression",
564 "value" : {
565 "op" : "&",
566 "left" : {
567 "type" : "field",
568 "value" : ["scalars", "tmp_6"]
569 },
570 "right" : {
571 "type" : "hexstr",
572 "value" : "0x3f"
573 }
574 }
575 }
576 }
577 ],
578 "op" : "set"
579 },
580 {
581 "parameters" : [
582 {
583 "type" : "field",
584 "value" : ["scalars", "tmp_0"]
585 },
586 {
587 "type" : "expression",
588 "value" : {
589 "type" : "expression",
590 "value" : {
591 "op" : "&",
592 "left" : {
593 "type" : "expression",
594 "value" : {
595 "op" : "&",
596 "left" : {
597 "type" : "expression",
598 "value" : {
599 "op" : ">>",
600 "left" : {
601 "type" : "field",
602 "value" : ["scalars", "tmp_6"]
603 },
604 "right" : {
605 "type" : "hexstr",
606 "value" : "0x6"
607 }
608 }
609 },
610 "right" : {
611 "type" : "hexstr",
612 "value" : "0xffff"
613 }
614 }
615 },
616 "right" : {
617 "type" : "hexstr",
618 "value" : "0x01"
619 }
620 }
621 }
622 }
623 ],
624 "op" : "set"
625 }
626 ],
627 "transitions" : [
628 {
629 "type" : "hexstr",
630 "value" : "0x00",
631 "mask" : null,
632 "next_state" : "parse_packet_out_and_accept"
633 },
634 {
635 "type" : "default",
636 "value" : null,
637 "mask" : null,
638 "next_state" : "strip_packet_out"
639 }
640 ],
641 "transition_key" : [
642 {
643 "type" : "field",
644 "value" : ["scalars", "tmp_0"]
645 }
646 ]
647 },
648 {
649 "name" : "parse_packet_out_and_accept",
650 "id" : 2,
651 "parser_ops" : [
652 {
653 "parameters" : [
654 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800655 "type" : "regular",
656 "value" : "packet_out"
657 }
658 ],
659 "op" : "extract"
660 }
661 ],
662 "transitions" : [
663 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200664 "type" : "default",
665 "value" : null,
666 "mask" : null,
667 "next_state" : null
668 }
669 ],
670 "transition_key" : []
671 },
672 {
673 "name" : "strip_packet_out",
674 "id" : 3,
675 "parser_ops" : [
676 {
677 "parameters" : [
678 {
679 "type" : "hexstr",
680 "value" : "0x00000010"
681 }
682 ],
683 "op" : "advance"
684 }
685 ],
686 "transitions" : [
687 {
688 "type" : "default",
689 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800690 "mask" : null,
691 "next_state" : "parse_ethernet"
692 }
693 ],
694 "transition_key" : []
695 },
696 {
697 "name" : "parse_ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200698 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800699 "parser_ops" : [
700 {
701 "parameters" : [
702 {
703 "type" : "regular",
704 "value" : "ethernet"
705 }
706 ],
707 "op" : "extract"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800708 },
709 {
710 "parameters" : [
711 {
712 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200713 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800714 },
715 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700716 "type" : "hexstr",
717 "value" : "0x0ffe"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800718 }
719 ],
720 "op" : "set"
721 },
722 {
723 "parameters" : [
724 {
725 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200726 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800727 },
728 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700729 "type" : "lookahead",
730 "value" : [0, 16]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800731 }
732 ],
733 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800734 }
735 ],
736 "transitions" : [
737 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800738 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700739 "value" : "0x88a8",
740 "mask" : null,
741 "next_state" : "parse_vlan_tag"
742 },
743 {
744 "type" : "hexstr",
745 "value" : "0x9100",
746 "mask" : null,
747 "next_state" : "parse_vlan_tag"
748 },
749 {
750 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800751 "value" : "0x8100",
752 "mask" : null,
753 "next_state" : "parse_vlan_tag"
754 },
755 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200756 "type" : "default",
757 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800758 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700759 "next_state" : "parse_eth_type"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800760 }
761 ],
762 "transition_key" : [
763 {
764 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200765 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800766 }
767 ]
768 },
769 {
770 "name" : "parse_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200771 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800772 "parser_ops" : [
773 {
774 "parameters" : [
775 {
776 "type" : "regular",
777 "value" : "vlan_tag"
778 }
779 ],
780 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700781 },
782 {
783 "parameters" : [
784 {
785 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200786 "value" : ["scalars", "tmp_3"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700787 },
788 {
789 "type" : "lookahead",
790 "value" : [0, 16]
791 }
792 ],
793 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800794 }
795 ],
796 "transitions" : [
797 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800798 "type" : "hexstr",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800799 "value" : "0x8100",
800 "mask" : null,
801 "next_state" : "parse_inner_vlan_tag"
802 },
803 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200804 "type" : "default",
805 "value" : null,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800806 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700807 "next_state" : "parse_eth_type"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800808 }
809 ],
810 "transition_key" : [
811 {
812 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200813 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800814 }
815 ]
816 },
817 {
818 "name" : "parse_inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200819 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800820 "parser_ops" : [
821 {
822 "parameters" : [
823 {
824 "type" : "regular",
825 "value" : "inner_vlan_tag"
826 }
827 ],
828 "op" : "extract"
829 }
830 ],
831 "transitions" : [
832 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200833 "type" : "default",
834 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800835 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700836 "next_state" : "parse_eth_type"
837 }
838 ],
839 "transition_key" : []
840 },
841 {
842 "name" : "parse_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200843 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700844 "parser_ops" : [
845 {
846 "parameters" : [
847 {
848 "type" : "regular",
849 "value" : "eth_type"
850 }
851 ],
852 "op" : "extract"
853 }
854 ],
855 "transitions" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800856 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800857 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800858 "value" : "0x8847",
859 "mask" : null,
860 "next_state" : "parse_mpls"
861 },
862 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700863 "type" : "hexstr",
864 "value" : "0x0800",
865 "mask" : null,
866 "next_state" : "parse_ipv4"
867 },
868 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200869 "type" : "default",
870 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800871 "mask" : null,
872 "next_state" : null
873 }
874 ],
875 "transition_key" : [
876 {
877 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700878 "value" : ["eth_type", "value"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800879 }
880 ]
881 },
882 {
883 "name" : "parse_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200884 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800885 "parser_ops" : [
886 {
887 "parameters" : [
888 {
889 "type" : "regular",
890 "value" : "mpls"
891 }
892 ],
893 "op" : "extract"
894 },
895 {
896 "parameters" : [
897 {
898 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200899 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800900 },
901 {
902 "type" : "field",
903 "value" : ["mpls", "label"]
904 }
905 ],
906 "op" : "set"
907 },
908 {
909 "parameters" : [
910 {
911 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200912 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800913 },
914 {
915 "type" : "field",
916 "value" : ["mpls", "ttl"]
917 }
918 ],
919 "op" : "set"
920 },
921 {
922 "parameters" : [
923 {
924 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200925 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800926 },
927 {
928 "type" : "lookahead",
929 "value" : [0, 4]
930 }
931 ],
932 "op" : "set"
933 }
934 ],
935 "transitions" : [
936 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800937 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800938 "value" : "0x04",
939 "mask" : null,
940 "next_state" : "parse_ipv4"
941 },
942 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200943 "type" : "default",
944 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800945 "mask" : null,
946 "next_state" : "parse_ethernet"
947 }
948 ],
949 "transition_key" : [
950 {
951 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200952 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800953 }
954 ]
955 },
956 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700957 "name" : "parse_ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200958 "id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700959 "parser_ops" : [
960 {
961 "parameters" : [
962 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800963 "type" : "regular",
964 "value" : "ipv4"
965 }
966 ],
967 "op" : "extract"
968 },
969 {
970 "parameters" : [
971 {
972 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200973 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800974 },
975 {
976 "type" : "field",
977 "value" : ["ipv4", "protocol"]
978 }
979 ],
980 "op" : "set"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800981 },
982 {
983 "parameters" : [
984 {
985 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200986 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800987 },
988 {
989 "type" : "hexstr",
990 "value" : "0x0800"
991 }
992 ],
993 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400994 },
995 {
996 "parameters" : [
997 {
998 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200999 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001000 },
1001 {
1002 "type" : "field",
1003 "value" : ["ipv4", "src_addr"]
1004 }
1005 ],
1006 "op" : "set"
1007 },
1008 {
1009 "parameters" : [
1010 {
1011 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001012 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001013 },
1014 {
1015 "type" : "field",
1016 "value" : ["ipv4", "dst_addr"]
1017 }
1018 ],
1019 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001020 }
1021 ],
1022 "transitions" : [
1023 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001024 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001025 "value" : "0x06",
1026 "mask" : null,
1027 "next_state" : "parse_tcp"
1028 },
1029 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001030 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001031 "value" : "0x11",
1032 "mask" : null,
1033 "next_state" : "parse_udp"
1034 },
1035 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001036 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001037 "value" : "0x01",
1038 "mask" : null,
1039 "next_state" : "parse_icmp"
1040 },
1041 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001042 "type" : "default",
1043 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001044 "mask" : null,
1045 "next_state" : null
1046 }
1047 ],
1048 "transition_key" : [
1049 {
1050 "type" : "field",
1051 "value" : ["ipv4", "protocol"]
1052 }
1053 ]
1054 },
1055 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001056 "name" : "parse_tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001057 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001058 "parser_ops" : [
1059 {
1060 "parameters" : [
1061 {
1062 "type" : "regular",
1063 "value" : "tcp"
1064 }
1065 ],
1066 "op" : "extract"
1067 },
1068 {
1069 "parameters" : [
1070 {
1071 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001072 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001073 },
1074 {
1075 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001076 "value" : ["tcp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001077 }
1078 ],
1079 "op" : "set"
1080 },
1081 {
1082 "parameters" : [
1083 {
1084 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001085 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001086 },
1087 {
1088 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001089 "value" : ["tcp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001090 }
1091 ],
1092 "op" : "set"
1093 }
1094 ],
1095 "transitions" : [
1096 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001097 "type" : "default",
1098 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001099 "mask" : null,
1100 "next_state" : null
1101 }
1102 ],
1103 "transition_key" : []
1104 },
1105 {
1106 "name" : "parse_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001107 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001108 "parser_ops" : [
1109 {
1110 "parameters" : [
1111 {
1112 "type" : "regular",
1113 "value" : "udp"
1114 }
1115 ],
1116 "op" : "extract"
1117 },
1118 {
1119 "parameters" : [
1120 {
1121 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001122 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001123 },
1124 {
1125 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001126 "value" : ["udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001127 }
1128 ],
1129 "op" : "set"
1130 },
1131 {
1132 "parameters" : [
1133 {
1134 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001135 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001136 },
1137 {
1138 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001139 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001140 }
1141 ],
1142 "op" : "set"
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001143 },
1144 {
1145 "parameters" : [
1146 {
1147 "type" : "field",
1148 "value" : ["scalars", "tmp_7"]
1149 },
1150 {
1151 "type" : "lookahead",
1152 "value" : [0, 64]
1153 }
1154 ],
1155 "op" : "set"
1156 },
1157 {
1158 "parameters" : [
1159 {
1160 "parameters" : [
1161 {
1162 "type" : "header",
1163 "value" : "gtpu_0"
1164 }
1165 ],
1166 "op" : "add_header"
1167 }
1168 ],
1169 "op" : "primitive"
1170 },
1171 {
1172 "parameters" : [
1173 {
1174 "type" : "field",
1175 "value" : ["gtpu_0", "version"]
1176 },
1177 {
1178 "type" : "expression",
1179 "value" : {
1180 "type" : "expression",
1181 "value" : {
1182 "op" : "&",
1183 "left" : {
1184 "type" : "expression",
1185 "value" : {
1186 "op" : "&",
1187 "left" : {
1188 "type" : "expression",
1189 "value" : {
1190 "op" : ">>",
1191 "left" : {
1192 "type" : "field",
1193 "value" : ["scalars", "tmp_7"]
1194 },
1195 "right" : {
1196 "type" : "hexstr",
1197 "value" : "0x3d"
1198 }
1199 }
1200 },
1201 "right" : {
1202 "type" : "hexstr",
1203 "value" : "0xffffffffffffffff"
1204 }
1205 }
1206 },
1207 "right" : {
1208 "type" : "hexstr",
1209 "value" : "0x07"
1210 }
1211 }
1212 }
1213 }
1214 ],
1215 "op" : "set"
1216 },
1217 {
1218 "parameters" : [
1219 {
1220 "type" : "field",
1221 "value" : ["gtpu_0", "pt"]
1222 },
1223 {
1224 "type" : "expression",
1225 "value" : {
1226 "type" : "expression",
1227 "value" : {
1228 "op" : "&",
1229 "left" : {
1230 "type" : "expression",
1231 "value" : {
1232 "op" : "&",
1233 "left" : {
1234 "type" : "expression",
1235 "value" : {
1236 "op" : ">>",
1237 "left" : {
1238 "type" : "field",
1239 "value" : ["scalars", "tmp_7"]
1240 },
1241 "right" : {
1242 "type" : "hexstr",
1243 "value" : "0x3c"
1244 }
1245 }
1246 },
1247 "right" : {
1248 "type" : "hexstr",
1249 "value" : "0xffffffffffffffff"
1250 }
1251 }
1252 },
1253 "right" : {
1254 "type" : "hexstr",
1255 "value" : "0x01"
1256 }
1257 }
1258 }
1259 }
1260 ],
1261 "op" : "set"
1262 },
1263 {
1264 "parameters" : [
1265 {
1266 "type" : "field",
1267 "value" : ["gtpu_0", "spare"]
1268 },
1269 {
1270 "type" : "expression",
1271 "value" : {
1272 "type" : "expression",
1273 "value" : {
1274 "op" : "&",
1275 "left" : {
1276 "type" : "expression",
1277 "value" : {
1278 "op" : "&",
1279 "left" : {
1280 "type" : "expression",
1281 "value" : {
1282 "op" : ">>",
1283 "left" : {
1284 "type" : "field",
1285 "value" : ["scalars", "tmp_7"]
1286 },
1287 "right" : {
1288 "type" : "hexstr",
1289 "value" : "0x3b"
1290 }
1291 }
1292 },
1293 "right" : {
1294 "type" : "hexstr",
1295 "value" : "0xffffffffffffffff"
1296 }
1297 }
1298 },
1299 "right" : {
1300 "type" : "hexstr",
1301 "value" : "0x01"
1302 }
1303 }
1304 }
1305 }
1306 ],
1307 "op" : "set"
1308 },
1309 {
1310 "parameters" : [
1311 {
1312 "type" : "field",
1313 "value" : ["gtpu_0", "ex_flag"]
1314 },
1315 {
1316 "type" : "expression",
1317 "value" : {
1318 "type" : "expression",
1319 "value" : {
1320 "op" : "&",
1321 "left" : {
1322 "type" : "expression",
1323 "value" : {
1324 "op" : "&",
1325 "left" : {
1326 "type" : "expression",
1327 "value" : {
1328 "op" : ">>",
1329 "left" : {
1330 "type" : "field",
1331 "value" : ["scalars", "tmp_7"]
1332 },
1333 "right" : {
1334 "type" : "hexstr",
1335 "value" : "0x3a"
1336 }
1337 }
1338 },
1339 "right" : {
1340 "type" : "hexstr",
1341 "value" : "0xffffffffffffffff"
1342 }
1343 }
1344 },
1345 "right" : {
1346 "type" : "hexstr",
1347 "value" : "0x01"
1348 }
1349 }
1350 }
1351 }
1352 ],
1353 "op" : "set"
1354 },
1355 {
1356 "parameters" : [
1357 {
1358 "type" : "field",
1359 "value" : ["gtpu_0", "seq_flag"]
1360 },
1361 {
1362 "type" : "expression",
1363 "value" : {
1364 "type" : "expression",
1365 "value" : {
1366 "op" : "&",
1367 "left" : {
1368 "type" : "expression",
1369 "value" : {
1370 "op" : "&",
1371 "left" : {
1372 "type" : "expression",
1373 "value" : {
1374 "op" : ">>",
1375 "left" : {
1376 "type" : "field",
1377 "value" : ["scalars", "tmp_7"]
1378 },
1379 "right" : {
1380 "type" : "hexstr",
1381 "value" : "0x39"
1382 }
1383 }
1384 },
1385 "right" : {
1386 "type" : "hexstr",
1387 "value" : "0xffffffffffffffff"
1388 }
1389 }
1390 },
1391 "right" : {
1392 "type" : "hexstr",
1393 "value" : "0x01"
1394 }
1395 }
1396 }
1397 }
1398 ],
1399 "op" : "set"
1400 },
1401 {
1402 "parameters" : [
1403 {
1404 "type" : "field",
1405 "value" : ["gtpu_0", "npdu_flag"]
1406 },
1407 {
1408 "type" : "expression",
1409 "value" : {
1410 "type" : "expression",
1411 "value" : {
1412 "op" : "&",
1413 "left" : {
1414 "type" : "expression",
1415 "value" : {
1416 "op" : "&",
1417 "left" : {
1418 "type" : "expression",
1419 "value" : {
1420 "op" : ">>",
1421 "left" : {
1422 "type" : "field",
1423 "value" : ["scalars", "tmp_7"]
1424 },
1425 "right" : {
1426 "type" : "hexstr",
1427 "value" : "0x38"
1428 }
1429 }
1430 },
1431 "right" : {
1432 "type" : "hexstr",
1433 "value" : "0xffffffffffffffff"
1434 }
1435 }
1436 },
1437 "right" : {
1438 "type" : "hexstr",
1439 "value" : "0x01"
1440 }
1441 }
1442 }
1443 }
1444 ],
1445 "op" : "set"
1446 },
1447 {
1448 "parameters" : [
1449 {
1450 "type" : "field",
1451 "value" : ["gtpu_0", "msgtype"]
1452 },
1453 {
1454 "type" : "expression",
1455 "value" : {
1456 "type" : "expression",
1457 "value" : {
1458 "op" : "&",
1459 "left" : {
1460 "type" : "expression",
1461 "value" : {
1462 "op" : "&",
1463 "left" : {
1464 "type" : "expression",
1465 "value" : {
1466 "op" : ">>",
1467 "left" : {
1468 "type" : "field",
1469 "value" : ["scalars", "tmp_7"]
1470 },
1471 "right" : {
1472 "type" : "hexstr",
1473 "value" : "0x30"
1474 }
1475 }
1476 },
1477 "right" : {
1478 "type" : "hexstr",
1479 "value" : "0xffffffffffffffff"
1480 }
1481 }
1482 },
1483 "right" : {
1484 "type" : "hexstr",
1485 "value" : "0xff"
1486 }
1487 }
1488 }
1489 }
1490 ],
1491 "op" : "set"
1492 },
1493 {
1494 "parameters" : [
1495 {
1496 "type" : "field",
1497 "value" : ["gtpu_0", "msglen"]
1498 },
1499 {
1500 "type" : "expression",
1501 "value" : {
1502 "type" : "expression",
1503 "value" : {
1504 "op" : "&",
1505 "left" : {
1506 "type" : "expression",
1507 "value" : {
1508 "op" : "&",
1509 "left" : {
1510 "type" : "expression",
1511 "value" : {
1512 "op" : ">>",
1513 "left" : {
1514 "type" : "field",
1515 "value" : ["scalars", "tmp_7"]
1516 },
1517 "right" : {
1518 "type" : "hexstr",
1519 "value" : "0x20"
1520 }
1521 }
1522 },
1523 "right" : {
1524 "type" : "hexstr",
1525 "value" : "0xffffffffffffffff"
1526 }
1527 }
1528 },
1529 "right" : {
1530 "type" : "hexstr",
1531 "value" : "0xffff"
1532 }
1533 }
1534 }
1535 }
1536 ],
1537 "op" : "set"
1538 },
1539 {
1540 "parameters" : [
1541 {
1542 "type" : "field",
1543 "value" : ["gtpu_0", "teid"]
1544 },
1545 {
1546 "type" : "expression",
1547 "value" : {
1548 "type" : "expression",
1549 "value" : {
1550 "op" : "&",
1551 "left" : {
1552 "type" : "field",
1553 "value" : ["scalars", "tmp_7"]
1554 },
1555 "right" : {
1556 "type" : "hexstr",
1557 "value" : "0xffffffff"
1558 }
1559 }
1560 }
1561 }
1562 ],
1563 "op" : "set"
1564 },
1565 {
1566 "parameters" : [
1567 {
1568 "type" : "field",
1569 "value" : ["scalars", "tmp_2"]
1570 },
1571 {
1572 "type" : "expression",
1573 "value" : {
1574 "type" : "expression",
1575 "value" : {
1576 "op" : "&",
1577 "left" : {
1578 "type" : "expression",
1579 "value" : {
1580 "op" : "&",
1581 "left" : {
1582 "type" : "expression",
1583 "value" : {
1584 "op" : ">>",
1585 "left" : {
1586 "type" : "field",
1587 "value" : ["scalars", "tmp_7"]
1588 },
1589 "right" : {
1590 "type" : "hexstr",
1591 "value" : "0x3d"
1592 }
1593 }
1594 },
1595 "right" : {
1596 "type" : "hexstr",
1597 "value" : "0xffffffffffffffff"
1598 }
1599 }
1600 },
1601 "right" : {
1602 "type" : "hexstr",
1603 "value" : "0x07"
1604 }
1605 }
1606 }
1607 }
1608 ],
1609 "op" : "set"
1610 },
1611 {
1612 "parameters" : [
1613 {
1614 "type" : "field",
1615 "value" : ["scalars", "tmp_4"]
1616 },
1617 {
1618 "type" : "expression",
1619 "value" : {
1620 "type" : "expression",
1621 "value" : {
1622 "op" : "&",
1623 "left" : {
1624 "type" : "expression",
1625 "value" : {
1626 "op" : "&",
1627 "left" : {
1628 "type" : "expression",
1629 "value" : {
1630 "op" : ">>",
1631 "left" : {
1632 "type" : "field",
1633 "value" : ["scalars", "tmp_7"]
1634 },
1635 "right" : {
1636 "type" : "hexstr",
1637 "value" : "0x30"
1638 }
1639 }
1640 },
1641 "right" : {
1642 "type" : "hexstr",
1643 "value" : "0xffffffffffffffff"
1644 }
1645 }
1646 },
1647 "right" : {
1648 "type" : "hexstr",
1649 "value" : "0xff"
1650 }
1651 }
1652 }
1653 }
1654 ],
1655 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001656 }
1657 ],
1658 "transitions" : [
1659 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001660 "type" : "hexstr",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001661 "value" : "0x086801ff",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001662 "mask" : null,
1663 "next_state" : "parse_gtpu"
1664 },
1665 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001666 "type" : "default",
1667 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001668 "mask" : null,
1669 "next_state" : null
1670 }
1671 ],
1672 "transition_key" : [
1673 {
1674 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001675 "value" : ["udp", "dport"]
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001676 },
1677 {
1678 "type" : "field",
1679 "value" : ["scalars", "tmp_2"]
1680 },
1681 {
1682 "type" : "field",
1683 "value" : ["scalars", "tmp_4"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001684 }
1685 ]
1686 },
1687 {
1688 "name" : "parse_icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001689 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001690 "parser_ops" : [
1691 {
1692 "parameters" : [
1693 {
1694 "type" : "regular",
1695 "value" : "icmp"
1696 }
1697 ],
1698 "op" : "extract"
1699 }
1700 ],
1701 "transitions" : [
1702 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001703 "type" : "default",
1704 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001705 "mask" : null,
1706 "next_state" : null
1707 }
1708 ],
1709 "transition_key" : []
1710 },
1711 {
1712 "name" : "parse_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001713 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001714 "parser_ops" : [
1715 {
1716 "parameters" : [
1717 {
1718 "type" : "regular",
1719 "value" : "gtpu"
1720 }
1721 ],
1722 "op" : "extract"
1723 },
1724 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001725 "parameters" : [
1726 {
1727 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001728 "value" : "inner_ipv4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001729 }
1730 ],
1731 "op" : "extract"
1732 }
1733 ],
1734 "transitions" : [
1735 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001736 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001737 "value" : "0x06",
1738 "mask" : null,
1739 "next_state" : "parse_tcp"
1740 },
1741 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001742 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001743 "value" : "0x11",
1744 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001745 "next_state" : "parse_inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001746 },
1747 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001748 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001749 "value" : "0x01",
1750 "mask" : null,
1751 "next_state" : "parse_icmp"
1752 },
1753 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001754 "type" : "default",
1755 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001756 "mask" : null,
1757 "next_state" : null
1758 }
1759 ],
1760 "transition_key" : [
1761 {
1762 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001763 "value" : ["inner_ipv4", "protocol"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001764 }
1765 ]
1766 },
1767 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001768 "name" : "parse_inner_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001769 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001770 "parser_ops" : [
1771 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001772 "parameters" : [
1773 {
1774 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001775 "value" : "inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001776 }
1777 ],
1778 "op" : "extract"
1779 },
1780 {
1781 "parameters" : [
1782 {
1783 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001784 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001785 },
1786 {
1787 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001788 "value" : ["inner_udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001789 }
1790 ],
1791 "op" : "set"
1792 },
1793 {
1794 "parameters" : [
1795 {
1796 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001797 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001798 },
1799 {
1800 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001801 "value" : ["inner_udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001802 }
1803 ],
1804 "op" : "set"
1805 }
1806 ],
1807 "transitions" : [
1808 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001809 "type" : "default",
1810 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001811 "mask" : null,
1812 "next_state" : null
1813 }
1814 ],
1815 "transition_key" : []
1816 }
1817 ]
1818 }
1819 ],
Yi Tseng27b9bc02018-04-12 14:52:40 +08001820 "parse_vsets" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001821 "deparsers" : [
1822 {
1823 "name" : "deparser",
1824 "id" : 0,
1825 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001826 "filename" : "include/parser.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001827 "line" : 285,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001828 "column" : 8,
1829 "source_fragment" : "FabricDeparser"
1830 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001831 "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"],
1832 "primitives" : []
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001833 }
1834 ],
1835 "meter_arrays" : [],
1836 "counter_arrays" : [
1837 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001838 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001839 "id" : 0,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001840 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001841 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1842 "source_info" : {
1843 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001844 "line" : 31,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001845 "column" : 50,
1846 "source_fragment" : "ingress_port_vlan_counter"
1847 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001848 },
1849 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001850 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001851 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001852 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001853 "binding" : "FabricIngress.filtering.fwd_classifier",
1854 "source_info" : {
1855 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001856 "line" : 85,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001857 "column" : 50,
1858 "source_fragment" : "fwd_classifier_counter"
1859 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001860 },
1861 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001862 "name" : "FabricIngress.forwarding.bridging_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001863 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001864 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001865 "binding" : "FabricIngress.forwarding.bridging",
1866 "source_info" : {
1867 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001868 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001869 "column" : 50,
1870 "source_fragment" : "bridging_counter"
1871 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001872 },
1873 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001874 "name" : "FabricIngress.forwarding.mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001875 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001876 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001877 "binding" : "FabricIngress.forwarding.mpls",
1878 "source_info" : {
1879 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001880 "line" : 63,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001881 "column" : 50,
1882 "source_fragment" : "mpls_counter"
1883 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001884 },
1885 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001886 "name" : "FabricIngress.acl.acl_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001887 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001888 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001889 "binding" : "FabricIngress.acl.acl",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001890 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001891 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08001892 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001893 "column" : 50,
1894 "source_fragment" : "acl_counter"
1895 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001896 },
1897 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001898 "name" : "FabricIngress.next.next_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001899 "id" : 5,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001900 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001901 "binding" : "FabricIngress.next.next_vlan",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001902 "source_info" : {
1903 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001904 "line" : 67,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001905 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001906 "source_fragment" : "next_vlan_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001907 }
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001908 },
1909 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001910 "name" : "FabricIngress.next.xconnect_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001911 "id" : 6,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001912 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001913 "binding" : "FabricIngress.next.xconnect",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001914 "source_info" : {
1915 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001916 "line" : 107,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001917 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001918 "source_fragment" : "xconnect_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001919 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001920 },
1921 {
1922 "name" : "FabricIngress.next.hashed_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001923 "id" : 7,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001924 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001925 "binding" : "FabricIngress.next.hashed",
1926 "source_info" : {
1927 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001928 "line" : 184,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001929 "column" : 50,
1930 "source_fragment" : "hashed_counter"
1931 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001932 },
1933 {
Esin Karaman971fb7f2017-12-28 13:44:52 +00001934 "name" : "FabricIngress.next.multicast_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001935 "id" : 8,
Esin Karaman971fb7f2017-12-28 13:44:52 +00001936 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001937 "binding" : "FabricIngress.next.multicast",
1938 "source_info" : {
1939 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001940 "line" : 228,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001941 "column" : 50,
1942 "source_fragment" : "multicast_counter"
1943 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00001944 },
1945 {
1946 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001947 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001948 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001949 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001950 "line" : 26,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001951 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001952 "source_fragment" : "egress_port_counter"
1953 },
1954 "size" : 511,
1955 "is_direct" : false
1956 },
1957 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001958 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001959 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001960 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001961 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001962 "line" : 27,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001963 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001964 "source_fragment" : "ingress_port_counter"
1965 },
1966 "size" : 511,
1967 "is_direct" : false
Yi Tseng47eac892018-07-11 02:17:04 +08001968 },
1969 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001970 "name" : "FabricIngress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001971 "id" : 11,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001972 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001973 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001974 "line" : 108,
Robert MacDavidde12b982020-07-15 18:38:59 -07001975 "column" : 53,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001976 "source_fragment" : "pdr_counter"
1977 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001978 "size" : 2048,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001979 "is_direct" : false
1980 },
1981 {
1982 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001983 "id" : 12,
Yi Tseng47eac892018-07-11 02:17:04 +08001984 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001985 "binding" : "FabricEgress.egress_next.egress_vlan",
1986 "source_info" : {
1987 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01001988 "line" : 314,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001989 "column" : 50,
1990 "source_fragment" : "egress_vlan_counter"
1991 }
Robert MacDavidde12b982020-07-15 18:38:59 -07001992 },
1993 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001994 "name" : "FabricEgress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001995 "id" : 13,
1996 "source_info" : {
1997 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001998 "line" : 295,
Robert MacDavidde12b982020-07-15 18:38:59 -07001999 "column" : 53,
2000 "source_fragment" : "pdr_counter"
2001 },
2002 "size" : 2048,
2003 "is_direct" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002004 }
2005 ],
2006 "register_arrays" : [],
2007 "calculations" : [
2008 {
2009 "name" : "calc",
2010 "id" : 0,
2011 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002012 "filename" : "include/checksum.p4",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002013 "line" : 28,
2014 "column" : 8,
2015 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
2016 },
2017 "algo" : "csum16",
2018 "input" : [
2019 {
2020 "type" : "field",
2021 "value" : ["ipv4", "version"]
2022 },
2023 {
2024 "type" : "field",
2025 "value" : ["ipv4", "ihl"]
2026 },
2027 {
2028 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002029 "value" : ["ipv4", "dscp"]
2030 },
2031 {
2032 "type" : "field",
2033 "value" : ["ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002034 },
2035 {
2036 "type" : "field",
2037 "value" : ["ipv4", "total_len"]
2038 },
2039 {
2040 "type" : "field",
2041 "value" : ["ipv4", "identification"]
2042 },
2043 {
2044 "type" : "field",
2045 "value" : ["ipv4", "flags"]
2046 },
2047 {
2048 "type" : "field",
2049 "value" : ["ipv4", "frag_offset"]
2050 },
2051 {
2052 "type" : "field",
2053 "value" : ["ipv4", "ttl"]
2054 },
2055 {
2056 "type" : "field",
2057 "value" : ["ipv4", "protocol"]
2058 },
2059 {
2060 "type" : "field",
2061 "value" : ["ipv4", "src_addr"]
2062 },
2063 {
2064 "type" : "field",
2065 "value" : ["ipv4", "dst_addr"]
2066 }
2067 ]
2068 },
2069 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002070 "name" : "calc_0",
2071 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002072 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002073 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002074 "line" : 358,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002075 "column" : 8,
2076 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
2077 },
2078 "algo" : "csum16",
2079 "input" : [
2080 {
2081 "type" : "field",
2082 "value" : ["gtpu_ipv4", "version"]
2083 },
2084 {
2085 "type" : "field",
2086 "value" : ["gtpu_ipv4", "ihl"]
2087 },
2088 {
2089 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002090 "value" : ["gtpu_ipv4", "dscp"]
2091 },
2092 {
2093 "type" : "field",
2094 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002095 },
2096 {
2097 "type" : "field",
2098 "value" : ["gtpu_ipv4", "total_len"]
2099 },
2100 {
2101 "type" : "field",
2102 "value" : ["gtpu_ipv4", "identification"]
2103 },
2104 {
2105 "type" : "field",
2106 "value" : ["gtpu_ipv4", "flags"]
2107 },
2108 {
2109 "type" : "field",
2110 "value" : ["gtpu_ipv4", "frag_offset"]
2111 },
2112 {
2113 "type" : "field",
2114 "value" : ["gtpu_ipv4", "ttl"]
2115 },
2116 {
2117 "type" : "field",
2118 "value" : ["gtpu_ipv4", "protocol"]
2119 },
2120 {
2121 "type" : "field",
2122 "value" : ["gtpu_ipv4", "src_addr"]
2123 },
2124 {
2125 "type" : "field",
2126 "value" : ["gtpu_ipv4", "dst_addr"]
2127 }
2128 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002129 },
2130 {
2131 "name" : "calc_1",
2132 "id" : 2,
2133 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002134 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002135 "line" : 57,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002136 "column" : 8,
2137 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
2138 },
2139 "algo" : "csum16",
2140 "input" : [
2141 {
2142 "type" : "field",
2143 "value" : ["ipv4", "version"]
2144 },
2145 {
2146 "type" : "field",
2147 "value" : ["ipv4", "ihl"]
2148 },
2149 {
2150 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002151 "value" : ["ipv4", "dscp"]
2152 },
2153 {
2154 "type" : "field",
2155 "value" : ["ipv4", "ecn"]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002156 },
2157 {
2158 "type" : "field",
2159 "value" : ["ipv4", "total_len"]
2160 },
2161 {
2162 "type" : "field",
2163 "value" : ["ipv4", "identification"]
2164 },
2165 {
2166 "type" : "field",
2167 "value" : ["ipv4", "flags"]
2168 },
2169 {
2170 "type" : "field",
2171 "value" : ["ipv4", "frag_offset"]
2172 },
2173 {
2174 "type" : "field",
2175 "value" : ["ipv4", "ttl"]
2176 },
2177 {
2178 "type" : "field",
2179 "value" : ["ipv4", "protocol"]
2180 },
2181 {
2182 "type" : "field",
2183 "value" : ["ipv4", "src_addr"]
2184 },
2185 {
2186 "type" : "field",
2187 "value" : ["ipv4", "dst_addr"]
2188 }
2189 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002190 }
2191 ],
2192 "learn_lists" : [],
2193 "actions" : [
2194 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002195 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002196 "id" : 0,
2197 "runtime_data" : [],
2198 "primitives" : []
2199 },
2200 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002201 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002202 "id" : 1,
2203 "runtime_data" : [],
2204 "primitives" : []
2205 },
2206 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002207 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002208 "id" : 2,
2209 "runtime_data" : [],
2210 "primitives" : []
2211 },
2212 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002213 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002214 "id" : 3,
2215 "runtime_data" : [],
2216 "primitives" : []
2217 },
2218 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002219 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002220 "id" : 4,
2221 "runtime_data" : [],
2222 "primitives" : []
2223 },
2224 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002225 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002226 "id" : 5,
2227 "runtime_data" : [],
2228 "primitives" : []
2229 },
2230 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002231 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002232 "id" : 6,
2233 "runtime_data" : [],
2234 "primitives" : []
2235 },
2236 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002237 "name" : "NoAction",
Robert MacDavidde12b982020-07-15 18:38:59 -07002238 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002239 "runtime_data" : [],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002240 "primitives" : []
2241 },
2242 {
2243 "name" : "NoAction",
2244 "id" : 8,
2245 "runtime_data" : [],
2246 "primitives" : []
2247 },
2248 {
2249 "name" : "FabricIngress.filtering.deny",
2250 "id" : 9,
2251 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002252 "primitives" : [
2253 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002254 "op" : "assign",
2255 "parameters" : [
2256 {
2257 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002258 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002259 },
2260 {
2261 "type" : "expression",
2262 "value" : {
2263 "type" : "expression",
2264 "value" : {
2265 "op" : "b2d",
2266 "left" : null,
2267 "right" : {
2268 "type" : "bool",
2269 "value" : true
2270 }
2271 }
2272 }
2273 }
2274 ],
2275 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002276 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002277 "line" : 36,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002278 "column" : 40,
2279 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002280 }
2281 },
2282 {
2283 "op" : "assign",
2284 "parameters" : [
2285 {
2286 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002287 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002288 },
2289 {
2290 "type" : "expression",
2291 "value" : {
2292 "type" : "expression",
2293 "value" : {
2294 "op" : "b2d",
2295 "left" : null,
2296 "right" : {
2297 "type" : "bool",
2298 "value" : true
2299 }
2300 }
2301 }
2302 }
2303 ],
2304 "source_info" : {
2305 "filename" : "include/control/filtering.p4",
2306 "line" : 37,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002307 "column" : 34,
2308 "source_fragment" : "= true; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002309 }
2310 }
2311 ]
2312 },
2313 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002314 "name" : "FabricIngress.filtering.permit",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002315 "id" : 10,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002316 "runtime_data" : [],
2317 "primitives" : []
2318 },
2319 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002320 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002321 "id" : 11,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002322 "runtime_data" : [
2323 {
2324 "name" : "vlan_id",
2325 "bitwidth" : 12
2326 }
2327 ],
2328 "primitives" : [
2329 {
2330 "op" : "assign",
2331 "parameters" : [
2332 {
2333 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002334 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002335 },
2336 {
2337 "type" : "runtime_data",
2338 "value" : 0
2339 }
2340 ],
2341 "source_info" : {
2342 "filename" : "include/control/filtering.p4",
2343 "line" : 47,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002344 "column" : 32,
2345 "source_fragment" : "= vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002346 }
2347 }
2348 ]
2349 },
2350 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002351 "name" : "FabricIngress.filtering.set_forwarding_type",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002352 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002353 "runtime_data" : [
2354 {
2355 "name" : "fwd_type",
2356 "bitwidth" : 3
2357 }
2358 ],
2359 "primitives" : [
2360 {
2361 "op" : "assign",
2362 "parameters" : [
2363 {
2364 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002365 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002366 },
2367 {
2368 "type" : "runtime_data",
2369 "value" : 0
2370 }
2371 ],
2372 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002373 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002374 "line" : 88,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002375 "column" : 33,
2376 "source_fragment" : "= fwd_type; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002377 }
2378 }
2379 ]
2380 },
2381 {
Yi Tseng47eac892018-07-11 02:17:04 +08002382 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002383 "id" : 13,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002384 "runtime_data" : [
2385 {
2386 "name" : "next_id",
2387 "bitwidth" : 32
2388 }
2389 ],
2390 "primitives" : [
2391 {
2392 "op" : "assign",
2393 "parameters" : [
2394 {
2395 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002396 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002397 },
2398 {
2399 "type" : "runtime_data",
2400 "value" : 0
2401 }
2402 ],
2403 "source_info" : {
2404 "filename" : "include/control/forwarding.p4",
2405 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002406 "column" : 32,
2407 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002408 }
2409 }
2410 ]
2411 },
2412 {
2413 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002414 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002415 "runtime_data" : [
2416 {
2417 "name" : "next_id",
2418 "bitwidth" : 32
2419 }
2420 ],
2421 "primitives" : [
2422 {
2423 "op" : "assign",
2424 "parameters" : [
2425 {
2426 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002427 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002428 },
2429 {
2430 "type" : "hexstr",
2431 "value" : "0x000000"
2432 }
2433 ],
2434 "source_info" : {
2435 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07002436 "line" : 66,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002437 "column" : 35,
2438 "source_fragment" : "= 0; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002439 }
2440 },
2441 {
2442 "op" : "assign",
2443 "parameters" : [
2444 {
2445 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002446 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002447 },
2448 {
2449 "type" : "runtime_data",
2450 "value" : 0
2451 }
2452 ],
2453 "source_info" : {
2454 "filename" : "include/control/forwarding.p4",
2455 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002456 "column" : 32,
2457 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002458 }
2459 }
2460 ]
2461 },
2462 {
2463 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002464 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002465 "runtime_data" : [
2466 {
2467 "name" : "next_id",
2468 "bitwidth" : 32
2469 }
2470 ],
2471 "primitives" : [
2472 {
2473 "op" : "assign",
2474 "parameters" : [
2475 {
2476 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002477 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002478 },
2479 {
2480 "type" : "runtime_data",
2481 "value" : 0
2482 }
2483 ],
2484 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002485 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002486 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002487 "column" : 32,
2488 "source_fragment" : "= next_id; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002489 }
2490 }
2491 ]
2492 },
2493 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002494 "name" : "FabricIngress.forwarding.nop_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002495 "id" : 16,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002496 "runtime_data" : [],
2497 "primitives" : []
Yi Tseng47eac892018-07-11 02:17:04 +08002498 },
2499 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002500 "name" : "FabricIngress.acl.set_next_id_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002501 "id" : 17,
Yi Tseng27b9bc02018-04-12 14:52:40 +08002502 "runtime_data" : [
2503 {
2504 "name" : "next_id",
2505 "bitwidth" : 32
2506 }
2507 ],
2508 "primitives" : [
2509 {
2510 "op" : "assign",
2511 "parameters" : [
2512 {
2513 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002514 "value" : ["scalars", "userMetadata._next_id9"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08002515 },
2516 {
2517 "type" : "runtime_data",
2518 "value" : 0
2519 }
2520 ],
2521 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002522 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002523 "line" : 39,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002524 "column" : 32,
2525 "source_fragment" : "= next_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002526 }
2527 }
2528 ]
2529 },
2530 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002531 "name" : "FabricIngress.acl.punt_to_cpu",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002532 "id" : 18,
Charles Chancd03f072018-08-31 17:46:37 -07002533 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002534 "primitives" : [
2535 {
2536 "op" : "assign",
2537 "parameters" : [
2538 {
2539 "type" : "field",
2540 "value" : ["standard_metadata", "egress_spec"]
2541 },
2542 {
2543 "type" : "hexstr",
2544 "value" : "0x00ff"
2545 }
2546 ],
2547 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002548 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002549 "line" : 45,
Carmelo Casconeb531b682018-01-30 17:55:56 -08002550 "column" : 8,
2551 "source_fragment" : "standard_metadata.egress_spec = 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002552 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002553 },
2554 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002555 "op" : "assign",
2556 "parameters" : [
2557 {
2558 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002559 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002560 },
2561 {
2562 "type" : "expression",
2563 "value" : {
2564 "type" : "expression",
2565 "value" : {
2566 "op" : "b2d",
2567 "left" : null,
2568 "right" : {
2569 "type" : "bool",
2570 "value" : true
2571 }
2572 }
2573 }
2574 }
2575 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002576 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002577 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002578 "line" : 46,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002579 "column" : 34,
2580 "source_fragment" : "= true; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002581 }
2582 }
2583 ]
2584 },
2585 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002586 "name" : "FabricIngress.acl.set_clone_session_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002587 "id" : 19,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002588 "runtime_data" : [
2589 {
2590 "name" : "clone_id",
2591 "bitwidth" : 32
2592 }
2593 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002594 "primitives" : [
2595 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002596 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002597 "parameters" : [
2598 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002599 "type" : "runtime_data",
2600 "value" : 0
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002601 },
2602 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002603 "type" : "hexstr",
2604 "value" : "0x1"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002605 }
2606 ],
2607 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002608 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002609 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002610 "column" : 8,
Daniele Moro3b7a21b2019-06-25 17:33:40 -07002611 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002612 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002613 }
2614 ]
2615 },
2616 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002617 "name" : "FabricIngress.acl.drop",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002618 "id" : 20,
Yi Tseng47eac892018-07-11 02:17:04 +08002619 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002620 "primitives" : [
2621 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002622 "op" : "mark_to_drop",
2623 "parameters" : [
2624 {
2625 "type" : "header",
2626 "value" : "standard_metadata"
2627 }
2628 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002629 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002630 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002631 "line" : 57,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002632 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002633 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002634 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002635 },
2636 {
2637 "op" : "assign",
2638 "parameters" : [
2639 {
2640 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002641 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002642 },
2643 {
2644 "type" : "expression",
2645 "value" : {
2646 "type" : "expression",
2647 "value" : {
2648 "op" : "b2d",
2649 "left" : null,
2650 "right" : {
2651 "type" : "bool",
2652 "value" : true
2653 }
2654 }
2655 }
2656 }
2657 ],
2658 "source_info" : {
2659 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08002660 "line" : 58,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002661 "column" : 34,
2662 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002663 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002664 }
2665 ]
2666 },
2667 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002668 "name" : "FabricIngress.acl.nop_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002669 "id" : 21,
Charles Chancf696e52018-08-16 16:25:13 -07002670 "runtime_data" : [],
2671 "primitives" : []
2672 },
2673 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002674 "name" : "FabricIngress.next.set_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002675 "id" : 22,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002676 "runtime_data" : [
2677 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002678 "name" : "vlan_id",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002679 "bitwidth" : 12
2680 }
2681 ],
2682 "primitives" : [
2683 {
2684 "op" : "assign",
2685 "parameters" : [
2686 {
2687 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002688 "value" : ["scalars", "userMetadata._vlan_id1"]
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002689 },
2690 {
2691 "type" : "runtime_data",
2692 "value" : 0
2693 }
2694 ],
2695 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002696 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002697 "line" : 70,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002698 "column" : 32,
2699 "source_fragment" : "= vlan_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002700 }
2701 }
2702 ]
2703 },
2704 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002705 "name" : "FabricIngress.next.output_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07002706 "id" : 23,
Yi Tseng47eac892018-07-11 02:17:04 +08002707 "runtime_data" : [
2708 {
2709 "name" : "port_num",
2710 "bitwidth" : 9
2711 }
2712 ],
2713 "primitives" : [
2714 {
2715 "op" : "assign",
2716 "parameters" : [
2717 {
2718 "type" : "field",
2719 "value" : ["standard_metadata", "egress_spec"]
2720 },
2721 {
2722 "type" : "runtime_data",
2723 "value" : 0
2724 }
2725 ],
2726 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002727 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002728 "line" : 31,
2729 "column" : 5,
2730 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
Yi Tseng47eac892018-07-11 02:17:04 +08002731 }
2732 }
2733 ]
2734 },
2735 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002736 "name" : "FabricIngress.next.set_next_id_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07002737 "id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002738 "runtime_data" : [
2739 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002740 "name" : "next_id",
2741 "bitwidth" : 32
2742 }
2743 ],
2744 "primitives" : [
2745 {
2746 "op" : "assign",
2747 "parameters" : [
2748 {
2749 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002750 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002751 },
2752 {
2753 "type" : "runtime_data",
2754 "value" : 0
2755 }
2756 ],
2757 "source_info" : {
2758 "filename" : "include/control/next.p4",
2759 "line" : 115,
2760 "column" : 32,
2761 "source_fragment" : "= next_id; ..."
2762 }
2763 }
2764 ]
2765 },
2766 {
2767 "name" : "FabricIngress.next.output_hashed",
2768 "id" : 25,
2769 "runtime_data" : [
2770 {
2771 "name" : "port_num",
2772 "bitwidth" : 9
2773 }
2774 ],
2775 "primitives" : [
2776 {
2777 "op" : "assign",
2778 "parameters" : [
2779 {
2780 "type" : "field",
2781 "value" : ["standard_metadata", "egress_spec"]
2782 },
2783 {
2784 "type" : "runtime_data",
2785 "value" : 0
2786 }
2787 ],
2788 "source_info" : {
2789 "filename" : "include/control/next.p4",
2790 "line" : 31,
2791 "column" : 5,
2792 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2793 }
2794 }
2795 ]
2796 },
2797 {
2798 "name" : "FabricIngress.next.routing_hashed",
2799 "id" : 26,
2800 "runtime_data" : [
2801 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002802 "name" : "port_num",
2803 "bitwidth" : 9
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002804 },
2805 {
2806 "name" : "smac",
2807 "bitwidth" : 48
2808 },
2809 {
2810 "name" : "dmac",
2811 "bitwidth" : 48
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002812 }
2813 ],
2814 "primitives" : [
2815 {
2816 "op" : "assign",
2817 "parameters" : [
2818 {
2819 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002820 "value" : ["ethernet", "src_addr"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002821 },
2822 {
2823 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002824 "value" : 1
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002825 }
2826 ],
2827 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002828 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002829 "line" : 36,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002830 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002831 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2832 }
2833 },
2834 {
2835 "op" : "assign",
2836 "parameters" : [
2837 {
2838 "type" : "field",
2839 "value" : ["ethernet", "dst_addr"]
2840 },
2841 {
2842 "type" : "runtime_data",
2843 "value" : 2
2844 }
2845 ],
2846 "source_info" : {
2847 "filename" : "include/control/next.p4",
2848 "line" : 41,
2849 "column" : 8,
2850 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002851 }
2852 },
2853 {
2854 "op" : "assign",
2855 "parameters" : [
2856 {
2857 "type" : "field",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002858 "value" : ["standard_metadata", "egress_spec"]
2859 },
2860 {
2861 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002862 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002863 }
2864 ],
2865 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002866 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002867 "line" : 31,
2868 "column" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002869 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2870 }
2871 }
2872 ]
2873 },
2874 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002875 "name" : "FabricIngress.next.mpls_routing_hashed",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002876 "id" : 27,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002877 "runtime_data" : [
2878 {
2879 "name" : "port_num",
2880 "bitwidth" : 9
2881 },
2882 {
2883 "name" : "smac",
2884 "bitwidth" : 48
2885 },
2886 {
2887 "name" : "dmac",
2888 "bitwidth" : 48
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002889 },
2890 {
2891 "name" : "label",
2892 "bitwidth" : 20
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002893 }
2894 ],
2895 "primitives" : [
2896 {
2897 "op" : "assign",
2898 "parameters" : [
2899 {
2900 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002901 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002902 },
2903 {
2904 "type" : "runtime_data",
2905 "value" : 3
2906 }
2907 ],
2908 "source_info" : {
2909 "filename" : "include/control/next.p4",
2910 "line" : 46,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002911 "column" : 35,
2912 "source_fragment" : "= label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002913 }
2914 },
2915 {
2916 "op" : "assign",
2917 "parameters" : [
2918 {
2919 "type" : "field",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002920 "value" : ["ethernet", "src_addr"]
2921 },
2922 {
2923 "type" : "runtime_data",
2924 "value" : 1
2925 }
2926 ],
2927 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002928 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002929 "line" : 36,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002930 "column" : 8,
2931 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2932 }
2933 },
2934 {
2935 "op" : "assign",
2936 "parameters" : [
2937 {
2938 "type" : "field",
2939 "value" : ["ethernet", "dst_addr"]
2940 },
2941 {
2942 "type" : "runtime_data",
2943 "value" : 2
2944 }
2945 ],
2946 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002947 "filename" : "include/control/next.p4",
Yi Tseng47eac892018-07-11 02:17:04 +08002948 "line" : 41,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002949 "column" : 8,
2950 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2951 }
2952 },
2953 {
2954 "op" : "assign",
2955 "parameters" : [
2956 {
2957 "type" : "field",
2958 "value" : ["standard_metadata", "egress_spec"]
2959 },
2960 {
2961 "type" : "runtime_data",
2962 "value" : 0
2963 }
2964 ],
2965 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002966 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002967 "line" : 31,
2968 "column" : 5,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002969 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2970 }
2971 }
2972 ]
2973 },
2974 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002975 "name" : "FabricIngress.next.set_mcast_group_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002976 "id" : 28,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002977 "runtime_data" : [
2978 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002979 "name" : "group_id",
Esin Karaman971fb7f2017-12-28 13:44:52 +00002980 "bitwidth" : 16
2981 }
2982 ],
2983 "primitives" : [
2984 {
2985 "op" : "assign",
2986 "parameters" : [
2987 {
2988 "type" : "field",
2989 "value" : ["standard_metadata", "mcast_grp"]
2990 },
2991 {
2992 "type" : "runtime_data",
2993 "value" : 0
2994 }
2995 ],
2996 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002997 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002998 "line" : 231,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002999 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003000 "source_fragment" : "standard_metadata.mcast_grp = group_id"
Esin Karaman971fb7f2017-12-28 13:44:52 +00003001 }
Carmelo Casconea5400af2018-07-17 22:11:54 +02003002 },
3003 {
3004 "op" : "assign",
3005 "parameters" : [
3006 {
3007 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003008 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02003009 },
3010 {
3011 "type" : "expression",
3012 "value" : {
3013 "type" : "expression",
3014 "value" : {
3015 "op" : "b2d",
3016 "left" : null,
3017 "right" : {
3018 "type" : "bool",
3019 "value" : true
3020 }
3021 }
3022 }
3023 }
3024 ],
3025 "source_info" : {
3026 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003027 "line" : 232,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08003028 "column" : 37,
3029 "source_fragment" : "= true; ..."
Carmelo Casconea5400af2018-07-17 22:11:54 +02003030 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00003031 }
3032 ]
3033 },
3034 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003035 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
3036 "id" : 29,
3037 "runtime_data" : [],
3038 "primitives" : [
3039 {
3040 "op" : "assign",
3041 "parameters" : [
3042 {
3043 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003044 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003045 },
3046 {
3047 "type" : "hexstr",
3048 "value" : "0x0800"
3049 }
3050 ],
3051 "source_info" : {
3052 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003053 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003054 "column" : 31,
3055 "source_fragment" : "0x0800; ..."
3056 }
3057 },
3058 {
3059 "op" : "assign",
3060 "parameters" : [
3061 {
3062 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003063 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003064 },
3065 {
3066 "type" : "field",
3067 "value" : ["inner_ipv4", "protocol"]
3068 }
3069 ],
3070 "source_info" : {
3071 "filename" : "include/control/spgw.p4",
3072 "line" : 39,
3073 "column" : 27,
3074 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3075 }
3076 },
3077 {
3078 "op" : "assign",
3079 "parameters" : [
3080 {
3081 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003082 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003083 },
3084 {
3085 "type" : "field",
3086 "value" : ["inner_ipv4", "src_addr"]
3087 }
3088 ],
3089 "source_info" : {
3090 "filename" : "include/control/spgw.p4",
3091 "line" : 40,
3092 "column" : 32,
3093 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3094 }
3095 },
3096 {
3097 "op" : "assign",
3098 "parameters" : [
3099 {
3100 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003101 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003102 },
3103 {
3104 "type" : "field",
3105 "value" : ["inner_ipv4", "dst_addr"]
3106 }
3107 ],
3108 "source_info" : {
3109 "filename" : "include/control/spgw.p4",
3110 "line" : 41,
3111 "column" : 32,
3112 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3113 }
3114 },
3115 {
3116 "op" : "assign",
3117 "parameters" : [
3118 {
3119 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003120 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003121 },
3122 {
3123 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003124 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003125 }
3126 ],
3127 "source_info" : {
3128 "filename" : "include/control/spgw.p4",
3129 "line" : 42,
3130 "column" : 27,
3131 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3132 }
3133 },
3134 {
3135 "op" : "assign",
3136 "parameters" : [
3137 {
3138 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003139 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003140 },
3141 {
3142 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003143 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003144 }
3145 ],
3146 "source_info" : {
3147 "filename" : "include/control/spgw.p4",
3148 "line" : 43,
3149 "column" : 27,
3150 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3151 }
3152 },
3153 {
3154 "op" : "assign_header",
3155 "parameters" : [
3156 {
3157 "type" : "header",
3158 "value" : "ipv4"
3159 },
3160 {
3161 "type" : "header",
3162 "value" : "inner_ipv4"
3163 }
3164 ],
3165 "source_info" : {
3166 "filename" : "include/control/spgw.p4",
3167 "line" : 45,
3168 "column" : 8,
3169 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3170 }
3171 },
3172 {
3173 "op" : "remove_header",
3174 "parameters" : [
3175 {
3176 "type" : "header",
3177 "value" : "inner_ipv4"
3178 }
3179 ],
3180 "source_info" : {
3181 "filename" : "include/control/spgw.p4",
3182 "line" : 46,
3183 "column" : 8,
3184 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3185 }
3186 },
3187 {
3188 "op" : "remove_header",
3189 "parameters" : [
3190 {
3191 "type" : "header",
3192 "value" : "gtpu"
3193 }
3194 ],
3195 "source_info" : {
3196 "filename" : "include/control/spgw.p4",
3197 "line" : 47,
3198 "column" : 8,
3199 "source_fragment" : "hdr.gtpu.setInvalid()"
3200 }
3201 },
3202 {
3203 "op" : "remove_header",
3204 "parameters" : [
3205 {
3206 "type" : "header",
3207 "value" : "udp"
3208 }
3209 ],
3210 "source_info" : {
3211 "filename" : "include/control/spgw.p4",
3212 "line" : 52,
3213 "column" : 8,
3214 "source_fragment" : "hdr.udp.setInvalid()"
3215 }
3216 },
3217 {
3218 "op" : "assign_header",
3219 "parameters" : [
3220 {
3221 "type" : "header",
3222 "value" : "tcp"
3223 },
3224 {
3225 "type" : "header",
3226 "value" : "inner_tcp"
3227 }
3228 ],
3229 "source_info" : {
3230 "filename" : "include/control/spgw.p4",
3231 "line" : 53,
3232 "column" : 8,
3233 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
3234 }
3235 },
3236 {
3237 "op" : "remove_header",
3238 "parameters" : [
3239 {
3240 "type" : "header",
3241 "value" : "inner_tcp"
3242 }
3243 ],
3244 "source_info" : {
3245 "filename" : "include/control/spgw.p4",
3246 "line" : 54,
3247 "column" : 8,
3248 "source_fragment" : "hdr.inner_tcp.setInvalid()"
3249 }
3250 }
3251 ]
3252 },
3253 {
3254 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
3255 "id" : 30,
3256 "runtime_data" : [],
3257 "primitives" : [
3258 {
3259 "op" : "assign",
3260 "parameters" : [
3261 {
3262 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003263 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003264 },
3265 {
3266 "type" : "hexstr",
3267 "value" : "0x0800"
3268 }
3269 ],
3270 "source_info" : {
3271 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003272 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003273 "column" : 31,
3274 "source_fragment" : "0x0800; ..."
3275 }
3276 },
3277 {
3278 "op" : "assign",
3279 "parameters" : [
3280 {
3281 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003282 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003283 },
3284 {
3285 "type" : "field",
3286 "value" : ["inner_ipv4", "protocol"]
3287 }
3288 ],
3289 "source_info" : {
3290 "filename" : "include/control/spgw.p4",
3291 "line" : 39,
3292 "column" : 27,
3293 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3294 }
3295 },
3296 {
3297 "op" : "assign",
3298 "parameters" : [
3299 {
3300 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003301 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003302 },
3303 {
3304 "type" : "field",
3305 "value" : ["inner_ipv4", "src_addr"]
3306 }
3307 ],
3308 "source_info" : {
3309 "filename" : "include/control/spgw.p4",
3310 "line" : 40,
3311 "column" : 32,
3312 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3313 }
3314 },
3315 {
3316 "op" : "assign",
3317 "parameters" : [
3318 {
3319 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003320 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003321 },
3322 {
3323 "type" : "field",
3324 "value" : ["inner_ipv4", "dst_addr"]
3325 }
3326 ],
3327 "source_info" : {
3328 "filename" : "include/control/spgw.p4",
3329 "line" : 41,
3330 "column" : 32,
3331 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3332 }
3333 },
3334 {
3335 "op" : "assign",
3336 "parameters" : [
3337 {
3338 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003339 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003340 },
3341 {
3342 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003343 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003344 }
3345 ],
3346 "source_info" : {
3347 "filename" : "include/control/spgw.p4",
3348 "line" : 42,
3349 "column" : 27,
3350 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3351 }
3352 },
3353 {
3354 "op" : "assign",
3355 "parameters" : [
3356 {
3357 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003358 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003359 },
3360 {
3361 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003362 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003363 }
3364 ],
3365 "source_info" : {
3366 "filename" : "include/control/spgw.p4",
3367 "line" : 43,
3368 "column" : 27,
3369 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3370 }
3371 },
3372 {
3373 "op" : "assign_header",
3374 "parameters" : [
3375 {
3376 "type" : "header",
3377 "value" : "ipv4"
3378 },
3379 {
3380 "type" : "header",
3381 "value" : "inner_ipv4"
3382 }
3383 ],
3384 "source_info" : {
3385 "filename" : "include/control/spgw.p4",
3386 "line" : 45,
3387 "column" : 8,
3388 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3389 }
3390 },
3391 {
3392 "op" : "remove_header",
3393 "parameters" : [
3394 {
3395 "type" : "header",
3396 "value" : "inner_ipv4"
3397 }
3398 ],
3399 "source_info" : {
3400 "filename" : "include/control/spgw.p4",
3401 "line" : 46,
3402 "column" : 8,
3403 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3404 }
3405 },
3406 {
3407 "op" : "remove_header",
3408 "parameters" : [
3409 {
3410 "type" : "header",
3411 "value" : "gtpu"
3412 }
3413 ],
3414 "source_info" : {
3415 "filename" : "include/control/spgw.p4",
3416 "line" : 47,
3417 "column" : 8,
3418 "source_fragment" : "hdr.gtpu.setInvalid()"
3419 }
3420 },
3421 {
3422 "op" : "assign_header",
3423 "parameters" : [
3424 {
3425 "type" : "header",
3426 "value" : "udp"
3427 },
3428 {
3429 "type" : "header",
3430 "value" : "inner_udp"
3431 }
3432 ],
3433 "source_info" : {
3434 "filename" : "include/control/spgw.p4",
3435 "line" : 59,
3436 "column" : 8,
3437 "source_fragment" : "hdr.udp = hdr.inner_udp"
3438 }
3439 },
3440 {
3441 "op" : "remove_header",
3442 "parameters" : [
3443 {
3444 "type" : "header",
3445 "value" : "inner_udp"
3446 }
3447 ],
3448 "source_info" : {
3449 "filename" : "include/control/spgw.p4",
3450 "line" : 60,
3451 "column" : 8,
3452 "source_fragment" : "hdr.inner_udp.setInvalid()"
3453 }
3454 }
3455 ]
3456 },
3457 {
3458 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
3459 "id" : 31,
3460 "runtime_data" : [],
3461 "primitives" : [
3462 {
3463 "op" : "assign",
3464 "parameters" : [
3465 {
3466 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003467 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003468 },
3469 {
3470 "type" : "hexstr",
3471 "value" : "0x0800"
3472 }
3473 ],
3474 "source_info" : {
3475 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003476 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003477 "column" : 31,
3478 "source_fragment" : "0x0800; ..."
3479 }
3480 },
3481 {
3482 "op" : "assign",
3483 "parameters" : [
3484 {
3485 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003486 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003487 },
3488 {
3489 "type" : "field",
3490 "value" : ["inner_ipv4", "protocol"]
3491 }
3492 ],
3493 "source_info" : {
3494 "filename" : "include/control/spgw.p4",
3495 "line" : 39,
3496 "column" : 27,
3497 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3498 }
3499 },
3500 {
3501 "op" : "assign",
3502 "parameters" : [
3503 {
3504 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003505 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003506 },
3507 {
3508 "type" : "field",
3509 "value" : ["inner_ipv4", "src_addr"]
3510 }
3511 ],
3512 "source_info" : {
3513 "filename" : "include/control/spgw.p4",
3514 "line" : 40,
3515 "column" : 32,
3516 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3517 }
3518 },
3519 {
3520 "op" : "assign",
3521 "parameters" : [
3522 {
3523 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003524 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003525 },
3526 {
3527 "type" : "field",
3528 "value" : ["inner_ipv4", "dst_addr"]
3529 }
3530 ],
3531 "source_info" : {
3532 "filename" : "include/control/spgw.p4",
3533 "line" : 41,
3534 "column" : 32,
3535 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3536 }
3537 },
3538 {
3539 "op" : "assign",
3540 "parameters" : [
3541 {
3542 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003543 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003544 },
3545 {
3546 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003547 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003548 }
3549 ],
3550 "source_info" : {
3551 "filename" : "include/control/spgw.p4",
3552 "line" : 42,
3553 "column" : 27,
3554 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3555 }
3556 },
3557 {
3558 "op" : "assign",
3559 "parameters" : [
3560 {
3561 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003562 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003563 },
3564 {
3565 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003566 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003567 }
3568 ],
3569 "source_info" : {
3570 "filename" : "include/control/spgw.p4",
3571 "line" : 43,
3572 "column" : 27,
3573 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3574 }
3575 },
3576 {
3577 "op" : "assign_header",
3578 "parameters" : [
3579 {
3580 "type" : "header",
3581 "value" : "ipv4"
3582 },
3583 {
3584 "type" : "header",
3585 "value" : "inner_ipv4"
3586 }
3587 ],
3588 "source_info" : {
3589 "filename" : "include/control/spgw.p4",
3590 "line" : 45,
3591 "column" : 8,
3592 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3593 }
3594 },
3595 {
3596 "op" : "remove_header",
3597 "parameters" : [
3598 {
3599 "type" : "header",
3600 "value" : "inner_ipv4"
3601 }
3602 ],
3603 "source_info" : {
3604 "filename" : "include/control/spgw.p4",
3605 "line" : 46,
3606 "column" : 8,
3607 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3608 }
3609 },
3610 {
3611 "op" : "remove_header",
3612 "parameters" : [
3613 {
3614 "type" : "header",
3615 "value" : "gtpu"
3616 }
3617 ],
3618 "source_info" : {
3619 "filename" : "include/control/spgw.p4",
3620 "line" : 47,
3621 "column" : 8,
3622 "source_fragment" : "hdr.gtpu.setInvalid()"
3623 }
3624 },
3625 {
3626 "op" : "remove_header",
3627 "parameters" : [
3628 {
3629 "type" : "header",
3630 "value" : "udp"
3631 }
3632 ],
3633 "source_info" : {
3634 "filename" : "include/control/spgw.p4",
3635 "line" : 65,
3636 "column" : 8,
3637 "source_fragment" : "hdr.udp.setInvalid()"
3638 }
3639 },
3640 {
3641 "op" : "assign_header",
3642 "parameters" : [
3643 {
3644 "type" : "header",
3645 "value" : "icmp"
3646 },
3647 {
3648 "type" : "header",
3649 "value" : "inner_icmp"
3650 }
3651 ],
3652 "source_info" : {
3653 "filename" : "include/control/spgw.p4",
3654 "line" : 66,
3655 "column" : 8,
3656 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
3657 }
3658 },
3659 {
3660 "op" : "remove_header",
3661 "parameters" : [
3662 {
3663 "type" : "header",
3664 "value" : "inner_icmp"
3665 }
3666 ],
3667 "source_info" : {
3668 "filename" : "include/control/spgw.p4",
3669 "line" : 67,
3670 "column" : 8,
3671 "source_fragment" : "hdr.inner_icmp.setInvalid()"
3672 }
3673 }
3674 ]
3675 },
3676 {
3677 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
3678 "id" : 32,
3679 "runtime_data" : [],
3680 "primitives" : [
3681 {
3682 "op" : "assign",
3683 "parameters" : [
3684 {
3685 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003686 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003687 },
3688 {
3689 "type" : "hexstr",
3690 "value" : "0x0800"
3691 }
3692 ],
3693 "source_info" : {
3694 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003695 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003696 "column" : 31,
3697 "source_fragment" : "0x0800; ..."
3698 }
3699 },
3700 {
3701 "op" : "assign",
3702 "parameters" : [
3703 {
3704 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003705 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003706 },
3707 {
3708 "type" : "field",
3709 "value" : ["inner_ipv4", "protocol"]
3710 }
3711 ],
3712 "source_info" : {
3713 "filename" : "include/control/spgw.p4",
3714 "line" : 39,
3715 "column" : 27,
3716 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3717 }
3718 },
3719 {
3720 "op" : "assign",
3721 "parameters" : [
3722 {
3723 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003724 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003725 },
3726 {
3727 "type" : "field",
3728 "value" : ["inner_ipv4", "src_addr"]
3729 }
3730 ],
3731 "source_info" : {
3732 "filename" : "include/control/spgw.p4",
3733 "line" : 40,
3734 "column" : 32,
3735 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3736 }
3737 },
3738 {
3739 "op" : "assign",
3740 "parameters" : [
3741 {
3742 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003743 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003744 },
3745 {
3746 "type" : "field",
3747 "value" : ["inner_ipv4", "dst_addr"]
3748 }
3749 ],
3750 "source_info" : {
3751 "filename" : "include/control/spgw.p4",
3752 "line" : 41,
3753 "column" : 32,
3754 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3755 }
3756 },
3757 {
3758 "op" : "assign",
3759 "parameters" : [
3760 {
3761 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003762 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003763 },
3764 {
3765 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003766 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003767 }
3768 ],
3769 "source_info" : {
3770 "filename" : "include/control/spgw.p4",
3771 "line" : 42,
3772 "column" : 27,
3773 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3774 }
3775 },
3776 {
3777 "op" : "assign",
3778 "parameters" : [
3779 {
3780 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003781 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003782 },
3783 {
3784 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003785 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003786 }
3787 ],
3788 "source_info" : {
3789 "filename" : "include/control/spgw.p4",
3790 "line" : 43,
3791 "column" : 27,
3792 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3793 }
3794 },
3795 {
3796 "op" : "assign_header",
3797 "parameters" : [
3798 {
3799 "type" : "header",
3800 "value" : "ipv4"
3801 },
3802 {
3803 "type" : "header",
3804 "value" : "inner_ipv4"
3805 }
3806 ],
3807 "source_info" : {
3808 "filename" : "include/control/spgw.p4",
3809 "line" : 45,
3810 "column" : 8,
3811 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3812 }
3813 },
3814 {
3815 "op" : "remove_header",
3816 "parameters" : [
3817 {
3818 "type" : "header",
3819 "value" : "inner_ipv4"
3820 }
3821 ],
3822 "source_info" : {
3823 "filename" : "include/control/spgw.p4",
3824 "line" : 46,
3825 "column" : 8,
3826 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3827 }
3828 },
3829 {
3830 "op" : "remove_header",
3831 "parameters" : [
3832 {
3833 "type" : "header",
3834 "value" : "gtpu"
3835 }
3836 ],
3837 "source_info" : {
3838 "filename" : "include/control/spgw.p4",
3839 "line" : 47,
3840 "column" : 8,
3841 "source_fragment" : "hdr.gtpu.setInvalid()"
3842 }
3843 },
3844 {
3845 "op" : "remove_header",
3846 "parameters" : [
3847 {
3848 "type" : "header",
3849 "value" : "udp"
3850 }
3851 ],
3852 "source_info" : {
3853 "filename" : "include/control/spgw.p4",
3854 "line" : 72,
3855 "column" : 8,
3856 "source_fragment" : "hdr.udp.setInvalid()"
3857 }
3858 }
3859 ]
3860 },
3861 {
3862 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
3863 "id" : 33,
3864 "runtime_data" : [],
3865 "primitives" : [
3866 {
3867 "op" : "assign",
3868 "parameters" : [
3869 {
3870 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003871 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003872 },
3873 {
3874 "type" : "hexstr",
3875 "value" : "0x0800"
3876 }
3877 ],
3878 "source_info" : {
3879 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003880 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003881 "column" : 31,
3882 "source_fragment" : "0x0800; ..."
3883 }
3884 },
3885 {
3886 "op" : "assign",
3887 "parameters" : [
3888 {
3889 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003890 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003891 },
3892 {
3893 "type" : "field",
3894 "value" : ["inner_ipv4", "protocol"]
3895 }
3896 ],
3897 "source_info" : {
3898 "filename" : "include/control/spgw.p4",
3899 "line" : 39,
3900 "column" : 27,
3901 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3902 }
3903 },
3904 {
3905 "op" : "assign",
3906 "parameters" : [
3907 {
3908 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003909 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003910 },
3911 {
3912 "type" : "field",
3913 "value" : ["inner_ipv4", "src_addr"]
3914 }
3915 ],
3916 "source_info" : {
3917 "filename" : "include/control/spgw.p4",
3918 "line" : 40,
3919 "column" : 32,
3920 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3921 }
3922 },
3923 {
3924 "op" : "assign",
3925 "parameters" : [
3926 {
3927 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003928 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003929 },
3930 {
3931 "type" : "field",
3932 "value" : ["inner_ipv4", "dst_addr"]
3933 }
3934 ],
3935 "source_info" : {
3936 "filename" : "include/control/spgw.p4",
3937 "line" : 41,
3938 "column" : 32,
3939 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3940 }
3941 },
3942 {
3943 "op" : "assign",
3944 "parameters" : [
3945 {
3946 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003947 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003948 },
3949 {
3950 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003951 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003952 }
3953 ],
3954 "source_info" : {
3955 "filename" : "include/control/spgw.p4",
3956 "line" : 42,
3957 "column" : 27,
3958 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3959 }
3960 },
3961 {
3962 "op" : "assign",
3963 "parameters" : [
3964 {
3965 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003966 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003967 },
3968 {
3969 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003970 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003971 }
3972 ],
3973 "source_info" : {
3974 "filename" : "include/control/spgw.p4",
3975 "line" : 43,
3976 "column" : 27,
3977 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3978 }
3979 },
3980 {
3981 "op" : "assign_header",
3982 "parameters" : [
3983 {
3984 "type" : "header",
3985 "value" : "ipv4"
3986 },
3987 {
3988 "type" : "header",
3989 "value" : "inner_ipv4"
3990 }
3991 ],
3992 "source_info" : {
3993 "filename" : "include/control/spgw.p4",
3994 "line" : 45,
3995 "column" : 8,
3996 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3997 }
3998 },
3999 {
4000 "op" : "remove_header",
4001 "parameters" : [
4002 {
4003 "type" : "header",
4004 "value" : "inner_ipv4"
4005 }
4006 ],
4007 "source_info" : {
4008 "filename" : "include/control/spgw.p4",
4009 "line" : 46,
4010 "column" : 8,
4011 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4012 }
4013 },
4014 {
4015 "op" : "remove_header",
4016 "parameters" : [
4017 {
4018 "type" : "header",
4019 "value" : "gtpu"
4020 }
4021 ],
4022 "source_info" : {
4023 "filename" : "include/control/spgw.p4",
4024 "line" : 47,
4025 "column" : 8,
4026 "source_fragment" : "hdr.gtpu.setInvalid()"
4027 }
4028 },
4029 {
4030 "op" : "remove_header",
4031 "parameters" : [
4032 {
4033 "type" : "header",
4034 "value" : "udp"
4035 }
4036 ],
4037 "source_info" : {
4038 "filename" : "include/control/spgw.p4",
4039 "line" : 52,
4040 "column" : 8,
4041 "source_fragment" : "hdr.udp.setInvalid()"
4042 }
4043 },
4044 {
4045 "op" : "assign_header",
4046 "parameters" : [
4047 {
4048 "type" : "header",
4049 "value" : "tcp"
4050 },
4051 {
4052 "type" : "header",
4053 "value" : "inner_tcp"
4054 }
4055 ],
4056 "source_info" : {
4057 "filename" : "include/control/spgw.p4",
4058 "line" : 53,
4059 "column" : 8,
4060 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
4061 }
4062 },
4063 {
4064 "op" : "remove_header",
4065 "parameters" : [
4066 {
4067 "type" : "header",
4068 "value" : "inner_tcp"
4069 }
4070 ],
4071 "source_info" : {
4072 "filename" : "include/control/spgw.p4",
4073 "line" : 54,
4074 "column" : 8,
4075 "source_fragment" : "hdr.inner_tcp.setInvalid()"
4076 }
4077 }
4078 ]
4079 },
4080 {
4081 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
4082 "id" : 34,
4083 "runtime_data" : [],
4084 "primitives" : [
4085 {
4086 "op" : "assign",
4087 "parameters" : [
4088 {
4089 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004090 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004091 },
4092 {
4093 "type" : "hexstr",
4094 "value" : "0x0800"
4095 }
4096 ],
4097 "source_info" : {
4098 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004099 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004100 "column" : 31,
4101 "source_fragment" : "0x0800; ..."
4102 }
4103 },
4104 {
4105 "op" : "assign",
4106 "parameters" : [
4107 {
4108 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004109 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004110 },
4111 {
4112 "type" : "field",
4113 "value" : ["inner_ipv4", "protocol"]
4114 }
4115 ],
4116 "source_info" : {
4117 "filename" : "include/control/spgw.p4",
4118 "line" : 39,
4119 "column" : 27,
4120 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4121 }
4122 },
4123 {
4124 "op" : "assign",
4125 "parameters" : [
4126 {
4127 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004128 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004129 },
4130 {
4131 "type" : "field",
4132 "value" : ["inner_ipv4", "src_addr"]
4133 }
4134 ],
4135 "source_info" : {
4136 "filename" : "include/control/spgw.p4",
4137 "line" : 40,
4138 "column" : 32,
4139 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4140 }
4141 },
4142 {
4143 "op" : "assign",
4144 "parameters" : [
4145 {
4146 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004147 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004148 },
4149 {
4150 "type" : "field",
4151 "value" : ["inner_ipv4", "dst_addr"]
4152 }
4153 ],
4154 "source_info" : {
4155 "filename" : "include/control/spgw.p4",
4156 "line" : 41,
4157 "column" : 32,
4158 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4159 }
4160 },
4161 {
4162 "op" : "assign",
4163 "parameters" : [
4164 {
4165 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004166 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004167 },
4168 {
4169 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004170 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004171 }
4172 ],
4173 "source_info" : {
4174 "filename" : "include/control/spgw.p4",
4175 "line" : 42,
4176 "column" : 27,
4177 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4178 }
4179 },
4180 {
4181 "op" : "assign",
4182 "parameters" : [
4183 {
4184 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004185 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004186 },
4187 {
4188 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004189 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004190 }
4191 ],
4192 "source_info" : {
4193 "filename" : "include/control/spgw.p4",
4194 "line" : 43,
4195 "column" : 27,
4196 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4197 }
4198 },
4199 {
4200 "op" : "assign_header",
4201 "parameters" : [
4202 {
4203 "type" : "header",
4204 "value" : "ipv4"
4205 },
4206 {
4207 "type" : "header",
4208 "value" : "inner_ipv4"
4209 }
4210 ],
4211 "source_info" : {
4212 "filename" : "include/control/spgw.p4",
4213 "line" : 45,
4214 "column" : 8,
4215 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4216 }
4217 },
4218 {
4219 "op" : "remove_header",
4220 "parameters" : [
4221 {
4222 "type" : "header",
4223 "value" : "inner_ipv4"
4224 }
4225 ],
4226 "source_info" : {
4227 "filename" : "include/control/spgw.p4",
4228 "line" : 46,
4229 "column" : 8,
4230 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4231 }
4232 },
4233 {
4234 "op" : "remove_header",
4235 "parameters" : [
4236 {
4237 "type" : "header",
4238 "value" : "gtpu"
4239 }
4240 ],
4241 "source_info" : {
4242 "filename" : "include/control/spgw.p4",
4243 "line" : 47,
4244 "column" : 8,
4245 "source_fragment" : "hdr.gtpu.setInvalid()"
4246 }
4247 },
4248 {
4249 "op" : "assign_header",
4250 "parameters" : [
4251 {
4252 "type" : "header",
4253 "value" : "udp"
4254 },
4255 {
4256 "type" : "header",
4257 "value" : "inner_udp"
4258 }
4259 ],
4260 "source_info" : {
4261 "filename" : "include/control/spgw.p4",
4262 "line" : 59,
4263 "column" : 8,
4264 "source_fragment" : "hdr.udp = hdr.inner_udp"
4265 }
4266 },
4267 {
4268 "op" : "remove_header",
4269 "parameters" : [
4270 {
4271 "type" : "header",
4272 "value" : "inner_udp"
4273 }
4274 ],
4275 "source_info" : {
4276 "filename" : "include/control/spgw.p4",
4277 "line" : 60,
4278 "column" : 8,
4279 "source_fragment" : "hdr.inner_udp.setInvalid()"
4280 }
4281 }
4282 ]
4283 },
4284 {
4285 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
4286 "id" : 35,
4287 "runtime_data" : [],
4288 "primitives" : [
4289 {
4290 "op" : "assign",
4291 "parameters" : [
4292 {
4293 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004294 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004295 },
4296 {
4297 "type" : "hexstr",
4298 "value" : "0x0800"
4299 }
4300 ],
4301 "source_info" : {
4302 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004303 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004304 "column" : 31,
4305 "source_fragment" : "0x0800; ..."
4306 }
4307 },
4308 {
4309 "op" : "assign",
4310 "parameters" : [
4311 {
4312 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004313 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004314 },
4315 {
4316 "type" : "field",
4317 "value" : ["inner_ipv4", "protocol"]
4318 }
4319 ],
4320 "source_info" : {
4321 "filename" : "include/control/spgw.p4",
4322 "line" : 39,
4323 "column" : 27,
4324 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4325 }
4326 },
4327 {
4328 "op" : "assign",
4329 "parameters" : [
4330 {
4331 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004332 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004333 },
4334 {
4335 "type" : "field",
4336 "value" : ["inner_ipv4", "src_addr"]
4337 }
4338 ],
4339 "source_info" : {
4340 "filename" : "include/control/spgw.p4",
4341 "line" : 40,
4342 "column" : 32,
4343 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4344 }
4345 },
4346 {
4347 "op" : "assign",
4348 "parameters" : [
4349 {
4350 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004351 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004352 },
4353 {
4354 "type" : "field",
4355 "value" : ["inner_ipv4", "dst_addr"]
4356 }
4357 ],
4358 "source_info" : {
4359 "filename" : "include/control/spgw.p4",
4360 "line" : 41,
4361 "column" : 32,
4362 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4363 }
4364 },
4365 {
4366 "op" : "assign",
4367 "parameters" : [
4368 {
4369 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004370 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004371 },
4372 {
4373 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004374 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004375 }
4376 ],
4377 "source_info" : {
4378 "filename" : "include/control/spgw.p4",
4379 "line" : 42,
4380 "column" : 27,
4381 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4382 }
4383 },
4384 {
4385 "op" : "assign",
4386 "parameters" : [
4387 {
4388 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004389 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004390 },
4391 {
4392 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004393 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004394 }
4395 ],
4396 "source_info" : {
4397 "filename" : "include/control/spgw.p4",
4398 "line" : 43,
4399 "column" : 27,
4400 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4401 }
4402 },
4403 {
4404 "op" : "assign_header",
4405 "parameters" : [
4406 {
4407 "type" : "header",
4408 "value" : "ipv4"
4409 },
4410 {
4411 "type" : "header",
4412 "value" : "inner_ipv4"
4413 }
4414 ],
4415 "source_info" : {
4416 "filename" : "include/control/spgw.p4",
4417 "line" : 45,
4418 "column" : 8,
4419 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4420 }
4421 },
4422 {
4423 "op" : "remove_header",
4424 "parameters" : [
4425 {
4426 "type" : "header",
4427 "value" : "inner_ipv4"
4428 }
4429 ],
4430 "source_info" : {
4431 "filename" : "include/control/spgw.p4",
4432 "line" : 46,
4433 "column" : 8,
4434 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4435 }
4436 },
4437 {
4438 "op" : "remove_header",
4439 "parameters" : [
4440 {
4441 "type" : "header",
4442 "value" : "gtpu"
4443 }
4444 ],
4445 "source_info" : {
4446 "filename" : "include/control/spgw.p4",
4447 "line" : 47,
4448 "column" : 8,
4449 "source_fragment" : "hdr.gtpu.setInvalid()"
4450 }
4451 },
4452 {
4453 "op" : "remove_header",
4454 "parameters" : [
4455 {
4456 "type" : "header",
4457 "value" : "udp"
4458 }
4459 ],
4460 "source_info" : {
4461 "filename" : "include/control/spgw.p4",
4462 "line" : 65,
4463 "column" : 8,
4464 "source_fragment" : "hdr.udp.setInvalid()"
4465 }
4466 },
4467 {
4468 "op" : "assign_header",
4469 "parameters" : [
4470 {
4471 "type" : "header",
4472 "value" : "icmp"
4473 },
4474 {
4475 "type" : "header",
4476 "value" : "inner_icmp"
4477 }
4478 ],
4479 "source_info" : {
4480 "filename" : "include/control/spgw.p4",
4481 "line" : 66,
4482 "column" : 8,
4483 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
4484 }
4485 },
4486 {
4487 "op" : "remove_header",
4488 "parameters" : [
4489 {
4490 "type" : "header",
4491 "value" : "inner_icmp"
4492 }
4493 ],
4494 "source_info" : {
4495 "filename" : "include/control/spgw.p4",
4496 "line" : 67,
4497 "column" : 8,
4498 "source_fragment" : "hdr.inner_icmp.setInvalid()"
4499 }
4500 }
4501 ]
4502 },
4503 {
4504 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
4505 "id" : 36,
4506 "runtime_data" : [],
4507 "primitives" : [
4508 {
4509 "op" : "assign",
4510 "parameters" : [
4511 {
4512 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004513 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004514 },
4515 {
4516 "type" : "hexstr",
4517 "value" : "0x0800"
4518 }
4519 ],
4520 "source_info" : {
4521 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004522 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004523 "column" : 31,
4524 "source_fragment" : "0x0800; ..."
4525 }
4526 },
4527 {
4528 "op" : "assign",
4529 "parameters" : [
4530 {
4531 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004532 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004533 },
4534 {
4535 "type" : "field",
4536 "value" : ["inner_ipv4", "protocol"]
4537 }
4538 ],
4539 "source_info" : {
4540 "filename" : "include/control/spgw.p4",
4541 "line" : 39,
4542 "column" : 27,
4543 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4544 }
4545 },
4546 {
4547 "op" : "assign",
4548 "parameters" : [
4549 {
4550 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004551 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004552 },
4553 {
4554 "type" : "field",
4555 "value" : ["inner_ipv4", "src_addr"]
4556 }
4557 ],
4558 "source_info" : {
4559 "filename" : "include/control/spgw.p4",
4560 "line" : 40,
4561 "column" : 32,
4562 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4563 }
4564 },
4565 {
4566 "op" : "assign",
4567 "parameters" : [
4568 {
4569 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004570 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004571 },
4572 {
4573 "type" : "field",
4574 "value" : ["inner_ipv4", "dst_addr"]
4575 }
4576 ],
4577 "source_info" : {
4578 "filename" : "include/control/spgw.p4",
4579 "line" : 41,
4580 "column" : 32,
4581 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4582 }
4583 },
4584 {
4585 "op" : "assign",
4586 "parameters" : [
4587 {
4588 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004589 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004590 },
4591 {
4592 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004593 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004594 }
4595 ],
4596 "source_info" : {
4597 "filename" : "include/control/spgw.p4",
4598 "line" : 42,
4599 "column" : 27,
4600 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4601 }
4602 },
4603 {
4604 "op" : "assign",
4605 "parameters" : [
4606 {
4607 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004608 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004609 },
4610 {
4611 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004612 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004613 }
4614 ],
4615 "source_info" : {
4616 "filename" : "include/control/spgw.p4",
4617 "line" : 43,
4618 "column" : 27,
4619 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4620 }
4621 },
4622 {
4623 "op" : "assign_header",
4624 "parameters" : [
4625 {
4626 "type" : "header",
4627 "value" : "ipv4"
4628 },
4629 {
4630 "type" : "header",
4631 "value" : "inner_ipv4"
4632 }
4633 ],
4634 "source_info" : {
4635 "filename" : "include/control/spgw.p4",
4636 "line" : 45,
4637 "column" : 8,
4638 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4639 }
4640 },
4641 {
4642 "op" : "remove_header",
4643 "parameters" : [
4644 {
4645 "type" : "header",
4646 "value" : "inner_ipv4"
4647 }
4648 ],
4649 "source_info" : {
4650 "filename" : "include/control/spgw.p4",
4651 "line" : 46,
4652 "column" : 8,
4653 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4654 }
4655 },
4656 {
4657 "op" : "remove_header",
4658 "parameters" : [
4659 {
4660 "type" : "header",
4661 "value" : "gtpu"
4662 }
4663 ],
4664 "source_info" : {
4665 "filename" : "include/control/spgw.p4",
4666 "line" : 47,
4667 "column" : 8,
4668 "source_fragment" : "hdr.gtpu.setInvalid()"
4669 }
4670 },
4671 {
4672 "op" : "remove_header",
4673 "parameters" : [
4674 {
4675 "type" : "header",
4676 "value" : "udp"
4677 }
4678 ],
4679 "source_info" : {
4680 "filename" : "include/control/spgw.p4",
4681 "line" : 72,
4682 "column" : 8,
4683 "source_fragment" : "hdr.udp.setInvalid()"
4684 }
4685 }
4686 ]
4687 },
4688 {
4689 "name" : "FabricIngress.spgw.load_iface",
4690 "id" : 37,
Robert MacDavidde12b982020-07-15 18:38:59 -07004691 "runtime_data" : [
4692 {
4693 "name" : "src_iface",
4694 "bitwidth" : 8
Robert MacDavidde12b982020-07-15 18:38:59 -07004695 }
4696 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004697 "primitives" : [
4698 {
4699 "op" : "assign",
4700 "parameters" : [
4701 {
4702 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004703 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004704 },
4705 {
4706 "type" : "runtime_data",
4707 "value" : 0
4708 }
4709 ],
4710 "source_info" : {
4711 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004712 "line" : 120,
Robert MacDavidde12b982020-07-15 18:38:59 -07004713 "column" : 33,
4714 "source_fragment" : "= src_iface; ..."
4715 }
4716 },
4717 {
4718 "op" : "assign",
4719 "parameters" : [
4720 {
4721 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004722 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004723 },
4724 {
4725 "type" : "expression",
4726 "value" : {
4727 "type" : "expression",
4728 "value" : {
4729 "op" : "b2d",
4730 "left" : null,
4731 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004732 "type" : "bool",
4733 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07004734 }
4735 }
4736 }
4737 }
4738 ],
4739 "source_info" : {
4740 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004741 "line" : 121,
Robert MacDavidde12b982020-07-15 18:38:59 -07004742 "column" : 33,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004743 "source_fragment" : "= false; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004744 }
4745 }
4746 ]
4747 },
4748 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004749 "name" : "FabricIngress.spgw.iface_miss",
4750 "id" : 38,
4751 "runtime_data" : [],
4752 "primitives" : [
4753 {
4754 "op" : "assign",
4755 "parameters" : [
4756 {
4757 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004758 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004759 },
4760 {
4761 "type" : "hexstr",
4762 "value" : "0x00"
4763 }
4764 ],
4765 "source_info" : {
4766 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004767 "line" : 110,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004768 "column" : 44,
4769 "source_fragment" : "8w0; ..."
4770 }
4771 },
4772 {
4773 "op" : "assign",
4774 "parameters" : [
4775 {
4776 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004777 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004778 },
4779 {
4780 "type" : "expression",
4781 "value" : {
4782 "type" : "expression",
4783 "value" : {
4784 "op" : "b2d",
4785 "left" : null,
4786 "right" : {
4787 "type" : "bool",
4788 "value" : true
4789 }
4790 }
4791 }
4792 }
4793 ],
4794 "source_info" : {
4795 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004796 "line" : 125,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004797 "column" : 33,
4798 "source_fragment" : "= true; ..."
4799 }
4800 }
4801 ]
4802 },
4803 {
4804 "name" : "FabricIngress.spgw.load_pdr",
4805 "id" : 39,
Robert MacDavidde12b982020-07-15 18:38:59 -07004806 "runtime_data" : [
4807 {
4808 "name" : "ctr_id",
4809 "bitwidth" : 32
4810 },
4811 {
4812 "name" : "far_id",
4813 "bitwidth" : 32
4814 },
4815 {
4816 "name" : "needs_gtpu_decap",
4817 "bitwidth" : 1
4818 }
4819 ],
4820 "primitives" : [
4821 {
4822 "op" : "assign",
4823 "parameters" : [
4824 {
4825 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004826 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004827 },
4828 {
4829 "type" : "runtime_data",
4830 "value" : 0
4831 }
4832 ],
4833 "source_info" : {
4834 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004835 "line" : 150,
Robert MacDavidde12b982020-07-15 18:38:59 -07004836 "column" : 30,
4837 "source_fragment" : "= ctr_id; ..."
4838 }
4839 },
4840 {
4841 "op" : "assign",
4842 "parameters" : [
4843 {
4844 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004845 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004846 },
4847 {
4848 "type" : "runtime_data",
4849 "value" : 1
4850 }
4851 ],
4852 "source_info" : {
4853 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004854 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004855 "column" : 30,
4856 "source_fragment" : "= far_id; ..."
4857 }
4858 },
4859 {
4860 "op" : "assign",
4861 "parameters" : [
4862 {
4863 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004864 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004865 },
4866 {
4867 "type" : "expression",
4868 "value" : {
4869 "type" : "expression",
4870 "value" : {
4871 "op" : "b2d",
4872 "left" : null,
4873 "right" : {
4874 "type" : "expression",
4875 "value" : {
4876 "op" : "!=",
4877 "left" : {
4878 "type" : "local",
4879 "value" : 2
4880 },
4881 "right" : {
4882 "type" : "hexstr",
4883 "value" : "0x00"
4884 }
4885 }
4886 }
4887 }
4888 }
4889 }
4890 ],
4891 "source_info" : {
4892 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004893 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004894 "column" : 40,
4895 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
4896 }
4897 }
4898 ]
4899 },
4900 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004901 "name" : "FabricIngress.spgw.load_pdr",
4902 "id" : 40,
Robert MacDavidde12b982020-07-15 18:38:59 -07004903 "runtime_data" : [
4904 {
4905 "name" : "ctr_id",
4906 "bitwidth" : 32
4907 },
4908 {
4909 "name" : "far_id",
4910 "bitwidth" : 32
4911 },
4912 {
4913 "name" : "needs_gtpu_decap",
4914 "bitwidth" : 1
4915 }
4916 ],
4917 "primitives" : [
4918 {
4919 "op" : "assign",
4920 "parameters" : [
4921 {
4922 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004923 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004924 },
4925 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004926 "type" : "runtime_data",
4927 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004928 }
4929 ],
4930 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004931 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004932 "line" : 150,
Robert MacDavidde12b982020-07-15 18:38:59 -07004933 "column" : 30,
4934 "source_fragment" : "= ctr_id; ..."
4935 }
4936 },
4937 {
4938 "op" : "assign",
4939 "parameters" : [
4940 {
4941 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004942 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004943 },
4944 {
4945 "type" : "runtime_data",
4946 "value" : 1
4947 }
4948 ],
4949 "source_info" : {
4950 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004951 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004952 "column" : 30,
4953 "source_fragment" : "= far_id; ..."
4954 }
4955 },
4956 {
4957 "op" : "assign",
4958 "parameters" : [
4959 {
4960 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004961 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004962 },
4963 {
4964 "type" : "expression",
4965 "value" : {
4966 "type" : "expression",
4967 "value" : {
4968 "op" : "b2d",
4969 "left" : null,
4970 "right" : {
4971 "type" : "expression",
4972 "value" : {
4973 "op" : "!=",
4974 "left" : {
4975 "type" : "local",
4976 "value" : 2
4977 },
4978 "right" : {
4979 "type" : "hexstr",
4980 "value" : "0x00"
4981 }
4982 }
4983 }
4984 }
4985 }
4986 }
4987 ],
4988 "source_info" : {
4989 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004990 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004991 "column" : 40,
4992 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004993 }
4994 }
4995 ]
4996 },
4997 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004998 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004999 "id" : 41,
Robert MacDavidde12b982020-07-15 18:38:59 -07005000 "runtime_data" : [
5001 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005002 "name" : "ctr_id",
5003 "bitwidth" : 32
5004 },
5005 {
5006 "name" : "far_id",
5007 "bitwidth" : 32
5008 },
5009 {
5010 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07005011 "bitwidth" : 1
5012 },
5013 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005014 "name" : "qid",
5015 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005016 }
5017 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005018 "primitives" : [
5019 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005020 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005021 "parameters" : [
5022 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005023 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005024 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005025 },
5026 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005027 "type" : "runtime_data",
5028 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005029 }
5030 ],
5031 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005032 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005033 "line" : 150,
ersuneetsinghe326c722021-03-25 21:17:29 -03005034 "column" : 30,
5035 "source_fragment" : "= ctr_id; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005036 }
5037 },
5038 {
5039 "op" : "assign",
5040 "parameters" : [
5041 {
5042 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005043 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005044 },
5045 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005046 "type" : "runtime_data",
5047 "value" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005048 }
5049 ],
5050 "source_info" : {
5051 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005052 "line" : 151,
ersuneetsinghe326c722021-03-25 21:17:29 -03005053 "column" : 30,
5054 "source_fragment" : "= far_id; ..."
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005055 }
5056 },
5057 {
5058 "op" : "assign",
5059 "parameters" : [
5060 {
5061 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005062 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005063 },
5064 {
5065 "type" : "expression",
5066 "value" : {
5067 "type" : "expression",
5068 "value" : {
5069 "op" : "b2d",
5070 "left" : null,
5071 "right" : {
5072 "type" : "expression",
5073 "value" : {
5074 "op" : "!=",
5075 "left" : {
5076 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03005077 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005078 },
5079 "right" : {
5080 "type" : "hexstr",
5081 "value" : "0x00"
5082 }
5083 }
5084 }
5085 }
5086 }
5087 }
5088 ],
5089 "source_info" : {
5090 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005091 "line" : 152,
ersuneetsinghe326c722021-03-25 21:17:29 -03005092 "column" : 40,
5093 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005094 }
5095 }
5096 ]
5097 },
5098 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005099 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005100 "id" : 42,
Robert MacDavidde12b982020-07-15 18:38:59 -07005101 "runtime_data" : [
5102 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005103 "name" : "ctr_id",
5104 "bitwidth" : 32
5105 },
5106 {
5107 "name" : "far_id",
5108 "bitwidth" : 32
5109 },
5110 {
5111 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07005112 "bitwidth" : 1
5113 },
5114 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005115 "name" : "qid",
5116 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005117 }
5118 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005119 "primitives" : [
5120 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005121 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005122 "parameters" : [
5123 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005124 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005125 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005126 },
5127 {
5128 "type" : "runtime_data",
5129 "value" : 0
5130 }
5131 ],
5132 "source_info" : {
5133 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005134 "line" : 150,
ersuneetsinghe326c722021-03-25 21:17:29 -03005135 "column" : 30,
5136 "source_fragment" : "= ctr_id; ..."
5137 }
5138 },
5139 {
5140 "op" : "assign",
5141 "parameters" : [
5142 {
5143 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005144 "value" : ["scalars", "userMetadata._spgw_far_id25"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005145 },
5146 {
5147 "type" : "runtime_data",
5148 "value" : 1
5149 }
5150 ],
5151 "source_info" : {
5152 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005153 "line" : 151,
ersuneetsinghe326c722021-03-25 21:17:29 -03005154 "column" : 30,
5155 "source_fragment" : "= far_id; ..."
5156 }
5157 },
5158 {
5159 "op" : "assign",
5160 "parameters" : [
5161 {
5162 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005163 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005164 },
5165 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005166 "type" : "expression",
5167 "value" : {
5168 "type" : "expression",
5169 "value" : {
5170 "op" : "b2d",
5171 "left" : null,
5172 "right" : {
5173 "type" : "expression",
5174 "value" : {
5175 "op" : "!=",
5176 "left" : {
5177 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03005178 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005179 },
5180 "right" : {
5181 "type" : "hexstr",
5182 "value" : "0x00"
5183 }
5184 }
5185 }
5186 }
5187 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005188 }
5189 ],
5190 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005191 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005192 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07005193 "column" : 40,
ersuneetsinghe326c722021-03-25 21:17:29 -03005194 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005195 }
5196 }
5197 ]
5198 },
5199 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005200 "name" : "FabricIngress.spgw.load_normal_far",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005201 "id" : 43,
5202 "runtime_data" : [
5203 {
5204 "name" : "drop",
5205 "bitwidth" : 1
5206 },
5207 {
5208 "name" : "notify_cp",
5209 "bitwidth" : 1
ersuneetsinghe326c722021-03-25 21:17:29 -03005210 }
5211 ],
5212 "primitives" : [
5213 {
5214 "op" : "assign",
5215 "parameters" : [
5216 {
5217 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005218 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5219 },
5220 {
5221 "type" : "expression",
5222 "value" : {
5223 "type" : "expression",
5224 "value" : {
5225 "op" : "b2d",
5226 "left" : null,
5227 "right" : {
5228 "type" : "expression",
5229 "value" : {
5230 "op" : "!=",
5231 "left" : {
5232 "type" : "local",
5233 "value" : 0
5234 },
5235 "right" : {
5236 "type" : "hexstr",
5237 "value" : "0x00"
5238 }
5239 }
5240 }
5241 }
5242 }
5243 }
5244 ],
5245 "source_info" : {
5246 "filename" : "include/control/spgw.p4",
5247 "line" : 195,
5248 "column" : 34,
5249 "source_fragment" : "= (bool)drop; ..."
5250 }
5251 },
5252 {
5253 "op" : "assign",
5254 "parameters" : [
5255 {
5256 "type" : "field",
5257 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005258 },
5259 {
5260 "type" : "expression",
5261 "value" : {
5262 "type" : "expression",
5263 "value" : {
5264 "op" : "b2d",
5265 "left" : null,
5266 "right" : {
5267 "type" : "expression",
5268 "value" : {
5269 "op" : "!=",
5270 "left" : {
5271 "type" : "local",
5272 "value" : 0
5273 },
5274 "right" : {
5275 "type" : "hexstr",
5276 "value" : "0x00"
5277 }
5278 }
5279 }
5280 }
5281 }
5282 }
5283 ],
5284 "source_info" : {
5285 "filename" : "include/control/spgw.p4",
5286 "line" : 196,
ersuneetsinghe326c722021-03-25 21:17:29 -03005287 "column" : 28,
5288 "source_fragment" : "= (bool)drop; ..."
5289 }
5290 },
5291 {
5292 "op" : "assign",
5293 "parameters" : [
5294 {
5295 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005296 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005297 },
5298 {
5299 "type" : "expression",
5300 "value" : {
5301 "type" : "expression",
5302 "value" : {
5303 "op" : "b2d",
5304 "left" : null,
5305 "right" : {
5306 "type" : "expression",
5307 "value" : {
5308 "op" : "!=",
5309 "left" : {
5310 "type" : "local",
5311 "value" : 1
5312 },
5313 "right" : {
5314 "type" : "hexstr",
5315 "value" : "0x00"
5316 }
5317 }
5318 }
5319 }
5320 }
5321 }
5322 ],
5323 "source_info" : {
5324 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005325 "line" : 197,
ersuneetsinghe326c722021-03-25 21:17:29 -03005326 "column" : 36,
5327 "source_fragment" : "= (bool)notify_cp; ..."
5328 }
5329 }
5330 ]
5331 },
5332 {
5333 "name" : "FabricIngress.spgw.load_tunnel_far",
5334 "id" : 44,
5335 "runtime_data" : [
5336 {
5337 "name" : "drop",
5338 "bitwidth" : 1
5339 },
5340 {
5341 "name" : "notify_cp",
5342 "bitwidth" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005343 },
5344 {
5345 "name" : "tunnel_src_port",
5346 "bitwidth" : 16
5347 },
5348 {
5349 "name" : "tunnel_src_addr",
5350 "bitwidth" : 32
5351 },
5352 {
5353 "name" : "tunnel_dst_addr",
5354 "bitwidth" : 32
5355 },
5356 {
5357 "name" : "teid",
5358 "bitwidth" : 32
5359 }
5360 ],
Robert MacDavidde12b982020-07-15 18:38:59 -07005361 "primitives" : [
5362 {
5363 "op" : "assign",
5364 "parameters" : [
5365 {
5366 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005367 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5368 },
5369 {
5370 "type" : "expression",
5371 "value" : {
5372 "type" : "expression",
5373 "value" : {
5374 "op" : "b2d",
5375 "left" : null,
5376 "right" : {
5377 "type" : "expression",
5378 "value" : {
5379 "op" : "!=",
5380 "left" : {
5381 "type" : "local",
5382 "value" : 0
5383 },
5384 "right" : {
5385 "type" : "hexstr",
5386 "value" : "0x00"
5387 }
5388 }
5389 }
5390 }
5391 }
5392 }
5393 ],
5394 "source_info" : {
5395 "filename" : "include/control/spgw.p4",
5396 "line" : 206,
5397 "column" : 34,
5398 "source_fragment" : "= (bool)drop; ..."
5399 }
5400 },
5401 {
5402 "op" : "assign",
5403 "parameters" : [
5404 {
5405 "type" : "field",
5406 "value" : ["scalars", "userMetadata._skip_next7"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005407 },
5408 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005409 "type" : "expression",
5410 "value" : {
5411 "type" : "expression",
5412 "value" : {
5413 "op" : "b2d",
5414 "left" : null,
5415 "right" : {
5416 "type" : "expression",
5417 "value" : {
5418 "op" : "!=",
5419 "left" : {
5420 "type" : "local",
5421 "value" : 0
5422 },
5423 "right" : {
5424 "type" : "hexstr",
5425 "value" : "0x00"
5426 }
5427 }
5428 }
5429 }
5430 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005431 }
5432 ],
5433 "source_info" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005434 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005435 "line" : 207,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005436 "column" : 28,
5437 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005438 }
5439 },
5440 {
5441 "op" : "assign",
5442 "parameters" : [
5443 {
5444 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005445 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005446 },
5447 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005448 "type" : "expression",
5449 "value" : {
5450 "type" : "expression",
5451 "value" : {
5452 "op" : "b2d",
5453 "left" : null,
5454 "right" : {
5455 "type" : "expression",
5456 "value" : {
5457 "op" : "!=",
5458 "left" : {
5459 "type" : "local",
5460 "value" : 1
5461 },
5462 "right" : {
5463 "type" : "hexstr",
5464 "value" : "0x00"
5465 }
5466 }
5467 }
5468 }
5469 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005470 }
5471 ],
5472 "source_info" : {
5473 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005474 "line" : 208,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005475 "column" : 36,
5476 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005477 }
5478 },
5479 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005480 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005481 "parameters" : [
5482 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005483 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005484 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005485 },
5486 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005487 "type" : "expression",
5488 "value" : {
5489 "type" : "expression",
5490 "value" : {
5491 "op" : "b2d",
5492 "left" : null,
5493 "right" : {
5494 "type" : "bool",
5495 "value" : true
5496 }
5497 }
5498 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005499 }
5500 ],
5501 "source_info" : {
5502 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005503 "line" : 210,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005504 "column" : 40,
5505 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005506 }
5507 },
5508 {
5509 "op" : "assign",
5510 "parameters" : [
5511 {
5512 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005513 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005514 },
5515 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005516 "type" : "runtime_data",
5517 "value" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005518 }
5519 ],
5520 "source_info" : {
5521 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005522 "line" : 211,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005523 "column" : 28,
5524 "source_fragment" : "= teid; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005525 }
5526 },
5527 {
5528 "op" : "assign",
5529 "parameters" : [
5530 {
5531 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005532 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005533 },
5534 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005535 "type" : "runtime_data",
5536 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005537 }
5538 ],
5539 "source_info" : {
5540 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005541 "line" : 212,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005542 "column" : 39,
5543 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005544 }
5545 },
5546 {
5547 "op" : "assign",
5548 "parameters" : [
5549 {
5550 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005551 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005552 },
5553 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005554 "type" : "runtime_data",
5555 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005556 }
5557 ],
5558 "source_info" : {
5559 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005560 "line" : 213,
5561 "column" : 39,
5562 "source_fragment" : "= tunnel_src_addr; ..."
5563 }
5564 },
5565 {
5566 "op" : "assign",
5567 "parameters" : [
5568 {
5569 "type" : "field",
5570 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5571 },
5572 {
5573 "type" : "runtime_data",
5574 "value" : 4
5575 }
5576 ],
5577 "source_info" : {
5578 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005579 "line" : 214,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005580 "column" : 39,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005581 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005582 }
5583 },
5584 {
5585 "op" : "assign",
5586 "parameters" : [
5587 {
5588 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005589 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005590 },
5591 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005592 "type" : "runtime_data",
5593 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005594 }
5595 ],
5596 "source_info" : {
5597 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005598 "line" : 216,
Robert MacDavidde12b982020-07-15 18:38:59 -07005599 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005600 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005601 }
5602 },
5603 {
5604 "op" : "assign",
5605 "parameters" : [
5606 {
5607 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005608 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005609 },
5610 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005611 "type" : "runtime_data",
5612 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07005613 }
5614 ],
5615 "source_info" : {
5616 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005617 "line" : 217,
Robert MacDavidde12b982020-07-15 18:38:59 -07005618 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005619 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005620 }
5621 },
5622 {
5623 "op" : "assign",
5624 "parameters" : [
5625 {
5626 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005627 "value" : ["scalars", "userMetadata._l4_sport13"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005628 },
5629 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005630 "type" : "runtime_data",
5631 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005632 }
5633 ],
5634 "source_info" : {
5635 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005636 "line" : 218,
Robert MacDavidde12b982020-07-15 18:38:59 -07005637 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005638 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005639 }
5640 },
5641 {
5642 "op" : "assign",
5643 "parameters" : [
5644 {
5645 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005646 "value" : ["scalars", "userMetadata._l4_dport14"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005647 },
5648 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005649 "type" : "hexstr",
5650 "value" : "0x0868"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005651 }
5652 ],
5653 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005654 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005655 "line" : 219,
ersuneetsinghe326c722021-03-25 21:17:29 -03005656 "column" : 27,
5657 "source_fragment" : "= 2152; ..."
5658 }
5659 }
5660 ]
5661 },
5662 {
5663 "name" : "FabricIngress.spgw.load_dbuf_far",
5664 "id" : 45,
5665 "runtime_data" : [
5666 {
5667 "name" : "drop",
5668 "bitwidth" : 1
5669 },
5670 {
5671 "name" : "notify_cp",
5672 "bitwidth" : 1
5673 },
5674 {
5675 "name" : "tunnel_src_port",
5676 "bitwidth" : 16
5677 },
5678 {
5679 "name" : "tunnel_src_addr",
5680 "bitwidth" : 32
5681 },
5682 {
5683 "name" : "tunnel_dst_addr",
5684 "bitwidth" : 32
5685 },
5686 {
5687 "name" : "teid",
5688 "bitwidth" : 32
5689 }
5690 ],
5691 "primitives" : [
5692 {
5693 "op" : "assign",
5694 "parameters" : [
5695 {
5696 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005697 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5698 },
5699 {
5700 "type" : "expression",
5701 "value" : {
5702 "type" : "expression",
5703 "value" : {
5704 "op" : "b2d",
5705 "left" : null,
5706 "right" : {
5707 "type" : "expression",
5708 "value" : {
5709 "op" : "!=",
5710 "left" : {
5711 "type" : "local",
5712 "value" : 0
5713 },
5714 "right" : {
5715 "type" : "hexstr",
5716 "value" : "0x00"
5717 }
5718 }
5719 }
5720 }
5721 }
5722 }
5723 ],
5724 "source_info" : {
5725 "filename" : "include/control/spgw.p4",
5726 "line" : 206,
5727 "column" : 34,
5728 "source_fragment" : "= (bool)drop; ..."
5729 }
5730 },
5731 {
5732 "op" : "assign",
5733 "parameters" : [
5734 {
5735 "type" : "field",
5736 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005737 },
5738 {
5739 "type" : "expression",
5740 "value" : {
5741 "type" : "expression",
5742 "value" : {
5743 "op" : "b2d",
5744 "left" : null,
5745 "right" : {
5746 "type" : "expression",
5747 "value" : {
5748 "op" : "!=",
5749 "left" : {
5750 "type" : "local",
5751 "value" : 0
5752 },
5753 "right" : {
5754 "type" : "hexstr",
5755 "value" : "0x00"
5756 }
5757 }
5758 }
5759 }
5760 }
5761 }
5762 ],
5763 "source_info" : {
5764 "filename" : "include/control/spgw.p4",
5765 "line" : 207,
ersuneetsinghe326c722021-03-25 21:17:29 -03005766 "column" : 28,
5767 "source_fragment" : "= (bool)drop; ..."
5768 }
5769 },
5770 {
5771 "op" : "assign",
5772 "parameters" : [
5773 {
5774 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005775 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005776 },
5777 {
5778 "type" : "expression",
5779 "value" : {
5780 "type" : "expression",
5781 "value" : {
5782 "op" : "b2d",
5783 "left" : null,
5784 "right" : {
5785 "type" : "expression",
5786 "value" : {
5787 "op" : "!=",
5788 "left" : {
5789 "type" : "local",
5790 "value" : 1
5791 },
5792 "right" : {
5793 "type" : "hexstr",
5794 "value" : "0x00"
5795 }
5796 }
5797 }
5798 }
5799 }
5800 }
5801 ],
5802 "source_info" : {
5803 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005804 "line" : 208,
ersuneetsinghe326c722021-03-25 21:17:29 -03005805 "column" : 36,
5806 "source_fragment" : "= (bool)notify_cp; ..."
5807 }
5808 },
5809 {
5810 "op" : "assign",
5811 "parameters" : [
5812 {
5813 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005814 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005815 },
5816 {
5817 "type" : "expression",
5818 "value" : {
5819 "type" : "expression",
5820 "value" : {
5821 "op" : "b2d",
5822 "left" : null,
5823 "right" : {
5824 "type" : "bool",
5825 "value" : true
5826 }
5827 }
5828 }
5829 }
5830 ],
5831 "source_info" : {
5832 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005833 "line" : 210,
ersuneetsinghe326c722021-03-25 21:17:29 -03005834 "column" : 40,
5835 "source_fragment" : "= true; ..."
5836 }
5837 },
5838 {
5839 "op" : "assign",
5840 "parameters" : [
5841 {
5842 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005843 "value" : ["scalars", "userMetadata._spgw_teid20"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005844 },
5845 {
5846 "type" : "runtime_data",
5847 "value" : 5
5848 }
5849 ],
5850 "source_info" : {
5851 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005852 "line" : 211,
ersuneetsinghe326c722021-03-25 21:17:29 -03005853 "column" : 28,
5854 "source_fragment" : "= teid; ..."
5855 }
5856 },
5857 {
5858 "op" : "assign",
5859 "parameters" : [
5860 {
5861 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005862 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005863 },
5864 {
5865 "type" : "runtime_data",
5866 "value" : 2
5867 }
5868 ],
5869 "source_info" : {
5870 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005871 "line" : 212,
ersuneetsinghe326c722021-03-25 21:17:29 -03005872 "column" : 39,
5873 "source_fragment" : "= tunnel_src_port; ..."
5874 }
5875 },
5876 {
5877 "op" : "assign",
5878 "parameters" : [
5879 {
5880 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005881 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005882 },
5883 {
5884 "type" : "runtime_data",
5885 "value" : 3
5886 }
5887 ],
5888 "source_info" : {
5889 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005890 "line" : 213,
5891 "column" : 39,
5892 "source_fragment" : "= tunnel_src_addr; ..."
5893 }
5894 },
5895 {
5896 "op" : "assign",
5897 "parameters" : [
5898 {
5899 "type" : "field",
5900 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5901 },
5902 {
5903 "type" : "runtime_data",
5904 "value" : 4
5905 }
5906 ],
5907 "source_info" : {
5908 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005909 "line" : 214,
5910 "column" : 39,
ersuneetsinghe326c722021-03-25 21:17:29 -03005911 "source_fragment" : "= tunnel_dst_addr; ..."
5912 }
5913 },
5914 {
5915 "op" : "assign",
5916 "parameters" : [
5917 {
5918 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005919 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005920 },
5921 {
5922 "type" : "runtime_data",
5923 "value" : 3
5924 }
5925 ],
5926 "source_info" : {
5927 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005928 "line" : 216,
ersuneetsinghe326c722021-03-25 21:17:29 -03005929 "column" : 32,
5930 "source_fragment" : "= tunnel_src_addr; ..."
5931 }
5932 },
5933 {
5934 "op" : "assign",
5935 "parameters" : [
5936 {
5937 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005938 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005939 },
5940 {
5941 "type" : "runtime_data",
5942 "value" : 4
5943 }
5944 ],
5945 "source_info" : {
5946 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005947 "line" : 217,
ersuneetsinghe326c722021-03-25 21:17:29 -03005948 "column" : 32,
5949 "source_fragment" : "= tunnel_dst_addr; ..."
5950 }
5951 },
5952 {
5953 "op" : "assign",
5954 "parameters" : [
5955 {
5956 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005957 "value" : ["scalars", "userMetadata._l4_sport13"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005958 },
5959 {
5960 "type" : "runtime_data",
5961 "value" : 2
5962 }
5963 ],
5964 "source_info" : {
5965 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005966 "line" : 218,
ersuneetsinghe326c722021-03-25 21:17:29 -03005967 "column" : 27,
5968 "source_fragment" : "= tunnel_src_port; ..."
5969 }
5970 },
5971 {
5972 "op" : "assign",
5973 "parameters" : [
5974 {
5975 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005976 "value" : ["scalars", "userMetadata._l4_dport14"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005977 },
5978 {
5979 "type" : "hexstr",
5980 "value" : "0x0868"
5981 }
5982 ],
5983 "source_info" : {
5984 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005985 "line" : 219,
Robert MacDavidde12b982020-07-15 18:38:59 -07005986 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005987 "source_fragment" : "= 2152; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005988 }
5989 },
5990 {
5991 "op" : "assign",
5992 "parameters" : [
5993 {
5994 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005995 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005996 },
5997 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005998 "type" : "expression",
5999 "value" : {
6000 "type" : "expression",
6001 "value" : {
6002 "op" : "b2d",
6003 "left" : null,
6004 "right" : {
6005 "type" : "bool",
6006 "value" : true
6007 }
6008 }
6009 }
Robert MacDavidde12b982020-07-15 18:38:59 -07006010 }
6011 ],
6012 "source_info" : {
6013 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006014 "line" : 230,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006015 "column" : 43,
6016 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006017 }
6018 }
6019 ]
6020 },
6021 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006022 "name" : "packetio25",
ersuneetsinghe326c722021-03-25 21:17:29 -03006023 "id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006024 "runtime_data" : [],
6025 "primitives" : [
6026 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006027 "op" : "assign",
6028 "parameters" : [
6029 {
6030 "type" : "field",
6031 "value" : ["standard_metadata", "egress_spec"]
6032 },
6033 {
6034 "type" : "field",
6035 "value" : ["packet_out", "egress_port"]
6036 }
6037 ],
6038 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006039 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006040 "line" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006041 "column" : 12,
6042 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
6043 }
6044 },
6045 {
6046 "op" : "remove_header",
6047 "parameters" : [
6048 {
6049 "type" : "header",
6050 "value" : "packet_out"
6051 }
6052 ],
6053 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006054 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006055 "line" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006056 "column" : 12,
6057 "source_fragment" : "hdr.packet_out.setInvalid()"
6058 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006059 },
6060 {
6061 "op" : "assign",
6062 "parameters" : [
6063 {
6064 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006065 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006066 },
6067 {
6068 "type" : "expression",
6069 "value" : {
6070 "type" : "expression",
6071 "value" : {
6072 "op" : "b2d",
6073 "left" : null,
6074 "right" : {
6075 "type" : "bool",
6076 "value" : true
6077 }
6078 }
6079 }
6080 }
6081 ],
6082 "source_info" : {
6083 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006084 "line" : 27,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006085 "column" : 53,
6086 "source_fragment" : "= true; ..."
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006087 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006088 },
6089 {
6090 "op" : "exit",
6091 "parameters" : [],
6092 "source_info" : {
6093 "filename" : "include/control/packetio.p4",
6094 "line" : 29,
6095 "column" : 12,
6096 "source_fragment" : "exit"
6097 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006098 }
6099 ]
6100 },
6101 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006102 "name" : "spgw265",
ersuneetsinghe326c722021-03-25 21:17:29 -03006103 "id" : 47,
Robert MacDavidde12b982020-07-15 18:38:59 -07006104 "runtime_data" : [],
6105 "primitives" : [
6106 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006107 "op" : "count",
6108 "parameters" : [
6109 {
6110 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006111 "value" : "FabricIngress.spgw.pdr_counter"
Robert MacDavidde12b982020-07-15 18:38:59 -07006112 },
6113 {
6114 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006115 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006116 }
6117 ],
6118 "source_info" : {
6119 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006120 "line" : 265,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006121 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07006122 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
6123 }
6124 }
6125 ]
6126 },
6127 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006128 "name" : "spgw282",
6129 "id" : 48,
Robert MacDavidde12b982020-07-15 18:38:59 -07006130 "runtime_data" : [],
6131 "primitives" : [
6132 {
6133 "op" : "assign",
6134 "parameters" : [
6135 {
6136 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006137 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006138 },
6139 {
6140 "type" : "field",
6141 "value" : ["ipv4", "total_len"]
6142 }
6143 ],
6144 "source_info" : {
6145 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006146 "line" : 282,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006147 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07006148 "source_fragment" : "= hdr.ipv4.total_len; ..."
6149 }
6150 }
6151 ]
6152 },
6153 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006154 "name" : "filtering111",
6155 "id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006156 "runtime_data" : [],
6157 "primitives" : [
6158 {
6159 "op" : "assign",
6160 "parameters" : [
6161 {
6162 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006163 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006164 },
6165 {
6166 "type" : "field",
6167 "value" : ["vlan_tag", "vlan_id"]
6168 }
6169 ],
6170 "source_info" : {
6171 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006172 "line" : 111,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006173 "column" : 36,
6174 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006175 }
6176 },
6177 {
6178 "op" : "assign",
6179 "parameters" : [
6180 {
6181 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006182 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006183 },
6184 {
6185 "type" : "field",
6186 "value" : ["vlan_tag", "pri"]
6187 }
6188 ],
6189 "source_info" : {
6190 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006191 "line" : 112,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006192 "column" : 37,
6193 "source_fragment" : "= hdr.vlan_tag.pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006194 }
6195 },
6196 {
6197 "op" : "assign",
6198 "parameters" : [
6199 {
6200 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006201 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006202 },
6203 {
6204 "type" : "field",
6205 "value" : ["vlan_tag", "cfi"]
6206 }
6207 ],
6208 "source_info" : {
6209 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006210 "line" : 113,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006211 "column" : 37,
6212 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006213 }
6214 }
6215 ]
6216 },
6217 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006218 "name" : "filtering127",
6219 "id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006220 "runtime_data" : [],
6221 "primitives" : [
6222 {
6223 "op" : "assign",
6224 "parameters" : [
6225 {
6226 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006227 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006228 },
6229 {
6230 "type" : "hexstr",
6231 "value" : "0x41"
6232 }
6233 ],
6234 "source_info" : {
6235 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006236 "line" : 127,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006237 "column" : 37,
6238 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006239 }
6240 }
6241 ]
6242 },
6243 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08006244 "name" : "acl101",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006245 "id" : 51,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006246 "runtime_data" : [],
6247 "primitives" : [
6248 {
6249 "op" : "assign",
6250 "parameters" : [
6251 {
6252 "type" : "field",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006253 "value" : ["scalars", "acl_l4_sport"]
6254 },
6255 {
6256 "type" : "field",
6257 "value" : ["inner_tcp", "sport"]
6258 }
6259 ],
6260 "source_info" : {
6261 "filename" : "include/control/acl.p4",
6262 "line" : 101,
6263 "column" : 16,
6264 "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
6265 }
6266 },
6267 {
6268 "op" : "assign",
6269 "parameters" : [
6270 {
6271 "type" : "field",
6272 "value" : ["scalars", "acl_l4_dport"]
6273 },
6274 {
6275 "type" : "field",
6276 "value" : ["inner_tcp", "dport"]
6277 }
6278 ],
6279 "source_info" : {
6280 "filename" : "include/control/acl.p4",
6281 "line" : 102,
6282 "column" : 16,
6283 "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
6284 }
6285 }
6286 ]
6287 },
6288 {
6289 "name" : "acl104",
6290 "id" : 52,
6291 "runtime_data" : [],
6292 "primitives" : [
6293 {
6294 "op" : "assign",
6295 "parameters" : [
6296 {
6297 "type" : "field",
6298 "value" : ["scalars", "acl_l4_sport"]
6299 },
6300 {
6301 "type" : "field",
6302 "value" : ["inner_udp", "sport"]
6303 }
6304 ],
6305 "source_info" : {
6306 "filename" : "include/control/acl.p4",
6307 "line" : 104,
6308 "column" : 16,
6309 "source_fragment" : "l4_sport = hdr.inner_udp.sport"
6310 }
6311 },
6312 {
6313 "op" : "assign",
6314 "parameters" : [
6315 {
6316 "type" : "field",
6317 "value" : ["scalars", "acl_l4_dport"]
6318 },
6319 {
6320 "type" : "field",
6321 "value" : ["inner_udp", "dport"]
6322 }
6323 ],
6324 "source_info" : {
6325 "filename" : "include/control/acl.p4",
6326 "line" : 105,
6327 "column" : 16,
6328 "source_fragment" : "l4_dport = hdr.inner_udp.dport"
6329 }
6330 }
6331 ]
6332 },
6333 {
6334 "name" : "acl97",
6335 "id" : 53,
6336 "runtime_data" : [],
6337 "primitives" : [
6338 {
6339 "op" : "assign",
6340 "parameters" : [
6341 {
6342 "type" : "field",
6343 "value" : ["scalars", "acl_ipv4_src"]
6344 },
6345 {
6346 "type" : "field",
6347 "value" : ["inner_ipv4", "src_addr"]
6348 }
6349 ],
6350 "source_info" : {
6351 "filename" : "include/control/acl.p4",
6352 "line" : 97,
6353 "column" : 12,
6354 "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
6355 }
6356 },
6357 {
6358 "op" : "assign",
6359 "parameters" : [
6360 {
6361 "type" : "field",
6362 "value" : ["scalars", "acl_ipv4_dst"]
6363 },
6364 {
6365 "type" : "field",
6366 "value" : ["inner_ipv4", "dst_addr"]
6367 }
6368 ],
6369 "source_info" : {
6370 "filename" : "include/control/acl.p4",
6371 "line" : 98,
6372 "column" : 12,
6373 "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
6374 }
6375 },
6376 {
6377 "op" : "assign",
6378 "parameters" : [
6379 {
6380 "type" : "field",
6381 "value" : ["scalars", "acl_ip_proto"]
6382 },
6383 {
6384 "type" : "field",
6385 "value" : ["inner_ipv4", "protocol"]
6386 }
6387 ],
6388 "source_info" : {
6389 "filename" : "include/control/acl.p4",
6390 "line" : 99,
6391 "column" : 12,
6392 "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
6393 }
6394 }
6395 ]
6396 },
6397 {
6398 "name" : "acl112",
6399 "id" : 54,
6400 "runtime_data" : [],
6401 "primitives" : [
6402 {
6403 "op" : "assign",
6404 "parameters" : [
6405 {
6406 "type" : "field",
6407 "value" : ["scalars", "acl_l4_sport"]
6408 },
6409 {
6410 "type" : "field",
6411 "value" : ["tcp", "sport"]
6412 }
6413 ],
6414 "source_info" : {
6415 "filename" : "include/control/acl.p4",
6416 "line" : 112,
6417 "column" : 16,
6418 "source_fragment" : "l4_sport = hdr.tcp.sport"
6419 }
6420 },
6421 {
6422 "op" : "assign",
6423 "parameters" : [
6424 {
6425 "type" : "field",
6426 "value" : ["scalars", "acl_l4_dport"]
6427 },
6428 {
6429 "type" : "field",
6430 "value" : ["tcp", "dport"]
6431 }
6432 ],
6433 "source_info" : {
6434 "filename" : "include/control/acl.p4",
6435 "line" : 113,
6436 "column" : 16,
6437 "source_fragment" : "l4_dport = hdr.tcp.dport"
6438 }
6439 }
6440 ]
6441 },
6442 {
6443 "name" : "acl115",
6444 "id" : 55,
6445 "runtime_data" : [],
6446 "primitives" : [
6447 {
6448 "op" : "assign",
6449 "parameters" : [
6450 {
6451 "type" : "field",
6452 "value" : ["scalars", "acl_l4_sport"]
6453 },
6454 {
6455 "type" : "field",
6456 "value" : ["udp", "sport"]
6457 }
6458 ],
6459 "source_info" : {
6460 "filename" : "include/control/acl.p4",
6461 "line" : 115,
6462 "column" : 16,
6463 "source_fragment" : "l4_sport = hdr.udp.sport"
6464 }
6465 },
6466 {
6467 "op" : "assign",
6468 "parameters" : [
6469 {
6470 "type" : "field",
6471 "value" : ["scalars", "acl_l4_dport"]
6472 },
6473 {
6474 "type" : "field",
6475 "value" : ["udp", "dport"]
6476 }
6477 ],
6478 "source_info" : {
6479 "filename" : "include/control/acl.p4",
6480 "line" : 116,
6481 "column" : 16,
6482 "source_fragment" : "l4_dport = hdr.udp.dport"
6483 }
6484 }
6485 ]
6486 },
6487 {
6488 "name" : "acl108",
6489 "id" : 56,
6490 "runtime_data" : [],
6491 "primitives" : [
6492 {
6493 "op" : "assign",
6494 "parameters" : [
6495 {
6496 "type" : "field",
6497 "value" : ["scalars", "acl_ipv4_src"]
6498 },
6499 {
6500 "type" : "field",
6501 "value" : ["ipv4", "src_addr"]
6502 }
6503 ],
6504 "source_info" : {
6505 "filename" : "include/control/acl.p4",
6506 "line" : 108,
6507 "column" : 12,
6508 "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
6509 }
6510 },
6511 {
6512 "op" : "assign",
6513 "parameters" : [
6514 {
6515 "type" : "field",
6516 "value" : ["scalars", "acl_ipv4_dst"]
6517 },
6518 {
6519 "type" : "field",
6520 "value" : ["ipv4", "dst_addr"]
6521 }
6522 ],
6523 "source_info" : {
6524 "filename" : "include/control/acl.p4",
6525 "line" : 109,
6526 "column" : 12,
6527 "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
6528 }
6529 },
6530 {
6531 "op" : "assign",
6532 "parameters" : [
6533 {
6534 "type" : "field",
6535 "value" : ["scalars", "acl_ip_proto"]
6536 },
6537 {
6538 "type" : "field",
6539 "value" : ["ipv4", "protocol"]
6540 }
6541 ],
6542 "source_info" : {
6543 "filename" : "include/control/acl.p4",
6544 "line" : 110,
6545 "column" : 12,
6546 "source_fragment" : "ip_proto = hdr.ipv4.protocol"
6547 }
6548 }
6549 ]
6550 },
6551 {
6552 "name" : "acl27",
6553 "id" : 57,
6554 "runtime_data" : [],
6555 "primitives" : [
6556 {
6557 "op" : "assign",
6558 "parameters" : [
6559 {
6560 "type" : "field",
6561 "value" : ["scalars", "acl_ipv4_src"]
6562 },
6563 {
6564 "type" : "hexstr",
6565 "value" : "0x00000000"
6566 }
6567 ],
6568 "source_info" : {
6569 "filename" : "include/control/acl.p4",
6570 "line" : 27,
6571 "column" : 4,
6572 "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
6573 }
6574 },
6575 {
6576 "op" : "assign",
6577 "parameters" : [
6578 {
6579 "type" : "field",
6580 "value" : ["scalars", "acl_ipv4_dst"]
6581 },
6582 {
6583 "type" : "hexstr",
6584 "value" : "0x00000000"
6585 }
6586 ],
6587 "source_info" : {
6588 "filename" : "include/control/acl.p4",
6589 "line" : 28,
6590 "column" : 4,
6591 "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
6592 }
6593 },
6594 {
6595 "op" : "assign",
6596 "parameters" : [
6597 {
6598 "type" : "field",
6599 "value" : ["scalars", "acl_ip_proto"]
6600 },
6601 {
6602 "type" : "hexstr",
6603 "value" : "0x00"
6604 }
6605 ],
6606 "source_info" : {
6607 "filename" : "include/control/acl.p4",
6608 "line" : 29,
6609 "column" : 4,
6610 "source_fragment" : "bit<8> ip_proto = 0;"
6611 }
6612 },
6613 {
6614 "op" : "assign",
6615 "parameters" : [
6616 {
6617 "type" : "field",
6618 "value" : ["scalars", "acl_l4_sport"]
6619 },
6620 {
6621 "type" : "hexstr",
6622 "value" : "0x0000"
6623 }
6624 ],
6625 "source_info" : {
6626 "filename" : "include/control/acl.p4",
6627 "line" : 30,
6628 "column" : 4,
6629 "source_fragment" : "l4_port_t l4_sport = 0;"
6630 }
6631 },
6632 {
6633 "op" : "assign",
6634 "parameters" : [
6635 {
6636 "type" : "field",
6637 "value" : ["scalars", "acl_l4_dport"]
6638 },
6639 {
6640 "type" : "hexstr",
6641 "value" : "0x0000"
6642 }
6643 ],
6644 "source_info" : {
6645 "filename" : "include/control/acl.p4",
6646 "line" : 31,
6647 "column" : 4,
6648 "source_fragment" : "l4_port_t l4_dport = 0;"
6649 }
6650 }
6651 ]
6652 },
6653 {
6654 "name" : "port_counter31",
6655 "id" : 58,
6656 "runtime_data" : [],
6657 "primitives" : [
6658 {
6659 "op" : "assign",
6660 "parameters" : [
6661 {
6662 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006663 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006664 },
6665 {
6666 "type" : "expression",
6667 "value" : {
6668 "type" : "expression",
6669 "value" : {
6670 "op" : "&",
6671 "left" : {
6672 "type" : "field",
6673 "value" : ["standard_metadata", "egress_spec"]
6674 },
6675 "right" : {
6676 "type" : "hexstr",
6677 "value" : "0xffffffff"
6678 }
6679 }
6680 }
6681 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006682 ],
6683 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006684 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006685 "line" : 31,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006686 "column" : 38,
6687 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
6688 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006689 },
6690 {
6691 "op" : "count",
6692 "parameters" : [
6693 {
6694 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08006695 "value" : "FabricIngress.port_counters_control.egress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006696 },
6697 {
6698 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006699 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006700 }
6701 ],
6702 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006703 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006704 "line" : 31,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006705 "column" : 12,
6706 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
6707 }
6708 }
6709 ]
6710 },
6711 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006712 "name" : "port_counter34",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006713 "id" : 59,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006714 "runtime_data" : [],
6715 "primitives" : [
6716 {
6717 "op" : "assign",
6718 "parameters" : [
6719 {
6720 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006721 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006722 },
6723 {
6724 "type" : "expression",
6725 "value" : {
6726 "type" : "expression",
6727 "value" : {
6728 "op" : "&",
6729 "left" : {
6730 "type" : "field",
6731 "value" : ["standard_metadata", "ingress_port"]
6732 },
6733 "right" : {
6734 "type" : "hexstr",
6735 "value" : "0xffffffff"
6736 }
6737 }
6738 }
6739 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006740 ],
6741 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006742 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006743 "line" : 34,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006744 "column" : 39,
6745 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
6746 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006747 },
6748 {
6749 "op" : "count",
6750 "parameters" : [
6751 {
6752 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08006753 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006754 },
6755 {
6756 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006757 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006758 }
6759 ],
6760 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006761 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006762 "line" : 34,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006763 "column" : 12,
6764 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
6765 }
6766 }
6767 ]
6768 },
6769 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006770 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006771 "id" : 60,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006772 "runtime_data" : [],
6773 "primitives" : [
6774 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006775 "op" : "remove_header",
6776 "parameters" : [
6777 {
6778 "type" : "header",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006779 "value" : "mpls"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006780 }
6781 ],
6782 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006783 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006784 "line" : 270,
Yi Tseng47eac892018-07-11 02:17:04 +08006785 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006786 "source_fragment" : "hdr.mpls.setInvalid()"
Yi Tseng47eac892018-07-11 02:17:04 +08006787 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006788 },
Yi Tseng47eac892018-07-11 02:17:04 +08006789 {
6790 "op" : "assign",
6791 "parameters" : [
6792 {
6793 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006794 "value" : ["eth_type", "value"]
Yi Tseng47eac892018-07-11 02:17:04 +08006795 },
6796 {
6797 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006798 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006799 }
6800 ],
6801 "source_info" : {
6802 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006803 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07006804 "column" : 8,
6805 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006806 }
6807 }
6808 ]
6809 },
6810 {
6811 "name" : "FabricEgress.egress_next.set_mpls",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006812 "id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006813 "runtime_data" : [],
6814 "primitives" : [
6815 {
6816 "op" : "add_header",
6817 "parameters" : [
6818 {
6819 "type" : "header",
6820 "value" : "mpls"
Yi Tseng47eac892018-07-11 02:17:04 +08006821 }
6822 ],
6823 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006824 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006825 "line" : 277,
Yi Tseng47eac892018-07-11 02:17:04 +08006826 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006827 "source_fragment" : "hdr.mpls.setValid()"
6828 }
6829 },
6830 {
6831 "op" : "assign",
6832 "parameters" : [
6833 {
6834 "type" : "field",
6835 "value" : ["mpls", "label"]
6836 },
6837 {
6838 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006839 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006840 }
6841 ],
6842 "source_info" : {
6843 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006844 "line" : 278,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006845 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006846 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006847 }
6848 },
6849 {
6850 "op" : "assign",
6851 "parameters" : [
6852 {
6853 "type" : "field",
6854 "value" : ["mpls", "tc"]
6855 },
6856 {
6857 "type" : "hexstr",
6858 "value" : "0x00"
6859 }
6860 ],
6861 "source_info" : {
6862 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006863 "line" : 279,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006864 "column" : 8,
6865 "source_fragment" : "hdr.mpls.tc = 3w0"
6866 }
6867 },
6868 {
6869 "op" : "assign",
6870 "parameters" : [
6871 {
6872 "type" : "field",
6873 "value" : ["mpls", "bos"]
6874 },
6875 {
6876 "type" : "hexstr",
6877 "value" : "0x01"
6878 }
6879 ],
6880 "source_info" : {
6881 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006882 "line" : 280,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006883 "column" : 8,
6884 "source_fragment" : "hdr.mpls.bos = 1w1"
6885 }
6886 },
6887 {
6888 "op" : "assign",
6889 "parameters" : [
6890 {
6891 "type" : "field",
6892 "value" : ["mpls", "ttl"]
6893 },
6894 {
6895 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006896 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006897 }
6898 ],
6899 "source_info" : {
6900 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006901 "line" : 281,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006902 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006903 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006904 }
6905 },
6906 {
6907 "op" : "assign",
6908 "parameters" : [
6909 {
6910 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006911 "value" : ["eth_type", "value"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006912 },
6913 {
6914 "type" : "hexstr",
6915 "value" : "0x8847"
6916 }
6917 ],
6918 "source_info" : {
6919 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006920 "line" : 118,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006921 "column" : 31,
6922 "source_fragment" : "0x8847; ..."
6923 }
6924 }
6925 ]
6926 },
6927 {
6928 "name" : "FabricEgress.egress_next.push_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08006929 "id" : 62,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006930 "runtime_data" : [],
6931 "primitives" : [
6932 {
6933 "op" : "add_header",
6934 "parameters" : [
6935 {
6936 "type" : "header",
6937 "value" : "vlan_tag"
6938 }
6939 ],
6940 "source_info" : {
6941 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006942 "line" : 289,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006943 "column" : 8,
6944 "source_fragment" : "hdr.vlan_tag.setValid()"
6945 }
6946 },
6947 {
6948 "op" : "assign",
6949 "parameters" : [
6950 {
6951 "type" : "field",
6952 "value" : ["vlan_tag", "cfi"]
6953 },
6954 {
6955 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006956 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006957 }
6958 ],
6959 "source_info" : {
6960 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006961 "line" : 290,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006962 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006963 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006964 }
6965 },
6966 {
6967 "op" : "assign",
6968 "parameters" : [
6969 {
6970 "type" : "field",
6971 "value" : ["vlan_tag", "pri"]
6972 },
6973 {
6974 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006975 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006976 }
6977 ],
6978 "source_info" : {
6979 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006980 "line" : 291,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006981 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006982 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006983 }
6984 },
6985 {
6986 "op" : "assign",
6987 "parameters" : [
6988 {
6989 "type" : "field",
6990 "value" : ["vlan_tag", "eth_type"]
6991 },
6992 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006993 "type" : "hexstr",
6994 "value" : "0x8100"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006995 }
6996 ],
6997 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006998 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006999 "line" : 117,
Daniele Moro5a2de712019-09-24 14:34:07 -07007000 "column" : 31,
7001 "source_fragment" : "0x8100; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007002 }
7003 },
7004 {
7005 "op" : "assign",
7006 "parameters" : [
7007 {
7008 "type" : "field",
7009 "value" : ["vlan_tag", "vlan_id"]
7010 },
7011 {
7012 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007013 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007014 }
7015 ],
7016 "source_info" : {
7017 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07007018 "line" : 293,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007019 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007020 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007021 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007022 }
7023 ]
7024 },
7025 {
7026 "name" : "FabricEgress.egress_next.pop_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007027 "id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007028 "runtime_data" : [],
7029 "primitives" : [
7030 {
Yi Tseng47eac892018-07-11 02:17:04 +08007031 "op" : "remove_header",
7032 "parameters" : [
7033 {
7034 "type" : "header",
7035 "value" : "vlan_tag"
7036 }
7037 ],
7038 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007039 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007040 "line" : 322,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007041 "column" : 8,
7042 "source_fragment" : "hdr.vlan_tag.setInvalid()"
7043 }
7044 }
7045 ]
7046 },
7047 {
pierventre48e78822020-12-15 17:34:54 +01007048 "name" : "FabricEgress.egress_next.drop",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007049 "id" : 64,
pierventre48e78822020-12-15 17:34:54 +01007050 "runtime_data" : [],
7051 "primitives" : [
7052 {
7053 "op" : "mark_to_drop",
7054 "parameters" : [
7055 {
7056 "type" : "header",
7057 "value" : "standard_metadata"
7058 }
7059 ],
7060 "source_info" : {
7061 "filename" : "include/control/next.p4",
7062 "line" : 327,
7063 "column" : 8,
7064 "source_fragment" : "mark_to_drop(standard_metadata)"
7065 }
7066 }
7067 ]
7068 },
7069 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007070 "name" : "FabricEgress.spgw.gtpu_encap",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007071 "id" : 65,
Robert MacDavidde12b982020-07-15 18:38:59 -07007072 "runtime_data" : [],
7073 "primitives" : [
7074 {
7075 "op" : "add_header",
7076 "parameters" : [
7077 {
7078 "type" : "header",
7079 "value" : "gtpu_ipv4"
7080 }
7081 ],
7082 "source_info" : {
7083 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007084 "line" : 300,
Robert MacDavidde12b982020-07-15 18:38:59 -07007085 "column" : 8,
7086 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
7087 }
7088 },
7089 {
7090 "op" : "assign",
7091 "parameters" : [
7092 {
7093 "type" : "field",
7094 "value" : ["gtpu_ipv4", "version"]
7095 },
7096 {
7097 "type" : "hexstr",
7098 "value" : "0x04"
7099 }
7100 ],
7101 "source_info" : {
7102 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007103 "line" : 301,
Robert MacDavidde12b982020-07-15 18:38:59 -07007104 "column" : 8,
7105 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
7106 }
7107 },
7108 {
7109 "op" : "assign",
7110 "parameters" : [
7111 {
7112 "type" : "field",
7113 "value" : ["gtpu_ipv4", "ihl"]
7114 },
7115 {
7116 "type" : "hexstr",
7117 "value" : "0x05"
7118 }
7119 ],
7120 "source_info" : {
7121 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007122 "line" : 135,
Robert MacDavidde12b982020-07-15 18:38:59 -07007123 "column" : 28,
7124 "source_fragment" : "5; ..."
7125 }
7126 },
7127 {
7128 "op" : "assign",
7129 "parameters" : [
7130 {
7131 "type" : "field",
7132 "value" : ["gtpu_ipv4", "dscp"]
7133 },
7134 {
7135 "type" : "hexstr",
7136 "value" : "0x00"
7137 }
7138 ],
7139 "source_info" : {
7140 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007141 "line" : 303,
Robert MacDavidde12b982020-07-15 18:38:59 -07007142 "column" : 8,
7143 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
7144 }
7145 },
7146 {
7147 "op" : "assign",
7148 "parameters" : [
7149 {
7150 "type" : "field",
7151 "value" : ["gtpu_ipv4", "ecn"]
7152 },
7153 {
7154 "type" : "hexstr",
7155 "value" : "0x00"
7156 }
7157 ],
7158 "source_info" : {
7159 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007160 "line" : 304,
Robert MacDavidde12b982020-07-15 18:38:59 -07007161 "column" : 8,
7162 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
7163 }
7164 },
7165 {
7166 "op" : "assign",
7167 "parameters" : [
7168 {
7169 "type" : "field",
7170 "value" : ["gtpu_ipv4", "total_len"]
7171 },
7172 {
7173 "type" : "expression",
7174 "value" : {
7175 "type" : "expression",
7176 "value" : {
7177 "op" : "&",
7178 "left" : {
7179 "type" : "expression",
7180 "value" : {
7181 "op" : "+",
7182 "left" : {
7183 "type" : "field",
7184 "value" : ["ipv4", "total_len"]
7185 },
7186 "right" : {
7187 "type" : "hexstr",
7188 "value" : "0x0024"
7189 }
7190 }
7191 },
7192 "right" : {
7193 "type" : "hexstr",
7194 "value" : "0xffff"
7195 }
7196 }
7197 }
7198 }
7199 ],
7200 "source_info" : {
7201 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007202 "line" : 305,
Robert MacDavidde12b982020-07-15 18:38:59 -07007203 "column" : 8,
7204 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
7205 }
7206 },
7207 {
7208 "op" : "assign",
7209 "parameters" : [
7210 {
7211 "type" : "field",
7212 "value" : ["gtpu_ipv4", "identification"]
7213 },
7214 {
7215 "type" : "hexstr",
7216 "value" : "0x1513"
7217 }
7218 ],
7219 "source_info" : {
7220 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007221 "line" : 307,
Robert MacDavidde12b982020-07-15 18:38:59 -07007222 "column" : 8,
7223 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
7224 }
7225 },
7226 {
7227 "op" : "assign",
7228 "parameters" : [
7229 {
7230 "type" : "field",
7231 "value" : ["gtpu_ipv4", "flags"]
7232 },
7233 {
7234 "type" : "hexstr",
7235 "value" : "0x00"
7236 }
7237 ],
7238 "source_info" : {
7239 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007240 "line" : 308,
Robert MacDavidde12b982020-07-15 18:38:59 -07007241 "column" : 8,
7242 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
7243 }
7244 },
7245 {
7246 "op" : "assign",
7247 "parameters" : [
7248 {
7249 "type" : "field",
7250 "value" : ["gtpu_ipv4", "frag_offset"]
7251 },
7252 {
7253 "type" : "hexstr",
7254 "value" : "0x0000"
7255 }
7256 ],
7257 "source_info" : {
7258 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007259 "line" : 309,
Robert MacDavidde12b982020-07-15 18:38:59 -07007260 "column" : 8,
7261 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
7262 }
7263 },
7264 {
7265 "op" : "assign",
7266 "parameters" : [
7267 {
7268 "type" : "field",
7269 "value" : ["gtpu_ipv4", "ttl"]
7270 },
7271 {
7272 "type" : "hexstr",
7273 "value" : "0x40"
7274 }
7275 ],
7276 "source_info" : {
7277 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007278 "line" : 148,
Robert MacDavidde12b982020-07-15 18:38:59 -07007279 "column" : 32,
7280 "source_fragment" : "64; ..."
7281 }
7282 },
7283 {
7284 "op" : "assign",
7285 "parameters" : [
7286 {
7287 "type" : "field",
7288 "value" : ["gtpu_ipv4", "protocol"]
7289 },
7290 {
7291 "type" : "hexstr",
7292 "value" : "0x11"
7293 }
7294 ],
7295 "source_info" : {
7296 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007297 "line" : 132,
Robert MacDavidde12b982020-07-15 18:38:59 -07007298 "column" : 25,
7299 "source_fragment" : "17; ..."
7300 }
7301 },
7302 {
7303 "op" : "assign",
7304 "parameters" : [
7305 {
7306 "type" : "field",
7307 "value" : ["gtpu_ipv4", "src_addr"]
7308 },
7309 {
7310 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007311 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007312 }
7313 ],
7314 "source_info" : {
7315 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007316 "line" : 312,
Robert MacDavidde12b982020-07-15 18:38:59 -07007317 "column" : 8,
7318 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
7319 }
7320 },
7321 {
7322 "op" : "assign",
7323 "parameters" : [
7324 {
7325 "type" : "field",
7326 "value" : ["gtpu_ipv4", "dst_addr"]
7327 },
7328 {
7329 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007330 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007331 }
7332 ],
7333 "source_info" : {
7334 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007335 "line" : 313,
Robert MacDavidde12b982020-07-15 18:38:59 -07007336 "column" : 8,
7337 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
7338 }
7339 },
7340 {
7341 "op" : "assign",
7342 "parameters" : [
7343 {
7344 "type" : "field",
7345 "value" : ["gtpu_ipv4", "hdr_checksum"]
7346 },
7347 {
7348 "type" : "hexstr",
7349 "value" : "0x0000"
7350 }
7351 ],
7352 "source_info" : {
7353 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007354 "line" : 314,
Robert MacDavidde12b982020-07-15 18:38:59 -07007355 "column" : 8,
7356 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
7357 }
7358 },
7359 {
7360 "op" : "add_header",
7361 "parameters" : [
7362 {
7363 "type" : "header",
7364 "value" : "gtpu_udp"
7365 }
7366 ],
7367 "source_info" : {
7368 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007369 "line" : 316,
Robert MacDavidde12b982020-07-15 18:38:59 -07007370 "column" : 8,
7371 "source_fragment" : "hdr.gtpu_udp.setValid()"
7372 }
7373 },
7374 {
7375 "op" : "assign",
7376 "parameters" : [
7377 {
7378 "type" : "field",
7379 "value" : ["gtpu_udp", "sport"]
7380 },
7381 {
7382 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007383 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007384 }
7385 ],
7386 "source_info" : {
7387 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007388 "line" : 317,
Robert MacDavidde12b982020-07-15 18:38:59 -07007389 "column" : 8,
7390 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
7391 }
7392 },
7393 {
7394 "op" : "assign",
7395 "parameters" : [
7396 {
7397 "type" : "field",
7398 "value" : ["gtpu_udp", "dport"]
7399 },
7400 {
7401 "type" : "hexstr",
7402 "value" : "0x0868"
7403 }
7404 ],
7405 "source_info" : {
7406 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007407 "line" : 318,
Robert MacDavidde12b982020-07-15 18:38:59 -07007408 "column" : 8,
7409 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
7410 }
7411 },
7412 {
7413 "op" : "assign",
7414 "parameters" : [
7415 {
7416 "type" : "field",
7417 "value" : ["gtpu_udp", "len"]
7418 },
7419 {
7420 "type" : "expression",
7421 "value" : {
7422 "type" : "expression",
7423 "value" : {
7424 "op" : "&",
7425 "left" : {
7426 "type" : "expression",
7427 "value" : {
7428 "op" : "+",
7429 "left" : {
7430 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007431 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007432 },
7433 "right" : {
7434 "type" : "hexstr",
7435 "value" : "0x0010"
7436 }
7437 }
7438 },
7439 "right" : {
7440 "type" : "hexstr",
7441 "value" : "0xffff"
7442 }
7443 }
7444 }
7445 }
7446 ],
7447 "source_info" : {
7448 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007449 "line" : 319,
Robert MacDavidde12b982020-07-15 18:38:59 -07007450 "column" : 8,
7451 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
7452 }
7453 },
7454 {
7455 "op" : "assign",
7456 "parameters" : [
7457 {
7458 "type" : "field",
7459 "value" : ["gtpu_udp", "checksum"]
7460 },
7461 {
7462 "type" : "hexstr",
7463 "value" : "0x0000"
7464 }
7465 ],
7466 "source_info" : {
7467 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007468 "line" : 321,
Robert MacDavidde12b982020-07-15 18:38:59 -07007469 "column" : 8,
7470 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
7471 }
7472 },
7473 {
7474 "op" : "add_header",
7475 "parameters" : [
7476 {
7477 "type" : "header",
7478 "value" : "outer_gtpu"
7479 }
7480 ],
7481 "source_info" : {
7482 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007483 "line" : 324,
Robert MacDavidde12b982020-07-15 18:38:59 -07007484 "column" : 8,
7485 "source_fragment" : "hdr.outer_gtpu.setValid()"
7486 }
7487 },
7488 {
7489 "op" : "assign",
7490 "parameters" : [
7491 {
7492 "type" : "field",
7493 "value" : ["outer_gtpu", "version"]
7494 },
7495 {
7496 "type" : "hexstr",
7497 "value" : "0x01"
7498 }
7499 ],
7500 "source_info" : {
7501 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007502 "line" : 325,
Robert MacDavidde12b982020-07-15 18:38:59 -07007503 "column" : 8,
7504 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
7505 }
7506 },
7507 {
7508 "op" : "assign",
7509 "parameters" : [
7510 {
7511 "type" : "field",
7512 "value" : ["outer_gtpu", "pt"]
7513 },
7514 {
7515 "type" : "hexstr",
7516 "value" : "0x01"
7517 }
7518 ],
7519 "source_info" : {
7520 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007521 "line" : 326,
Robert MacDavidde12b982020-07-15 18:38:59 -07007522 "column" : 8,
7523 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
7524 }
7525 },
7526 {
7527 "op" : "assign",
7528 "parameters" : [
7529 {
7530 "type" : "field",
7531 "value" : ["outer_gtpu", "spare"]
7532 },
7533 {
7534 "type" : "hexstr",
7535 "value" : "0x00"
7536 }
7537 ],
7538 "source_info" : {
7539 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007540 "line" : 327,
Robert MacDavidde12b982020-07-15 18:38:59 -07007541 "column" : 8,
7542 "source_fragment" : "hdr.outer_gtpu.spare = 0"
7543 }
7544 },
7545 {
7546 "op" : "assign",
7547 "parameters" : [
7548 {
7549 "type" : "field",
7550 "value" : ["outer_gtpu", "ex_flag"]
7551 },
7552 {
7553 "type" : "hexstr",
7554 "value" : "0x00"
7555 }
7556 ],
7557 "source_info" : {
7558 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007559 "line" : 328,
Robert MacDavidde12b982020-07-15 18:38:59 -07007560 "column" : 8,
7561 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
7562 }
7563 },
7564 {
7565 "op" : "assign",
7566 "parameters" : [
7567 {
7568 "type" : "field",
7569 "value" : ["outer_gtpu", "seq_flag"]
7570 },
7571 {
7572 "type" : "hexstr",
7573 "value" : "0x00"
7574 }
7575 ],
7576 "source_info" : {
7577 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007578 "line" : 329,
Robert MacDavidde12b982020-07-15 18:38:59 -07007579 "column" : 8,
7580 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
7581 }
7582 },
7583 {
7584 "op" : "assign",
7585 "parameters" : [
7586 {
7587 "type" : "field",
7588 "value" : ["outer_gtpu", "npdu_flag"]
7589 },
7590 {
7591 "type" : "hexstr",
7592 "value" : "0x00"
7593 }
7594 ],
7595 "source_info" : {
7596 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007597 "line" : 330,
Robert MacDavidde12b982020-07-15 18:38:59 -07007598 "column" : 8,
7599 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
7600 }
7601 },
7602 {
7603 "op" : "assign",
7604 "parameters" : [
7605 {
7606 "type" : "field",
7607 "value" : ["outer_gtpu", "msgtype"]
7608 },
7609 {
7610 "type" : "hexstr",
7611 "value" : "0xff"
7612 }
7613 ],
7614 "source_info" : {
7615 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007616 "line" : 331,
Robert MacDavidde12b982020-07-15 18:38:59 -07007617 "column" : 8,
7618 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
7619 }
7620 },
7621 {
7622 "op" : "assign",
7623 "parameters" : [
7624 {
7625 "type" : "field",
7626 "value" : ["outer_gtpu", "msglen"]
7627 },
7628 {
7629 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007630 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007631 }
7632 ],
7633 "source_info" : {
7634 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007635 "line" : 332,
Robert MacDavidde12b982020-07-15 18:38:59 -07007636 "column" : 8,
7637 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
7638 }
7639 },
7640 {
7641 "op" : "assign",
7642 "parameters" : [
7643 {
7644 "type" : "field",
7645 "value" : ["outer_gtpu", "teid"]
7646 },
7647 {
7648 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007649 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007650 }
7651 ],
7652 "source_info" : {
7653 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007654 "line" : 333,
Robert MacDavidde12b982020-07-15 18:38:59 -07007655 "column" : 8,
7656 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
7657 }
7658 }
7659 ]
7660 },
7661 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007662 "name" : "packetio41",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007663 "id" : 66,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007664 "runtime_data" : [],
7665 "primitives" : [
7666 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007667 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007668 "parameters" : [],
7669 "source_info" : {
7670 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007671 "line" : 41,
7672 "column" : 12,
7673 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007674 }
7675 }
7676 ]
7677 },
7678 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007679 "name" : "packetio44",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007680 "id" : 67,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007681 "runtime_data" : [],
7682 "primitives" : [
7683 {
7684 "op" : "add_header",
7685 "parameters" : [
7686 {
7687 "type" : "header",
7688 "value" : "packet_in"
7689 }
7690 ],
7691 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007692 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007693 "line" : 44,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007694 "column" : 12,
7695 "source_fragment" : "hdr.packet_in.setValid()"
7696 }
7697 },
7698 {
7699 "op" : "assign",
7700 "parameters" : [
7701 {
7702 "type" : "field",
7703 "value" : ["packet_in", "ingress_port"]
7704 },
7705 {
7706 "type" : "field",
7707 "value" : ["standard_metadata", "ingress_port"]
7708 }
7709 ],
7710 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007711 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007712 "line" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007713 "column" : 12,
7714 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
7715 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007716 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007717 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007718 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007719 "parameters" : [],
7720 "source_info" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007721 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007722 "line" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007723 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007724 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007725 }
7726 }
7727 ]
7728 },
7729 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007730 "name" : "next349",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007731 "id" : 68,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007732 "runtime_data" : [],
7733 "primitives" : [
7734 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007735 "op" : "mark_to_drop",
7736 "parameters" : [
7737 {
7738 "type" : "header",
7739 "value" : "standard_metadata"
7740 }
7741 ],
7742 "source_info" : {
7743 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007744 "line" : 349,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007745 "column" : 12,
7746 "source_fragment" : "mark_to_drop(standard_metadata)"
7747 }
7748 }
7749 ]
7750 },
7751 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007752 "name" : "next376",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007753 "id" : 69,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007754 "runtime_data" : [],
7755 "primitives" : [
7756 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007757 "op" : "mark_to_drop",
7758 "parameters" : [
7759 {
7760 "type" : "header",
7761 "value" : "standard_metadata"
7762 }
7763 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007764 "source_info" : {
7765 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007766 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007767 "column" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007768 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007769 }
7770 }
7771 ]
7772 },
7773 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007774 "name" : "next375",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007775 "id" : 70,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007776 "runtime_data" : [],
7777 "primitives" : [
7778 {
7779 "op" : "assign",
7780 "parameters" : [
7781 {
7782 "type" : "field",
7783 "value" : ["mpls", "ttl"]
7784 },
7785 {
7786 "type" : "expression",
7787 "value" : {
7788 "type" : "expression",
7789 "value" : {
7790 "op" : "&",
7791 "left" : {
7792 "type" : "expression",
7793 "value" : {
7794 "op" : "+",
7795 "left" : {
7796 "type" : "field",
7797 "value" : ["mpls", "ttl"]
7798 },
7799 "right" : {
7800 "type" : "hexstr",
7801 "value" : "0xff"
7802 }
7803 }
7804 },
7805 "right" : {
7806 "type" : "hexstr",
7807 "value" : "0xff"
7808 }
7809 }
7810 }
7811 }
7812 ],
7813 "source_info" : {
7814 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007815 "line" : 375,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007816 "column" : 12,
7817 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
7818 }
7819 }
7820 ]
7821 },
7822 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007823 "name" : "next380",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007824 "id" : 71,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007825 "runtime_data" : [],
7826 "primitives" : [
7827 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007828 "op" : "mark_to_drop",
7829 "parameters" : [
7830 {
7831 "type" : "header",
7832 "value" : "standard_metadata"
7833 }
7834 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007835 "source_info" : {
7836 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007837 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007838 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007839 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007840 }
7841 }
7842 ]
7843 },
7844 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007845 "name" : "next379",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007846 "id" : 72,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007847 "runtime_data" : [],
7848 "primitives" : [
7849 {
7850 "op" : "assign",
7851 "parameters" : [
7852 {
7853 "type" : "field",
7854 "value" : ["ipv4", "ttl"]
7855 },
7856 {
7857 "type" : "expression",
7858 "value" : {
7859 "type" : "expression",
7860 "value" : {
7861 "op" : "&",
7862 "left" : {
7863 "type" : "expression",
7864 "value" : {
7865 "op" : "+",
7866 "left" : {
7867 "type" : "field",
7868 "value" : ["ipv4", "ttl"]
7869 },
7870 "right" : {
7871 "type" : "hexstr",
7872 "value" : "0xff"
7873 }
7874 }
7875 },
7876 "right" : {
7877 "type" : "hexstr",
7878 "value" : "0xff"
7879 }
7880 }
7881 }
7882 }
7883 ],
7884 "source_info" : {
7885 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007886 "line" : 379,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007887 "column" : 16,
7888 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
7889 }
7890 }
7891 ]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007892 },
7893 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007894 "name" : "spgw342",
Wailok Shum4f51bde2021-06-11 22:48:41 +08007895 "id" : 73,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007896 "runtime_data" : [],
7897 "primitives" : [
7898 {
7899 "op" : "count",
7900 "parameters" : [
7901 {
7902 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007903 "value" : "FabricEgress.spgw.pdr_counter"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007904 },
7905 {
7906 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007907 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007908 }
7909 ],
7910 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007911 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007912 "line" : 342,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007913 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07007914 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007915 }
7916 }
7917 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007918 }
7919 ],
7920 "pipelines" : [
7921 {
7922 "name" : "ingress",
7923 "id" : 0,
7924 "source_info" : {
7925 "filename" : "fabric.p4",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007926 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007927 "column" : 8,
7928 "source_fragment" : "FabricIngress"
7929 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007930 "init_table" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007931 "tables" : [
7932 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007933 "name" : "tbl_packetio25",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007934 "id" : 0,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007935 "source_info" : {
Carmelo Cascone3032b872019-04-13 01:23:54 -07007936 "filename" : "include/control/packetio.p4",
7937 "line" : 25,
7938 "column" : 42,
7939 "source_fragment" : "= hdr.packet_out.egress_port; ..."
7940 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007941 "key" : [],
7942 "match_type" : "exact",
7943 "type" : "simple",
7944 "max_size" : 1024,
7945 "with_counters" : false,
7946 "support_timeout" : false,
7947 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007948 "action_ids" : [46],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007949 "actions" : ["packetio25"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007950 "base_default_next" : "FabricIngress.spgw.interfaces",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007951 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007952 "packetio25" : "FabricIngress.spgw.interfaces"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007953 },
7954 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007955 "action_id" : 46,
Robert MacDavidde12b982020-07-15 18:38:59 -07007956 "action_const" : true,
7957 "action_data" : [],
7958 "action_entry_const" : true
7959 }
7960 },
7961 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007962 "name" : "FabricIngress.spgw.interfaces",
Robert MacDavidde12b982020-07-15 18:38:59 -07007963 "id" : 1,
Robert MacDavidde12b982020-07-15 18:38:59 -07007964 "source_info" : {
7965 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007966 "line" : 129,
Robert MacDavidde12b982020-07-15 18:38:59 -07007967 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007968 "source_fragment" : "interfaces"
Robert MacDavidde12b982020-07-15 18:38:59 -07007969 },
7970 "key" : [
7971 {
7972 "match_type" : "lpm",
7973 "name" : "ipv4_dst_addr",
7974 "target" : ["ipv4", "dst_addr"],
7975 "mask" : null
7976 },
7977 {
7978 "match_type" : "exact",
7979 "name" : "gtpu_is_valid",
7980 "target" : ["gtpu", "$valid$"],
7981 "mask" : null
7982 }
7983 ],
7984 "match_type" : "lpm",
7985 "type" : "simple",
7986 "max_size" : 128,
7987 "with_counters" : false,
7988 "support_timeout" : false,
7989 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007990 "action_ids" : [37, 38],
7991 "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
7992 "base_default_next" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007993 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007994 "__HIT__" : "node_5",
7995 "__MISS__" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07007996 },
7997 "default_entry" : {
7998 "action_id" : 38,
7999 "action_const" : true,
8000 "action_data" : [],
8001 "action_entry_const" : true
8002 }
8003 },
8004 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008005 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008006 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07008007 "source_info" : {
8008 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008009 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07008010 "column" : 10,
8011 "source_fragment" : "decap_gtpu"
8012 },
8013 "key" : [
8014 {
8015 "match_type" : "exact",
8016 "name" : "hdr.inner_tcp.$valid$",
8017 "target" : ["inner_tcp", "$valid$"],
8018 "mask" : null
8019 },
8020 {
8021 "match_type" : "exact",
8022 "name" : "hdr.inner_udp.$valid$",
8023 "target" : ["inner_udp", "$valid$"],
8024 "mask" : null
8025 },
8026 {
8027 "match_type" : "exact",
8028 "name" : "hdr.inner_icmp.$valid$",
8029 "target" : ["inner_icmp", "$valid$"],
8030 "mask" : null
8031 }
8032 ],
8033 "match_type" : "exact",
8034 "type" : "simple",
8035 "max_size" : 1024,
8036 "with_counters" : false,
8037 "support_timeout" : false,
8038 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008039 "action_ids" : [29, 30, 31, 32],
8040 "actions" : ["FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008041 "base_default_next" : "node_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07008042 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008043 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_7",
8044 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_7",
8045 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_7",
8046 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07008047 },
8048 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008049 "action_id" : 32,
Robert MacDavidde12b982020-07-15 18:38:59 -07008050 "action_const" : true,
8051 "action_data" : [],
8052 "action_entry_const" : true
8053 },
8054 "entries" : [
8055 {
8056 "source_info" : {
8057 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008058 "line" : 89,
Robert MacDavidde12b982020-07-15 18:38:59 -07008059 "column" : 12,
8060 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
8061 },
8062 "match_key" : [
8063 {
8064 "match_type" : "exact",
8065 "key" : "0x01"
8066 },
8067 {
8068 "match_type" : "exact",
8069 "key" : "0x00"
8070 },
8071 {
8072 "match_type" : "exact",
8073 "key" : "0x00"
8074 }
8075 ],
8076 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008077 "action_id" : 29,
Robert MacDavidde12b982020-07-15 18:38:59 -07008078 "action_data" : []
8079 },
8080 "priority" : 1
8081 },
8082 {
8083 "source_info" : {
8084 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008085 "line" : 90,
Robert MacDavidde12b982020-07-15 18:38:59 -07008086 "column" : 12,
8087 "source_fragment" : "(false, true, false) : decap_inner_udp()"
8088 },
8089 "match_key" : [
8090 {
8091 "match_type" : "exact",
8092 "key" : "0x00"
8093 },
8094 {
8095 "match_type" : "exact",
8096 "key" : "0x01"
8097 },
8098 {
8099 "match_type" : "exact",
8100 "key" : "0x00"
8101 }
8102 ],
8103 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008104 "action_id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -07008105 "action_data" : []
8106 },
8107 "priority" : 2
8108 },
8109 {
8110 "source_info" : {
8111 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008112 "line" : 91,
Robert MacDavidde12b982020-07-15 18:38:59 -07008113 "column" : 12,
8114 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
8115 },
8116 "match_key" : [
8117 {
8118 "match_type" : "exact",
8119 "key" : "0x00"
8120 },
8121 {
8122 "match_type" : "exact",
8123 "key" : "0x00"
8124 },
8125 {
8126 "match_type" : "exact",
8127 "key" : "0x01"
8128 }
8129 ],
8130 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008131 "action_id" : 31,
Robert MacDavidde12b982020-07-15 18:38:59 -07008132 "action_data" : []
8133 },
8134 "priority" : 3
8135 }
8136 ]
8137 },
8138 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008139 "name" : "FabricIngress.spgw.uplink_pdrs",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008140 "id" : 3,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008141 "source_info" : {
8142 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008143 "line" : 176,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008144 "column" : 10,
8145 "source_fragment" : "uplink_pdrs"
8146 },
8147 "key" : [
8148 {
8149 "match_type" : "exact",
8150 "name" : "tunnel_ipv4_dst",
8151 "target" : ["ipv4", "dst_addr"],
8152 "mask" : null
8153 },
8154 {
8155 "match_type" : "exact",
8156 "name" : "teid",
8157 "target" : ["gtpu", "teid"],
8158 "mask" : null
8159 }
8160 ],
8161 "match_type" : "exact",
8162 "type" : "simple",
8163 "max_size" : 1024,
8164 "with_counters" : false,
8165 "support_timeout" : false,
8166 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008167 "action_ids" : [40, 42, 8],
8168 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008169 "base_default_next" : "node_10",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008170 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008171 "FabricIngress.spgw.load_pdr" : "node_10",
8172 "FabricIngress.spgw.load_pdr_qos" : "node_10",
8173 "NoAction" : "node_10"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008174 },
8175 "default_entry" : {
8176 "action_id" : 8,
8177 "action_const" : false,
8178 "action_data" : [],
8179 "action_entry_const" : false
8180 }
8181 },
8182 {
8183 "name" : "FabricIngress.spgw.downlink_pdrs",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008184 "id" : 4,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008185 "source_info" : {
8186 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008187 "line" : 164,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008188 "column" : 10,
8189 "source_fragment" : "downlink_pdrs"
8190 },
8191 "key" : [
8192 {
8193 "match_type" : "exact",
8194 "name" : "ue_addr",
8195 "target" : ["ipv4", "dst_addr"],
8196 "mask" : null
8197 }
8198 ],
8199 "match_type" : "exact",
8200 "type" : "simple",
8201 "max_size" : 1024,
8202 "with_counters" : false,
8203 "support_timeout" : false,
8204 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008205 "action_ids" : [39, 41, 7],
8206 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008207 "base_default_next" : "node_10",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008208 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008209 "FabricIngress.spgw.load_pdr" : "node_10",
8210 "FabricIngress.spgw.load_pdr_qos" : "node_10",
8211 "NoAction" : "node_10"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008212 },
8213 "default_entry" : {
8214 "action_id" : 7,
8215 "action_const" : false,
8216 "action_data" : [],
8217 "action_entry_const" : false
8218 }
8219 },
8220 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008221 "name" : "tbl_spgw265",
8222 "id" : 5,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008223 "source_info" : {
8224 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008225 "line" : 265,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008226 "column" : 16,
8227 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
8228 },
8229 "key" : [],
8230 "match_type" : "exact",
8231 "type" : "simple",
8232 "max_size" : 1024,
8233 "with_counters" : false,
8234 "support_timeout" : false,
8235 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008236 "action_ids" : [47],
8237 "actions" : ["spgw265"],
8238 "base_default_next" : "node_12",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008239 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008240 "spgw265" : "node_12"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008241 },
8242 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008243 "action_id" : 47,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008244 "action_const" : true,
8245 "action_data" : [],
8246 "action_entry_const" : true
8247 }
8248 },
8249 {
8250 "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008251 "id" : 6,
Robert MacDavidde12b982020-07-15 18:38:59 -07008252 "source_info" : {
8253 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008254 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07008255 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008256 "source_fragment" : "decap_gtpu"
8257 },
8258 "key" : [
8259 {
8260 "match_type" : "exact",
8261 "name" : "hdr.inner_tcp.$valid$",
8262 "target" : ["inner_tcp", "$valid$"],
8263 "mask" : null
8264 },
8265 {
8266 "match_type" : "exact",
8267 "name" : "hdr.inner_udp.$valid$",
8268 "target" : ["inner_udp", "$valid$"],
8269 "mask" : null
8270 },
8271 {
8272 "match_type" : "exact",
8273 "name" : "hdr.inner_icmp.$valid$",
8274 "target" : ["inner_icmp", "$valid$"],
8275 "mask" : null
8276 }
8277 ],
8278 "match_type" : "exact",
8279 "type" : "simple",
8280 "max_size" : 1024,
8281 "with_counters" : false,
8282 "support_timeout" : false,
8283 "direct_meters" : null,
8284 "action_ids" : [33, 34, 35, 36],
8285 "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"],
8286 "base_default_next" : "FabricIngress.spgw.fars",
8287 "next_tables" : {
8288 "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
8289 "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
8290 "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
8291 "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
8292 },
8293 "default_entry" : {
8294 "action_id" : 36,
8295 "action_const" : true,
8296 "action_data" : [],
8297 "action_entry_const" : true
8298 },
8299 "entries" : [
8300 {
8301 "source_info" : {
8302 "filename" : "include/control/spgw.p4",
8303 "line" : 89,
8304 "column" : 12,
8305 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
8306 },
8307 "match_key" : [
8308 {
8309 "match_type" : "exact",
8310 "key" : "0x01"
8311 },
8312 {
8313 "match_type" : "exact",
8314 "key" : "0x00"
8315 },
8316 {
8317 "match_type" : "exact",
8318 "key" : "0x00"
8319 }
8320 ],
8321 "action_entry" : {
8322 "action_id" : 33,
8323 "action_data" : []
8324 },
8325 "priority" : 1
8326 },
8327 {
8328 "source_info" : {
8329 "filename" : "include/control/spgw.p4",
8330 "line" : 90,
8331 "column" : 12,
8332 "source_fragment" : "(false, true, false) : decap_inner_udp()"
8333 },
8334 "match_key" : [
8335 {
8336 "match_type" : "exact",
8337 "key" : "0x00"
8338 },
8339 {
8340 "match_type" : "exact",
8341 "key" : "0x01"
8342 },
8343 {
8344 "match_type" : "exact",
8345 "key" : "0x00"
8346 }
8347 ],
8348 "action_entry" : {
8349 "action_id" : 34,
8350 "action_data" : []
8351 },
8352 "priority" : 2
8353 },
8354 {
8355 "source_info" : {
8356 "filename" : "include/control/spgw.p4",
8357 "line" : 91,
8358 "column" : 12,
8359 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
8360 },
8361 "match_key" : [
8362 {
8363 "match_type" : "exact",
8364 "key" : "0x00"
8365 },
8366 {
8367 "match_type" : "exact",
8368 "key" : "0x00"
8369 },
8370 {
8371 "match_type" : "exact",
8372 "key" : "0x01"
8373 }
8374 ],
8375 "action_entry" : {
8376 "action_id" : 35,
8377 "action_data" : []
8378 },
8379 "priority" : 3
8380 }
8381 ]
8382 },
8383 {
8384 "name" : "FabricIngress.spgw.fars",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008385 "id" : 7,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008386 "source_info" : {
8387 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008388 "line" : 233,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008389 "column" : 10,
8390 "source_fragment" : "fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07008391 },
8392 "key" : [
8393 {
8394 "match_type" : "exact",
8395 "name" : "far_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008396 "target" : ["scalars", "userMetadata._spgw_far_id25"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008397 "mask" : null
8398 }
8399 ],
8400 "match_type" : "exact",
8401 "type" : "simple",
8402 "max_size" : 2048,
8403 "with_counters" : false,
8404 "support_timeout" : false,
8405 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03008406 "action_ids" : [43, 44, 45],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008407 "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008408 "base_default_next" : "tbl_spgw282",
Robert MacDavidde12b982020-07-15 18:38:59 -07008409 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008410 "FabricIngress.spgw.load_normal_far" : "tbl_spgw282",
8411 "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw282",
8412 "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw282"
Robert MacDavidde12b982020-07-15 18:38:59 -07008413 },
8414 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008415 "action_id" : 43,
Robert MacDavidde12b982020-07-15 18:38:59 -07008416 "action_const" : true,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008417 "action_data" : ["0x1", "0x0"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008418 "action_entry_const" : true
8419 }
8420 },
8421 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008422 "name" : "tbl_spgw282",
8423 "id" : 8,
Robert MacDavidde12b982020-07-15 18:38:59 -07008424 "source_info" : {
8425 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008426 "line" : 282,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008427 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07008428 "source_fragment" : "="
8429 },
8430 "key" : [],
8431 "match_type" : "exact",
8432 "type" : "simple",
8433 "max_size" : 1024,
8434 "with_counters" : false,
8435 "support_timeout" : false,
8436 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008437 "action_ids" : [48],
8438 "actions" : ["spgw282"],
8439 "base_default_next" : "node_16",
Robert MacDavidde12b982020-07-15 18:38:59 -07008440 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008441 "spgw282" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07008442 },
8443 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008444 "action_id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008445 "action_const" : true,
8446 "action_data" : [],
8447 "action_entry_const" : true
8448 }
8449 },
8450 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008451 "name" : "tbl_filtering111",
8452 "id" : 9,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008453 "source_info" : {
8454 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008455 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008456 "column" : 36,
8457 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07008458 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008459 "key" : [],
8460 "match_type" : "exact",
8461 "type" : "simple",
8462 "max_size" : 1024,
8463 "with_counters" : false,
8464 "support_timeout" : false,
8465 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008466 "action_ids" : [49],
8467 "actions" : ["filtering111"],
8468 "base_default_next" : "node_18",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008469 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008470 "filtering111" : "node_18"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008471 },
8472 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008473 "action_id" : 49,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008474 "action_const" : true,
8475 "action_data" : [],
8476 "action_entry_const" : true
8477 }
8478 },
8479 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008480 "name" : "tbl_filtering127",
8481 "id" : 10,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008482 "source_info" : {
8483 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008484 "line" : 127,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008485 "column" : 37,
8486 "source_fragment" : "="
8487 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008488 "key" : [],
8489 "match_type" : "exact",
8490 "type" : "simple",
8491 "max_size" : 1024,
8492 "with_counters" : false,
8493 "support_timeout" : false,
8494 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008495 "action_ids" : [50],
8496 "actions" : ["filtering127"],
Daniele Moro5a2de712019-09-24 14:34:07 -07008497 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008498 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008499 "filtering127" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008500 },
8501 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008502 "action_id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008503 "action_const" : true,
8504 "action_data" : [],
8505 "action_entry_const" : true
8506 }
8507 },
8508 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07008509 "name" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008510 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008511 "source_info" : {
8512 "filename" : "include/control/filtering.p4",
8513 "line" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008514 "column" : 10,
8515 "source_fragment" : "ingress_port_vlan"
8516 },
8517 "key" : [
8518 {
8519 "match_type" : "exact",
8520 "name" : "ig_port",
8521 "target" : ["standard_metadata", "ingress_port"],
8522 "mask" : null
8523 },
8524 {
8525 "match_type" : "exact",
8526 "name" : "vlan_is_valid",
8527 "target" : ["vlan_tag", "$valid$"],
8528 "mask" : null
8529 },
8530 {
8531 "match_type" : "ternary",
8532 "name" : "vlan_id",
8533 "target" : ["vlan_tag", "vlan_id"],
8534 "mask" : null
8535 }
8536 ],
8537 "match_type" : "ternary",
8538 "type" : "simple",
8539 "max_size" : 1024,
8540 "with_counters" : true,
8541 "support_timeout" : false,
8542 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008543 "action_ids" : [9, 10, 11],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008544 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
8545 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
8546 "next_tables" : {
8547 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
8548 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
8549 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
8550 },
8551 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008552 "action_id" : 9,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008553 "action_const" : true,
8554 "action_data" : [],
8555 "action_entry_const" : true
8556 }
8557 },
8558 {
8559 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008560 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008561 "source_info" : {
8562 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008563 "line" : 92,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008564 "column" : 10,
8565 "source_fragment" : "fwd_classifier"
8566 },
8567 "key" : [
8568 {
8569 "match_type" : "exact",
8570 "name" : "ig_port",
8571 "target" : ["standard_metadata", "ingress_port"],
8572 "mask" : null
8573 },
8574 {
8575 "match_type" : "ternary",
8576 "name" : "eth_dst",
8577 "target" : ["ethernet", "dst_addr"],
8578 "mask" : null
8579 },
8580 {
Daniele Moro5a2de712019-09-24 14:34:07 -07008581 "match_type" : "ternary",
8582 "name" : "eth_type",
8583 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07008584 "mask" : null
8585 },
8586 {
8587 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07008588 "name" : "ip_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008589 "target" : ["scalars", "userMetadata._ip_eth_type0"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008590 "mask" : null
8591 }
8592 ],
8593 "match_type" : "ternary",
8594 "type" : "simple",
8595 "max_size" : 1024,
8596 "with_counters" : true,
8597 "support_timeout" : false,
8598 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008599 "action_ids" : [12],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008600 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008601 "base_default_next" : "node_22",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008602 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008603 "FabricIngress.filtering.set_forwarding_type" : "node_22"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008604 },
8605 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008606 "action_id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008607 "action_const" : true,
8608 "action_data" : ["0x0"],
8609 "action_entry_const" : true
8610 }
8611 },
8612 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08008613 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008614 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008615 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008616 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008617 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008618 "column" : 10,
8619 "source_fragment" : "bridging"
8620 },
8621 "key" : [
8622 {
8623 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008624 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008625 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008626 "mask" : null
8627 },
8628 {
8629 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008630 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008631 "target" : ["ethernet", "dst_addr"],
8632 "mask" : null
8633 }
8634 ],
8635 "match_type" : "ternary",
8636 "type" : "simple",
8637 "max_size" : 1024,
8638 "with_counters" : true,
8639 "support_timeout" : false,
8640 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008641 "action_ids" : [13, 0],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008642 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08008643 "base_default_next" : "tbl_acl27",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008644 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08008645 "FabricIngress.forwarding.set_next_id_bridging" : "tbl_acl27",
8646 "nop" : "tbl_acl27"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008647 },
8648 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008649 "action_id" : 0,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008650 "action_const" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008651 "action_data" : [],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008652 "action_entry_const" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008653 }
8654 },
8655 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08008656 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008657 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008658 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008659 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008660 "line" : 71,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008661 "column" : 10,
8662 "source_fragment" : "mpls"
8663 },
8664 "key" : [
8665 {
8666 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008667 "name" : "mpls_label",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008668 "target" : ["scalars", "userMetadata._mpls_label4"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008669 "mask" : null
8670 }
8671 ],
8672 "match_type" : "exact",
8673 "type" : "simple",
8674 "max_size" : 1024,
8675 "with_counters" : true,
8676 "support_timeout" : false,
8677 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008678 "action_ids" : [14, 1],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008679 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08008680 "base_default_next" : "tbl_acl27",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008681 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08008682 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_acl27",
8683 "nop" : "tbl_acl27"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008684 },
8685 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008686 "action_id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008687 "action_const" : true,
8688 "action_data" : [],
8689 "action_entry_const" : true
8690 }
8691 },
8692 {
Charles Chan384aea22018-08-23 22:08:02 -07008693 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008694 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008695 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008696 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008697 "line" : 108,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008698 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -07008699 "source_fragment" : "routing_v4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008700 },
8701 "key" : [
8702 {
8703 "match_type" : "lpm",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008704 "name" : "ipv4_dst",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008705 "target" : ["scalars", "userMetadata._ipv4_dst_addr16"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008706 "mask" : null
8707 }
8708 ],
8709 "match_type" : "lpm",
8710 "type" : "simple",
8711 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07008712 "with_counters" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008713 "support_timeout" : false,
8714 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008715 "action_ids" : [15, 16, 2],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008716 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08008717 "base_default_next" : "tbl_acl27",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008718 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08008719 "FabricIngress.forwarding.set_next_id_routing_v4" : "tbl_acl27",
8720 "FabricIngress.forwarding.nop_routing_v4" : "tbl_acl27",
8721 "nop" : "tbl_acl27"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008722 },
8723 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008724 "action_id" : 2,
CyberHasHe9ba39c2019-10-11 05:59:12 +08008725 "action_const" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008726 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08008727 "action_entry_const" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008728 }
8729 },
8730 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08008731 "name" : "tbl_acl27",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008732 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008733 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008734 "filename" : "include/control/acl.p4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08008735 "line" : 27,
8736 "column" : 4,
8737 "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
8738 },
8739 "key" : [],
8740 "match_type" : "exact",
8741 "type" : "simple",
8742 "max_size" : 1024,
8743 "with_counters" : false,
8744 "support_timeout" : false,
8745 "direct_meters" : null,
8746 "action_ids" : [57],
8747 "actions" : ["acl27"],
8748 "base_default_next" : "node_30",
8749 "next_tables" : {
8750 "acl27" : "node_30"
8751 },
8752 "default_entry" : {
8753 "action_id" : 57,
8754 "action_const" : true,
8755 "action_data" : [],
8756 "action_entry_const" : true
8757 }
8758 },
8759 {
8760 "name" : "tbl_acl97",
8761 "id" : 17,
8762 "source_info" : {
8763 "filename" : "include/control/acl.p4",
8764 "line" : 97,
8765 "column" : 21,
8766 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
8767 },
8768 "key" : [],
8769 "match_type" : "exact",
8770 "type" : "simple",
8771 "max_size" : 1024,
8772 "with_counters" : false,
8773 "support_timeout" : false,
8774 "direct_meters" : null,
8775 "action_ids" : [53],
8776 "actions" : ["acl97"],
8777 "base_default_next" : "node_32",
8778 "next_tables" : {
8779 "acl97" : "node_32"
8780 },
8781 "default_entry" : {
8782 "action_id" : 53,
8783 "action_const" : true,
8784 "action_data" : [],
8785 "action_entry_const" : true
8786 }
8787 },
8788 {
8789 "name" : "tbl_acl101",
8790 "id" : 18,
8791 "source_info" : {
8792 "filename" : "include/control/acl.p4",
8793 "line" : 101,
8794 "column" : 25,
8795 "source_fragment" : "= hdr.inner_tcp.sport; ..."
8796 },
8797 "key" : [],
8798 "match_type" : "exact",
8799 "type" : "simple",
8800 "max_size" : 1024,
8801 "with_counters" : false,
8802 "support_timeout" : false,
8803 "direct_meters" : null,
8804 "action_ids" : [51],
8805 "actions" : ["acl101"],
8806 "base_default_next" : "FabricIngress.acl.acl",
8807 "next_tables" : {
8808 "acl101" : "FabricIngress.acl.acl"
8809 },
8810 "default_entry" : {
8811 "action_id" : 51,
8812 "action_const" : true,
8813 "action_data" : [],
8814 "action_entry_const" : true
8815 }
8816 },
8817 {
8818 "name" : "tbl_acl104",
8819 "id" : 19,
8820 "source_info" : {
8821 "filename" : "include/control/acl.p4",
8822 "line" : 104,
8823 "column" : 25,
8824 "source_fragment" : "= hdr.inner_udp.sport; ..."
8825 },
8826 "key" : [],
8827 "match_type" : "exact",
8828 "type" : "simple",
8829 "max_size" : 1024,
8830 "with_counters" : false,
8831 "support_timeout" : false,
8832 "direct_meters" : null,
8833 "action_ids" : [52],
8834 "actions" : ["acl104"],
8835 "base_default_next" : "FabricIngress.acl.acl",
8836 "next_tables" : {
8837 "acl104" : "FabricIngress.acl.acl"
8838 },
8839 "default_entry" : {
8840 "action_id" : 52,
8841 "action_const" : true,
8842 "action_data" : [],
8843 "action_entry_const" : true
8844 }
8845 },
8846 {
8847 "name" : "tbl_acl108",
8848 "id" : 20,
8849 "source_info" : {
8850 "filename" : "include/control/acl.p4",
8851 "line" : 108,
8852 "column" : 21,
8853 "source_fragment" : "= hdr.ipv4.src_addr; ..."
8854 },
8855 "key" : [],
8856 "match_type" : "exact",
8857 "type" : "simple",
8858 "max_size" : 1024,
8859 "with_counters" : false,
8860 "support_timeout" : false,
8861 "direct_meters" : null,
8862 "action_ids" : [56],
8863 "actions" : ["acl108"],
8864 "base_default_next" : "node_38",
8865 "next_tables" : {
8866 "acl108" : "node_38"
8867 },
8868 "default_entry" : {
8869 "action_id" : 56,
8870 "action_const" : true,
8871 "action_data" : [],
8872 "action_entry_const" : true
8873 }
8874 },
8875 {
8876 "name" : "tbl_acl112",
8877 "id" : 21,
8878 "source_info" : {
8879 "filename" : "include/control/acl.p4",
8880 "line" : 112,
8881 "column" : 25,
8882 "source_fragment" : "= hdr.tcp.sport; ..."
8883 },
8884 "key" : [],
8885 "match_type" : "exact",
8886 "type" : "simple",
8887 "max_size" : 1024,
8888 "with_counters" : false,
8889 "support_timeout" : false,
8890 "direct_meters" : null,
8891 "action_ids" : [54],
8892 "actions" : ["acl112"],
8893 "base_default_next" : "FabricIngress.acl.acl",
8894 "next_tables" : {
8895 "acl112" : "FabricIngress.acl.acl"
8896 },
8897 "default_entry" : {
8898 "action_id" : 54,
8899 "action_const" : true,
8900 "action_data" : [],
8901 "action_entry_const" : true
8902 }
8903 },
8904 {
8905 "name" : "tbl_acl115",
8906 "id" : 22,
8907 "source_info" : {
8908 "filename" : "include/control/acl.p4",
8909 "line" : 115,
8910 "column" : 25,
8911 "source_fragment" : "= hdr.udp.sport; ..."
8912 },
8913 "key" : [],
8914 "match_type" : "exact",
8915 "type" : "simple",
8916 "max_size" : 1024,
8917 "with_counters" : false,
8918 "support_timeout" : false,
8919 "direct_meters" : null,
8920 "action_ids" : [55],
8921 "actions" : ["acl115"],
8922 "base_default_next" : "FabricIngress.acl.acl",
8923 "next_tables" : {
8924 "acl115" : "FabricIngress.acl.acl"
8925 },
8926 "default_entry" : {
8927 "action_id" : 55,
8928 "action_const" : true,
8929 "action_data" : [],
8930 "action_entry_const" : true
8931 }
8932 },
8933 {
8934 "name" : "FabricIngress.acl.acl",
8935 "id" : 23,
8936 "source_info" : {
8937 "filename" : "include/control/acl.p4",
8938 "line" : 66,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008939 "column" : 10,
8940 "source_fragment" : "acl"
8941 },
8942 "key" : [
8943 {
8944 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008945 "name" : "ig_port",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008946 "target" : ["standard_metadata", "ingress_port"],
8947 "mask" : null
8948 },
8949 {
8950 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008951 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008952 "target" : ["ethernet", "dst_addr"],
8953 "mask" : null
8954 },
8955 {
8956 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008957 "name" : "eth_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008958 "target" : ["ethernet", "src_addr"],
8959 "mask" : null
8960 },
8961 {
8962 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008963 "name" : "vlan_id",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008964 "target" : ["vlan_tag", "vlan_id"],
8965 "mask" : null
8966 },
8967 {
8968 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008969 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07008970 "target" : ["eth_type", "value"],
Yi Tseng8235a1a2018-07-24 20:57:28 +08008971 "mask" : null
8972 },
8973 {
8974 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008975 "name" : "ipv4_src",
Wailok Shum4f51bde2021-06-11 22:48:41 +08008976 "target" : ["scalars", "acl_ipv4_src"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008977 "mask" : null
8978 },
8979 {
8980 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008981 "name" : "ipv4_dst",
Wailok Shum4f51bde2021-06-11 22:48:41 +08008982 "target" : ["scalars", "acl_ipv4_dst"],
8983 "mask" : null
8984 },
8985 {
8986 "match_type" : "ternary",
8987 "name" : "ip_proto",
8988 "target" : ["scalars", "acl_ip_proto"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008989 "mask" : null
8990 },
8991 {
8992 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008993 "name" : "icmp_type",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008994 "target" : ["icmp", "icmp_type"],
8995 "mask" : null
8996 },
8997 {
8998 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008999 "name" : "icmp_code",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009000 "target" : ["icmp", "icmp_code"],
9001 "mask" : null
Wailok Shum4f51bde2021-06-11 22:48:41 +08009002 },
9003 {
9004 "match_type" : "ternary",
9005 "name" : "l4_sport",
9006 "target" : ["scalars", "acl_l4_sport"],
9007 "mask" : null
9008 },
9009 {
9010 "match_type" : "ternary",
9011 "name" : "l4_dport",
9012 "target" : ["scalars", "acl_l4_dport"],
9013 "mask" : null
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009014 }
9015 ],
9016 "match_type" : "ternary",
9017 "type" : "simple",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07009018 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009019 "with_counters" : true,
9020 "support_timeout" : false,
9021 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009022 "action_ids" : [17, 18, 19, 20, 21],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009023 "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08009024 "base_default_next" : "node_43",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009025 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009026 "FabricIngress.acl.set_next_id_acl" : "node_43",
9027 "FabricIngress.acl.punt_to_cpu" : "node_43",
9028 "FabricIngress.acl.set_clone_session_id" : "node_43",
9029 "FabricIngress.acl.drop" : "node_43",
9030 "FabricIngress.acl.nop_acl" : "node_43"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009031 },
9032 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009033 "action_id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009034 "action_const" : true,
9035 "action_data" : [],
9036 "action_entry_const" : true
9037 }
9038 },
9039 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009040 "name" : "FabricIngress.next.xconnect",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009041 "id" : 24,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009042 "source_info" : {
9043 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07009044 "line" : 119,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009045 "column" : 10,
9046 "source_fragment" : "xconnect"
9047 },
9048 "key" : [
9049 {
9050 "match_type" : "exact",
9051 "name" : "ig_port",
9052 "target" : ["standard_metadata", "ingress_port"],
9053 "mask" : null
9054 },
9055 {
9056 "match_type" : "exact",
9057 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009058 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009059 "mask" : null
9060 }
9061 ],
9062 "match_type" : "exact",
9063 "type" : "simple",
9064 "max_size" : 1024,
9065 "with_counters" : true,
9066 "support_timeout" : false,
9067 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009068 "action_ids" : [23, 24, 4],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009069 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
9070 "base_default_next" : "FabricIngress.next.hashed",
9071 "next_tables" : {
9072 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
9073 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
9074 "nop" : "FabricIngress.next.hashed"
9075 },
9076 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009077 "action_id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009078 "action_const" : true,
9079 "action_data" : [],
9080 "action_entry_const" : true
9081 }
9082 },
9083 {
9084 "name" : "FabricIngress.next.hashed",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009085 "id" : 25,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009086 "source_info" : {
9087 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07009088 "line" : 202,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009089 "column" : 10,
9090 "source_fragment" : "hashed"
9091 },
9092 "key" : [
9093 {
9094 "match_type" : "exact",
9095 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009096 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009097 "mask" : null
9098 }
9099 ],
9100 "match_type" : "exact",
9101 "type" : "indirect_ws",
9102 "action_profile" : "FabricIngress.next.hashed_selector",
9103 "max_size" : 1024,
9104 "with_counters" : true,
9105 "support_timeout" : false,
9106 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009107 "action_ids" : [25, 26, 27, 5],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009108 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
9109 "base_default_next" : "FabricIngress.next.multicast",
9110 "next_tables" : {
9111 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
9112 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
9113 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
9114 "nop" : "FabricIngress.next.multicast"
9115 }
9116 },
9117 {
9118 "name" : "FabricIngress.next.multicast",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009119 "id" : 26,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009120 "source_info" : {
9121 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07009122 "line" : 236,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009123 "column" : 10,
9124 "source_fragment" : "multicast"
9125 },
9126 "key" : [
9127 {
9128 "match_type" : "exact",
9129 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009130 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009131 "mask" : null
9132 }
9133 ],
9134 "match_type" : "exact",
9135 "type" : "simple",
9136 "max_size" : 1024,
9137 "with_counters" : true,
9138 "support_timeout" : false,
9139 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009140 "action_ids" : [28, 6],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009141 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
9142 "base_default_next" : "FabricIngress.next.next_vlan",
9143 "next_tables" : {
9144 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
9145 "nop" : "FabricIngress.next.next_vlan"
9146 },
9147 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009148 "action_id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009149 "action_const" : true,
9150 "action_data" : [],
9151 "action_entry_const" : true
9152 }
9153 },
9154 {
9155 "name" : "FabricIngress.next.next_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009156 "id" : 27,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009157 "source_info" : {
9158 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07009159 "line" : 86,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009160 "column" : 10,
9161 "source_fragment" : "next_vlan"
9162 },
9163 "key" : [
9164 {
9165 "match_type" : "exact",
9166 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009167 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009168 "mask" : null
9169 }
9170 ],
9171 "match_type" : "exact",
9172 "type" : "simple",
9173 "max_size" : 1024,
9174 "with_counters" : true,
9175 "support_timeout" : false,
9176 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009177 "action_ids" : [22, 3],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009178 "actions" : ["FabricIngress.next.set_vlan", "nop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08009179 "base_default_next" : "node_48",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009180 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009181 "FabricIngress.next.set_vlan" : "node_48",
9182 "nop" : "node_48"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009183 },
9184 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009185 "action_id" : 3,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009186 "action_const" : true,
9187 "action_data" : [],
9188 "action_entry_const" : true
9189 }
9190 },
9191 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009192 "name" : "tbl_port_counter31",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009193 "id" : 28,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009194 "source_info" : {
9195 "filename" : "include/control/port_counter.p4",
9196 "line" : 31,
9197 "column" : 12,
9198 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
9199 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02009200 "key" : [],
9201 "match_type" : "exact",
9202 "type" : "simple",
9203 "max_size" : 1024,
9204 "with_counters" : false,
9205 "support_timeout" : false,
9206 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009207 "action_ids" : [58],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009208 "actions" : ["port_counter31"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08009209 "base_default_next" : "node_50",
Carmelo Casconea5400af2018-07-17 22:11:54 +02009210 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009211 "port_counter31" : "node_50"
Carmelo Casconea5400af2018-07-17 22:11:54 +02009212 },
9213 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009214 "action_id" : 58,
Carmelo Casconea5400af2018-07-17 22:11:54 +02009215 "action_const" : true,
9216 "action_data" : [],
9217 "action_entry_const" : true
9218 }
9219 },
9220 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009221 "name" : "tbl_port_counter34",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009222 "id" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009223 "source_info" : {
9224 "filename" : "include/control/port_counter.p4",
9225 "line" : 34,
9226 "column" : 12,
9227 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
9228 },
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009229 "key" : [],
9230 "match_type" : "exact",
9231 "type" : "simple",
9232 "max_size" : 1024,
9233 "with_counters" : false,
9234 "support_timeout" : false,
9235 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009236 "action_ids" : [59],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009237 "actions" : ["port_counter34"],
Carmelo Casconea5400af2018-07-17 22:11:54 +02009238 "base_default_next" : null,
Yi Tseng27b9bc02018-04-12 14:52:40 +08009239 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009240 "port_counter34" : null
Carmelo Casconea5400af2018-07-17 22:11:54 +02009241 },
9242 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009243 "action_id" : 59,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009244 "action_const" : true,
9245 "action_data" : [],
9246 "action_entry_const" : true
9247 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009248 }
9249 ],
9250 "action_profiles" : [
9251 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009252 "name" : "FabricIngress.next.hashed_selector",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009253 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009254 "source_info" : {
9255 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07009256 "line" : 183,
Carmelo Cascone70e816b2019-03-19 16:15:47 -07009257 "column" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009258 "source_fragment" : "hashed_selector"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009259 },
Carmelo Cascone70e816b2019-03-19 16:15:47 -07009260 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009261 "selector" : {
9262 "algo" : "crc16",
9263 "input" : [
9264 {
9265 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009266 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009267 },
9268 {
9269 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009270 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009271 },
9272 {
9273 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009274 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009275 },
9276 {
9277 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009278 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009279 },
9280 {
9281 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009282 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009283 }
9284 ]
9285 }
9286 }
9287 ],
9288 "conditionals" : [
9289 {
Robert MacDavidde12b982020-07-15 18:38:59 -07009290 "name" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009291 "id" : 0,
9292 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009293 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009294 "line" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009295 "column" : 12,
9296 "source_fragment" : "hdr.packet_out.isValid()"
9297 },
9298 "expression" : {
9299 "type" : "expression",
9300 "value" : {
9301 "op" : "d2b",
9302 "left" : null,
9303 "right" : {
9304 "type" : "field",
9305 "value" : ["packet_out", "$valid$"]
9306 }
9307 }
9308 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009309 "true_next" : "tbl_packetio25",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009310 "false_next" : "FabricIngress.spgw.interfaces"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009311 },
9312 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009313 "name" : "node_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07009314 "id" : 1,
9315 "source_info" : {
9316 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009317 "line" : 255,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009318 "column" : 16,
9319 "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
Robert MacDavidde12b982020-07-15 18:38:59 -07009320 },
9321 "expression" : {
9322 "type" : "expression",
9323 "value" : {
9324 "op" : "==",
9325 "left" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009326 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009327 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009328 },
9329 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009330 "type" : "hexstr",
9331 "value" : "0x03"
Robert MacDavidde12b982020-07-15 18:38:59 -07009332 }
9333 }
9334 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009335 "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009336 "false_next" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07009337 },
9338 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009339 "name" : "node_7",
9340 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07009341 "source_info" : {
9342 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009343 "line" : 259,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009344 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07009345 "source_fragment" : "hdr.gtpu.isValid()"
9346 },
9347 "expression" : {
9348 "type" : "expression",
9349 "value" : {
9350 "op" : "d2b",
9351 "left" : null,
9352 "right" : {
9353 "type" : "field",
9354 "value" : ["gtpu", "$valid$"]
9355 }
9356 }
9357 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009358 "true_next" : "FabricIngress.spgw.uplink_pdrs",
9359 "false_next" : "FabricIngress.spgw.downlink_pdrs"
Robert MacDavidde12b982020-07-15 18:38:59 -07009360 },
9361 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009362 "name" : "node_10",
9363 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009364 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009365 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009366 "line" : 264,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009367 "column" : 16,
9368 "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
9369 },
9370 "expression" : {
9371 "type" : "expression",
9372 "value" : {
9373 "op" : "!=",
9374 "left" : {
9375 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009376 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009377 },
9378 "right" : {
9379 "type" : "hexstr",
9380 "value" : "0x03"
9381 }
9382 }
9383 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009384 "true_next" : "tbl_spgw265",
9385 "false_next" : "node_12"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009386 },
9387 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009388 "name" : "node_12",
9389 "id" : 4,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009390 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009391 "filename" : "fabric.p4",
9392 "line" : 66,
9393 "column" : 24,
9394 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -07009395 },
9396 "expression" : {
9397 "type" : "expression",
9398 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009399 "op" : "d2b",
9400 "left" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07009401 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009402 "type" : "field",
9403 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009404 }
9405 }
9406 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009407 "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
9408 "false_next" : "FabricIngress.spgw.fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07009409 },
9410 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009411 "name" : "node_16",
9412 "id" : 5,
Robert MacDavidde12b982020-07-15 18:38:59 -07009413 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009414 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07009415 "line" : 110,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009416 "column" : 12,
9417 "source_fragment" : "hdr.vlan_tag.isValid()"
9418 },
9419 "expression" : {
9420 "type" : "expression",
9421 "value" : {
9422 "op" : "d2b",
9423 "left" : null,
9424 "right" : {
9425 "type" : "field",
9426 "value" : ["vlan_tag", "$valid$"]
9427 }
9428 }
9429 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009430 "true_next" : "tbl_filtering111",
9431 "false_next" : "node_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009432 },
9433 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009434 "name" : "node_18",
9435 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009436 "source_info" : {
9437 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07009438 "line" : 122,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009439 "column" : 12,
9440 "source_fragment" : "!hdr.mpls.isValid()"
9441 },
9442 "expression" : {
9443 "type" : "expression",
9444 "value" : {
9445 "op" : "not",
9446 "left" : null,
9447 "right" : {
9448 "type" : "expression",
9449 "value" : {
9450 "op" : "d2b",
9451 "left" : null,
9452 "right" : {
9453 "type" : "field",
9454 "value" : ["mpls", "$valid$"]
9455 }
9456 }
9457 }
9458 }
9459 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009460 "true_next" : "tbl_filtering127",
Daniele Moro5a2de712019-09-24 14:34:07 -07009461 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009462 },
9463 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009464 "name" : "node_22",
9465 "id" : 7,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009466 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009467 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07009468 "line" : 69,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009469 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009470 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009471 },
9472 "expression" : {
9473 "type" : "expression",
9474 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009475 "op" : "not",
9476 "left" : null,
9477 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009478 "type" : "expression",
9479 "value" : {
9480 "op" : "d2b",
9481 "left" : null,
9482 "right" : {
9483 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009484 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009485 }
9486 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009487 }
9488 }
9489 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009490 "true_next" : "node_23",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009491 "false_next" : "tbl_acl27"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009492 },
9493 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009494 "name" : "node_23",
9495 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009496 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009497 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07009498 "line" : 150,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009499 "column" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009500 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
9501 },
9502 "expression" : {
9503 "type" : "expression",
9504 "value" : {
9505 "op" : "==",
9506 "left" : {
9507 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009508 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009509 },
9510 "right" : {
9511 "type" : "hexstr",
9512 "value" : "0x00"
9513 }
9514 }
9515 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08009516 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009517 "false_next" : "node_25"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009518 },
9519 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009520 "name" : "node_25",
9521 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009522 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009523 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07009524 "line" : 151,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009525 "column" : 17,
9526 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
9527 },
9528 "expression" : {
9529 "type" : "expression",
9530 "value" : {
9531 "op" : "==",
9532 "left" : {
9533 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009534 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009535 },
9536 "right" : {
9537 "type" : "hexstr",
9538 "value" : "0x01"
9539 }
9540 }
9541 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08009542 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009543 "false_next" : "node_27"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009544 },
9545 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009546 "name" : "node_27",
9547 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009548 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009549 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07009550 "line" : 152,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009551 "column" : 17,
9552 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
9553 },
9554 "expression" : {
9555 "type" : "expression",
9556 "value" : {
9557 "op" : "==",
9558 "left" : {
9559 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009560 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009561 },
9562 "right" : {
9563 "type" : "hexstr",
9564 "value" : "0x02"
9565 }
9566 }
9567 },
Charles Chan384aea22018-08-23 22:08:02 -07009568 "true_next" : "FabricIngress.forwarding.routing_v4",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009569 "false_next" : "tbl_acl27"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009570 },
9571 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009572 "name" : "node_30",
9573 "id" : 11,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009574 "source_info" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009575 "filename" : "include/control/acl.p4",
9576 "line" : 96,
9577 "column" : 12,
9578 "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
9579 },
9580 "expression" : {
9581 "type" : "expression",
9582 "value" : {
9583 "op" : "and",
9584 "left" : {
9585 "type" : "expression",
9586 "value" : {
9587 "op" : "d2b",
9588 "left" : null,
9589 "right" : {
9590 "type" : "field",
9591 "value" : ["gtpu", "$valid$"]
9592 }
9593 }
9594 },
9595 "right" : {
9596 "type" : "expression",
9597 "value" : {
9598 "op" : "d2b",
9599 "left" : null,
9600 "right" : {
9601 "type" : "field",
9602 "value" : ["inner_ipv4", "$valid$"]
9603 }
9604 }
9605 }
9606 }
9607 },
9608 "true_next" : "tbl_acl97",
9609 "false_next" : "node_36"
9610 },
9611 {
9612 "name" : "node_32",
9613 "id" : 12,
9614 "source_info" : {
9615 "filename" : "include/control/acl.p4",
9616 "line" : 100,
9617 "column" : 16,
9618 "source_fragment" : "hdr.inner_tcp.isValid()"
9619 },
9620 "expression" : {
9621 "type" : "expression",
9622 "value" : {
9623 "op" : "d2b",
9624 "left" : null,
9625 "right" : {
9626 "type" : "field",
9627 "value" : ["inner_tcp", "$valid$"]
9628 }
9629 }
9630 },
9631 "true_next" : "tbl_acl101",
9632 "false_next" : "node_34"
9633 },
9634 {
9635 "name" : "node_34",
9636 "id" : 13,
9637 "source_info" : {
9638 "filename" : "include/control/acl.p4",
9639 "line" : 103,
9640 "column" : 23,
9641 "source_fragment" : "hdr.inner_udp.isValid()"
9642 },
9643 "expression" : {
9644 "type" : "expression",
9645 "value" : {
9646 "op" : "d2b",
9647 "left" : null,
9648 "right" : {
9649 "type" : "field",
9650 "value" : ["inner_udp", "$valid$"]
9651 }
9652 }
9653 },
9654 "true_next" : "tbl_acl104",
9655 "false_next" : "FabricIngress.acl.acl"
9656 },
9657 {
9658 "name" : "node_36",
9659 "id" : 14,
9660 "source_info" : {
9661 "filename" : "include/control/acl.p4",
9662 "line" : 107,
9663 "column" : 19,
9664 "source_fragment" : "hdr.ipv4.isValid()"
9665 },
9666 "expression" : {
9667 "type" : "expression",
9668 "value" : {
9669 "op" : "d2b",
9670 "left" : null,
9671 "right" : {
9672 "type" : "field",
9673 "value" : ["ipv4", "$valid$"]
9674 }
9675 }
9676 },
9677 "true_next" : "tbl_acl108",
9678 "false_next" : "FabricIngress.acl.acl"
9679 },
9680 {
9681 "name" : "node_38",
9682 "id" : 15,
9683 "source_info" : {
9684 "filename" : "include/control/acl.p4",
9685 "line" : 111,
9686 "column" : 16,
9687 "source_fragment" : "hdr.tcp.isValid()"
9688 },
9689 "expression" : {
9690 "type" : "expression",
9691 "value" : {
9692 "op" : "d2b",
9693 "left" : null,
9694 "right" : {
9695 "type" : "field",
9696 "value" : ["tcp", "$valid$"]
9697 }
9698 }
9699 },
9700 "true_next" : "tbl_acl112",
9701 "false_next" : "node_40"
9702 },
9703 {
9704 "name" : "node_40",
9705 "id" : 16,
9706 "source_info" : {
9707 "filename" : "include/control/acl.p4",
9708 "line" : 114,
9709 "column" : 23,
9710 "source_fragment" : "hdr.udp.isValid()"
9711 },
9712 "expression" : {
9713 "type" : "expression",
9714 "value" : {
9715 "op" : "d2b",
9716 "left" : null,
9717 "right" : {
9718 "type" : "field",
9719 "value" : ["udp", "$valid$"]
9720 }
9721 }
9722 },
9723 "true_next" : "tbl_acl115",
9724 "false_next" : "FabricIngress.acl.acl"
9725 },
9726 {
9727 "name" : "node_43",
9728 "id" : 17,
9729 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009730 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07009731 "line" : 73,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009732 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009733 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009734 },
9735 "expression" : {
9736 "type" : "expression",
9737 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009738 "op" : "not",
9739 "left" : null,
9740 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009741 "type" : "expression",
9742 "value" : {
9743 "op" : "d2b",
9744 "left" : null,
9745 "right" : {
9746 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009747 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009748 }
9749 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009750 }
9751 }
9752 },
9753 "false_next" : null,
9754 "true_next" : "FabricIngress.next.xconnect"
Yi Tseng27b9bc02018-04-12 14:52:40 +08009755 },
9756 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009757 "name" : "node_48",
9758 "id" : 18,
Yi Tseng27b9bc02018-04-12 14:52:40 +08009759 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009760 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009761 "line" : 30,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009762 "column" : 12,
9763 "source_fragment" : "standard_metadata.egress_spec < 511"
9764 },
9765 "expression" : {
9766 "type" : "expression",
9767 "value" : {
9768 "op" : "<",
9769 "left" : {
9770 "type" : "field",
9771 "value" : ["standard_metadata", "egress_spec"]
9772 },
9773 "right" : {
9774 "type" : "hexstr",
9775 "value" : "0x01ff"
9776 }
9777 }
9778 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009779 "true_next" : "tbl_port_counter31",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009780 "false_next" : "node_50"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009781 },
9782 {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009783 "name" : "node_50",
9784 "id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009785 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009786 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009787 "line" : 33,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009788 "column" : 12,
9789 "source_fragment" : "standard_metadata.ingress_port < 511"
9790 },
9791 "expression" : {
9792 "type" : "expression",
9793 "value" : {
9794 "op" : "<",
9795 "left" : {
9796 "type" : "field",
9797 "value" : ["standard_metadata", "ingress_port"]
9798 },
9799 "right" : {
9800 "type" : "hexstr",
9801 "value" : "0x01ff"
9802 }
9803 }
9804 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009805 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009806 "true_next" : "tbl_port_counter34"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009807 }
9808 ]
9809 },
9810 {
9811 "name" : "egress",
9812 "id" : 1,
9813 "source_info" : {
9814 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07009815 "line" : 91,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009816 "column" : 8,
9817 "source_fragment" : "FabricEgress"
9818 },
Wailok Shum4f51bde2021-06-11 22:48:41 +08009819 "init_table" : "node_54",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009820 "tables" : [
9821 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009822 "name" : "tbl_packetio41",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009823 "id" : 30,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009824 "source_info" : {
9825 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009826 "line" : 41,
9827 "column" : 12,
9828 "source_fragment" : "exit"
Carmelo Cascone3032b872019-04-13 01:23:54 -07009829 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02009830 "key" : [],
9831 "match_type" : "exact",
9832 "type" : "simple",
9833 "max_size" : 1024,
9834 "with_counters" : false,
9835 "support_timeout" : false,
9836 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009837 "action_ids" : [66],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009838 "actions" : ["packetio41"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08009839 "base_default_next" : "node_56",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009840 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009841 "packetio41" : "node_56"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009842 },
9843 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009844 "action_id" : 66,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009845 "action_const" : true,
9846 "action_data" : [],
9847 "action_entry_const" : true
9848 }
9849 },
9850 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009851 "name" : "tbl_packetio44",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009852 "id" : 31,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009853 "source_info" : {
9854 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009855 "line" : 44,
9856 "column" : 12,
9857 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07009858 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009859 "key" : [],
9860 "match_type" : "exact",
9861 "type" : "simple",
9862 "max_size" : 1024,
9863 "with_counters" : false,
9864 "support_timeout" : false,
9865 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009866 "action_ids" : [67],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009867 "actions" : ["packetio44"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08009868 "base_default_next" : "node_58",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009869 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009870 "packetio44" : "node_58"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009871 },
9872 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009873 "action_id" : 67,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009874 "action_const" : true,
9875 "action_data" : [],
9876 "action_entry_const" : true
9877 }
9878 },
9879 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009880 "name" : "tbl_next349",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009881 "id" : 32,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009882 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009883 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009884 "line" : 349,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009885 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009886 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone3032b872019-04-13 01:23:54 -07009887 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009888 "key" : [],
9889 "match_type" : "exact",
9890 "type" : "simple",
9891 "max_size" : 1024,
9892 "with_counters" : false,
9893 "support_timeout" : false,
9894 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009895 "action_ids" : [68],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009896 "actions" : ["next349"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08009897 "base_default_next" : "node_60",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009898 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009899 "next349" : "node_60"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009900 },
9901 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009902 "action_id" : 68,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009903 "action_const" : true,
9904 "action_data" : [],
9905 "action_entry_const" : true
9906 }
9907 },
9908 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009909 "name" : "tbl_egress_next_pop_mpls_if_present",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009910 "id" : 33,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009911 "source_info" : {
9912 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009913 "line" : 353,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009914 "column" : 36,
9915 "source_fragment" : "pop_mpls_if_present()"
9916 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009917 "key" : [],
9918 "match_type" : "exact",
9919 "type" : "simple",
9920 "max_size" : 1024,
9921 "with_counters" : false,
9922 "support_timeout" : false,
9923 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009924 "action_ids" : [60],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009925 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
9926 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
9927 "next_tables" : {
9928 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
9929 },
9930 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009931 "action_id" : 60,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009932 "action_const" : true,
9933 "action_data" : [],
9934 "action_entry_const" : true
9935 }
9936 },
9937 {
9938 "name" : "tbl_egress_next_set_mpls",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009939 "id" : 34,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009940 "source_info" : {
9941 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009942 "line" : 355,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009943 "column" : 12,
9944 "source_fragment" : "set_mpls()"
9945 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009946 "key" : [],
9947 "match_type" : "exact",
9948 "type" : "simple",
9949 "max_size" : 1024,
9950 "with_counters" : false,
9951 "support_timeout" : false,
9952 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009953 "action_ids" : [61],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009954 "actions" : ["FabricEgress.egress_next.set_mpls"],
9955 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
9956 "next_tables" : {
9957 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
9958 },
9959 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009960 "action_id" : 61,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009961 "action_const" : true,
9962 "action_data" : [],
9963 "action_entry_const" : true
9964 }
9965 },
9966 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009967 "name" : "FabricEgress.egress_next.egress_vlan",
Wailok Shum4f51bde2021-06-11 22:48:41 +08009968 "id" : 35,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009969 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009970 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009971 "line" : 331,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009972 "column" : 10,
9973 "source_fragment" : "egress_vlan"
9974 },
9975 "key" : [
9976 {
9977 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009978 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009979 "target" : ["scalars", "userMetadata._vlan_id1"],
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009980 "mask" : null
9981 },
9982 {
9983 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009984 "name" : "eg_port",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009985 "target" : ["standard_metadata", "egress_port"],
9986 "mask" : null
9987 }
9988 ],
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08009989 "match_type" : "exact",
9990 "type" : "simple",
9991 "max_size" : 1024,
Yi Tseng47eac892018-07-11 02:17:04 +08009992 "with_counters" : true,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08009993 "support_timeout" : false,
9994 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +08009995 "action_ids" : [62, 63, 64],
pierventre48e78822020-12-15 17:34:54 +01009996 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Wailok Shum4f51bde2021-06-11 22:48:41 +08009997 "base_default_next" : "node_65",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08009998 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +08009999 "FabricEgress.egress_next.push_vlan" : "node_65",
10000 "FabricEgress.egress_next.pop_vlan" : "node_65",
10001 "FabricEgress.egress_next.drop" : "node_65"
Daniele Moro7c3a0022019-07-12 13:38:34 -070010002 },
10003 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010004 "action_id" : 64,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010005 "action_const" : true,
10006 "action_data" : [],
10007 "action_entry_const" : true
10008 }
10009 },
10010 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010011 "name" : "tbl_next375",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010012 "id" : 36,
pierventre48e78822020-12-15 17:34:54 +010010013 "source_info" : {
10014 "filename" : "include/control/next.p4",
10015 "line" : 375,
10016 "column" : 25,
10017 "source_fragment" : "="
Daniele Moro7c3a0022019-07-12 13:38:34 -070010018 },
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010019 "key" : [],
10020 "match_type" : "exact",
10021 "type" : "simple",
10022 "max_size" : 1024,
10023 "with_counters" : false,
10024 "support_timeout" : false,
10025 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +080010026 "action_ids" : [70],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010027 "actions" : ["next375"],
Wailok Shum4f51bde2021-06-11 22:48:41 +080010028 "base_default_next" : "node_67",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010029 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010030 "next375" : "node_67"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010031 },
10032 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010033 "action_id" : 70,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010034 "action_const" : true,
10035 "action_data" : [],
10036 "action_entry_const" : true
10037 }
10038 },
10039 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010040 "name" : "tbl_next376",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010041 "id" : 37,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010042 "source_info" : {
10043 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010044 "line" : 376,
10045 "column" : 35,
10046 "source_fragment" : "mark_to_drop(standard_metadata)"
Daniele Moro7c3a0022019-07-12 13:38:34 -070010047 },
10048 "key" : [],
10049 "match_type" : "exact",
10050 "type" : "simple",
10051 "max_size" : 1024,
10052 "with_counters" : false,
10053 "support_timeout" : false,
10054 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +080010055 "action_ids" : [69],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010056 "actions" : ["next376"],
Wailok Shum4f51bde2021-06-11 22:48:41 +080010057 "base_default_next" : "node_73",
Daniele Moro7c3a0022019-07-12 13:38:34 -070010058 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010059 "next376" : "node_73"
Daniele Moro7c3a0022019-07-12 13:38:34 -070010060 },
10061 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010062 "action_id" : 69,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010063 "action_const" : true,
10064 "action_data" : [],
10065 "action_entry_const" : true
10066 }
10067 },
10068 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010069 "name" : "tbl_next379",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010070 "id" : 38,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010071 "source_info" : {
10072 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010073 "line" : 379,
10074 "column" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010075 "source_fragment" : "="
10076 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010077 "key" : [],
10078 "match_type" : "exact",
10079 "type" : "simple",
10080 "max_size" : 1024,
10081 "with_counters" : false,
10082 "support_timeout" : false,
10083 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +080010084 "action_ids" : [72],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010085 "actions" : ["next379"],
Wailok Shum4f51bde2021-06-11 22:48:41 +080010086 "base_default_next" : "node_71",
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010087 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010088 "next379" : "node_71"
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010089 },
10090 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010091 "action_id" : 72,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010092 "action_const" : true,
10093 "action_data" : [],
10094 "action_entry_const" : true
10095 }
10096 },
10097 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010098 "name" : "tbl_next380",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010099 "id" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010100 "source_info" : {
10101 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010102 "line" : 380,
10103 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010104 "source_fragment" : "mark_to_drop(standard_metadata)"
10105 },
10106 "key" : [],
10107 "match_type" : "exact",
10108 "type" : "simple",
10109 "max_size" : 1024,
10110 "with_counters" : false,
10111 "support_timeout" : false,
10112 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +080010113 "action_ids" : [71],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010114 "actions" : ["next380"],
Wailok Shum4f51bde2021-06-11 22:48:41 +080010115 "base_default_next" : "node_73",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010116 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010117 "next380" : "node_73"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010118 },
10119 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010120 "action_id" : 71,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010121 "action_const" : true,
10122 "action_data" : [],
10123 "action_entry_const" : true
10124 }
10125 },
10126 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010127 "name" : "tbl_spgw_gtpu_encap",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010128 "id" : 40,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010129 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010130 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010131 "line" : 339,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010132 "column" : 16,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010133 "source_fragment" : "gtpu_encap()"
10134 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010135 "key" : [],
10136 "match_type" : "exact",
10137 "type" : "simple",
10138 "max_size" : 1024,
10139 "with_counters" : false,
10140 "support_timeout" : false,
10141 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +080010142 "action_ids" : [65],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010143 "actions" : ["FabricEgress.spgw.gtpu_encap"],
Wailok Shum4f51bde2021-06-11 22:48:41 +080010144 "base_default_next" : "node_76",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010145 "next_tables" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010146 "FabricEgress.spgw.gtpu_encap" : "node_76"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010147 },
10148 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010149 "action_id" : 65,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010150 "action_const" : true,
10151 "action_data" : [],
10152 "action_entry_const" : true
10153 }
10154 },
10155 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010156 "name" : "tbl_spgw342",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010157 "id" : 41,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010158 "source_info" : {
10159 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010160 "line" : 342,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010161 "column" : 16,
10162 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
10163 },
10164 "key" : [],
10165 "match_type" : "exact",
10166 "type" : "simple",
10167 "max_size" : 1024,
10168 "with_counters" : false,
10169 "support_timeout" : false,
10170 "direct_meters" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +080010171 "action_ids" : [73],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010172 "actions" : ["spgw342"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010173 "base_default_next" : null,
10174 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010175 "spgw342" : null
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010176 },
10177 "default_entry" : {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010178 "action_id" : 73,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010179 "action_const" : true,
10180 "action_data" : [],
10181 "action_entry_const" : true
10182 }
10183 }
10184 ],
10185 "action_profiles" : [],
10186 "conditionals" : [
10187 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010188 "name" : "node_54",
10189 "id" : 20,
Carmelo Casconea5400af2018-07-17 22:11:54 +020010190 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010191 "filename" : "fabric.p4",
10192 "line" : 103,
10193 "column" : 33,
10194 "source_fragment" : "fabric_metadata"
Carmelo Casconea5400af2018-07-17 22:11:54 +020010195 },
10196 "expression" : {
10197 "type" : "expression",
10198 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010199 "op" : "d2b",
10200 "left" : null,
Carmelo Casconea5400af2018-07-17 22:11:54 +020010201 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010202 "type" : "field",
10203 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Casconea5400af2018-07-17 22:11:54 +020010204 }
10205 }
10206 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010207 "true_next" : "tbl_packetio41",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010208 "false_next" : "node_56"
Carmelo Casconea5400af2018-07-17 22:11:54 +020010209 },
10210 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010211 "name" : "node_56",
10212 "id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010213 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020010214 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010215 "line" : 43,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010216 "column" : 12,
Carmelo Casconeb531b682018-01-30 17:55:56 -080010217 "source_fragment" : "standard_metadata.egress_port == 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010218 },
10219 "expression" : {
10220 "type" : "expression",
10221 "value" : {
10222 "op" : "==",
10223 "left" : {
10224 "type" : "field",
10225 "value" : ["standard_metadata", "egress_port"]
10226 },
10227 "right" : {
10228 "type" : "hexstr",
10229 "value" : "0x00ff"
10230 }
10231 }
10232 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010233 "true_next" : "tbl_packetio44",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010234 "false_next" : "node_58"
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010235 },
10236 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010237 "name" : "node_58",
10238 "id" : 22,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010239 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010240 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010241 "line" : 347,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010242 "column" : 12,
10243 "source_fragment" : "fabric_metadata.is_multicast == true ..."
10244 },
10245 "expression" : {
10246 "type" : "expression",
10247 "value" : {
10248 "op" : "and",
10249 "left" : {
10250 "type" : "expression",
10251 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010252 "op" : "d2b",
10253 "left" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010254 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010255 "type" : "field",
10256 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010257 }
10258 }
10259 },
10260 "right" : {
10261 "type" : "expression",
10262 "value" : {
10263 "op" : "==",
10264 "left" : {
10265 "type" : "field",
10266 "value" : ["standard_metadata", "ingress_port"]
10267 },
10268 "right" : {
10269 "type" : "field",
10270 "value" : ["standard_metadata", "egress_port"]
10271 }
10272 }
10273 }
10274 }
10275 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010276 "true_next" : "tbl_next349",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010277 "false_next" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010278 },
10279 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010280 "name" : "node_60",
10281 "id" : 23,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010282 "source_info" : {
10283 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010284 "line" : 352,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010285 "column" : 12,
10286 "source_fragment" : "fabric_metadata.mpls_label == 0"
10287 },
10288 "expression" : {
10289 "type" : "expression",
10290 "value" : {
10291 "op" : "==",
10292 "left" : {
10293 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010294 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010295 },
10296 "right" : {
10297 "type" : "hexstr",
10298 "value" : "0x000000"
10299 }
10300 }
10301 },
Wailok Shum4f51bde2021-06-11 22:48:41 +080010302 "true_next" : "node_61",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010303 "false_next" : "tbl_egress_next_set_mpls"
10304 },
10305 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010306 "name" : "node_61",
10307 "id" : 24,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010308 "source_info" : {
10309 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010310 "line" : 353,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010311 "column" : 16,
10312 "source_fragment" : "hdr.mpls.isValid()"
10313 },
10314 "expression" : {
10315 "type" : "expression",
10316 "value" : {
10317 "op" : "d2b",
10318 "left" : null,
10319 "right" : {
10320 "type" : "field",
10321 "value" : ["mpls", "$valid$"]
10322 }
10323 }
10324 },
10325 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010326 "false_next" : "FabricEgress.egress_next.egress_vlan"
10327 },
10328 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010329 "name" : "node_65",
10330 "id" : 25,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010331 "source_info" : {
10332 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010333 "line" : 374,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010334 "column" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010335 "source_fragment" : "hdr.mpls.isValid()"
10336 },
10337 "expression" : {
10338 "type" : "expression",
10339 "value" : {
10340 "op" : "d2b",
10341 "left" : null,
10342 "right" : {
10343 "type" : "field",
10344 "value" : ["mpls", "$valid$"]
10345 }
10346 }
10347 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010348 "true_next" : "tbl_next375",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010349 "false_next" : "node_69"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010350 },
10351 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010352 "name" : "node_67",
10353 "id" : 26,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010354 "source_info" : {
10355 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010356 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010357 "column" : 16,
10358 "source_fragment" : "hdr.mpls.ttl == 0"
10359 },
10360 "expression" : {
10361 "type" : "expression",
10362 "value" : {
10363 "op" : "==",
10364 "left" : {
10365 "type" : "field",
10366 "value" : ["mpls", "ttl"]
10367 },
10368 "right" : {
10369 "type" : "hexstr",
10370 "value" : "0x00"
10371 }
10372 }
10373 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010374 "true_next" : "tbl_next376",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010375 "false_next" : "node_73"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010376 },
10377 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010378 "name" : "node_69",
10379 "id" : 27,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010380 "source_info" : {
10381 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010382 "line" : 378,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010383 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -070010384 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010385 },
10386 "expression" : {
10387 "type" : "expression",
10388 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -070010389 "op" : "and",
10390 "left" : {
10391 "type" : "expression",
10392 "value" : {
10393 "op" : "d2b",
10394 "left" : null,
10395 "right" : {
10396 "type" : "field",
10397 "value" : ["ipv4", "$valid$"]
10398 }
10399 }
10400 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010401 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -070010402 "type" : "expression",
10403 "value" : {
10404 "op" : "!=",
10405 "left" : {
10406 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010407 "value" : ["scalars", "userMetadata._fwd_type8"]
Charles Chan74ad51e2020-09-12 19:05:42 -070010408 },
10409 "right" : {
10410 "type" : "hexstr",
10411 "value" : "0x00"
10412 }
10413 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010414 }
10415 }
10416 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010417 "true_next" : "tbl_next379",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010418 "false_next" : "node_73"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010419 },
10420 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010421 "name" : "node_71",
10422 "id" : 28,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010423 "source_info" : {
10424 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +010010425 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010426 "column" : 20,
10427 "source_fragment" : "hdr.ipv4.ttl == 0"
10428 },
10429 "expression" : {
10430 "type" : "expression",
10431 "value" : {
10432 "op" : "==",
10433 "left" : {
10434 "type" : "field",
10435 "value" : ["ipv4", "ttl"]
10436 },
10437 "right" : {
10438 "type" : "hexstr",
10439 "value" : "0x00"
10440 }
10441 }
10442 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010443 "true_next" : "tbl_next380",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010444 "false_next" : "node_73"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010445 },
10446 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010447 "name" : "node_73",
10448 "id" : 29,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010449 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010450 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010451 "line" : 337,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010452 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010453 "source_fragment" : "fabric_md.spgw.skip_spgw"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010454 },
10455 "expression" : {
10456 "type" : "expression",
10457 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010458 "op" : "not",
10459 "left" : null,
10460 "right" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010461 "type" : "expression",
10462 "value" : {
10463 "op" : "d2b",
10464 "left" : null,
10465 "right" : {
10466 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010467 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -070010468 }
10469 }
Robert MacDavidde12b982020-07-15 18:38:59 -070010470 }
10471 }
10472 },
10473 "false_next" : null,
Wailok Shum4f51bde2021-06-11 22:48:41 +080010474 "true_next" : "node_74"
Robert MacDavidde12b982020-07-15 18:38:59 -070010475 },
10476 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010477 "name" : "node_74",
10478 "id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -070010479 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010480 "filename" : "fabric.p4",
10481 "line" : 106,
10482 "column" : 24,
10483 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -070010484 },
10485 "expression" : {
10486 "type" : "expression",
10487 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010488 "op" : "d2b",
10489 "left" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010490 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010491 "type" : "field",
10492 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010493 }
10494 }
10495 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010496 "true_next" : "tbl_spgw_gtpu_encap",
Wailok Shum4f51bde2021-06-11 22:48:41 +080010497 "false_next" : "node_76"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010498 },
10499 {
Wailok Shum4f51bde2021-06-11 22:48:41 +080010500 "name" : "node_76",
10501 "id" : 31,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010502 "source_info" : {
10503 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010504 "line" : 341,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010505 "column" : 16,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010506 "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010507 },
10508 "expression" : {
10509 "type" : "expression",
10510 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010511 "op" : "not",
10512 "left" : null,
10513 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010514 "type" : "expression",
10515 "value" : {
10516 "op" : "d2b",
10517 "left" : null,
10518 "right" : {
10519 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010520 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010521 }
10522 }
Carmelo Cascone2102bfb2020-12-04 16:54:24 -080010523 }
10524 }
10525 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010526 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010527 "true_next" : "tbl_spgw342"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010528 }
10529 ]
10530 }
10531 ],
10532 "checksums" : [
10533 {
10534 "name" : "cksum",
10535 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010536 "source_info" : {
10537 "filename" : "include/checksum.p4",
10538 "line" : 28,
10539 "column" : 8,
10540 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
10541 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010542 "target" : ["ipv4", "hdr_checksum"],
10543 "type" : "generic",
10544 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080010545 "verify" : false,
10546 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010547 "if_cond" : {
10548 "type" : "expression",
10549 "value" : {
10550 "op" : "d2b",
10551 "left" : null,
10552 "right" : {
10553 "type" : "field",
10554 "value" : ["ipv4", "$valid$"]
10555 }
10556 }
10557 }
10558 },
10559 {
10560 "name" : "cksum_0",
10561 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010562 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010563 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010564 "line" : 358,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010565 "column" : 8,
10566 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
10567 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010568 "target" : ["gtpu_ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010569 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080010570 "calculation" : "calc_0",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080010571 "verify" : false,
10572 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010573 "if_cond" : {
10574 "type" : "expression",
10575 "value" : {
10576 "op" : "d2b",
10577 "left" : null,
10578 "right" : {
10579 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010580 "value" : ["gtpu_ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010581 }
10582 }
10583 }
10584 },
10585 {
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080010586 "name" : "cksum_1",
10587 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010588 "source_info" : {
10589 "filename" : "include/checksum.p4",
10590 "line" : 57,
10591 "column" : 8,
10592 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
10593 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010594 "target" : ["ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010595 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080010596 "calculation" : "calc_1",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080010597 "verify" : true,
10598 "update" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010599 "if_cond" : {
10600 "type" : "expression",
10601 "value" : {
10602 "op" : "d2b",
10603 "left" : null,
10604 "right" : {
10605 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010606 "value" : ["ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010607 }
10608 }
10609 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010610 }
10611 ],
10612 "force_arith" : [],
10613 "extern_instances" : [],
10614 "field_aliases" : [
10615 [
10616 "queueing_metadata.enq_timestamp",
10617 ["standard_metadata", "enq_timestamp"]
10618 ],
10619 [
10620 "queueing_metadata.enq_qdepth",
10621 ["standard_metadata", "enq_qdepth"]
10622 ],
10623 [
10624 "queueing_metadata.deq_timedelta",
10625 ["standard_metadata", "deq_timedelta"]
10626 ],
10627 [
10628 "queueing_metadata.deq_qdepth",
10629 ["standard_metadata", "deq_qdepth"]
10630 ],
10631 [
10632 "intrinsic_metadata.ingress_global_timestamp",
10633 ["standard_metadata", "ingress_global_timestamp"]
10634 ],
10635 [
Yi Tseng27b9bc02018-04-12 14:52:40 +080010636 "intrinsic_metadata.egress_global_timestamp",
10637 ["standard_metadata", "egress_global_timestamp"]
10638 ],
10639 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010640 "intrinsic_metadata.mcast_grp",
10641 ["standard_metadata", "mcast_grp"]
10642 ],
10643 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010644 "intrinsic_metadata.egress_rid",
10645 ["standard_metadata", "egress_rid"]
Yi Tseng27b9bc02018-04-12 14:52:40 +080010646 ],
10647 [
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010648 "intrinsic_metadata.priority",
10649 ["standard_metadata", "priority"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010650 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010651 ],
10652 "program" : "fabric.p4",
10653 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020010654 "version" : [2, 23],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010655 "compiler" : "https://github.com/p4lang/p4c"
10656 }
Carmelo Cascone25243d62019-02-21 15:37:31 -080010657}