blob: df6af4cfe46935e59d7c177670971d6cb334f53d [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],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020017 ["userMetadata._ip_eth_type0", 16, false],
18 ["userMetadata._vlan_id1", 12, false],
19 ["userMetadata._vlan_pri2", 3, false],
20 ["userMetadata._vlan_cfi3", 1, false],
21 ["userMetadata._mpls_label4", 20, false],
22 ["userMetadata._mpls_ttl5", 8, false],
23 ["userMetadata._skip_forwarding6", 1, false],
24 ["userMetadata._skip_next7", 1, false],
25 ["userMetadata._fwd_type8", 3, false],
26 ["userMetadata._next_id9", 32, false],
27 ["userMetadata._is_multicast10", 1, false],
28 ["userMetadata._is_controller_packet_out11", 1, false],
29 ["userMetadata._ip_proto12", 8, false],
30 ["userMetadata._l4_sport13", 16, false],
31 ["userMetadata._l4_dport14", 16, false],
32 ["userMetadata._ipv4_src_addr15", 32, false],
33 ["userMetadata._ipv4_dst_addr16", 32, false],
34 ["userMetadata._inner_l4_sport17", 16, false],
35 ["userMetadata._inner_l4_dport18", 16, false],
36 ["userMetadata._spgw_ipv4_len19", 16, false],
37 ["userMetadata._spgw_teid20", 32, false],
38 ["userMetadata._spgw_tunnel_src_port21", 16, false],
39 ["userMetadata._spgw_tunnel_src_addr22", 32, false],
40 ["userMetadata._spgw_tunnel_dst_addr23", 32, false],
41 ["userMetadata._spgw_ctr_id24", 32, false],
42 ["userMetadata._spgw_far_id25", 32, false],
43 ["userMetadata._spgw_src_iface26", 8, false],
44 ["userMetadata._spgw_skip_spgw27", 1, false],
45 ["userMetadata._spgw_notify_spgwc28", 1, false],
46 ["userMetadata._spgw_needs_gtpu_encap29", 1, false],
47 ["userMetadata._spgw_needs_gtpu_decap30", 1, false],
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070048 ["userMetadata._spgw_skip_egress_pdr_ctr31", 1, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080049 ]
50 },
51 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +020052 "name" : "packet_out_header_t",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080053 "id" : 1,
54 "fields" : [
Carmelo Cascone2388cc12021-05-26 19:30:30 +020055 ["egress_port", 9, false],
56 ["do_forwarding", 1, false],
57 ["_pad", 6, false]
58 ]
59 },
60 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070061 "name" : "gtpu_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +020062 "id" : 2,
63 "fields" : [
Carmelo Cascone2a308ff2021-06-01 18:31:57 -070064 ["version", 3, false],
65 ["pt", 1, false],
66 ["spare", 1, false],
67 ["ex_flag", 1, false],
68 ["seq_flag", 1, false],
69 ["npdu_flag", 1, false],
70 ["msgtype", 8, false],
71 ["msglen", 16, false],
72 ["teid", 32, false]
73 ]
74 },
75 {
76 "name" : "standard_metadata",
77 "id" : 3,
78 "fields" : [
Carmelo Cascone6af4e172018-06-15 16:01:30 +020079 ["ingress_port", 9, false],
80 ["egress_spec", 9, false],
81 ["egress_port", 9, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020082 ["instance_type", 32, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020083 ["packet_length", 32, false],
84 ["enq_timestamp", 32, false],
85 ["enq_qdepth", 19, false],
86 ["deq_timedelta", 32, false],
87 ["deq_qdepth", 19, false],
88 ["ingress_global_timestamp", 48, false],
89 ["egress_global_timestamp", 48, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020090 ["mcast_grp", 16, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020091 ["egress_rid", 16, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070092 ["checksum_error", 1, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070093 ["parser_error", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070094 ["priority", 3, false],
Carmelo Cascone2388cc12021-05-26 19:30:30 +020095 ["_padding", 3, false]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020096 ]
97 },
98 {
99 "name" : "ethernet_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700100 "id" : 4,
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200101 "fields" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800102 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700103 ["src_addr", 48, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800104 ]
105 },
106 {
107 "name" : "vlan_tag_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700108 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800109 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -0700110 ["eth_type", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800111 ["pri", 3, false],
112 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700113 ["vlan_id", 12, false]
114 ]
115 },
116 {
117 "name" : "eth_type_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700118 "id" : 6,
Daniele Moro5a2de712019-09-24 14:34:07 -0700119 "fields" : [
120 ["value", 16, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800121 ]
122 },
123 {
124 "name" : "mpls_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700125 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800126 "fields" : [
127 ["label", 20, false],
128 ["tc", 3, false],
129 ["bos", 1, false],
130 ["ttl", 8, false]
131 ]
132 },
133 {
134 "name" : "ipv4_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700135 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800136 "fields" : [
137 ["version", 4, false],
138 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900139 ["dscp", 6, false],
140 ["ecn", 2, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800141 ["total_len", 16, false],
142 ["identification", 16, false],
143 ["flags", 3, false],
144 ["frag_offset", 13, false],
145 ["ttl", 8, false],
146 ["protocol", 8, false],
147 ["hdr_checksum", 16, false],
148 ["src_addr", 32, false],
149 ["dst_addr", 32, false]
150 ]
151 },
152 {
153 "name" : "udp_t",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700154 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800155 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800156 ["sport", 16, false],
157 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800158 ["len", 16, false],
159 ["checksum", 16, false]
160 ]
161 },
162 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800163 "name" : "tcp_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200164 "id" : 10,
Yi Tseng27b9bc02018-04-12 14:52:40 +0800165 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800166 ["sport", 16, false],
167 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800168 ["seq_no", 32, false],
169 ["ack_no", 32, false],
170 ["data_offset", 4, false],
171 ["res", 3, false],
172 ["ecn", 3, false],
173 ["ctrl", 6, false],
174 ["window", 16, false],
175 ["checksum", 16, false],
176 ["urgent_ptr", 16, false]
177 ]
178 },
179 {
180 "name" : "icmp_t",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200181 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800182 "fields" : [
183 ["icmp_type", 8, false],
184 ["icmp_code", 8, false],
185 ["checksum", 16, false],
186 ["identifier", 16, false],
187 ["sequence_number", 16, false],
188 ["timestamp", 64, false]
189 ]
190 },
191 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800192 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700193 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800194 "fields" : [
195 ["ingress_port", 9, false],
196 ["_pad", 7, false]
197 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800198 }
199 ],
200 "headers" : [
201 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200202 "name" : "tmp",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800203 "id" : 0,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200204 "header_type" : "packet_out_header_t",
205 "metadata" : false,
206 "pi_omit" : true
207 },
208 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700209 "name" : "gtpu_0",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200210 "id" : 1,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700211 "header_type" : "gtpu_t",
212 "metadata" : false,
213 "pi_omit" : true
214 },
215 {
216 "name" : "scalars",
217 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800218 "header_type" : "scalars_0",
219 "metadata" : true,
220 "pi_omit" : true
221 },
222 {
223 "name" : "standard_metadata",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700224 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800225 "header_type" : "standard_metadata",
226 "metadata" : true,
227 "pi_omit" : true
228 },
229 {
230 "name" : "ethernet",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700231 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800232 "header_type" : "ethernet_t",
233 "metadata" : false,
234 "pi_omit" : true
235 },
236 {
237 "name" : "vlan_tag",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800238 "id" : 5,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200239 "header_type" : "vlan_tag_t",
240 "metadata" : false,
241 "pi_omit" : true
242 },
243 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700244 "name" : "inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200245 "id" : 6,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700246 "header_type" : "vlan_tag_t",
247 "metadata" : false,
248 "pi_omit" : true
249 },
250 {
251 "name" : "eth_type",
252 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700253 "header_type" : "eth_type_t",
254 "metadata" : false,
255 "pi_omit" : true
256 },
257 {
258 "name" : "mpls",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700259 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800260 "header_type" : "mpls_t",
261 "metadata" : false,
262 "pi_omit" : true
263 },
264 {
265 "name" : "gtpu_ipv4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700266 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800267 "header_type" : "ipv4_t",
268 "metadata" : false,
269 "pi_omit" : true
270 },
271 {
272 "name" : "gtpu_udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700273 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800274 "header_type" : "udp_t",
275 "metadata" : false,
276 "pi_omit" : true
277 },
278 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700279 "name" : "outer_gtpu",
Robert MacDavidde12b982020-07-15 18:38:59 -0700280 "id" : 11,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200281 "header_type" : "gtpu_t",
282 "metadata" : false,
283 "pi_omit" : true
284 },
285 {
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700286 "name" : "gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200287 "id" : 12,
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700288 "header_type" : "gtpu_t",
289 "metadata" : false,
290 "pi_omit" : true
291 },
292 {
293 "name" : "inner_ipv4",
294 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800295 "header_type" : "ipv4_t",
296 "metadata" : false,
297 "pi_omit" : true
298 },
299 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700300 "name" : "inner_udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700301 "id" : 14,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700302 "header_type" : "udp_t",
303 "metadata" : false,
304 "pi_omit" : true
305 },
306 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700307 "name" : "inner_tcp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700308 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800309 "header_type" : "tcp_t",
310 "metadata" : false,
311 "pi_omit" : true
312 },
313 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700314 "name" : "inner_icmp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700315 "id" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -0700316 "header_type" : "icmp_t",
317 "metadata" : false,
318 "pi_omit" : true
319 },
320 {
321 "name" : "ipv4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700322 "id" : 17,
Robert MacDavidde12b982020-07-15 18:38:59 -0700323 "header_type" : "ipv4_t",
324 "metadata" : false,
325 "pi_omit" : true
326 },
327 {
328 "name" : "tcp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700329 "id" : 18,
Robert MacDavidde12b982020-07-15 18:38:59 -0700330 "header_type" : "tcp_t",
331 "metadata" : false,
332 "pi_omit" : true
333 },
334 {
335 "name" : "udp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700336 "id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800337 "header_type" : "udp_t",
338 "metadata" : false,
339 "pi_omit" : true
340 },
341 {
342 "name" : "icmp",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700343 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800344 "header_type" : "icmp_t",
345 "metadata" : false,
346 "pi_omit" : true
347 },
348 {
349 "name" : "packet_out",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700350 "id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800351 "header_type" : "packet_out_header_t",
352 "metadata" : false,
353 "pi_omit" : true
354 },
355 {
356 "name" : "packet_in",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -0700357 "id" : 22,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800358 "header_type" : "packet_in_header_t",
359 "metadata" : false,
360 "pi_omit" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800361 }
362 ],
363 "header_stacks" : [],
364 "header_union_types" : [],
365 "header_unions" : [],
366 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700367 "field_lists" : [
368 {
369 "id" : 1,
370 "name" : "fl",
371 "source_info" : {
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700372 "filename" : "include/control/acl.p4",
373 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700374 "column" : 40,
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700375 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700376 },
377 "elements" : [
378 {
379 "type" : "field",
380 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700381 }
382 ]
383 }
384 ],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700385 "errors" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700386 ["NoError", 1],
387 ["PacketTooShort", 2],
388 ["NoMatch", 3],
389 ["StackOutOfBounds", 4],
390 ["HeaderTooShort", 5],
391 ["ParserTimeout", 6],
392 ["ParserInvalidArgument", 7]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700393 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800394 "enums" : [],
395 "parsers" : [
396 {
397 "name" : "parser",
398 "id" : 0,
399 "init_state" : "start",
400 "parse_states" : [
401 {
402 "name" : "start",
403 "id" : 0,
404 "parser_ops" : [],
405 "transitions" : [
406 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800407 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800408 "value" : "0x00ff",
409 "mask" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200410 "next_state" : "check_packet_out"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800411 },
412 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200413 "type" : "default",
414 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800415 "mask" : null,
416 "next_state" : "parse_ethernet"
417 }
418 ],
419 "transition_key" : [
420 {
421 "type" : "field",
422 "value" : ["standard_metadata", "ingress_port"]
423 }
424 ]
425 },
426 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200427 "name" : "check_packet_out",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800428 "id" : 1,
429 "parser_ops" : [
430 {
431 "parameters" : [
432 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200433 "type" : "field",
434 "value" : ["scalars", "tmp_6"]
435 },
436 {
437 "type" : "lookahead",
438 "value" : [0, 16]
439 }
440 ],
441 "op" : "set"
442 },
443 {
444 "parameters" : [
445 {
446 "parameters" : [
447 {
448 "type" : "header",
449 "value" : "tmp"
450 }
451 ],
452 "op" : "add_header"
453 }
454 ],
455 "op" : "primitive"
456 },
457 {
458 "parameters" : [
459 {
460 "type" : "field",
461 "value" : ["tmp", "egress_port"]
462 },
463 {
464 "type" : "expression",
465 "value" : {
466 "type" : "expression",
467 "value" : {
468 "op" : "&",
469 "left" : {
470 "type" : "expression",
471 "value" : {
472 "op" : "&",
473 "left" : {
474 "type" : "expression",
475 "value" : {
476 "op" : ">>",
477 "left" : {
478 "type" : "field",
479 "value" : ["scalars", "tmp_6"]
480 },
481 "right" : {
482 "type" : "hexstr",
483 "value" : "0x7"
484 }
485 }
486 },
487 "right" : {
488 "type" : "hexstr",
489 "value" : "0xffff"
490 }
491 }
492 },
493 "right" : {
494 "type" : "hexstr",
495 "value" : "0x01ff"
496 }
497 }
498 }
499 }
500 ],
501 "op" : "set"
502 },
503 {
504 "parameters" : [
505 {
506 "type" : "field",
507 "value" : ["tmp", "do_forwarding"]
508 },
509 {
510 "type" : "expression",
511 "value" : {
512 "type" : "expression",
513 "value" : {
514 "op" : "&",
515 "left" : {
516 "type" : "expression",
517 "value" : {
518 "op" : "&",
519 "left" : {
520 "type" : "expression",
521 "value" : {
522 "op" : ">>",
523 "left" : {
524 "type" : "field",
525 "value" : ["scalars", "tmp_6"]
526 },
527 "right" : {
528 "type" : "hexstr",
529 "value" : "0x6"
530 }
531 }
532 },
533 "right" : {
534 "type" : "hexstr",
535 "value" : "0xffff"
536 }
537 }
538 },
539 "right" : {
540 "type" : "hexstr",
541 "value" : "0x01"
542 }
543 }
544 }
545 }
546 ],
547 "op" : "set"
548 },
549 {
550 "parameters" : [
551 {
552 "type" : "field",
553 "value" : ["tmp", "_pad"]
554 },
555 {
556 "type" : "expression",
557 "value" : {
558 "type" : "expression",
559 "value" : {
560 "op" : "&",
561 "left" : {
562 "type" : "field",
563 "value" : ["scalars", "tmp_6"]
564 },
565 "right" : {
566 "type" : "hexstr",
567 "value" : "0x3f"
568 }
569 }
570 }
571 }
572 ],
573 "op" : "set"
574 },
575 {
576 "parameters" : [
577 {
578 "type" : "field",
579 "value" : ["scalars", "tmp_0"]
580 },
581 {
582 "type" : "expression",
583 "value" : {
584 "type" : "expression",
585 "value" : {
586 "op" : "&",
587 "left" : {
588 "type" : "expression",
589 "value" : {
590 "op" : "&",
591 "left" : {
592 "type" : "expression",
593 "value" : {
594 "op" : ">>",
595 "left" : {
596 "type" : "field",
597 "value" : ["scalars", "tmp_6"]
598 },
599 "right" : {
600 "type" : "hexstr",
601 "value" : "0x6"
602 }
603 }
604 },
605 "right" : {
606 "type" : "hexstr",
607 "value" : "0xffff"
608 }
609 }
610 },
611 "right" : {
612 "type" : "hexstr",
613 "value" : "0x01"
614 }
615 }
616 }
617 }
618 ],
619 "op" : "set"
620 }
621 ],
622 "transitions" : [
623 {
624 "type" : "hexstr",
625 "value" : "0x00",
626 "mask" : null,
627 "next_state" : "parse_packet_out_and_accept"
628 },
629 {
630 "type" : "default",
631 "value" : null,
632 "mask" : null,
633 "next_state" : "strip_packet_out"
634 }
635 ],
636 "transition_key" : [
637 {
638 "type" : "field",
639 "value" : ["scalars", "tmp_0"]
640 }
641 ]
642 },
643 {
644 "name" : "parse_packet_out_and_accept",
645 "id" : 2,
646 "parser_ops" : [
647 {
648 "parameters" : [
649 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800650 "type" : "regular",
651 "value" : "packet_out"
652 }
653 ],
654 "op" : "extract"
655 }
656 ],
657 "transitions" : [
658 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200659 "type" : "default",
660 "value" : null,
661 "mask" : null,
662 "next_state" : null
663 }
664 ],
665 "transition_key" : []
666 },
667 {
668 "name" : "strip_packet_out",
669 "id" : 3,
670 "parser_ops" : [
671 {
672 "parameters" : [
673 {
674 "type" : "hexstr",
675 "value" : "0x00000010"
676 }
677 ],
678 "op" : "advance"
679 }
680 ],
681 "transitions" : [
682 {
683 "type" : "default",
684 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800685 "mask" : null,
686 "next_state" : "parse_ethernet"
687 }
688 ],
689 "transition_key" : []
690 },
691 {
692 "name" : "parse_ethernet",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200693 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800694 "parser_ops" : [
695 {
696 "parameters" : [
697 {
698 "type" : "regular",
699 "value" : "ethernet"
700 }
701 ],
702 "op" : "extract"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800703 },
704 {
705 "parameters" : [
706 {
707 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200708 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800709 },
710 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700711 "type" : "hexstr",
712 "value" : "0x0ffe"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800713 }
714 ],
715 "op" : "set"
716 },
717 {
718 "parameters" : [
719 {
720 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200721 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800722 },
723 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700724 "type" : "lookahead",
725 "value" : [0, 16]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800726 }
727 ],
728 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800729 }
730 ],
731 "transitions" : [
732 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800733 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700734 "value" : "0x88a8",
735 "mask" : null,
736 "next_state" : "parse_vlan_tag"
737 },
738 {
739 "type" : "hexstr",
740 "value" : "0x9100",
741 "mask" : null,
742 "next_state" : "parse_vlan_tag"
743 },
744 {
745 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800746 "value" : "0x8100",
747 "mask" : null,
748 "next_state" : "parse_vlan_tag"
749 },
750 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200751 "type" : "default",
752 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800753 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700754 "next_state" : "parse_eth_type"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800755 }
756 ],
757 "transition_key" : [
758 {
759 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200760 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800761 }
762 ]
763 },
764 {
765 "name" : "parse_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200766 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800767 "parser_ops" : [
768 {
769 "parameters" : [
770 {
771 "type" : "regular",
772 "value" : "vlan_tag"
773 }
774 ],
775 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700776 },
777 {
778 "parameters" : [
779 {
780 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200781 "value" : ["scalars", "tmp_3"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700782 },
783 {
784 "type" : "lookahead",
785 "value" : [0, 16]
786 }
787 ],
788 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800789 }
790 ],
791 "transitions" : [
792 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800793 "type" : "hexstr",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800794 "value" : "0x8100",
795 "mask" : null,
796 "next_state" : "parse_inner_vlan_tag"
797 },
798 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200799 "type" : "default",
800 "value" : null,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800801 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700802 "next_state" : "parse_eth_type"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800803 }
804 ],
805 "transition_key" : [
806 {
807 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200808 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800809 }
810 ]
811 },
812 {
813 "name" : "parse_inner_vlan_tag",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200814 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800815 "parser_ops" : [
816 {
817 "parameters" : [
818 {
819 "type" : "regular",
820 "value" : "inner_vlan_tag"
821 }
822 ],
823 "op" : "extract"
824 }
825 ],
826 "transitions" : [
827 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200828 "type" : "default",
829 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800830 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700831 "next_state" : "parse_eth_type"
832 }
833 ],
834 "transition_key" : []
835 },
836 {
837 "name" : "parse_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200838 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700839 "parser_ops" : [
840 {
841 "parameters" : [
842 {
843 "type" : "regular",
844 "value" : "eth_type"
845 }
846 ],
847 "op" : "extract"
848 }
849 ],
850 "transitions" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800851 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800852 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800853 "value" : "0x8847",
854 "mask" : null,
855 "next_state" : "parse_mpls"
856 },
857 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700858 "type" : "hexstr",
859 "value" : "0x0800",
860 "mask" : null,
861 "next_state" : "parse_ipv4"
862 },
863 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200864 "type" : "default",
865 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800866 "mask" : null,
867 "next_state" : null
868 }
869 ],
870 "transition_key" : [
871 {
872 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700873 "value" : ["eth_type", "value"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800874 }
875 ]
876 },
877 {
878 "name" : "parse_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200879 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800880 "parser_ops" : [
881 {
882 "parameters" : [
883 {
884 "type" : "regular",
885 "value" : "mpls"
886 }
887 ],
888 "op" : "extract"
889 },
890 {
891 "parameters" : [
892 {
893 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200894 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800895 },
896 {
897 "type" : "field",
898 "value" : ["mpls", "label"]
899 }
900 ],
901 "op" : "set"
902 },
903 {
904 "parameters" : [
905 {
906 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200907 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800908 },
909 {
910 "type" : "field",
911 "value" : ["mpls", "ttl"]
912 }
913 ],
914 "op" : "set"
915 },
916 {
917 "parameters" : [
918 {
919 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200920 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800921 },
922 {
923 "type" : "lookahead",
924 "value" : [0, 4]
925 }
926 ],
927 "op" : "set"
928 }
929 ],
930 "transitions" : [
931 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800932 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800933 "value" : "0x04",
934 "mask" : null,
935 "next_state" : "parse_ipv4"
936 },
937 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200938 "type" : "default",
939 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800940 "mask" : null,
941 "next_state" : "parse_ethernet"
942 }
943 ],
944 "transition_key" : [
945 {
946 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200947 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800948 }
949 ]
950 },
951 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700952 "name" : "parse_ipv4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200953 "id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700954 "parser_ops" : [
955 {
956 "parameters" : [
957 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800958 "type" : "regular",
959 "value" : "ipv4"
960 }
961 ],
962 "op" : "extract"
963 },
964 {
965 "parameters" : [
966 {
967 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200968 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800969 },
970 {
971 "type" : "field",
972 "value" : ["ipv4", "protocol"]
973 }
974 ],
975 "op" : "set"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800976 },
977 {
978 "parameters" : [
979 {
980 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200981 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800982 },
983 {
984 "type" : "hexstr",
985 "value" : "0x0800"
986 }
987 ],
988 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400989 },
990 {
991 "parameters" : [
992 {
993 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200994 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400995 },
996 {
997 "type" : "field",
998 "value" : ["ipv4", "src_addr"]
999 }
1000 ],
1001 "op" : "set"
1002 },
1003 {
1004 "parameters" : [
1005 {
1006 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001007 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001008 },
1009 {
1010 "type" : "field",
1011 "value" : ["ipv4", "dst_addr"]
1012 }
1013 ],
1014 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001015 }
1016 ],
1017 "transitions" : [
1018 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001019 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001020 "value" : "0x06",
1021 "mask" : null,
1022 "next_state" : "parse_tcp"
1023 },
1024 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001025 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001026 "value" : "0x11",
1027 "mask" : null,
1028 "next_state" : "parse_udp"
1029 },
1030 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001031 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001032 "value" : "0x01",
1033 "mask" : null,
1034 "next_state" : "parse_icmp"
1035 },
1036 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001037 "type" : "default",
1038 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001039 "mask" : null,
1040 "next_state" : null
1041 }
1042 ],
1043 "transition_key" : [
1044 {
1045 "type" : "field",
1046 "value" : ["ipv4", "protocol"]
1047 }
1048 ]
1049 },
1050 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001051 "name" : "parse_tcp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001052 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001053 "parser_ops" : [
1054 {
1055 "parameters" : [
1056 {
1057 "type" : "regular",
1058 "value" : "tcp"
1059 }
1060 ],
1061 "op" : "extract"
1062 },
1063 {
1064 "parameters" : [
1065 {
1066 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001067 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001068 },
1069 {
1070 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001071 "value" : ["tcp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001072 }
1073 ],
1074 "op" : "set"
1075 },
1076 {
1077 "parameters" : [
1078 {
1079 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001080 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001081 },
1082 {
1083 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001084 "value" : ["tcp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001085 }
1086 ],
1087 "op" : "set"
1088 }
1089 ],
1090 "transitions" : [
1091 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001092 "type" : "default",
1093 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001094 "mask" : null,
1095 "next_state" : null
1096 }
1097 ],
1098 "transition_key" : []
1099 },
1100 {
1101 "name" : "parse_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001102 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001103 "parser_ops" : [
1104 {
1105 "parameters" : [
1106 {
1107 "type" : "regular",
1108 "value" : "udp"
1109 }
1110 ],
1111 "op" : "extract"
1112 },
1113 {
1114 "parameters" : [
1115 {
1116 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001117 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001118 },
1119 {
1120 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001121 "value" : ["udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001122 }
1123 ],
1124 "op" : "set"
1125 },
1126 {
1127 "parameters" : [
1128 {
1129 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001130 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001131 },
1132 {
1133 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001134 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001135 }
1136 ],
1137 "op" : "set"
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001138 },
1139 {
1140 "parameters" : [
1141 {
1142 "type" : "field",
1143 "value" : ["scalars", "tmp_7"]
1144 },
1145 {
1146 "type" : "lookahead",
1147 "value" : [0, 64]
1148 }
1149 ],
1150 "op" : "set"
1151 },
1152 {
1153 "parameters" : [
1154 {
1155 "parameters" : [
1156 {
1157 "type" : "header",
1158 "value" : "gtpu_0"
1159 }
1160 ],
1161 "op" : "add_header"
1162 }
1163 ],
1164 "op" : "primitive"
1165 },
1166 {
1167 "parameters" : [
1168 {
1169 "type" : "field",
1170 "value" : ["gtpu_0", "version"]
1171 },
1172 {
1173 "type" : "expression",
1174 "value" : {
1175 "type" : "expression",
1176 "value" : {
1177 "op" : "&",
1178 "left" : {
1179 "type" : "expression",
1180 "value" : {
1181 "op" : "&",
1182 "left" : {
1183 "type" : "expression",
1184 "value" : {
1185 "op" : ">>",
1186 "left" : {
1187 "type" : "field",
1188 "value" : ["scalars", "tmp_7"]
1189 },
1190 "right" : {
1191 "type" : "hexstr",
1192 "value" : "0x3d"
1193 }
1194 }
1195 },
1196 "right" : {
1197 "type" : "hexstr",
1198 "value" : "0xffffffffffffffff"
1199 }
1200 }
1201 },
1202 "right" : {
1203 "type" : "hexstr",
1204 "value" : "0x07"
1205 }
1206 }
1207 }
1208 }
1209 ],
1210 "op" : "set"
1211 },
1212 {
1213 "parameters" : [
1214 {
1215 "type" : "field",
1216 "value" : ["gtpu_0", "pt"]
1217 },
1218 {
1219 "type" : "expression",
1220 "value" : {
1221 "type" : "expression",
1222 "value" : {
1223 "op" : "&",
1224 "left" : {
1225 "type" : "expression",
1226 "value" : {
1227 "op" : "&",
1228 "left" : {
1229 "type" : "expression",
1230 "value" : {
1231 "op" : ">>",
1232 "left" : {
1233 "type" : "field",
1234 "value" : ["scalars", "tmp_7"]
1235 },
1236 "right" : {
1237 "type" : "hexstr",
1238 "value" : "0x3c"
1239 }
1240 }
1241 },
1242 "right" : {
1243 "type" : "hexstr",
1244 "value" : "0xffffffffffffffff"
1245 }
1246 }
1247 },
1248 "right" : {
1249 "type" : "hexstr",
1250 "value" : "0x01"
1251 }
1252 }
1253 }
1254 }
1255 ],
1256 "op" : "set"
1257 },
1258 {
1259 "parameters" : [
1260 {
1261 "type" : "field",
1262 "value" : ["gtpu_0", "spare"]
1263 },
1264 {
1265 "type" : "expression",
1266 "value" : {
1267 "type" : "expression",
1268 "value" : {
1269 "op" : "&",
1270 "left" : {
1271 "type" : "expression",
1272 "value" : {
1273 "op" : "&",
1274 "left" : {
1275 "type" : "expression",
1276 "value" : {
1277 "op" : ">>",
1278 "left" : {
1279 "type" : "field",
1280 "value" : ["scalars", "tmp_7"]
1281 },
1282 "right" : {
1283 "type" : "hexstr",
1284 "value" : "0x3b"
1285 }
1286 }
1287 },
1288 "right" : {
1289 "type" : "hexstr",
1290 "value" : "0xffffffffffffffff"
1291 }
1292 }
1293 },
1294 "right" : {
1295 "type" : "hexstr",
1296 "value" : "0x01"
1297 }
1298 }
1299 }
1300 }
1301 ],
1302 "op" : "set"
1303 },
1304 {
1305 "parameters" : [
1306 {
1307 "type" : "field",
1308 "value" : ["gtpu_0", "ex_flag"]
1309 },
1310 {
1311 "type" : "expression",
1312 "value" : {
1313 "type" : "expression",
1314 "value" : {
1315 "op" : "&",
1316 "left" : {
1317 "type" : "expression",
1318 "value" : {
1319 "op" : "&",
1320 "left" : {
1321 "type" : "expression",
1322 "value" : {
1323 "op" : ">>",
1324 "left" : {
1325 "type" : "field",
1326 "value" : ["scalars", "tmp_7"]
1327 },
1328 "right" : {
1329 "type" : "hexstr",
1330 "value" : "0x3a"
1331 }
1332 }
1333 },
1334 "right" : {
1335 "type" : "hexstr",
1336 "value" : "0xffffffffffffffff"
1337 }
1338 }
1339 },
1340 "right" : {
1341 "type" : "hexstr",
1342 "value" : "0x01"
1343 }
1344 }
1345 }
1346 }
1347 ],
1348 "op" : "set"
1349 },
1350 {
1351 "parameters" : [
1352 {
1353 "type" : "field",
1354 "value" : ["gtpu_0", "seq_flag"]
1355 },
1356 {
1357 "type" : "expression",
1358 "value" : {
1359 "type" : "expression",
1360 "value" : {
1361 "op" : "&",
1362 "left" : {
1363 "type" : "expression",
1364 "value" : {
1365 "op" : "&",
1366 "left" : {
1367 "type" : "expression",
1368 "value" : {
1369 "op" : ">>",
1370 "left" : {
1371 "type" : "field",
1372 "value" : ["scalars", "tmp_7"]
1373 },
1374 "right" : {
1375 "type" : "hexstr",
1376 "value" : "0x39"
1377 }
1378 }
1379 },
1380 "right" : {
1381 "type" : "hexstr",
1382 "value" : "0xffffffffffffffff"
1383 }
1384 }
1385 },
1386 "right" : {
1387 "type" : "hexstr",
1388 "value" : "0x01"
1389 }
1390 }
1391 }
1392 }
1393 ],
1394 "op" : "set"
1395 },
1396 {
1397 "parameters" : [
1398 {
1399 "type" : "field",
1400 "value" : ["gtpu_0", "npdu_flag"]
1401 },
1402 {
1403 "type" : "expression",
1404 "value" : {
1405 "type" : "expression",
1406 "value" : {
1407 "op" : "&",
1408 "left" : {
1409 "type" : "expression",
1410 "value" : {
1411 "op" : "&",
1412 "left" : {
1413 "type" : "expression",
1414 "value" : {
1415 "op" : ">>",
1416 "left" : {
1417 "type" : "field",
1418 "value" : ["scalars", "tmp_7"]
1419 },
1420 "right" : {
1421 "type" : "hexstr",
1422 "value" : "0x38"
1423 }
1424 }
1425 },
1426 "right" : {
1427 "type" : "hexstr",
1428 "value" : "0xffffffffffffffff"
1429 }
1430 }
1431 },
1432 "right" : {
1433 "type" : "hexstr",
1434 "value" : "0x01"
1435 }
1436 }
1437 }
1438 }
1439 ],
1440 "op" : "set"
1441 },
1442 {
1443 "parameters" : [
1444 {
1445 "type" : "field",
1446 "value" : ["gtpu_0", "msgtype"]
1447 },
1448 {
1449 "type" : "expression",
1450 "value" : {
1451 "type" : "expression",
1452 "value" : {
1453 "op" : "&",
1454 "left" : {
1455 "type" : "expression",
1456 "value" : {
1457 "op" : "&",
1458 "left" : {
1459 "type" : "expression",
1460 "value" : {
1461 "op" : ">>",
1462 "left" : {
1463 "type" : "field",
1464 "value" : ["scalars", "tmp_7"]
1465 },
1466 "right" : {
1467 "type" : "hexstr",
1468 "value" : "0x30"
1469 }
1470 }
1471 },
1472 "right" : {
1473 "type" : "hexstr",
1474 "value" : "0xffffffffffffffff"
1475 }
1476 }
1477 },
1478 "right" : {
1479 "type" : "hexstr",
1480 "value" : "0xff"
1481 }
1482 }
1483 }
1484 }
1485 ],
1486 "op" : "set"
1487 },
1488 {
1489 "parameters" : [
1490 {
1491 "type" : "field",
1492 "value" : ["gtpu_0", "msglen"]
1493 },
1494 {
1495 "type" : "expression",
1496 "value" : {
1497 "type" : "expression",
1498 "value" : {
1499 "op" : "&",
1500 "left" : {
1501 "type" : "expression",
1502 "value" : {
1503 "op" : "&",
1504 "left" : {
1505 "type" : "expression",
1506 "value" : {
1507 "op" : ">>",
1508 "left" : {
1509 "type" : "field",
1510 "value" : ["scalars", "tmp_7"]
1511 },
1512 "right" : {
1513 "type" : "hexstr",
1514 "value" : "0x20"
1515 }
1516 }
1517 },
1518 "right" : {
1519 "type" : "hexstr",
1520 "value" : "0xffffffffffffffff"
1521 }
1522 }
1523 },
1524 "right" : {
1525 "type" : "hexstr",
1526 "value" : "0xffff"
1527 }
1528 }
1529 }
1530 }
1531 ],
1532 "op" : "set"
1533 },
1534 {
1535 "parameters" : [
1536 {
1537 "type" : "field",
1538 "value" : ["gtpu_0", "teid"]
1539 },
1540 {
1541 "type" : "expression",
1542 "value" : {
1543 "type" : "expression",
1544 "value" : {
1545 "op" : "&",
1546 "left" : {
1547 "type" : "field",
1548 "value" : ["scalars", "tmp_7"]
1549 },
1550 "right" : {
1551 "type" : "hexstr",
1552 "value" : "0xffffffff"
1553 }
1554 }
1555 }
1556 }
1557 ],
1558 "op" : "set"
1559 },
1560 {
1561 "parameters" : [
1562 {
1563 "type" : "field",
1564 "value" : ["scalars", "tmp_2"]
1565 },
1566 {
1567 "type" : "expression",
1568 "value" : {
1569 "type" : "expression",
1570 "value" : {
1571 "op" : "&",
1572 "left" : {
1573 "type" : "expression",
1574 "value" : {
1575 "op" : "&",
1576 "left" : {
1577 "type" : "expression",
1578 "value" : {
1579 "op" : ">>",
1580 "left" : {
1581 "type" : "field",
1582 "value" : ["scalars", "tmp_7"]
1583 },
1584 "right" : {
1585 "type" : "hexstr",
1586 "value" : "0x3d"
1587 }
1588 }
1589 },
1590 "right" : {
1591 "type" : "hexstr",
1592 "value" : "0xffffffffffffffff"
1593 }
1594 }
1595 },
1596 "right" : {
1597 "type" : "hexstr",
1598 "value" : "0x07"
1599 }
1600 }
1601 }
1602 }
1603 ],
1604 "op" : "set"
1605 },
1606 {
1607 "parameters" : [
1608 {
1609 "type" : "field",
1610 "value" : ["scalars", "tmp_4"]
1611 },
1612 {
1613 "type" : "expression",
1614 "value" : {
1615 "type" : "expression",
1616 "value" : {
1617 "op" : "&",
1618 "left" : {
1619 "type" : "expression",
1620 "value" : {
1621 "op" : "&",
1622 "left" : {
1623 "type" : "expression",
1624 "value" : {
1625 "op" : ">>",
1626 "left" : {
1627 "type" : "field",
1628 "value" : ["scalars", "tmp_7"]
1629 },
1630 "right" : {
1631 "type" : "hexstr",
1632 "value" : "0x30"
1633 }
1634 }
1635 },
1636 "right" : {
1637 "type" : "hexstr",
1638 "value" : "0xffffffffffffffff"
1639 }
1640 }
1641 },
1642 "right" : {
1643 "type" : "hexstr",
1644 "value" : "0xff"
1645 }
1646 }
1647 }
1648 }
1649 ],
1650 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001651 }
1652 ],
1653 "transitions" : [
1654 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001655 "type" : "hexstr",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001656 "value" : "0x086801ff",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001657 "mask" : null,
1658 "next_state" : "parse_gtpu"
1659 },
1660 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001661 "type" : "default",
1662 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001663 "mask" : null,
1664 "next_state" : null
1665 }
1666 ],
1667 "transition_key" : [
1668 {
1669 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001670 "value" : ["udp", "dport"]
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001671 },
1672 {
1673 "type" : "field",
1674 "value" : ["scalars", "tmp_2"]
1675 },
1676 {
1677 "type" : "field",
1678 "value" : ["scalars", "tmp_4"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001679 }
1680 ]
1681 },
1682 {
1683 "name" : "parse_icmp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001684 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001685 "parser_ops" : [
1686 {
1687 "parameters" : [
1688 {
1689 "type" : "regular",
1690 "value" : "icmp"
1691 }
1692 ],
1693 "op" : "extract"
1694 }
1695 ],
1696 "transitions" : [
1697 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001698 "type" : "default",
1699 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001700 "mask" : null,
1701 "next_state" : null
1702 }
1703 ],
1704 "transition_key" : []
1705 },
1706 {
1707 "name" : "parse_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001708 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001709 "parser_ops" : [
1710 {
1711 "parameters" : [
1712 {
1713 "type" : "regular",
1714 "value" : "gtpu"
1715 }
1716 ],
1717 "op" : "extract"
1718 },
1719 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001720 "parameters" : [
1721 {
1722 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001723 "value" : "inner_ipv4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001724 }
1725 ],
1726 "op" : "extract"
1727 }
1728 ],
1729 "transitions" : [
1730 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001731 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001732 "value" : "0x06",
1733 "mask" : null,
1734 "next_state" : "parse_tcp"
1735 },
1736 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001737 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001738 "value" : "0x11",
1739 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001740 "next_state" : "parse_inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001741 },
1742 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001743 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001744 "value" : "0x01",
1745 "mask" : null,
1746 "next_state" : "parse_icmp"
1747 },
1748 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001749 "type" : "default",
1750 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001751 "mask" : null,
1752 "next_state" : null
1753 }
1754 ],
1755 "transition_key" : [
1756 {
1757 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001758 "value" : ["inner_ipv4", "protocol"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001759 }
1760 ]
1761 },
1762 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001763 "name" : "parse_inner_udp",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001764 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001765 "parser_ops" : [
1766 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001767 "parameters" : [
1768 {
1769 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001770 "value" : "inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001771 }
1772 ],
1773 "op" : "extract"
1774 },
1775 {
1776 "parameters" : [
1777 {
1778 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001779 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001780 },
1781 {
1782 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001783 "value" : ["inner_udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001784 }
1785 ],
1786 "op" : "set"
1787 },
1788 {
1789 "parameters" : [
1790 {
1791 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001792 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001793 },
1794 {
1795 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001796 "value" : ["inner_udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001797 }
1798 ],
1799 "op" : "set"
1800 }
1801 ],
1802 "transitions" : [
1803 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001804 "type" : "default",
1805 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001806 "mask" : null,
1807 "next_state" : null
1808 }
1809 ],
1810 "transition_key" : []
1811 }
1812 ]
1813 }
1814 ],
Yi Tseng27b9bc02018-04-12 14:52:40 +08001815 "parse_vsets" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001816 "deparsers" : [
1817 {
1818 "name" : "deparser",
1819 "id" : 0,
1820 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001821 "filename" : "include/parser.p4",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07001822 "line" : 285,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001823 "column" : 8,
1824 "source_fragment" : "FabricDeparser"
1825 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001826 "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"],
1827 "primitives" : []
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001828 }
1829 ],
1830 "meter_arrays" : [],
1831 "counter_arrays" : [
1832 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001833 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001834 "id" : 0,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001835 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001836 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1837 "source_info" : {
1838 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001839 "line" : 31,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001840 "column" : 50,
1841 "source_fragment" : "ingress_port_vlan_counter"
1842 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001843 },
1844 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001845 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001846 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001847 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001848 "binding" : "FabricIngress.filtering.fwd_classifier",
1849 "source_info" : {
1850 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001851 "line" : 85,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001852 "column" : 50,
1853 "source_fragment" : "fwd_classifier_counter"
1854 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001855 },
1856 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001857 "name" : "FabricIngress.forwarding.bridging_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001858 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001859 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001860 "binding" : "FabricIngress.forwarding.bridging",
1861 "source_info" : {
1862 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001863 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001864 "column" : 50,
1865 "source_fragment" : "bridging_counter"
1866 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001867 },
1868 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001869 "name" : "FabricIngress.forwarding.mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001870 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001871 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001872 "binding" : "FabricIngress.forwarding.mpls",
1873 "source_info" : {
1874 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001875 "line" : 63,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001876 "column" : 50,
1877 "source_fragment" : "mpls_counter"
1878 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001879 },
1880 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001881 "name" : "FabricIngress.acl.acl_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001882 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001883 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001884 "binding" : "FabricIngress.acl.acl",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001885 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001886 "filename" : "include/control/acl.p4",
1887 "line" : 30,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001888 "column" : 50,
1889 "source_fragment" : "acl_counter"
1890 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001891 },
1892 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001893 "name" : "FabricIngress.next.next_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001894 "id" : 5,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001895 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001896 "binding" : "FabricIngress.next.next_vlan",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001897 "source_info" : {
1898 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001899 "line" : 67,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001900 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001901 "source_fragment" : "next_vlan_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001902 }
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001903 },
1904 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001905 "name" : "FabricIngress.next.xconnect_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001906 "id" : 6,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08001907 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001908 "binding" : "FabricIngress.next.xconnect",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001909 "source_info" : {
1910 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001911 "line" : 107,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001912 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001913 "source_fragment" : "xconnect_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001914 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001915 },
1916 {
1917 "name" : "FabricIngress.next.hashed_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001918 "id" : 7,
Yi Tseng27b9bc02018-04-12 14:52:40 +08001919 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001920 "binding" : "FabricIngress.next.hashed",
1921 "source_info" : {
1922 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001923 "line" : 184,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001924 "column" : 50,
1925 "source_fragment" : "hashed_counter"
1926 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08001927 },
1928 {
Esin Karaman971fb7f2017-12-28 13:44:52 +00001929 "name" : "FabricIngress.next.multicast_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001930 "id" : 8,
Esin Karaman971fb7f2017-12-28 13:44:52 +00001931 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001932 "binding" : "FabricIngress.next.multicast",
1933 "source_info" : {
1934 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07001935 "line" : 228,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001936 "column" : 50,
1937 "source_fragment" : "multicast_counter"
1938 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00001939 },
1940 {
1941 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001942 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001943 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001944 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001945 "line" : 26,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001946 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001947 "source_fragment" : "egress_port_counter"
1948 },
1949 "size" : 511,
1950 "is_direct" : false
1951 },
1952 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001953 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001954 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001955 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001956 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001957 "line" : 27,
Yi Tseng3d3956d2018-01-31 17:28:05 -08001958 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001959 "source_fragment" : "ingress_port_counter"
1960 },
1961 "size" : 511,
1962 "is_direct" : false
Yi Tseng47eac892018-07-11 02:17:04 +08001963 },
1964 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001965 "name" : "FabricIngress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001966 "id" : 11,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001967 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07001968 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001969 "line" : 108,
Robert MacDavidde12b982020-07-15 18:38:59 -07001970 "column" : 53,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001971 "source_fragment" : "pdr_counter"
1972 },
Robert MacDavidde12b982020-07-15 18:38:59 -07001973 "size" : 2048,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001974 "is_direct" : false
1975 },
1976 {
1977 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001978 "id" : 12,
Yi Tseng47eac892018-07-11 02:17:04 +08001979 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001980 "binding" : "FabricEgress.egress_next.egress_vlan",
1981 "source_info" : {
1982 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01001983 "line" : 314,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001984 "column" : 50,
1985 "source_fragment" : "egress_vlan_counter"
1986 }
Robert MacDavidde12b982020-07-15 18:38:59 -07001987 },
1988 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08001989 "name" : "FabricEgress.spgw.pdr_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001990 "id" : 13,
1991 "source_info" : {
1992 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02001993 "line" : 295,
Robert MacDavidde12b982020-07-15 18:38:59 -07001994 "column" : 53,
1995 "source_fragment" : "pdr_counter"
1996 },
1997 "size" : 2048,
1998 "is_direct" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001999 }
2000 ],
2001 "register_arrays" : [],
2002 "calculations" : [
2003 {
2004 "name" : "calc",
2005 "id" : 0,
2006 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002007 "filename" : "include/checksum.p4",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002008 "line" : 28,
2009 "column" : 8,
2010 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
2011 },
2012 "algo" : "csum16",
2013 "input" : [
2014 {
2015 "type" : "field",
2016 "value" : ["ipv4", "version"]
2017 },
2018 {
2019 "type" : "field",
2020 "value" : ["ipv4", "ihl"]
2021 },
2022 {
2023 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002024 "value" : ["ipv4", "dscp"]
2025 },
2026 {
2027 "type" : "field",
2028 "value" : ["ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002029 },
2030 {
2031 "type" : "field",
2032 "value" : ["ipv4", "total_len"]
2033 },
2034 {
2035 "type" : "field",
2036 "value" : ["ipv4", "identification"]
2037 },
2038 {
2039 "type" : "field",
2040 "value" : ["ipv4", "flags"]
2041 },
2042 {
2043 "type" : "field",
2044 "value" : ["ipv4", "frag_offset"]
2045 },
2046 {
2047 "type" : "field",
2048 "value" : ["ipv4", "ttl"]
2049 },
2050 {
2051 "type" : "field",
2052 "value" : ["ipv4", "protocol"]
2053 },
2054 {
2055 "type" : "field",
2056 "value" : ["ipv4", "src_addr"]
2057 },
2058 {
2059 "type" : "field",
2060 "value" : ["ipv4", "dst_addr"]
2061 }
2062 ]
2063 },
2064 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002065 "name" : "calc_0",
2066 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002067 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002068 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002069 "line" : 358,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002070 "column" : 8,
2071 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
2072 },
2073 "algo" : "csum16",
2074 "input" : [
2075 {
2076 "type" : "field",
2077 "value" : ["gtpu_ipv4", "version"]
2078 },
2079 {
2080 "type" : "field",
2081 "value" : ["gtpu_ipv4", "ihl"]
2082 },
2083 {
2084 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002085 "value" : ["gtpu_ipv4", "dscp"]
2086 },
2087 {
2088 "type" : "field",
2089 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002090 },
2091 {
2092 "type" : "field",
2093 "value" : ["gtpu_ipv4", "total_len"]
2094 },
2095 {
2096 "type" : "field",
2097 "value" : ["gtpu_ipv4", "identification"]
2098 },
2099 {
2100 "type" : "field",
2101 "value" : ["gtpu_ipv4", "flags"]
2102 },
2103 {
2104 "type" : "field",
2105 "value" : ["gtpu_ipv4", "frag_offset"]
2106 },
2107 {
2108 "type" : "field",
2109 "value" : ["gtpu_ipv4", "ttl"]
2110 },
2111 {
2112 "type" : "field",
2113 "value" : ["gtpu_ipv4", "protocol"]
2114 },
2115 {
2116 "type" : "field",
2117 "value" : ["gtpu_ipv4", "src_addr"]
2118 },
2119 {
2120 "type" : "field",
2121 "value" : ["gtpu_ipv4", "dst_addr"]
2122 }
2123 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002124 },
2125 {
2126 "name" : "calc_1",
2127 "id" : 2,
2128 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002129 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002130 "line" : 57,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002131 "column" : 8,
2132 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
2133 },
2134 "algo" : "csum16",
2135 "input" : [
2136 {
2137 "type" : "field",
2138 "value" : ["ipv4", "version"]
2139 },
2140 {
2141 "type" : "field",
2142 "value" : ["ipv4", "ihl"]
2143 },
2144 {
2145 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002146 "value" : ["ipv4", "dscp"]
2147 },
2148 {
2149 "type" : "field",
2150 "value" : ["ipv4", "ecn"]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002151 },
2152 {
2153 "type" : "field",
2154 "value" : ["ipv4", "total_len"]
2155 },
2156 {
2157 "type" : "field",
2158 "value" : ["ipv4", "identification"]
2159 },
2160 {
2161 "type" : "field",
2162 "value" : ["ipv4", "flags"]
2163 },
2164 {
2165 "type" : "field",
2166 "value" : ["ipv4", "frag_offset"]
2167 },
2168 {
2169 "type" : "field",
2170 "value" : ["ipv4", "ttl"]
2171 },
2172 {
2173 "type" : "field",
2174 "value" : ["ipv4", "protocol"]
2175 },
2176 {
2177 "type" : "field",
2178 "value" : ["ipv4", "src_addr"]
2179 },
2180 {
2181 "type" : "field",
2182 "value" : ["ipv4", "dst_addr"]
2183 }
2184 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002185 }
2186 ],
2187 "learn_lists" : [],
2188 "actions" : [
2189 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002190 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002191 "id" : 0,
2192 "runtime_data" : [],
2193 "primitives" : []
2194 },
2195 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002196 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002197 "id" : 1,
2198 "runtime_data" : [],
2199 "primitives" : []
2200 },
2201 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002202 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002203 "id" : 2,
2204 "runtime_data" : [],
2205 "primitives" : []
2206 },
2207 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002208 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002209 "id" : 3,
2210 "runtime_data" : [],
2211 "primitives" : []
2212 },
2213 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002214 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002215 "id" : 4,
2216 "runtime_data" : [],
2217 "primitives" : []
2218 },
2219 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002220 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002221 "id" : 5,
2222 "runtime_data" : [],
2223 "primitives" : []
2224 },
2225 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002226 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002227 "id" : 6,
2228 "runtime_data" : [],
2229 "primitives" : []
2230 },
2231 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002232 "name" : "NoAction",
Robert MacDavidde12b982020-07-15 18:38:59 -07002233 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002234 "runtime_data" : [],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002235 "primitives" : []
2236 },
2237 {
2238 "name" : "NoAction",
2239 "id" : 8,
2240 "runtime_data" : [],
2241 "primitives" : []
2242 },
2243 {
2244 "name" : "FabricIngress.filtering.deny",
2245 "id" : 9,
2246 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002247 "primitives" : [
2248 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002249 "op" : "assign",
2250 "parameters" : [
2251 {
2252 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002253 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002254 },
2255 {
2256 "type" : "expression",
2257 "value" : {
2258 "type" : "expression",
2259 "value" : {
2260 "op" : "b2d",
2261 "left" : null,
2262 "right" : {
2263 "type" : "bool",
2264 "value" : true
2265 }
2266 }
2267 }
2268 }
2269 ],
2270 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002271 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002272 "line" : 36,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002273 "column" : 40,
2274 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002275 }
2276 },
2277 {
2278 "op" : "assign",
2279 "parameters" : [
2280 {
2281 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002282 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002283 },
2284 {
2285 "type" : "expression",
2286 "value" : {
2287 "type" : "expression",
2288 "value" : {
2289 "op" : "b2d",
2290 "left" : null,
2291 "right" : {
2292 "type" : "bool",
2293 "value" : true
2294 }
2295 }
2296 }
2297 }
2298 ],
2299 "source_info" : {
2300 "filename" : "include/control/filtering.p4",
2301 "line" : 37,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002302 "column" : 34,
2303 "source_fragment" : "= true; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002304 }
2305 }
2306 ]
2307 },
2308 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002309 "name" : "FabricIngress.filtering.permit",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002310 "id" : 10,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002311 "runtime_data" : [],
2312 "primitives" : []
2313 },
2314 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002315 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002316 "id" : 11,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002317 "runtime_data" : [
2318 {
2319 "name" : "vlan_id",
2320 "bitwidth" : 12
2321 }
2322 ],
2323 "primitives" : [
2324 {
2325 "op" : "assign",
2326 "parameters" : [
2327 {
2328 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002329 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002330 },
2331 {
2332 "type" : "runtime_data",
2333 "value" : 0
2334 }
2335 ],
2336 "source_info" : {
2337 "filename" : "include/control/filtering.p4",
2338 "line" : 47,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002339 "column" : 32,
2340 "source_fragment" : "= vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002341 }
2342 }
2343 ]
2344 },
2345 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002346 "name" : "FabricIngress.filtering.set_forwarding_type",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002347 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002348 "runtime_data" : [
2349 {
2350 "name" : "fwd_type",
2351 "bitwidth" : 3
2352 }
2353 ],
2354 "primitives" : [
2355 {
2356 "op" : "assign",
2357 "parameters" : [
2358 {
2359 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002360 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002361 },
2362 {
2363 "type" : "runtime_data",
2364 "value" : 0
2365 }
2366 ],
2367 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002368 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002369 "line" : 88,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002370 "column" : 33,
2371 "source_fragment" : "= fwd_type; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002372 }
2373 }
2374 ]
2375 },
2376 {
Yi Tseng47eac892018-07-11 02:17:04 +08002377 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002378 "id" : 13,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002379 "runtime_data" : [
2380 {
2381 "name" : "next_id",
2382 "bitwidth" : 32
2383 }
2384 ],
2385 "primitives" : [
2386 {
2387 "op" : "assign",
2388 "parameters" : [
2389 {
2390 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002391 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002392 },
2393 {
2394 "type" : "runtime_data",
2395 "value" : 0
2396 }
2397 ],
2398 "source_info" : {
2399 "filename" : "include/control/forwarding.p4",
2400 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002401 "column" : 32,
2402 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002403 }
2404 }
2405 ]
2406 },
2407 {
2408 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002409 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002410 "runtime_data" : [
2411 {
2412 "name" : "next_id",
2413 "bitwidth" : 32
2414 }
2415 ],
2416 "primitives" : [
2417 {
2418 "op" : "assign",
2419 "parameters" : [
2420 {
2421 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002422 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002423 },
2424 {
2425 "type" : "hexstr",
2426 "value" : "0x000000"
2427 }
2428 ],
2429 "source_info" : {
2430 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07002431 "line" : 66,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002432 "column" : 35,
2433 "source_fragment" : "= 0; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002434 }
2435 },
2436 {
2437 "op" : "assign",
2438 "parameters" : [
2439 {
2440 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002441 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002442 },
2443 {
2444 "type" : "runtime_data",
2445 "value" : 0
2446 }
2447 ],
2448 "source_info" : {
2449 "filename" : "include/control/forwarding.p4",
2450 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002451 "column" : 32,
2452 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002453 }
2454 }
2455 ]
2456 },
2457 {
2458 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002459 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002460 "runtime_data" : [
2461 {
2462 "name" : "next_id",
2463 "bitwidth" : 32
2464 }
2465 ],
2466 "primitives" : [
2467 {
2468 "op" : "assign",
2469 "parameters" : [
2470 {
2471 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002472 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002473 },
2474 {
2475 "type" : "runtime_data",
2476 "value" : 0
2477 }
2478 ],
2479 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002480 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002481 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002482 "column" : 32,
2483 "source_fragment" : "= next_id; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002484 }
2485 }
2486 ]
2487 },
2488 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002489 "name" : "FabricIngress.forwarding.nop_routing_v4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002490 "id" : 16,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002491 "runtime_data" : [],
2492 "primitives" : []
Yi Tseng47eac892018-07-11 02:17:04 +08002493 },
2494 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002495 "name" : "FabricIngress.acl.set_next_id_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002496 "id" : 17,
Yi Tseng27b9bc02018-04-12 14:52:40 +08002497 "runtime_data" : [
2498 {
2499 "name" : "next_id",
2500 "bitwidth" : 32
2501 }
2502 ],
2503 "primitives" : [
2504 {
2505 "op" : "assign",
2506 "parameters" : [
2507 {
2508 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002509 "value" : ["scalars", "userMetadata._next_id9"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08002510 },
2511 {
2512 "type" : "runtime_data",
2513 "value" : 0
2514 }
2515 ],
2516 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002517 "filename" : "include/control/acl.p4",
2518 "line" : 33,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002519 "column" : 32,
2520 "source_fragment" : "= next_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002521 }
2522 }
2523 ]
2524 },
2525 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002526 "name" : "FabricIngress.acl.punt_to_cpu",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002527 "id" : 18,
Charles Chancd03f072018-08-31 17:46:37 -07002528 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002529 "primitives" : [
2530 {
2531 "op" : "assign",
2532 "parameters" : [
2533 {
2534 "type" : "field",
2535 "value" : ["standard_metadata", "egress_spec"]
2536 },
2537 {
2538 "type" : "hexstr",
2539 "value" : "0x00ff"
2540 }
2541 ],
2542 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002543 "filename" : "include/control/acl.p4",
2544 "line" : 39,
Carmelo Casconeb531b682018-01-30 17:55:56 -08002545 "column" : 8,
2546 "source_fragment" : "standard_metadata.egress_spec = 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002547 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002548 },
2549 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002550 "op" : "assign",
2551 "parameters" : [
2552 {
2553 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002554 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002555 },
2556 {
2557 "type" : "expression",
2558 "value" : {
2559 "type" : "expression",
2560 "value" : {
2561 "op" : "b2d",
2562 "left" : null,
2563 "right" : {
2564 "type" : "bool",
2565 "value" : true
2566 }
2567 }
2568 }
2569 }
2570 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002571 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002572 "filename" : "include/control/acl.p4",
2573 "line" : 40,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002574 "column" : 34,
2575 "source_fragment" : "= true; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002576 }
2577 }
2578 ]
2579 },
2580 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002581 "name" : "FabricIngress.acl.set_clone_session_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002582 "id" : 19,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002583 "runtime_data" : [
2584 {
2585 "name" : "clone_id",
2586 "bitwidth" : 32
2587 }
2588 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002589 "primitives" : [
2590 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002591 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002592 "parameters" : [
2593 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002594 "type" : "runtime_data",
2595 "value" : 0
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002596 },
2597 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002598 "type" : "hexstr",
2599 "value" : "0x1"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002600 }
2601 ],
2602 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002603 "filename" : "include/control/acl.p4",
2604 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002605 "column" : 8,
Daniele Moro3b7a21b2019-06-25 17:33:40 -07002606 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002607 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002608 }
2609 ]
2610 },
2611 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002612 "name" : "FabricIngress.acl.drop",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002613 "id" : 20,
Yi Tseng47eac892018-07-11 02:17:04 +08002614 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002615 "primitives" : [
2616 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002617 "op" : "mark_to_drop",
2618 "parameters" : [
2619 {
2620 "type" : "header",
2621 "value" : "standard_metadata"
2622 }
2623 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002624 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002625 "filename" : "include/control/acl.p4",
2626 "line" : 51,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002627 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002628 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002629 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002630 },
2631 {
2632 "op" : "assign",
2633 "parameters" : [
2634 {
2635 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002636 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002637 },
2638 {
2639 "type" : "expression",
2640 "value" : {
2641 "type" : "expression",
2642 "value" : {
2643 "op" : "b2d",
2644 "left" : null,
2645 "right" : {
2646 "type" : "bool",
2647 "value" : true
2648 }
2649 }
2650 }
2651 }
2652 ],
2653 "source_info" : {
2654 "filename" : "include/control/acl.p4",
2655 "line" : 52,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002656 "column" : 34,
2657 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002658 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002659 }
2660 ]
2661 },
2662 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002663 "name" : "FabricIngress.acl.nop_acl",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002664 "id" : 21,
Charles Chancf696e52018-08-16 16:25:13 -07002665 "runtime_data" : [],
2666 "primitives" : []
2667 },
2668 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002669 "name" : "FabricIngress.next.set_vlan",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002670 "id" : 22,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002671 "runtime_data" : [
2672 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002673 "name" : "vlan_id",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002674 "bitwidth" : 12
2675 }
2676 ],
2677 "primitives" : [
2678 {
2679 "op" : "assign",
2680 "parameters" : [
2681 {
2682 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002683 "value" : ["scalars", "userMetadata._vlan_id1"]
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002684 },
2685 {
2686 "type" : "runtime_data",
2687 "value" : 0
2688 }
2689 ],
2690 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002691 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002692 "line" : 70,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002693 "column" : 32,
2694 "source_fragment" : "= vlan_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002695 }
2696 }
2697 ]
2698 },
2699 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002700 "name" : "FabricIngress.next.output_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07002701 "id" : 23,
Yi Tseng47eac892018-07-11 02:17:04 +08002702 "runtime_data" : [
2703 {
2704 "name" : "port_num",
2705 "bitwidth" : 9
2706 }
2707 ],
2708 "primitives" : [
2709 {
2710 "op" : "assign",
2711 "parameters" : [
2712 {
2713 "type" : "field",
2714 "value" : ["standard_metadata", "egress_spec"]
2715 },
2716 {
2717 "type" : "runtime_data",
2718 "value" : 0
2719 }
2720 ],
2721 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002722 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002723 "line" : 31,
2724 "column" : 5,
2725 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
Yi Tseng47eac892018-07-11 02:17:04 +08002726 }
2727 }
2728 ]
2729 },
2730 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002731 "name" : "FabricIngress.next.set_next_id_xconnect",
Robert MacDavidde12b982020-07-15 18:38:59 -07002732 "id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002733 "runtime_data" : [
2734 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002735 "name" : "next_id",
2736 "bitwidth" : 32
2737 }
2738 ],
2739 "primitives" : [
2740 {
2741 "op" : "assign",
2742 "parameters" : [
2743 {
2744 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002745 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002746 },
2747 {
2748 "type" : "runtime_data",
2749 "value" : 0
2750 }
2751 ],
2752 "source_info" : {
2753 "filename" : "include/control/next.p4",
2754 "line" : 115,
2755 "column" : 32,
2756 "source_fragment" : "= next_id; ..."
2757 }
2758 }
2759 ]
2760 },
2761 {
2762 "name" : "FabricIngress.next.output_hashed",
2763 "id" : 25,
2764 "runtime_data" : [
2765 {
2766 "name" : "port_num",
2767 "bitwidth" : 9
2768 }
2769 ],
2770 "primitives" : [
2771 {
2772 "op" : "assign",
2773 "parameters" : [
2774 {
2775 "type" : "field",
2776 "value" : ["standard_metadata", "egress_spec"]
2777 },
2778 {
2779 "type" : "runtime_data",
2780 "value" : 0
2781 }
2782 ],
2783 "source_info" : {
2784 "filename" : "include/control/next.p4",
2785 "line" : 31,
2786 "column" : 5,
2787 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2788 }
2789 }
2790 ]
2791 },
2792 {
2793 "name" : "FabricIngress.next.routing_hashed",
2794 "id" : 26,
2795 "runtime_data" : [
2796 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002797 "name" : "port_num",
2798 "bitwidth" : 9
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002799 },
2800 {
2801 "name" : "smac",
2802 "bitwidth" : 48
2803 },
2804 {
2805 "name" : "dmac",
2806 "bitwidth" : 48
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002807 }
2808 ],
2809 "primitives" : [
2810 {
2811 "op" : "assign",
2812 "parameters" : [
2813 {
2814 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002815 "value" : ["ethernet", "src_addr"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002816 },
2817 {
2818 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002819 "value" : 1
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002820 }
2821 ],
2822 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002823 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002824 "line" : 36,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002825 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002826 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2827 }
2828 },
2829 {
2830 "op" : "assign",
2831 "parameters" : [
2832 {
2833 "type" : "field",
2834 "value" : ["ethernet", "dst_addr"]
2835 },
2836 {
2837 "type" : "runtime_data",
2838 "value" : 2
2839 }
2840 ],
2841 "source_info" : {
2842 "filename" : "include/control/next.p4",
2843 "line" : 41,
2844 "column" : 8,
2845 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002846 }
2847 },
2848 {
2849 "op" : "assign",
2850 "parameters" : [
2851 {
2852 "type" : "field",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002853 "value" : ["standard_metadata", "egress_spec"]
2854 },
2855 {
2856 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002857 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002858 }
2859 ],
2860 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002861 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002862 "line" : 31,
2863 "column" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002864 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2865 }
2866 }
2867 ]
2868 },
2869 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002870 "name" : "FabricIngress.next.mpls_routing_hashed",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002871 "id" : 27,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002872 "runtime_data" : [
2873 {
2874 "name" : "port_num",
2875 "bitwidth" : 9
2876 },
2877 {
2878 "name" : "smac",
2879 "bitwidth" : 48
2880 },
2881 {
2882 "name" : "dmac",
2883 "bitwidth" : 48
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002884 },
2885 {
2886 "name" : "label",
2887 "bitwidth" : 20
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002888 }
2889 ],
2890 "primitives" : [
2891 {
2892 "op" : "assign",
2893 "parameters" : [
2894 {
2895 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02002896 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002897 },
2898 {
2899 "type" : "runtime_data",
2900 "value" : 3
2901 }
2902 ],
2903 "source_info" : {
2904 "filename" : "include/control/next.p4",
2905 "line" : 46,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002906 "column" : 35,
2907 "source_fragment" : "= label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002908 }
2909 },
2910 {
2911 "op" : "assign",
2912 "parameters" : [
2913 {
2914 "type" : "field",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002915 "value" : ["ethernet", "src_addr"]
2916 },
2917 {
2918 "type" : "runtime_data",
2919 "value" : 1
2920 }
2921 ],
2922 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002923 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002924 "line" : 36,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002925 "column" : 8,
2926 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2927 }
2928 },
2929 {
2930 "op" : "assign",
2931 "parameters" : [
2932 {
2933 "type" : "field",
2934 "value" : ["ethernet", "dst_addr"]
2935 },
2936 {
2937 "type" : "runtime_data",
2938 "value" : 2
2939 }
2940 ],
2941 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002942 "filename" : "include/control/next.p4",
Yi Tseng47eac892018-07-11 02:17:04 +08002943 "line" : 41,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002944 "column" : 8,
2945 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2946 }
2947 },
2948 {
2949 "op" : "assign",
2950 "parameters" : [
2951 {
2952 "type" : "field",
2953 "value" : ["standard_metadata", "egress_spec"]
2954 },
2955 {
2956 "type" : "runtime_data",
2957 "value" : 0
2958 }
2959 ],
2960 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002961 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002962 "line" : 31,
2963 "column" : 5,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002964 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2965 }
2966 }
2967 ]
2968 },
2969 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002970 "name" : "FabricIngress.next.set_mcast_group_id",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08002971 "id" : 28,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002972 "runtime_data" : [
2973 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002974 "name" : "group_id",
Esin Karaman971fb7f2017-12-28 13:44:52 +00002975 "bitwidth" : 16
2976 }
2977 ],
2978 "primitives" : [
2979 {
2980 "op" : "assign",
2981 "parameters" : [
2982 {
2983 "type" : "field",
2984 "value" : ["standard_metadata", "mcast_grp"]
2985 },
2986 {
2987 "type" : "runtime_data",
2988 "value" : 0
2989 }
2990 ],
2991 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002992 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07002993 "line" : 231,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002994 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002995 "source_fragment" : "standard_metadata.mcast_grp = group_id"
Esin Karaman971fb7f2017-12-28 13:44:52 +00002996 }
Carmelo Casconea5400af2018-07-17 22:11:54 +02002997 },
2998 {
2999 "op" : "assign",
3000 "parameters" : [
3001 {
3002 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003003 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02003004 },
3005 {
3006 "type" : "expression",
3007 "value" : {
3008 "type" : "expression",
3009 "value" : {
3010 "op" : "b2d",
3011 "left" : null,
3012 "right" : {
3013 "type" : "bool",
3014 "value" : true
3015 }
3016 }
3017 }
3018 }
3019 ],
3020 "source_info" : {
3021 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07003022 "line" : 232,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08003023 "column" : 37,
3024 "source_fragment" : "= true; ..."
Carmelo Casconea5400af2018-07-17 22:11:54 +02003025 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00003026 }
3027 ]
3028 },
3029 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003030 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
3031 "id" : 29,
3032 "runtime_data" : [],
3033 "primitives" : [
3034 {
3035 "op" : "assign",
3036 "parameters" : [
3037 {
3038 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003039 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003040 },
3041 {
3042 "type" : "hexstr",
3043 "value" : "0x0800"
3044 }
3045 ],
3046 "source_info" : {
3047 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003048 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003049 "column" : 31,
3050 "source_fragment" : "0x0800; ..."
3051 }
3052 },
3053 {
3054 "op" : "assign",
3055 "parameters" : [
3056 {
3057 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003058 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003059 },
3060 {
3061 "type" : "field",
3062 "value" : ["inner_ipv4", "protocol"]
3063 }
3064 ],
3065 "source_info" : {
3066 "filename" : "include/control/spgw.p4",
3067 "line" : 39,
3068 "column" : 27,
3069 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3070 }
3071 },
3072 {
3073 "op" : "assign",
3074 "parameters" : [
3075 {
3076 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003077 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003078 },
3079 {
3080 "type" : "field",
3081 "value" : ["inner_ipv4", "src_addr"]
3082 }
3083 ],
3084 "source_info" : {
3085 "filename" : "include/control/spgw.p4",
3086 "line" : 40,
3087 "column" : 32,
3088 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3089 }
3090 },
3091 {
3092 "op" : "assign",
3093 "parameters" : [
3094 {
3095 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003096 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003097 },
3098 {
3099 "type" : "field",
3100 "value" : ["inner_ipv4", "dst_addr"]
3101 }
3102 ],
3103 "source_info" : {
3104 "filename" : "include/control/spgw.p4",
3105 "line" : 41,
3106 "column" : 32,
3107 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3108 }
3109 },
3110 {
3111 "op" : "assign",
3112 "parameters" : [
3113 {
3114 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003115 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003116 },
3117 {
3118 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003119 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003120 }
3121 ],
3122 "source_info" : {
3123 "filename" : "include/control/spgw.p4",
3124 "line" : 42,
3125 "column" : 27,
3126 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3127 }
3128 },
3129 {
3130 "op" : "assign",
3131 "parameters" : [
3132 {
3133 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003134 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003135 },
3136 {
3137 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003138 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003139 }
3140 ],
3141 "source_info" : {
3142 "filename" : "include/control/spgw.p4",
3143 "line" : 43,
3144 "column" : 27,
3145 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3146 }
3147 },
3148 {
3149 "op" : "assign_header",
3150 "parameters" : [
3151 {
3152 "type" : "header",
3153 "value" : "ipv4"
3154 },
3155 {
3156 "type" : "header",
3157 "value" : "inner_ipv4"
3158 }
3159 ],
3160 "source_info" : {
3161 "filename" : "include/control/spgw.p4",
3162 "line" : 45,
3163 "column" : 8,
3164 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3165 }
3166 },
3167 {
3168 "op" : "remove_header",
3169 "parameters" : [
3170 {
3171 "type" : "header",
3172 "value" : "inner_ipv4"
3173 }
3174 ],
3175 "source_info" : {
3176 "filename" : "include/control/spgw.p4",
3177 "line" : 46,
3178 "column" : 8,
3179 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3180 }
3181 },
3182 {
3183 "op" : "remove_header",
3184 "parameters" : [
3185 {
3186 "type" : "header",
3187 "value" : "gtpu"
3188 }
3189 ],
3190 "source_info" : {
3191 "filename" : "include/control/spgw.p4",
3192 "line" : 47,
3193 "column" : 8,
3194 "source_fragment" : "hdr.gtpu.setInvalid()"
3195 }
3196 },
3197 {
3198 "op" : "remove_header",
3199 "parameters" : [
3200 {
3201 "type" : "header",
3202 "value" : "udp"
3203 }
3204 ],
3205 "source_info" : {
3206 "filename" : "include/control/spgw.p4",
3207 "line" : 52,
3208 "column" : 8,
3209 "source_fragment" : "hdr.udp.setInvalid()"
3210 }
3211 },
3212 {
3213 "op" : "assign_header",
3214 "parameters" : [
3215 {
3216 "type" : "header",
3217 "value" : "tcp"
3218 },
3219 {
3220 "type" : "header",
3221 "value" : "inner_tcp"
3222 }
3223 ],
3224 "source_info" : {
3225 "filename" : "include/control/spgw.p4",
3226 "line" : 53,
3227 "column" : 8,
3228 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
3229 }
3230 },
3231 {
3232 "op" : "remove_header",
3233 "parameters" : [
3234 {
3235 "type" : "header",
3236 "value" : "inner_tcp"
3237 }
3238 ],
3239 "source_info" : {
3240 "filename" : "include/control/spgw.p4",
3241 "line" : 54,
3242 "column" : 8,
3243 "source_fragment" : "hdr.inner_tcp.setInvalid()"
3244 }
3245 }
3246 ]
3247 },
3248 {
3249 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
3250 "id" : 30,
3251 "runtime_data" : [],
3252 "primitives" : [
3253 {
3254 "op" : "assign",
3255 "parameters" : [
3256 {
3257 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003258 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003259 },
3260 {
3261 "type" : "hexstr",
3262 "value" : "0x0800"
3263 }
3264 ],
3265 "source_info" : {
3266 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003267 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003268 "column" : 31,
3269 "source_fragment" : "0x0800; ..."
3270 }
3271 },
3272 {
3273 "op" : "assign",
3274 "parameters" : [
3275 {
3276 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003277 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003278 },
3279 {
3280 "type" : "field",
3281 "value" : ["inner_ipv4", "protocol"]
3282 }
3283 ],
3284 "source_info" : {
3285 "filename" : "include/control/spgw.p4",
3286 "line" : 39,
3287 "column" : 27,
3288 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3289 }
3290 },
3291 {
3292 "op" : "assign",
3293 "parameters" : [
3294 {
3295 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003296 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003297 },
3298 {
3299 "type" : "field",
3300 "value" : ["inner_ipv4", "src_addr"]
3301 }
3302 ],
3303 "source_info" : {
3304 "filename" : "include/control/spgw.p4",
3305 "line" : 40,
3306 "column" : 32,
3307 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3308 }
3309 },
3310 {
3311 "op" : "assign",
3312 "parameters" : [
3313 {
3314 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003315 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003316 },
3317 {
3318 "type" : "field",
3319 "value" : ["inner_ipv4", "dst_addr"]
3320 }
3321 ],
3322 "source_info" : {
3323 "filename" : "include/control/spgw.p4",
3324 "line" : 41,
3325 "column" : 32,
3326 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3327 }
3328 },
3329 {
3330 "op" : "assign",
3331 "parameters" : [
3332 {
3333 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003334 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003335 },
3336 {
3337 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003338 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003339 }
3340 ],
3341 "source_info" : {
3342 "filename" : "include/control/spgw.p4",
3343 "line" : 42,
3344 "column" : 27,
3345 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3346 }
3347 },
3348 {
3349 "op" : "assign",
3350 "parameters" : [
3351 {
3352 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003353 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003354 },
3355 {
3356 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003357 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003358 }
3359 ],
3360 "source_info" : {
3361 "filename" : "include/control/spgw.p4",
3362 "line" : 43,
3363 "column" : 27,
3364 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3365 }
3366 },
3367 {
3368 "op" : "assign_header",
3369 "parameters" : [
3370 {
3371 "type" : "header",
3372 "value" : "ipv4"
3373 },
3374 {
3375 "type" : "header",
3376 "value" : "inner_ipv4"
3377 }
3378 ],
3379 "source_info" : {
3380 "filename" : "include/control/spgw.p4",
3381 "line" : 45,
3382 "column" : 8,
3383 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3384 }
3385 },
3386 {
3387 "op" : "remove_header",
3388 "parameters" : [
3389 {
3390 "type" : "header",
3391 "value" : "inner_ipv4"
3392 }
3393 ],
3394 "source_info" : {
3395 "filename" : "include/control/spgw.p4",
3396 "line" : 46,
3397 "column" : 8,
3398 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3399 }
3400 },
3401 {
3402 "op" : "remove_header",
3403 "parameters" : [
3404 {
3405 "type" : "header",
3406 "value" : "gtpu"
3407 }
3408 ],
3409 "source_info" : {
3410 "filename" : "include/control/spgw.p4",
3411 "line" : 47,
3412 "column" : 8,
3413 "source_fragment" : "hdr.gtpu.setInvalid()"
3414 }
3415 },
3416 {
3417 "op" : "assign_header",
3418 "parameters" : [
3419 {
3420 "type" : "header",
3421 "value" : "udp"
3422 },
3423 {
3424 "type" : "header",
3425 "value" : "inner_udp"
3426 }
3427 ],
3428 "source_info" : {
3429 "filename" : "include/control/spgw.p4",
3430 "line" : 59,
3431 "column" : 8,
3432 "source_fragment" : "hdr.udp = hdr.inner_udp"
3433 }
3434 },
3435 {
3436 "op" : "remove_header",
3437 "parameters" : [
3438 {
3439 "type" : "header",
3440 "value" : "inner_udp"
3441 }
3442 ],
3443 "source_info" : {
3444 "filename" : "include/control/spgw.p4",
3445 "line" : 60,
3446 "column" : 8,
3447 "source_fragment" : "hdr.inner_udp.setInvalid()"
3448 }
3449 }
3450 ]
3451 },
3452 {
3453 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
3454 "id" : 31,
3455 "runtime_data" : [],
3456 "primitives" : [
3457 {
3458 "op" : "assign",
3459 "parameters" : [
3460 {
3461 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003462 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003463 },
3464 {
3465 "type" : "hexstr",
3466 "value" : "0x0800"
3467 }
3468 ],
3469 "source_info" : {
3470 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003471 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003472 "column" : 31,
3473 "source_fragment" : "0x0800; ..."
3474 }
3475 },
3476 {
3477 "op" : "assign",
3478 "parameters" : [
3479 {
3480 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003481 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003482 },
3483 {
3484 "type" : "field",
3485 "value" : ["inner_ipv4", "protocol"]
3486 }
3487 ],
3488 "source_info" : {
3489 "filename" : "include/control/spgw.p4",
3490 "line" : 39,
3491 "column" : 27,
3492 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3493 }
3494 },
3495 {
3496 "op" : "assign",
3497 "parameters" : [
3498 {
3499 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003500 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003501 },
3502 {
3503 "type" : "field",
3504 "value" : ["inner_ipv4", "src_addr"]
3505 }
3506 ],
3507 "source_info" : {
3508 "filename" : "include/control/spgw.p4",
3509 "line" : 40,
3510 "column" : 32,
3511 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3512 }
3513 },
3514 {
3515 "op" : "assign",
3516 "parameters" : [
3517 {
3518 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003519 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003520 },
3521 {
3522 "type" : "field",
3523 "value" : ["inner_ipv4", "dst_addr"]
3524 }
3525 ],
3526 "source_info" : {
3527 "filename" : "include/control/spgw.p4",
3528 "line" : 41,
3529 "column" : 32,
3530 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3531 }
3532 },
3533 {
3534 "op" : "assign",
3535 "parameters" : [
3536 {
3537 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003538 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003539 },
3540 {
3541 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003542 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003543 }
3544 ],
3545 "source_info" : {
3546 "filename" : "include/control/spgw.p4",
3547 "line" : 42,
3548 "column" : 27,
3549 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3550 }
3551 },
3552 {
3553 "op" : "assign",
3554 "parameters" : [
3555 {
3556 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003557 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003558 },
3559 {
3560 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003561 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003562 }
3563 ],
3564 "source_info" : {
3565 "filename" : "include/control/spgw.p4",
3566 "line" : 43,
3567 "column" : 27,
3568 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3569 }
3570 },
3571 {
3572 "op" : "assign_header",
3573 "parameters" : [
3574 {
3575 "type" : "header",
3576 "value" : "ipv4"
3577 },
3578 {
3579 "type" : "header",
3580 "value" : "inner_ipv4"
3581 }
3582 ],
3583 "source_info" : {
3584 "filename" : "include/control/spgw.p4",
3585 "line" : 45,
3586 "column" : 8,
3587 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3588 }
3589 },
3590 {
3591 "op" : "remove_header",
3592 "parameters" : [
3593 {
3594 "type" : "header",
3595 "value" : "inner_ipv4"
3596 }
3597 ],
3598 "source_info" : {
3599 "filename" : "include/control/spgw.p4",
3600 "line" : 46,
3601 "column" : 8,
3602 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3603 }
3604 },
3605 {
3606 "op" : "remove_header",
3607 "parameters" : [
3608 {
3609 "type" : "header",
3610 "value" : "gtpu"
3611 }
3612 ],
3613 "source_info" : {
3614 "filename" : "include/control/spgw.p4",
3615 "line" : 47,
3616 "column" : 8,
3617 "source_fragment" : "hdr.gtpu.setInvalid()"
3618 }
3619 },
3620 {
3621 "op" : "remove_header",
3622 "parameters" : [
3623 {
3624 "type" : "header",
3625 "value" : "udp"
3626 }
3627 ],
3628 "source_info" : {
3629 "filename" : "include/control/spgw.p4",
3630 "line" : 65,
3631 "column" : 8,
3632 "source_fragment" : "hdr.udp.setInvalid()"
3633 }
3634 },
3635 {
3636 "op" : "assign_header",
3637 "parameters" : [
3638 {
3639 "type" : "header",
3640 "value" : "icmp"
3641 },
3642 {
3643 "type" : "header",
3644 "value" : "inner_icmp"
3645 }
3646 ],
3647 "source_info" : {
3648 "filename" : "include/control/spgw.p4",
3649 "line" : 66,
3650 "column" : 8,
3651 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
3652 }
3653 },
3654 {
3655 "op" : "remove_header",
3656 "parameters" : [
3657 {
3658 "type" : "header",
3659 "value" : "inner_icmp"
3660 }
3661 ],
3662 "source_info" : {
3663 "filename" : "include/control/spgw.p4",
3664 "line" : 67,
3665 "column" : 8,
3666 "source_fragment" : "hdr.inner_icmp.setInvalid()"
3667 }
3668 }
3669 ]
3670 },
3671 {
3672 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
3673 "id" : 32,
3674 "runtime_data" : [],
3675 "primitives" : [
3676 {
3677 "op" : "assign",
3678 "parameters" : [
3679 {
3680 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003681 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003682 },
3683 {
3684 "type" : "hexstr",
3685 "value" : "0x0800"
3686 }
3687 ],
3688 "source_info" : {
3689 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003690 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003691 "column" : 31,
3692 "source_fragment" : "0x0800; ..."
3693 }
3694 },
3695 {
3696 "op" : "assign",
3697 "parameters" : [
3698 {
3699 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003700 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003701 },
3702 {
3703 "type" : "field",
3704 "value" : ["inner_ipv4", "protocol"]
3705 }
3706 ],
3707 "source_info" : {
3708 "filename" : "include/control/spgw.p4",
3709 "line" : 39,
3710 "column" : 27,
3711 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3712 }
3713 },
3714 {
3715 "op" : "assign",
3716 "parameters" : [
3717 {
3718 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003719 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003720 },
3721 {
3722 "type" : "field",
3723 "value" : ["inner_ipv4", "src_addr"]
3724 }
3725 ],
3726 "source_info" : {
3727 "filename" : "include/control/spgw.p4",
3728 "line" : 40,
3729 "column" : 32,
3730 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3731 }
3732 },
3733 {
3734 "op" : "assign",
3735 "parameters" : [
3736 {
3737 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003738 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003739 },
3740 {
3741 "type" : "field",
3742 "value" : ["inner_ipv4", "dst_addr"]
3743 }
3744 ],
3745 "source_info" : {
3746 "filename" : "include/control/spgw.p4",
3747 "line" : 41,
3748 "column" : 32,
3749 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3750 }
3751 },
3752 {
3753 "op" : "assign",
3754 "parameters" : [
3755 {
3756 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003757 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003758 },
3759 {
3760 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003761 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003762 }
3763 ],
3764 "source_info" : {
3765 "filename" : "include/control/spgw.p4",
3766 "line" : 42,
3767 "column" : 27,
3768 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3769 }
3770 },
3771 {
3772 "op" : "assign",
3773 "parameters" : [
3774 {
3775 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003776 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003777 },
3778 {
3779 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003780 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003781 }
3782 ],
3783 "source_info" : {
3784 "filename" : "include/control/spgw.p4",
3785 "line" : 43,
3786 "column" : 27,
3787 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3788 }
3789 },
3790 {
3791 "op" : "assign_header",
3792 "parameters" : [
3793 {
3794 "type" : "header",
3795 "value" : "ipv4"
3796 },
3797 {
3798 "type" : "header",
3799 "value" : "inner_ipv4"
3800 }
3801 ],
3802 "source_info" : {
3803 "filename" : "include/control/spgw.p4",
3804 "line" : 45,
3805 "column" : 8,
3806 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3807 }
3808 },
3809 {
3810 "op" : "remove_header",
3811 "parameters" : [
3812 {
3813 "type" : "header",
3814 "value" : "inner_ipv4"
3815 }
3816 ],
3817 "source_info" : {
3818 "filename" : "include/control/spgw.p4",
3819 "line" : 46,
3820 "column" : 8,
3821 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3822 }
3823 },
3824 {
3825 "op" : "remove_header",
3826 "parameters" : [
3827 {
3828 "type" : "header",
3829 "value" : "gtpu"
3830 }
3831 ],
3832 "source_info" : {
3833 "filename" : "include/control/spgw.p4",
3834 "line" : 47,
3835 "column" : 8,
3836 "source_fragment" : "hdr.gtpu.setInvalid()"
3837 }
3838 },
3839 {
3840 "op" : "remove_header",
3841 "parameters" : [
3842 {
3843 "type" : "header",
3844 "value" : "udp"
3845 }
3846 ],
3847 "source_info" : {
3848 "filename" : "include/control/spgw.p4",
3849 "line" : 72,
3850 "column" : 8,
3851 "source_fragment" : "hdr.udp.setInvalid()"
3852 }
3853 }
3854 ]
3855 },
3856 {
3857 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
3858 "id" : 33,
3859 "runtime_data" : [],
3860 "primitives" : [
3861 {
3862 "op" : "assign",
3863 "parameters" : [
3864 {
3865 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003866 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003867 },
3868 {
3869 "type" : "hexstr",
3870 "value" : "0x0800"
3871 }
3872 ],
3873 "source_info" : {
3874 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003875 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003876 "column" : 31,
3877 "source_fragment" : "0x0800; ..."
3878 }
3879 },
3880 {
3881 "op" : "assign",
3882 "parameters" : [
3883 {
3884 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003885 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003886 },
3887 {
3888 "type" : "field",
3889 "value" : ["inner_ipv4", "protocol"]
3890 }
3891 ],
3892 "source_info" : {
3893 "filename" : "include/control/spgw.p4",
3894 "line" : 39,
3895 "column" : 27,
3896 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3897 }
3898 },
3899 {
3900 "op" : "assign",
3901 "parameters" : [
3902 {
3903 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003904 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003905 },
3906 {
3907 "type" : "field",
3908 "value" : ["inner_ipv4", "src_addr"]
3909 }
3910 ],
3911 "source_info" : {
3912 "filename" : "include/control/spgw.p4",
3913 "line" : 40,
3914 "column" : 32,
3915 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3916 }
3917 },
3918 {
3919 "op" : "assign",
3920 "parameters" : [
3921 {
3922 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003923 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003924 },
3925 {
3926 "type" : "field",
3927 "value" : ["inner_ipv4", "dst_addr"]
3928 }
3929 ],
3930 "source_info" : {
3931 "filename" : "include/control/spgw.p4",
3932 "line" : 41,
3933 "column" : 32,
3934 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3935 }
3936 },
3937 {
3938 "op" : "assign",
3939 "parameters" : [
3940 {
3941 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003942 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003943 },
3944 {
3945 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003946 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003947 }
3948 ],
3949 "source_info" : {
3950 "filename" : "include/control/spgw.p4",
3951 "line" : 42,
3952 "column" : 27,
3953 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3954 }
3955 },
3956 {
3957 "op" : "assign",
3958 "parameters" : [
3959 {
3960 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003961 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003962 },
3963 {
3964 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02003965 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08003966 }
3967 ],
3968 "source_info" : {
3969 "filename" : "include/control/spgw.p4",
3970 "line" : 43,
3971 "column" : 27,
3972 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3973 }
3974 },
3975 {
3976 "op" : "assign_header",
3977 "parameters" : [
3978 {
3979 "type" : "header",
3980 "value" : "ipv4"
3981 },
3982 {
3983 "type" : "header",
3984 "value" : "inner_ipv4"
3985 }
3986 ],
3987 "source_info" : {
3988 "filename" : "include/control/spgw.p4",
3989 "line" : 45,
3990 "column" : 8,
3991 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3992 }
3993 },
3994 {
3995 "op" : "remove_header",
3996 "parameters" : [
3997 {
3998 "type" : "header",
3999 "value" : "inner_ipv4"
4000 }
4001 ],
4002 "source_info" : {
4003 "filename" : "include/control/spgw.p4",
4004 "line" : 46,
4005 "column" : 8,
4006 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4007 }
4008 },
4009 {
4010 "op" : "remove_header",
4011 "parameters" : [
4012 {
4013 "type" : "header",
4014 "value" : "gtpu"
4015 }
4016 ],
4017 "source_info" : {
4018 "filename" : "include/control/spgw.p4",
4019 "line" : 47,
4020 "column" : 8,
4021 "source_fragment" : "hdr.gtpu.setInvalid()"
4022 }
4023 },
4024 {
4025 "op" : "remove_header",
4026 "parameters" : [
4027 {
4028 "type" : "header",
4029 "value" : "udp"
4030 }
4031 ],
4032 "source_info" : {
4033 "filename" : "include/control/spgw.p4",
4034 "line" : 52,
4035 "column" : 8,
4036 "source_fragment" : "hdr.udp.setInvalid()"
4037 }
4038 },
4039 {
4040 "op" : "assign_header",
4041 "parameters" : [
4042 {
4043 "type" : "header",
4044 "value" : "tcp"
4045 },
4046 {
4047 "type" : "header",
4048 "value" : "inner_tcp"
4049 }
4050 ],
4051 "source_info" : {
4052 "filename" : "include/control/spgw.p4",
4053 "line" : 53,
4054 "column" : 8,
4055 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
4056 }
4057 },
4058 {
4059 "op" : "remove_header",
4060 "parameters" : [
4061 {
4062 "type" : "header",
4063 "value" : "inner_tcp"
4064 }
4065 ],
4066 "source_info" : {
4067 "filename" : "include/control/spgw.p4",
4068 "line" : 54,
4069 "column" : 8,
4070 "source_fragment" : "hdr.inner_tcp.setInvalid()"
4071 }
4072 }
4073 ]
4074 },
4075 {
4076 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
4077 "id" : 34,
4078 "runtime_data" : [],
4079 "primitives" : [
4080 {
4081 "op" : "assign",
4082 "parameters" : [
4083 {
4084 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004085 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004086 },
4087 {
4088 "type" : "hexstr",
4089 "value" : "0x0800"
4090 }
4091 ],
4092 "source_info" : {
4093 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004094 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004095 "column" : 31,
4096 "source_fragment" : "0x0800; ..."
4097 }
4098 },
4099 {
4100 "op" : "assign",
4101 "parameters" : [
4102 {
4103 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004104 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004105 },
4106 {
4107 "type" : "field",
4108 "value" : ["inner_ipv4", "protocol"]
4109 }
4110 ],
4111 "source_info" : {
4112 "filename" : "include/control/spgw.p4",
4113 "line" : 39,
4114 "column" : 27,
4115 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4116 }
4117 },
4118 {
4119 "op" : "assign",
4120 "parameters" : [
4121 {
4122 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004123 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004124 },
4125 {
4126 "type" : "field",
4127 "value" : ["inner_ipv4", "src_addr"]
4128 }
4129 ],
4130 "source_info" : {
4131 "filename" : "include/control/spgw.p4",
4132 "line" : 40,
4133 "column" : 32,
4134 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4135 }
4136 },
4137 {
4138 "op" : "assign",
4139 "parameters" : [
4140 {
4141 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004142 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004143 },
4144 {
4145 "type" : "field",
4146 "value" : ["inner_ipv4", "dst_addr"]
4147 }
4148 ],
4149 "source_info" : {
4150 "filename" : "include/control/spgw.p4",
4151 "line" : 41,
4152 "column" : 32,
4153 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4154 }
4155 },
4156 {
4157 "op" : "assign",
4158 "parameters" : [
4159 {
4160 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004161 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004162 },
4163 {
4164 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004165 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004166 }
4167 ],
4168 "source_info" : {
4169 "filename" : "include/control/spgw.p4",
4170 "line" : 42,
4171 "column" : 27,
4172 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4173 }
4174 },
4175 {
4176 "op" : "assign",
4177 "parameters" : [
4178 {
4179 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004180 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004181 },
4182 {
4183 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004184 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004185 }
4186 ],
4187 "source_info" : {
4188 "filename" : "include/control/spgw.p4",
4189 "line" : 43,
4190 "column" : 27,
4191 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4192 }
4193 },
4194 {
4195 "op" : "assign_header",
4196 "parameters" : [
4197 {
4198 "type" : "header",
4199 "value" : "ipv4"
4200 },
4201 {
4202 "type" : "header",
4203 "value" : "inner_ipv4"
4204 }
4205 ],
4206 "source_info" : {
4207 "filename" : "include/control/spgw.p4",
4208 "line" : 45,
4209 "column" : 8,
4210 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4211 }
4212 },
4213 {
4214 "op" : "remove_header",
4215 "parameters" : [
4216 {
4217 "type" : "header",
4218 "value" : "inner_ipv4"
4219 }
4220 ],
4221 "source_info" : {
4222 "filename" : "include/control/spgw.p4",
4223 "line" : 46,
4224 "column" : 8,
4225 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4226 }
4227 },
4228 {
4229 "op" : "remove_header",
4230 "parameters" : [
4231 {
4232 "type" : "header",
4233 "value" : "gtpu"
4234 }
4235 ],
4236 "source_info" : {
4237 "filename" : "include/control/spgw.p4",
4238 "line" : 47,
4239 "column" : 8,
4240 "source_fragment" : "hdr.gtpu.setInvalid()"
4241 }
4242 },
4243 {
4244 "op" : "assign_header",
4245 "parameters" : [
4246 {
4247 "type" : "header",
4248 "value" : "udp"
4249 },
4250 {
4251 "type" : "header",
4252 "value" : "inner_udp"
4253 }
4254 ],
4255 "source_info" : {
4256 "filename" : "include/control/spgw.p4",
4257 "line" : 59,
4258 "column" : 8,
4259 "source_fragment" : "hdr.udp = hdr.inner_udp"
4260 }
4261 },
4262 {
4263 "op" : "remove_header",
4264 "parameters" : [
4265 {
4266 "type" : "header",
4267 "value" : "inner_udp"
4268 }
4269 ],
4270 "source_info" : {
4271 "filename" : "include/control/spgw.p4",
4272 "line" : 60,
4273 "column" : 8,
4274 "source_fragment" : "hdr.inner_udp.setInvalid()"
4275 }
4276 }
4277 ]
4278 },
4279 {
4280 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
4281 "id" : 35,
4282 "runtime_data" : [],
4283 "primitives" : [
4284 {
4285 "op" : "assign",
4286 "parameters" : [
4287 {
4288 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004289 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004290 },
4291 {
4292 "type" : "hexstr",
4293 "value" : "0x0800"
4294 }
4295 ],
4296 "source_info" : {
4297 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004298 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004299 "column" : 31,
4300 "source_fragment" : "0x0800; ..."
4301 }
4302 },
4303 {
4304 "op" : "assign",
4305 "parameters" : [
4306 {
4307 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004308 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004309 },
4310 {
4311 "type" : "field",
4312 "value" : ["inner_ipv4", "protocol"]
4313 }
4314 ],
4315 "source_info" : {
4316 "filename" : "include/control/spgw.p4",
4317 "line" : 39,
4318 "column" : 27,
4319 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4320 }
4321 },
4322 {
4323 "op" : "assign",
4324 "parameters" : [
4325 {
4326 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004327 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004328 },
4329 {
4330 "type" : "field",
4331 "value" : ["inner_ipv4", "src_addr"]
4332 }
4333 ],
4334 "source_info" : {
4335 "filename" : "include/control/spgw.p4",
4336 "line" : 40,
4337 "column" : 32,
4338 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4339 }
4340 },
4341 {
4342 "op" : "assign",
4343 "parameters" : [
4344 {
4345 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004346 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004347 },
4348 {
4349 "type" : "field",
4350 "value" : ["inner_ipv4", "dst_addr"]
4351 }
4352 ],
4353 "source_info" : {
4354 "filename" : "include/control/spgw.p4",
4355 "line" : 41,
4356 "column" : 32,
4357 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4358 }
4359 },
4360 {
4361 "op" : "assign",
4362 "parameters" : [
4363 {
4364 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004365 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004366 },
4367 {
4368 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004369 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004370 }
4371 ],
4372 "source_info" : {
4373 "filename" : "include/control/spgw.p4",
4374 "line" : 42,
4375 "column" : 27,
4376 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4377 }
4378 },
4379 {
4380 "op" : "assign",
4381 "parameters" : [
4382 {
4383 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004384 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004385 },
4386 {
4387 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004388 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004389 }
4390 ],
4391 "source_info" : {
4392 "filename" : "include/control/spgw.p4",
4393 "line" : 43,
4394 "column" : 27,
4395 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4396 }
4397 },
4398 {
4399 "op" : "assign_header",
4400 "parameters" : [
4401 {
4402 "type" : "header",
4403 "value" : "ipv4"
4404 },
4405 {
4406 "type" : "header",
4407 "value" : "inner_ipv4"
4408 }
4409 ],
4410 "source_info" : {
4411 "filename" : "include/control/spgw.p4",
4412 "line" : 45,
4413 "column" : 8,
4414 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4415 }
4416 },
4417 {
4418 "op" : "remove_header",
4419 "parameters" : [
4420 {
4421 "type" : "header",
4422 "value" : "inner_ipv4"
4423 }
4424 ],
4425 "source_info" : {
4426 "filename" : "include/control/spgw.p4",
4427 "line" : 46,
4428 "column" : 8,
4429 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4430 }
4431 },
4432 {
4433 "op" : "remove_header",
4434 "parameters" : [
4435 {
4436 "type" : "header",
4437 "value" : "gtpu"
4438 }
4439 ],
4440 "source_info" : {
4441 "filename" : "include/control/spgw.p4",
4442 "line" : 47,
4443 "column" : 8,
4444 "source_fragment" : "hdr.gtpu.setInvalid()"
4445 }
4446 },
4447 {
4448 "op" : "remove_header",
4449 "parameters" : [
4450 {
4451 "type" : "header",
4452 "value" : "udp"
4453 }
4454 ],
4455 "source_info" : {
4456 "filename" : "include/control/spgw.p4",
4457 "line" : 65,
4458 "column" : 8,
4459 "source_fragment" : "hdr.udp.setInvalid()"
4460 }
4461 },
4462 {
4463 "op" : "assign_header",
4464 "parameters" : [
4465 {
4466 "type" : "header",
4467 "value" : "icmp"
4468 },
4469 {
4470 "type" : "header",
4471 "value" : "inner_icmp"
4472 }
4473 ],
4474 "source_info" : {
4475 "filename" : "include/control/spgw.p4",
4476 "line" : 66,
4477 "column" : 8,
4478 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
4479 }
4480 },
4481 {
4482 "op" : "remove_header",
4483 "parameters" : [
4484 {
4485 "type" : "header",
4486 "value" : "inner_icmp"
4487 }
4488 ],
4489 "source_info" : {
4490 "filename" : "include/control/spgw.p4",
4491 "line" : 67,
4492 "column" : 8,
4493 "source_fragment" : "hdr.inner_icmp.setInvalid()"
4494 }
4495 }
4496 ]
4497 },
4498 {
4499 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
4500 "id" : 36,
4501 "runtime_data" : [],
4502 "primitives" : [
4503 {
4504 "op" : "assign",
4505 "parameters" : [
4506 {
4507 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004508 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004509 },
4510 {
4511 "type" : "hexstr",
4512 "value" : "0x0800"
4513 }
4514 ],
4515 "source_info" : {
4516 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004517 "line" : 120,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004518 "column" : 31,
4519 "source_fragment" : "0x0800; ..."
4520 }
4521 },
4522 {
4523 "op" : "assign",
4524 "parameters" : [
4525 {
4526 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004527 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004528 },
4529 {
4530 "type" : "field",
4531 "value" : ["inner_ipv4", "protocol"]
4532 }
4533 ],
4534 "source_info" : {
4535 "filename" : "include/control/spgw.p4",
4536 "line" : 39,
4537 "column" : 27,
4538 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4539 }
4540 },
4541 {
4542 "op" : "assign",
4543 "parameters" : [
4544 {
4545 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004546 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004547 },
4548 {
4549 "type" : "field",
4550 "value" : ["inner_ipv4", "src_addr"]
4551 }
4552 ],
4553 "source_info" : {
4554 "filename" : "include/control/spgw.p4",
4555 "line" : 40,
4556 "column" : 32,
4557 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4558 }
4559 },
4560 {
4561 "op" : "assign",
4562 "parameters" : [
4563 {
4564 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004565 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004566 },
4567 {
4568 "type" : "field",
4569 "value" : ["inner_ipv4", "dst_addr"]
4570 }
4571 ],
4572 "source_info" : {
4573 "filename" : "include/control/spgw.p4",
4574 "line" : 41,
4575 "column" : 32,
4576 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4577 }
4578 },
4579 {
4580 "op" : "assign",
4581 "parameters" : [
4582 {
4583 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004584 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004585 },
4586 {
4587 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004588 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004589 }
4590 ],
4591 "source_info" : {
4592 "filename" : "include/control/spgw.p4",
4593 "line" : 42,
4594 "column" : 27,
4595 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4596 }
4597 },
4598 {
4599 "op" : "assign",
4600 "parameters" : [
4601 {
4602 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004603 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004604 },
4605 {
4606 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004607 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004608 }
4609 ],
4610 "source_info" : {
4611 "filename" : "include/control/spgw.p4",
4612 "line" : 43,
4613 "column" : 27,
4614 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4615 }
4616 },
4617 {
4618 "op" : "assign_header",
4619 "parameters" : [
4620 {
4621 "type" : "header",
4622 "value" : "ipv4"
4623 },
4624 {
4625 "type" : "header",
4626 "value" : "inner_ipv4"
4627 }
4628 ],
4629 "source_info" : {
4630 "filename" : "include/control/spgw.p4",
4631 "line" : 45,
4632 "column" : 8,
4633 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4634 }
4635 },
4636 {
4637 "op" : "remove_header",
4638 "parameters" : [
4639 {
4640 "type" : "header",
4641 "value" : "inner_ipv4"
4642 }
4643 ],
4644 "source_info" : {
4645 "filename" : "include/control/spgw.p4",
4646 "line" : 46,
4647 "column" : 8,
4648 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4649 }
4650 },
4651 {
4652 "op" : "remove_header",
4653 "parameters" : [
4654 {
4655 "type" : "header",
4656 "value" : "gtpu"
4657 }
4658 ],
4659 "source_info" : {
4660 "filename" : "include/control/spgw.p4",
4661 "line" : 47,
4662 "column" : 8,
4663 "source_fragment" : "hdr.gtpu.setInvalid()"
4664 }
4665 },
4666 {
4667 "op" : "remove_header",
4668 "parameters" : [
4669 {
4670 "type" : "header",
4671 "value" : "udp"
4672 }
4673 ],
4674 "source_info" : {
4675 "filename" : "include/control/spgw.p4",
4676 "line" : 72,
4677 "column" : 8,
4678 "source_fragment" : "hdr.udp.setInvalid()"
4679 }
4680 }
4681 ]
4682 },
4683 {
4684 "name" : "FabricIngress.spgw.load_iface",
4685 "id" : 37,
Robert MacDavidde12b982020-07-15 18:38:59 -07004686 "runtime_data" : [
4687 {
4688 "name" : "src_iface",
4689 "bitwidth" : 8
Robert MacDavidde12b982020-07-15 18:38:59 -07004690 }
4691 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004692 "primitives" : [
4693 {
4694 "op" : "assign",
4695 "parameters" : [
4696 {
4697 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004698 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004699 },
4700 {
4701 "type" : "runtime_data",
4702 "value" : 0
4703 }
4704 ],
4705 "source_info" : {
4706 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004707 "line" : 120,
Robert MacDavidde12b982020-07-15 18:38:59 -07004708 "column" : 33,
4709 "source_fragment" : "= src_iface; ..."
4710 }
4711 },
4712 {
4713 "op" : "assign",
4714 "parameters" : [
4715 {
4716 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004717 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004718 },
4719 {
4720 "type" : "expression",
4721 "value" : {
4722 "type" : "expression",
4723 "value" : {
4724 "op" : "b2d",
4725 "left" : null,
4726 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004727 "type" : "bool",
4728 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07004729 }
4730 }
4731 }
4732 }
4733 ],
4734 "source_info" : {
4735 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004736 "line" : 121,
Robert MacDavidde12b982020-07-15 18:38:59 -07004737 "column" : 33,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004738 "source_fragment" : "= false; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004739 }
4740 }
4741 ]
4742 },
4743 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004744 "name" : "FabricIngress.spgw.iface_miss",
4745 "id" : 38,
4746 "runtime_data" : [],
4747 "primitives" : [
4748 {
4749 "op" : "assign",
4750 "parameters" : [
4751 {
4752 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004753 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004754 },
4755 {
4756 "type" : "hexstr",
4757 "value" : "0x00"
4758 }
4759 ],
4760 "source_info" : {
4761 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004762 "line" : 110,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004763 "column" : 44,
4764 "source_fragment" : "8w0; ..."
4765 }
4766 },
4767 {
4768 "op" : "assign",
4769 "parameters" : [
4770 {
4771 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004772 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004773 },
4774 {
4775 "type" : "expression",
4776 "value" : {
4777 "type" : "expression",
4778 "value" : {
4779 "op" : "b2d",
4780 "left" : null,
4781 "right" : {
4782 "type" : "bool",
4783 "value" : true
4784 }
4785 }
4786 }
4787 }
4788 ],
4789 "source_info" : {
4790 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004791 "line" : 125,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004792 "column" : 33,
4793 "source_fragment" : "= true; ..."
4794 }
4795 }
4796 ]
4797 },
4798 {
4799 "name" : "FabricIngress.spgw.load_pdr",
4800 "id" : 39,
Robert MacDavidde12b982020-07-15 18:38:59 -07004801 "runtime_data" : [
4802 {
4803 "name" : "ctr_id",
4804 "bitwidth" : 32
4805 },
4806 {
4807 "name" : "far_id",
4808 "bitwidth" : 32
4809 },
4810 {
4811 "name" : "needs_gtpu_decap",
4812 "bitwidth" : 1
4813 }
4814 ],
4815 "primitives" : [
4816 {
4817 "op" : "assign",
4818 "parameters" : [
4819 {
4820 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004821 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004822 },
4823 {
4824 "type" : "runtime_data",
4825 "value" : 0
4826 }
4827 ],
4828 "source_info" : {
4829 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004830 "line" : 150,
Robert MacDavidde12b982020-07-15 18:38:59 -07004831 "column" : 30,
4832 "source_fragment" : "= ctr_id; ..."
4833 }
4834 },
4835 {
4836 "op" : "assign",
4837 "parameters" : [
4838 {
4839 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004840 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004841 },
4842 {
4843 "type" : "runtime_data",
4844 "value" : 1
4845 }
4846 ],
4847 "source_info" : {
4848 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004849 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004850 "column" : 30,
4851 "source_fragment" : "= far_id; ..."
4852 }
4853 },
4854 {
4855 "op" : "assign",
4856 "parameters" : [
4857 {
4858 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004859 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004860 },
4861 {
4862 "type" : "expression",
4863 "value" : {
4864 "type" : "expression",
4865 "value" : {
4866 "op" : "b2d",
4867 "left" : null,
4868 "right" : {
4869 "type" : "expression",
4870 "value" : {
4871 "op" : "!=",
4872 "left" : {
4873 "type" : "local",
4874 "value" : 2
4875 },
4876 "right" : {
4877 "type" : "hexstr",
4878 "value" : "0x00"
4879 }
4880 }
4881 }
4882 }
4883 }
4884 }
4885 ],
4886 "source_info" : {
4887 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004888 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004889 "column" : 40,
4890 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
4891 }
4892 }
4893 ]
4894 },
4895 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004896 "name" : "FabricIngress.spgw.load_pdr",
4897 "id" : 40,
Robert MacDavidde12b982020-07-15 18:38:59 -07004898 "runtime_data" : [
4899 {
4900 "name" : "ctr_id",
4901 "bitwidth" : 32
4902 },
4903 {
4904 "name" : "far_id",
4905 "bitwidth" : 32
4906 },
4907 {
4908 "name" : "needs_gtpu_decap",
4909 "bitwidth" : 1
4910 }
4911 ],
4912 "primitives" : [
4913 {
4914 "op" : "assign",
4915 "parameters" : [
4916 {
4917 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004918 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004919 },
4920 {
Robert MacDavidde12b982020-07-15 18:38:59 -07004921 "type" : "runtime_data",
4922 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004923 }
4924 ],
4925 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07004926 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004927 "line" : 150,
Robert MacDavidde12b982020-07-15 18:38:59 -07004928 "column" : 30,
4929 "source_fragment" : "= ctr_id; ..."
4930 }
4931 },
4932 {
4933 "op" : "assign",
4934 "parameters" : [
4935 {
4936 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004937 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004938 },
4939 {
4940 "type" : "runtime_data",
4941 "value" : 1
4942 }
4943 ],
4944 "source_info" : {
4945 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004946 "line" : 151,
Robert MacDavidde12b982020-07-15 18:38:59 -07004947 "column" : 30,
4948 "source_fragment" : "= far_id; ..."
4949 }
4950 },
4951 {
4952 "op" : "assign",
4953 "parameters" : [
4954 {
4955 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004956 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004957 },
4958 {
4959 "type" : "expression",
4960 "value" : {
4961 "type" : "expression",
4962 "value" : {
4963 "op" : "b2d",
4964 "left" : null,
4965 "right" : {
4966 "type" : "expression",
4967 "value" : {
4968 "op" : "!=",
4969 "left" : {
4970 "type" : "local",
4971 "value" : 2
4972 },
4973 "right" : {
4974 "type" : "hexstr",
4975 "value" : "0x00"
4976 }
4977 }
4978 }
4979 }
4980 }
4981 }
4982 ],
4983 "source_info" : {
4984 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02004985 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07004986 "column" : 40,
4987 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004988 }
4989 }
4990 ]
4991 },
4992 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004993 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08004994 "id" : 41,
Robert MacDavidde12b982020-07-15 18:38:59 -07004995 "runtime_data" : [
4996 {
ersuneetsinghe326c722021-03-25 21:17:29 -03004997 "name" : "ctr_id",
4998 "bitwidth" : 32
4999 },
5000 {
5001 "name" : "far_id",
5002 "bitwidth" : 32
5003 },
5004 {
5005 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07005006 "bitwidth" : 1
5007 },
5008 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005009 "name" : "qid",
5010 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005011 }
5012 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005013 "primitives" : [
5014 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005015 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005016 "parameters" : [
5017 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005018 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005019 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005020 },
5021 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005022 "type" : "runtime_data",
5023 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005024 }
5025 ],
5026 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005027 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005028 "line" : 150,
ersuneetsinghe326c722021-03-25 21:17:29 -03005029 "column" : 30,
5030 "source_fragment" : "= ctr_id; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005031 }
5032 },
5033 {
5034 "op" : "assign",
5035 "parameters" : [
5036 {
5037 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005038 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005039 },
5040 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005041 "type" : "runtime_data",
5042 "value" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005043 }
5044 ],
5045 "source_info" : {
5046 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005047 "line" : 151,
ersuneetsinghe326c722021-03-25 21:17:29 -03005048 "column" : 30,
5049 "source_fragment" : "= far_id; ..."
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005050 }
5051 },
5052 {
5053 "op" : "assign",
5054 "parameters" : [
5055 {
5056 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005057 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005058 },
5059 {
5060 "type" : "expression",
5061 "value" : {
5062 "type" : "expression",
5063 "value" : {
5064 "op" : "b2d",
5065 "left" : null,
5066 "right" : {
5067 "type" : "expression",
5068 "value" : {
5069 "op" : "!=",
5070 "left" : {
5071 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03005072 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005073 },
5074 "right" : {
5075 "type" : "hexstr",
5076 "value" : "0x00"
5077 }
5078 }
5079 }
5080 }
5081 }
5082 }
5083 ],
5084 "source_info" : {
5085 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005086 "line" : 152,
ersuneetsinghe326c722021-03-25 21:17:29 -03005087 "column" : 40,
5088 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005089 }
5090 }
5091 ]
5092 },
5093 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005094 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005095 "id" : 42,
Robert MacDavidde12b982020-07-15 18:38:59 -07005096 "runtime_data" : [
5097 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005098 "name" : "ctr_id",
5099 "bitwidth" : 32
5100 },
5101 {
5102 "name" : "far_id",
5103 "bitwidth" : 32
5104 },
5105 {
5106 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07005107 "bitwidth" : 1
5108 },
5109 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005110 "name" : "qid",
5111 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005112 }
5113 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005114 "primitives" : [
5115 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005116 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005117 "parameters" : [
5118 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005119 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005120 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005121 },
5122 {
5123 "type" : "runtime_data",
5124 "value" : 0
5125 }
5126 ],
5127 "source_info" : {
5128 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005129 "line" : 150,
ersuneetsinghe326c722021-03-25 21:17:29 -03005130 "column" : 30,
5131 "source_fragment" : "= ctr_id; ..."
5132 }
5133 },
5134 {
5135 "op" : "assign",
5136 "parameters" : [
5137 {
5138 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005139 "value" : ["scalars", "userMetadata._spgw_far_id25"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005140 },
5141 {
5142 "type" : "runtime_data",
5143 "value" : 1
5144 }
5145 ],
5146 "source_info" : {
5147 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005148 "line" : 151,
ersuneetsinghe326c722021-03-25 21:17:29 -03005149 "column" : 30,
5150 "source_fragment" : "= far_id; ..."
5151 }
5152 },
5153 {
5154 "op" : "assign",
5155 "parameters" : [
5156 {
5157 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005158 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005159 },
5160 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005161 "type" : "expression",
5162 "value" : {
5163 "type" : "expression",
5164 "value" : {
5165 "op" : "b2d",
5166 "left" : null,
5167 "right" : {
5168 "type" : "expression",
5169 "value" : {
5170 "op" : "!=",
5171 "left" : {
5172 "type" : "local",
ersuneetsinghe326c722021-03-25 21:17:29 -03005173 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005174 },
5175 "right" : {
5176 "type" : "hexstr",
5177 "value" : "0x00"
5178 }
5179 }
5180 }
5181 }
5182 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005183 }
5184 ],
5185 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005186 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005187 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07005188 "column" : 40,
ersuneetsinghe326c722021-03-25 21:17:29 -03005189 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005190 }
5191 }
5192 ]
5193 },
5194 {
ersuneetsinghe326c722021-03-25 21:17:29 -03005195 "name" : "FabricIngress.spgw.load_normal_far",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005196 "id" : 43,
5197 "runtime_data" : [
5198 {
5199 "name" : "drop",
5200 "bitwidth" : 1
5201 },
5202 {
5203 "name" : "notify_cp",
5204 "bitwidth" : 1
ersuneetsinghe326c722021-03-25 21:17:29 -03005205 }
5206 ],
5207 "primitives" : [
5208 {
5209 "op" : "assign",
5210 "parameters" : [
5211 {
5212 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005213 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5214 },
5215 {
5216 "type" : "expression",
5217 "value" : {
5218 "type" : "expression",
5219 "value" : {
5220 "op" : "b2d",
5221 "left" : null,
5222 "right" : {
5223 "type" : "expression",
5224 "value" : {
5225 "op" : "!=",
5226 "left" : {
5227 "type" : "local",
5228 "value" : 0
5229 },
5230 "right" : {
5231 "type" : "hexstr",
5232 "value" : "0x00"
5233 }
5234 }
5235 }
5236 }
5237 }
5238 }
5239 ],
5240 "source_info" : {
5241 "filename" : "include/control/spgw.p4",
5242 "line" : 195,
5243 "column" : 34,
5244 "source_fragment" : "= (bool)drop; ..."
5245 }
5246 },
5247 {
5248 "op" : "assign",
5249 "parameters" : [
5250 {
5251 "type" : "field",
5252 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005253 },
5254 {
5255 "type" : "expression",
5256 "value" : {
5257 "type" : "expression",
5258 "value" : {
5259 "op" : "b2d",
5260 "left" : null,
5261 "right" : {
5262 "type" : "expression",
5263 "value" : {
5264 "op" : "!=",
5265 "left" : {
5266 "type" : "local",
5267 "value" : 0
5268 },
5269 "right" : {
5270 "type" : "hexstr",
5271 "value" : "0x00"
5272 }
5273 }
5274 }
5275 }
5276 }
5277 }
5278 ],
5279 "source_info" : {
5280 "filename" : "include/control/spgw.p4",
5281 "line" : 196,
ersuneetsinghe326c722021-03-25 21:17:29 -03005282 "column" : 28,
5283 "source_fragment" : "= (bool)drop; ..."
5284 }
5285 },
5286 {
5287 "op" : "assign",
5288 "parameters" : [
5289 {
5290 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005291 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005292 },
5293 {
5294 "type" : "expression",
5295 "value" : {
5296 "type" : "expression",
5297 "value" : {
5298 "op" : "b2d",
5299 "left" : null,
5300 "right" : {
5301 "type" : "expression",
5302 "value" : {
5303 "op" : "!=",
5304 "left" : {
5305 "type" : "local",
5306 "value" : 1
5307 },
5308 "right" : {
5309 "type" : "hexstr",
5310 "value" : "0x00"
5311 }
5312 }
5313 }
5314 }
5315 }
5316 }
5317 ],
5318 "source_info" : {
5319 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005320 "line" : 197,
ersuneetsinghe326c722021-03-25 21:17:29 -03005321 "column" : 36,
5322 "source_fragment" : "= (bool)notify_cp; ..."
5323 }
5324 }
5325 ]
5326 },
5327 {
5328 "name" : "FabricIngress.spgw.load_tunnel_far",
5329 "id" : 44,
5330 "runtime_data" : [
5331 {
5332 "name" : "drop",
5333 "bitwidth" : 1
5334 },
5335 {
5336 "name" : "notify_cp",
5337 "bitwidth" : 1
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005338 },
5339 {
5340 "name" : "tunnel_src_port",
5341 "bitwidth" : 16
5342 },
5343 {
5344 "name" : "tunnel_src_addr",
5345 "bitwidth" : 32
5346 },
5347 {
5348 "name" : "tunnel_dst_addr",
5349 "bitwidth" : 32
5350 },
5351 {
5352 "name" : "teid",
5353 "bitwidth" : 32
5354 }
5355 ],
Robert MacDavidde12b982020-07-15 18:38:59 -07005356 "primitives" : [
5357 {
5358 "op" : "assign",
5359 "parameters" : [
5360 {
5361 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005362 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5363 },
5364 {
5365 "type" : "expression",
5366 "value" : {
5367 "type" : "expression",
5368 "value" : {
5369 "op" : "b2d",
5370 "left" : null,
5371 "right" : {
5372 "type" : "expression",
5373 "value" : {
5374 "op" : "!=",
5375 "left" : {
5376 "type" : "local",
5377 "value" : 0
5378 },
5379 "right" : {
5380 "type" : "hexstr",
5381 "value" : "0x00"
5382 }
5383 }
5384 }
5385 }
5386 }
5387 }
5388 ],
5389 "source_info" : {
5390 "filename" : "include/control/spgw.p4",
5391 "line" : 206,
5392 "column" : 34,
5393 "source_fragment" : "= (bool)drop; ..."
5394 }
5395 },
5396 {
5397 "op" : "assign",
5398 "parameters" : [
5399 {
5400 "type" : "field",
5401 "value" : ["scalars", "userMetadata._skip_next7"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005402 },
5403 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005404 "type" : "expression",
5405 "value" : {
5406 "type" : "expression",
5407 "value" : {
5408 "op" : "b2d",
5409 "left" : null,
5410 "right" : {
5411 "type" : "expression",
5412 "value" : {
5413 "op" : "!=",
5414 "left" : {
5415 "type" : "local",
5416 "value" : 0
5417 },
5418 "right" : {
5419 "type" : "hexstr",
5420 "value" : "0x00"
5421 }
5422 }
5423 }
5424 }
5425 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005426 }
5427 ],
5428 "source_info" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005429 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005430 "line" : 207,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005431 "column" : 28,
5432 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005433 }
5434 },
5435 {
5436 "op" : "assign",
5437 "parameters" : [
5438 {
5439 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005440 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005441 },
5442 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005443 "type" : "expression",
5444 "value" : {
5445 "type" : "expression",
5446 "value" : {
5447 "op" : "b2d",
5448 "left" : null,
5449 "right" : {
5450 "type" : "expression",
5451 "value" : {
5452 "op" : "!=",
5453 "left" : {
5454 "type" : "local",
5455 "value" : 1
5456 },
5457 "right" : {
5458 "type" : "hexstr",
5459 "value" : "0x00"
5460 }
5461 }
5462 }
5463 }
5464 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005465 }
5466 ],
5467 "source_info" : {
5468 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005469 "line" : 208,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005470 "column" : 36,
5471 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005472 }
5473 },
5474 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005475 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005476 "parameters" : [
5477 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005478 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005479 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005480 },
5481 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005482 "type" : "expression",
5483 "value" : {
5484 "type" : "expression",
5485 "value" : {
5486 "op" : "b2d",
5487 "left" : null,
5488 "right" : {
5489 "type" : "bool",
5490 "value" : true
5491 }
5492 }
5493 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005494 }
5495 ],
5496 "source_info" : {
5497 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005498 "line" : 210,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005499 "column" : 40,
5500 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005501 }
5502 },
5503 {
5504 "op" : "assign",
5505 "parameters" : [
5506 {
5507 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005508 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005509 },
5510 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005511 "type" : "runtime_data",
5512 "value" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005513 }
5514 ],
5515 "source_info" : {
5516 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005517 "line" : 211,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005518 "column" : 28,
5519 "source_fragment" : "= teid; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005520 }
5521 },
5522 {
5523 "op" : "assign",
5524 "parameters" : [
5525 {
5526 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005527 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005528 },
5529 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005530 "type" : "runtime_data",
5531 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005532 }
5533 ],
5534 "source_info" : {
5535 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005536 "line" : 212,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005537 "column" : 39,
5538 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005539 }
5540 },
5541 {
5542 "op" : "assign",
5543 "parameters" : [
5544 {
5545 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005546 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005547 },
5548 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005549 "type" : "runtime_data",
5550 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005551 }
5552 ],
5553 "source_info" : {
5554 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005555 "line" : 213,
5556 "column" : 39,
5557 "source_fragment" : "= tunnel_src_addr; ..."
5558 }
5559 },
5560 {
5561 "op" : "assign",
5562 "parameters" : [
5563 {
5564 "type" : "field",
5565 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5566 },
5567 {
5568 "type" : "runtime_data",
5569 "value" : 4
5570 }
5571 ],
5572 "source_info" : {
5573 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005574 "line" : 214,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005575 "column" : 39,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005576 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005577 }
5578 },
5579 {
5580 "op" : "assign",
5581 "parameters" : [
5582 {
5583 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005584 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005585 },
5586 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005587 "type" : "runtime_data",
5588 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005589 }
5590 ],
5591 "source_info" : {
5592 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005593 "line" : 216,
Robert MacDavidde12b982020-07-15 18:38:59 -07005594 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005595 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005596 }
5597 },
5598 {
5599 "op" : "assign",
5600 "parameters" : [
5601 {
5602 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005603 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005604 },
5605 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005606 "type" : "runtime_data",
5607 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07005608 }
5609 ],
5610 "source_info" : {
5611 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005612 "line" : 217,
Robert MacDavidde12b982020-07-15 18:38:59 -07005613 "column" : 32,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005614 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005615 }
5616 },
5617 {
5618 "op" : "assign",
5619 "parameters" : [
5620 {
5621 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005622 "value" : ["scalars", "userMetadata._l4_sport13"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005623 },
5624 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005625 "type" : "runtime_data",
5626 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005627 }
5628 ],
5629 "source_info" : {
5630 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005631 "line" : 218,
Robert MacDavidde12b982020-07-15 18:38:59 -07005632 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005633 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005634 }
5635 },
5636 {
5637 "op" : "assign",
5638 "parameters" : [
5639 {
5640 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005641 "value" : ["scalars", "userMetadata._l4_dport14"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005642 },
5643 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005644 "type" : "hexstr",
5645 "value" : "0x0868"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005646 }
5647 ],
5648 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005649 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005650 "line" : 219,
ersuneetsinghe326c722021-03-25 21:17:29 -03005651 "column" : 27,
5652 "source_fragment" : "= 2152; ..."
5653 }
5654 }
5655 ]
5656 },
5657 {
5658 "name" : "FabricIngress.spgw.load_dbuf_far",
5659 "id" : 45,
5660 "runtime_data" : [
5661 {
5662 "name" : "drop",
5663 "bitwidth" : 1
5664 },
5665 {
5666 "name" : "notify_cp",
5667 "bitwidth" : 1
5668 },
5669 {
5670 "name" : "tunnel_src_port",
5671 "bitwidth" : 16
5672 },
5673 {
5674 "name" : "tunnel_src_addr",
5675 "bitwidth" : 32
5676 },
5677 {
5678 "name" : "tunnel_dst_addr",
5679 "bitwidth" : 32
5680 },
5681 {
5682 "name" : "teid",
5683 "bitwidth" : 32
5684 }
5685 ],
5686 "primitives" : [
5687 {
5688 "op" : "assign",
5689 "parameters" : [
5690 {
5691 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005692 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5693 },
5694 {
5695 "type" : "expression",
5696 "value" : {
5697 "type" : "expression",
5698 "value" : {
5699 "op" : "b2d",
5700 "left" : null,
5701 "right" : {
5702 "type" : "expression",
5703 "value" : {
5704 "op" : "!=",
5705 "left" : {
5706 "type" : "local",
5707 "value" : 0
5708 },
5709 "right" : {
5710 "type" : "hexstr",
5711 "value" : "0x00"
5712 }
5713 }
5714 }
5715 }
5716 }
5717 }
5718 ],
5719 "source_info" : {
5720 "filename" : "include/control/spgw.p4",
5721 "line" : 206,
5722 "column" : 34,
5723 "source_fragment" : "= (bool)drop; ..."
5724 }
5725 },
5726 {
5727 "op" : "assign",
5728 "parameters" : [
5729 {
5730 "type" : "field",
5731 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005732 },
5733 {
5734 "type" : "expression",
5735 "value" : {
5736 "type" : "expression",
5737 "value" : {
5738 "op" : "b2d",
5739 "left" : null,
5740 "right" : {
5741 "type" : "expression",
5742 "value" : {
5743 "op" : "!=",
5744 "left" : {
5745 "type" : "local",
5746 "value" : 0
5747 },
5748 "right" : {
5749 "type" : "hexstr",
5750 "value" : "0x00"
5751 }
5752 }
5753 }
5754 }
5755 }
5756 }
5757 ],
5758 "source_info" : {
5759 "filename" : "include/control/spgw.p4",
5760 "line" : 207,
ersuneetsinghe326c722021-03-25 21:17:29 -03005761 "column" : 28,
5762 "source_fragment" : "= (bool)drop; ..."
5763 }
5764 },
5765 {
5766 "op" : "assign",
5767 "parameters" : [
5768 {
5769 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005770 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005771 },
5772 {
5773 "type" : "expression",
5774 "value" : {
5775 "type" : "expression",
5776 "value" : {
5777 "op" : "b2d",
5778 "left" : null,
5779 "right" : {
5780 "type" : "expression",
5781 "value" : {
5782 "op" : "!=",
5783 "left" : {
5784 "type" : "local",
5785 "value" : 1
5786 },
5787 "right" : {
5788 "type" : "hexstr",
5789 "value" : "0x00"
5790 }
5791 }
5792 }
5793 }
5794 }
5795 }
5796 ],
5797 "source_info" : {
5798 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005799 "line" : 208,
ersuneetsinghe326c722021-03-25 21:17:29 -03005800 "column" : 36,
5801 "source_fragment" : "= (bool)notify_cp; ..."
5802 }
5803 },
5804 {
5805 "op" : "assign",
5806 "parameters" : [
5807 {
5808 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005809 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005810 },
5811 {
5812 "type" : "expression",
5813 "value" : {
5814 "type" : "expression",
5815 "value" : {
5816 "op" : "b2d",
5817 "left" : null,
5818 "right" : {
5819 "type" : "bool",
5820 "value" : true
5821 }
5822 }
5823 }
5824 }
5825 ],
5826 "source_info" : {
5827 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005828 "line" : 210,
ersuneetsinghe326c722021-03-25 21:17:29 -03005829 "column" : 40,
5830 "source_fragment" : "= true; ..."
5831 }
5832 },
5833 {
5834 "op" : "assign",
5835 "parameters" : [
5836 {
5837 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005838 "value" : ["scalars", "userMetadata._spgw_teid20"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005839 },
5840 {
5841 "type" : "runtime_data",
5842 "value" : 5
5843 }
5844 ],
5845 "source_info" : {
5846 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005847 "line" : 211,
ersuneetsinghe326c722021-03-25 21:17:29 -03005848 "column" : 28,
5849 "source_fragment" : "= teid; ..."
5850 }
5851 },
5852 {
5853 "op" : "assign",
5854 "parameters" : [
5855 {
5856 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005857 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005858 },
5859 {
5860 "type" : "runtime_data",
5861 "value" : 2
5862 }
5863 ],
5864 "source_info" : {
5865 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005866 "line" : 212,
ersuneetsinghe326c722021-03-25 21:17:29 -03005867 "column" : 39,
5868 "source_fragment" : "= tunnel_src_port; ..."
5869 }
5870 },
5871 {
5872 "op" : "assign",
5873 "parameters" : [
5874 {
5875 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005876 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005877 },
5878 {
5879 "type" : "runtime_data",
5880 "value" : 3
5881 }
5882 ],
5883 "source_info" : {
5884 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005885 "line" : 213,
5886 "column" : 39,
5887 "source_fragment" : "= tunnel_src_addr; ..."
5888 }
5889 },
5890 {
5891 "op" : "assign",
5892 "parameters" : [
5893 {
5894 "type" : "field",
5895 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5896 },
5897 {
5898 "type" : "runtime_data",
5899 "value" : 4
5900 }
5901 ],
5902 "source_info" : {
5903 "filename" : "include/control/spgw.p4",
ersuneetsinghe326c722021-03-25 21:17:29 -03005904 "line" : 214,
5905 "column" : 39,
ersuneetsinghe326c722021-03-25 21:17:29 -03005906 "source_fragment" : "= tunnel_dst_addr; ..."
5907 }
5908 },
5909 {
5910 "op" : "assign",
5911 "parameters" : [
5912 {
5913 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005914 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005915 },
5916 {
5917 "type" : "runtime_data",
5918 "value" : 3
5919 }
5920 ],
5921 "source_info" : {
5922 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005923 "line" : 216,
ersuneetsinghe326c722021-03-25 21:17:29 -03005924 "column" : 32,
5925 "source_fragment" : "= tunnel_src_addr; ..."
5926 }
5927 },
5928 {
5929 "op" : "assign",
5930 "parameters" : [
5931 {
5932 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005933 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005934 },
5935 {
5936 "type" : "runtime_data",
5937 "value" : 4
5938 }
5939 ],
5940 "source_info" : {
5941 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005942 "line" : 217,
ersuneetsinghe326c722021-03-25 21:17:29 -03005943 "column" : 32,
5944 "source_fragment" : "= tunnel_dst_addr; ..."
5945 }
5946 },
5947 {
5948 "op" : "assign",
5949 "parameters" : [
5950 {
5951 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005952 "value" : ["scalars", "userMetadata._l4_sport13"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005953 },
5954 {
5955 "type" : "runtime_data",
5956 "value" : 2
5957 }
5958 ],
5959 "source_info" : {
5960 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005961 "line" : 218,
ersuneetsinghe326c722021-03-25 21:17:29 -03005962 "column" : 27,
5963 "source_fragment" : "= tunnel_src_port; ..."
5964 }
5965 },
5966 {
5967 "op" : "assign",
5968 "parameters" : [
5969 {
5970 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005971 "value" : ["scalars", "userMetadata._l4_dport14"]
ersuneetsinghe326c722021-03-25 21:17:29 -03005972 },
5973 {
5974 "type" : "hexstr",
5975 "value" : "0x0868"
5976 }
5977 ],
5978 "source_info" : {
5979 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005980 "line" : 219,
Robert MacDavidde12b982020-07-15 18:38:59 -07005981 "column" : 27,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005982 "source_fragment" : "= 2152; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005983 }
5984 },
5985 {
5986 "op" : "assign",
5987 "parameters" : [
5988 {
5989 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02005990 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005991 },
5992 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08005993 "type" : "expression",
5994 "value" : {
5995 "type" : "expression",
5996 "value" : {
5997 "op" : "b2d",
5998 "left" : null,
5999 "right" : {
6000 "type" : "bool",
6001 "value" : true
6002 }
6003 }
6004 }
Robert MacDavidde12b982020-07-15 18:38:59 -07006005 }
6006 ],
6007 "source_info" : {
6008 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006009 "line" : 230,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006010 "column" : 43,
6011 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006012 }
6013 }
6014 ]
6015 },
6016 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006017 "name" : "packetio25",
ersuneetsinghe326c722021-03-25 21:17:29 -03006018 "id" : 46,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006019 "runtime_data" : [],
6020 "primitives" : [
6021 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006022 "op" : "assign",
6023 "parameters" : [
6024 {
6025 "type" : "field",
6026 "value" : ["standard_metadata", "egress_spec"]
6027 },
6028 {
6029 "type" : "field",
6030 "value" : ["packet_out", "egress_port"]
6031 }
6032 ],
6033 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006034 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006035 "line" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006036 "column" : 12,
6037 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
6038 }
6039 },
6040 {
6041 "op" : "remove_header",
6042 "parameters" : [
6043 {
6044 "type" : "header",
6045 "value" : "packet_out"
6046 }
6047 ],
6048 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006049 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006050 "line" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006051 "column" : 12,
6052 "source_fragment" : "hdr.packet_out.setInvalid()"
6053 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006054 },
6055 {
6056 "op" : "assign",
6057 "parameters" : [
6058 {
6059 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006060 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006061 },
6062 {
6063 "type" : "expression",
6064 "value" : {
6065 "type" : "expression",
6066 "value" : {
6067 "op" : "b2d",
6068 "left" : null,
6069 "right" : {
6070 "type" : "bool",
6071 "value" : true
6072 }
6073 }
6074 }
6075 }
6076 ],
6077 "source_info" : {
6078 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006079 "line" : 27,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006080 "column" : 53,
6081 "source_fragment" : "= true; ..."
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006082 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006083 },
6084 {
6085 "op" : "exit",
6086 "parameters" : [],
6087 "source_info" : {
6088 "filename" : "include/control/packetio.p4",
6089 "line" : 29,
6090 "column" : 12,
6091 "source_fragment" : "exit"
6092 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006093 }
6094 ]
6095 },
6096 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006097 "name" : "spgw265",
ersuneetsinghe326c722021-03-25 21:17:29 -03006098 "id" : 47,
Robert MacDavidde12b982020-07-15 18:38:59 -07006099 "runtime_data" : [],
6100 "primitives" : [
6101 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006102 "op" : "count",
6103 "parameters" : [
6104 {
6105 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006106 "value" : "FabricIngress.spgw.pdr_counter"
Robert MacDavidde12b982020-07-15 18:38:59 -07006107 },
6108 {
6109 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006110 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006111 }
6112 ],
6113 "source_info" : {
6114 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006115 "line" : 265,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006116 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07006117 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
6118 }
6119 }
6120 ]
6121 },
6122 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006123 "name" : "spgw282",
6124 "id" : 48,
Robert MacDavidde12b982020-07-15 18:38:59 -07006125 "runtime_data" : [],
6126 "primitives" : [
6127 {
6128 "op" : "assign",
6129 "parameters" : [
6130 {
6131 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006132 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006133 },
6134 {
6135 "type" : "field",
6136 "value" : ["ipv4", "total_len"]
6137 }
6138 ],
6139 "source_info" : {
6140 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006141 "line" : 282,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006142 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07006143 "source_fragment" : "= hdr.ipv4.total_len; ..."
6144 }
6145 }
6146 ]
6147 },
6148 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006149 "name" : "filtering111",
6150 "id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006151 "runtime_data" : [],
6152 "primitives" : [
6153 {
6154 "op" : "assign",
6155 "parameters" : [
6156 {
6157 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006158 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006159 },
6160 {
6161 "type" : "field",
6162 "value" : ["vlan_tag", "vlan_id"]
6163 }
6164 ],
6165 "source_info" : {
6166 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006167 "line" : 111,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006168 "column" : 36,
6169 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006170 }
6171 },
6172 {
6173 "op" : "assign",
6174 "parameters" : [
6175 {
6176 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006177 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006178 },
6179 {
6180 "type" : "field",
6181 "value" : ["vlan_tag", "pri"]
6182 }
6183 ],
6184 "source_info" : {
6185 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006186 "line" : 112,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006187 "column" : 37,
6188 "source_fragment" : "= hdr.vlan_tag.pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006189 }
6190 },
6191 {
6192 "op" : "assign",
6193 "parameters" : [
6194 {
6195 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006196 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006197 },
6198 {
6199 "type" : "field",
6200 "value" : ["vlan_tag", "cfi"]
6201 }
6202 ],
6203 "source_info" : {
6204 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006205 "line" : 113,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006206 "column" : 37,
6207 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006208 }
6209 }
6210 ]
6211 },
6212 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006213 "name" : "filtering127",
6214 "id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006215 "runtime_data" : [],
6216 "primitives" : [
6217 {
6218 "op" : "assign",
6219 "parameters" : [
6220 {
6221 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006222 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006223 },
6224 {
6225 "type" : "hexstr",
6226 "value" : "0x41"
6227 }
6228 ],
6229 "source_info" : {
6230 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006231 "line" : 127,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006232 "column" : 37,
6233 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006234 }
6235 }
6236 ]
6237 },
6238 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006239 "name" : "port_counter31",
6240 "id" : 51,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006241 "runtime_data" : [],
6242 "primitives" : [
6243 {
6244 "op" : "assign",
6245 "parameters" : [
6246 {
6247 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006248 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006249 },
6250 {
6251 "type" : "expression",
6252 "value" : {
6253 "type" : "expression",
6254 "value" : {
6255 "op" : "&",
6256 "left" : {
6257 "type" : "field",
6258 "value" : ["standard_metadata", "egress_spec"]
6259 },
6260 "right" : {
6261 "type" : "hexstr",
6262 "value" : "0xffffffff"
6263 }
6264 }
6265 }
6266 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006267 ],
6268 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006269 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006270 "line" : 31,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006271 "column" : 38,
6272 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
6273 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006274 },
6275 {
6276 "op" : "count",
6277 "parameters" : [
6278 {
6279 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08006280 "value" : "FabricIngress.port_counters_control.egress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006281 },
6282 {
6283 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006284 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006285 }
6286 ],
6287 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006288 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006289 "line" : 31,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006290 "column" : 12,
6291 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
6292 }
6293 }
6294 ]
6295 },
6296 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006297 "name" : "port_counter34",
6298 "id" : 52,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006299 "runtime_data" : [],
6300 "primitives" : [
6301 {
6302 "op" : "assign",
6303 "parameters" : [
6304 {
6305 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006306 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006307 },
6308 {
6309 "type" : "expression",
6310 "value" : {
6311 "type" : "expression",
6312 "value" : {
6313 "op" : "&",
6314 "left" : {
6315 "type" : "field",
6316 "value" : ["standard_metadata", "ingress_port"]
6317 },
6318 "right" : {
6319 "type" : "hexstr",
6320 "value" : "0xffffffff"
6321 }
6322 }
6323 }
6324 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006325 ],
6326 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006327 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006328 "line" : 34,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006329 "column" : 39,
6330 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
6331 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006332 },
6333 {
6334 "op" : "count",
6335 "parameters" : [
6336 {
6337 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08006338 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006339 },
6340 {
6341 "type" : "field",
Carmelo Cascone2a308ff2021-06-01 18:31:57 -07006342 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006343 }
6344 ],
6345 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006346 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006347 "line" : 34,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006348 "column" : 12,
6349 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
6350 }
6351 }
6352 ]
6353 },
6354 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006355 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006356 "id" : 53,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006357 "runtime_data" : [],
6358 "primitives" : [
6359 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006360 "op" : "remove_header",
6361 "parameters" : [
6362 {
6363 "type" : "header",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006364 "value" : "mpls"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006365 }
6366 ],
6367 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006368 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006369 "line" : 270,
Yi Tseng47eac892018-07-11 02:17:04 +08006370 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006371 "source_fragment" : "hdr.mpls.setInvalid()"
Yi Tseng47eac892018-07-11 02:17:04 +08006372 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006373 },
Yi Tseng47eac892018-07-11 02:17:04 +08006374 {
6375 "op" : "assign",
6376 "parameters" : [
6377 {
6378 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006379 "value" : ["eth_type", "value"]
Yi Tseng47eac892018-07-11 02:17:04 +08006380 },
6381 {
6382 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006383 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006384 }
6385 ],
6386 "source_info" : {
6387 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006388 "line" : 272,
Daniele Moro5a2de712019-09-24 14:34:07 -07006389 "column" : 8,
6390 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006391 }
6392 }
6393 ]
6394 },
6395 {
6396 "name" : "FabricEgress.egress_next.set_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006397 "id" : 54,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006398 "runtime_data" : [],
6399 "primitives" : [
6400 {
6401 "op" : "add_header",
6402 "parameters" : [
6403 {
6404 "type" : "header",
6405 "value" : "mpls"
Yi Tseng47eac892018-07-11 02:17:04 +08006406 }
6407 ],
6408 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006409 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006410 "line" : 277,
Yi Tseng47eac892018-07-11 02:17:04 +08006411 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006412 "source_fragment" : "hdr.mpls.setValid()"
6413 }
6414 },
6415 {
6416 "op" : "assign",
6417 "parameters" : [
6418 {
6419 "type" : "field",
6420 "value" : ["mpls", "label"]
6421 },
6422 {
6423 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006424 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006425 }
6426 ],
6427 "source_info" : {
6428 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006429 "line" : 278,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006430 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006431 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006432 }
6433 },
6434 {
6435 "op" : "assign",
6436 "parameters" : [
6437 {
6438 "type" : "field",
6439 "value" : ["mpls", "tc"]
6440 },
6441 {
6442 "type" : "hexstr",
6443 "value" : "0x00"
6444 }
6445 ],
6446 "source_info" : {
6447 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006448 "line" : 279,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006449 "column" : 8,
6450 "source_fragment" : "hdr.mpls.tc = 3w0"
6451 }
6452 },
6453 {
6454 "op" : "assign",
6455 "parameters" : [
6456 {
6457 "type" : "field",
6458 "value" : ["mpls", "bos"]
6459 },
6460 {
6461 "type" : "hexstr",
6462 "value" : "0x01"
6463 }
6464 ],
6465 "source_info" : {
6466 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006467 "line" : 280,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006468 "column" : 8,
6469 "source_fragment" : "hdr.mpls.bos = 1w1"
6470 }
6471 },
6472 {
6473 "op" : "assign",
6474 "parameters" : [
6475 {
6476 "type" : "field",
6477 "value" : ["mpls", "ttl"]
6478 },
6479 {
6480 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006481 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006482 }
6483 ],
6484 "source_info" : {
6485 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006486 "line" : 281,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006487 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006488 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006489 }
6490 },
6491 {
6492 "op" : "assign",
6493 "parameters" : [
6494 {
6495 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006496 "value" : ["eth_type", "value"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006497 },
6498 {
6499 "type" : "hexstr",
6500 "value" : "0x8847"
6501 }
6502 ],
6503 "source_info" : {
6504 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006505 "line" : 118,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006506 "column" : 31,
6507 "source_fragment" : "0x8847; ..."
6508 }
6509 }
6510 ]
6511 },
6512 {
6513 "name" : "FabricEgress.egress_next.push_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006514 "id" : 55,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006515 "runtime_data" : [],
6516 "primitives" : [
6517 {
6518 "op" : "add_header",
6519 "parameters" : [
6520 {
6521 "type" : "header",
6522 "value" : "vlan_tag"
6523 }
6524 ],
6525 "source_info" : {
6526 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006527 "line" : 289,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006528 "column" : 8,
6529 "source_fragment" : "hdr.vlan_tag.setValid()"
6530 }
6531 },
6532 {
6533 "op" : "assign",
6534 "parameters" : [
6535 {
6536 "type" : "field",
6537 "value" : ["vlan_tag", "cfi"]
6538 },
6539 {
6540 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006541 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006542 }
6543 ],
6544 "source_info" : {
6545 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006546 "line" : 290,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006547 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006548 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006549 }
6550 },
6551 {
6552 "op" : "assign",
6553 "parameters" : [
6554 {
6555 "type" : "field",
6556 "value" : ["vlan_tag", "pri"]
6557 },
6558 {
6559 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006560 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006561 }
6562 ],
6563 "source_info" : {
6564 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006565 "line" : 291,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006566 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006567 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006568 }
6569 },
6570 {
6571 "op" : "assign",
6572 "parameters" : [
6573 {
6574 "type" : "field",
6575 "value" : ["vlan_tag", "eth_type"]
6576 },
6577 {
Daniele Moro5a2de712019-09-24 14:34:07 -07006578 "type" : "hexstr",
6579 "value" : "0x8100"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006580 }
6581 ],
6582 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07006583 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006584 "line" : 117,
Daniele Moro5a2de712019-09-24 14:34:07 -07006585 "column" : 31,
6586 "source_fragment" : "0x8100; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006587 }
6588 },
6589 {
6590 "op" : "assign",
6591 "parameters" : [
6592 {
6593 "type" : "field",
6594 "value" : ["vlan_tag", "vlan_id"]
6595 },
6596 {
6597 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006598 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006599 }
6600 ],
6601 "source_info" : {
6602 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07006603 "line" : 293,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006604 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006605 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006606 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006607 }
6608 ]
6609 },
6610 {
6611 "name" : "FabricEgress.egress_next.pop_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006612 "id" : 56,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006613 "runtime_data" : [],
6614 "primitives" : [
6615 {
Yi Tseng47eac892018-07-11 02:17:04 +08006616 "op" : "remove_header",
6617 "parameters" : [
6618 {
6619 "type" : "header",
6620 "value" : "vlan_tag"
6621 }
6622 ],
6623 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006624 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01006625 "line" : 322,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006626 "column" : 8,
6627 "source_fragment" : "hdr.vlan_tag.setInvalid()"
6628 }
6629 }
6630 ]
6631 },
6632 {
pierventre48e78822020-12-15 17:34:54 +01006633 "name" : "FabricEgress.egress_next.drop",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006634 "id" : 57,
pierventre48e78822020-12-15 17:34:54 +01006635 "runtime_data" : [],
6636 "primitives" : [
6637 {
6638 "op" : "mark_to_drop",
6639 "parameters" : [
6640 {
6641 "type" : "header",
6642 "value" : "standard_metadata"
6643 }
6644 ],
6645 "source_info" : {
6646 "filename" : "include/control/next.p4",
6647 "line" : 327,
6648 "column" : 8,
6649 "source_fragment" : "mark_to_drop(standard_metadata)"
6650 }
6651 }
6652 ]
6653 },
6654 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08006655 "name" : "FabricEgress.spgw.gtpu_encap",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006656 "id" : 58,
Robert MacDavidde12b982020-07-15 18:38:59 -07006657 "runtime_data" : [],
6658 "primitives" : [
6659 {
6660 "op" : "add_header",
6661 "parameters" : [
6662 {
6663 "type" : "header",
6664 "value" : "gtpu_ipv4"
6665 }
6666 ],
6667 "source_info" : {
6668 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006669 "line" : 300,
Robert MacDavidde12b982020-07-15 18:38:59 -07006670 "column" : 8,
6671 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
6672 }
6673 },
6674 {
6675 "op" : "assign",
6676 "parameters" : [
6677 {
6678 "type" : "field",
6679 "value" : ["gtpu_ipv4", "version"]
6680 },
6681 {
6682 "type" : "hexstr",
6683 "value" : "0x04"
6684 }
6685 ],
6686 "source_info" : {
6687 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006688 "line" : 301,
Robert MacDavidde12b982020-07-15 18:38:59 -07006689 "column" : 8,
6690 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
6691 }
6692 },
6693 {
6694 "op" : "assign",
6695 "parameters" : [
6696 {
6697 "type" : "field",
6698 "value" : ["gtpu_ipv4", "ihl"]
6699 },
6700 {
6701 "type" : "hexstr",
6702 "value" : "0x05"
6703 }
6704 ],
6705 "source_info" : {
6706 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006707 "line" : 135,
Robert MacDavidde12b982020-07-15 18:38:59 -07006708 "column" : 28,
6709 "source_fragment" : "5; ..."
6710 }
6711 },
6712 {
6713 "op" : "assign",
6714 "parameters" : [
6715 {
6716 "type" : "field",
6717 "value" : ["gtpu_ipv4", "dscp"]
6718 },
6719 {
6720 "type" : "hexstr",
6721 "value" : "0x00"
6722 }
6723 ],
6724 "source_info" : {
6725 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006726 "line" : 303,
Robert MacDavidde12b982020-07-15 18:38:59 -07006727 "column" : 8,
6728 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
6729 }
6730 },
6731 {
6732 "op" : "assign",
6733 "parameters" : [
6734 {
6735 "type" : "field",
6736 "value" : ["gtpu_ipv4", "ecn"]
6737 },
6738 {
6739 "type" : "hexstr",
6740 "value" : "0x00"
6741 }
6742 ],
6743 "source_info" : {
6744 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006745 "line" : 304,
Robert MacDavidde12b982020-07-15 18:38:59 -07006746 "column" : 8,
6747 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
6748 }
6749 },
6750 {
6751 "op" : "assign",
6752 "parameters" : [
6753 {
6754 "type" : "field",
6755 "value" : ["gtpu_ipv4", "total_len"]
6756 },
6757 {
6758 "type" : "expression",
6759 "value" : {
6760 "type" : "expression",
6761 "value" : {
6762 "op" : "&",
6763 "left" : {
6764 "type" : "expression",
6765 "value" : {
6766 "op" : "+",
6767 "left" : {
6768 "type" : "field",
6769 "value" : ["ipv4", "total_len"]
6770 },
6771 "right" : {
6772 "type" : "hexstr",
6773 "value" : "0x0024"
6774 }
6775 }
6776 },
6777 "right" : {
6778 "type" : "hexstr",
6779 "value" : "0xffff"
6780 }
6781 }
6782 }
6783 }
6784 ],
6785 "source_info" : {
6786 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006787 "line" : 305,
Robert MacDavidde12b982020-07-15 18:38:59 -07006788 "column" : 8,
6789 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
6790 }
6791 },
6792 {
6793 "op" : "assign",
6794 "parameters" : [
6795 {
6796 "type" : "field",
6797 "value" : ["gtpu_ipv4", "identification"]
6798 },
6799 {
6800 "type" : "hexstr",
6801 "value" : "0x1513"
6802 }
6803 ],
6804 "source_info" : {
6805 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006806 "line" : 307,
Robert MacDavidde12b982020-07-15 18:38:59 -07006807 "column" : 8,
6808 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
6809 }
6810 },
6811 {
6812 "op" : "assign",
6813 "parameters" : [
6814 {
6815 "type" : "field",
6816 "value" : ["gtpu_ipv4", "flags"]
6817 },
6818 {
6819 "type" : "hexstr",
6820 "value" : "0x00"
6821 }
6822 ],
6823 "source_info" : {
6824 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006825 "line" : 308,
Robert MacDavidde12b982020-07-15 18:38:59 -07006826 "column" : 8,
6827 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
6828 }
6829 },
6830 {
6831 "op" : "assign",
6832 "parameters" : [
6833 {
6834 "type" : "field",
6835 "value" : ["gtpu_ipv4", "frag_offset"]
6836 },
6837 {
6838 "type" : "hexstr",
6839 "value" : "0x0000"
6840 }
6841 ],
6842 "source_info" : {
6843 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006844 "line" : 309,
Robert MacDavidde12b982020-07-15 18:38:59 -07006845 "column" : 8,
6846 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
6847 }
6848 },
6849 {
6850 "op" : "assign",
6851 "parameters" : [
6852 {
6853 "type" : "field",
6854 "value" : ["gtpu_ipv4", "ttl"]
6855 },
6856 {
6857 "type" : "hexstr",
6858 "value" : "0x40"
6859 }
6860 ],
6861 "source_info" : {
6862 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006863 "line" : 148,
Robert MacDavidde12b982020-07-15 18:38:59 -07006864 "column" : 32,
6865 "source_fragment" : "64; ..."
6866 }
6867 },
6868 {
6869 "op" : "assign",
6870 "parameters" : [
6871 {
6872 "type" : "field",
6873 "value" : ["gtpu_ipv4", "protocol"]
6874 },
6875 {
6876 "type" : "hexstr",
6877 "value" : "0x11"
6878 }
6879 ],
6880 "source_info" : {
6881 "filename" : "include/control/../define.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006882 "line" : 132,
Robert MacDavidde12b982020-07-15 18:38:59 -07006883 "column" : 25,
6884 "source_fragment" : "17; ..."
6885 }
6886 },
6887 {
6888 "op" : "assign",
6889 "parameters" : [
6890 {
6891 "type" : "field",
6892 "value" : ["gtpu_ipv4", "src_addr"]
6893 },
6894 {
6895 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006896 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006897 }
6898 ],
6899 "source_info" : {
6900 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006901 "line" : 312,
Robert MacDavidde12b982020-07-15 18:38:59 -07006902 "column" : 8,
6903 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
6904 }
6905 },
6906 {
6907 "op" : "assign",
6908 "parameters" : [
6909 {
6910 "type" : "field",
6911 "value" : ["gtpu_ipv4", "dst_addr"]
6912 },
6913 {
6914 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006915 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006916 }
6917 ],
6918 "source_info" : {
6919 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006920 "line" : 313,
Robert MacDavidde12b982020-07-15 18:38:59 -07006921 "column" : 8,
6922 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
6923 }
6924 },
6925 {
6926 "op" : "assign",
6927 "parameters" : [
6928 {
6929 "type" : "field",
6930 "value" : ["gtpu_ipv4", "hdr_checksum"]
6931 },
6932 {
6933 "type" : "hexstr",
6934 "value" : "0x0000"
6935 }
6936 ],
6937 "source_info" : {
6938 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006939 "line" : 314,
Robert MacDavidde12b982020-07-15 18:38:59 -07006940 "column" : 8,
6941 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
6942 }
6943 },
6944 {
6945 "op" : "add_header",
6946 "parameters" : [
6947 {
6948 "type" : "header",
6949 "value" : "gtpu_udp"
6950 }
6951 ],
6952 "source_info" : {
6953 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006954 "line" : 316,
Robert MacDavidde12b982020-07-15 18:38:59 -07006955 "column" : 8,
6956 "source_fragment" : "hdr.gtpu_udp.setValid()"
6957 }
6958 },
6959 {
6960 "op" : "assign",
6961 "parameters" : [
6962 {
6963 "type" : "field",
6964 "value" : ["gtpu_udp", "sport"]
6965 },
6966 {
6967 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006968 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006969 }
6970 ],
6971 "source_info" : {
6972 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006973 "line" : 317,
Robert MacDavidde12b982020-07-15 18:38:59 -07006974 "column" : 8,
6975 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
6976 }
6977 },
6978 {
6979 "op" : "assign",
6980 "parameters" : [
6981 {
6982 "type" : "field",
6983 "value" : ["gtpu_udp", "dport"]
6984 },
6985 {
6986 "type" : "hexstr",
6987 "value" : "0x0868"
6988 }
6989 ],
6990 "source_info" : {
6991 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02006992 "line" : 318,
Robert MacDavidde12b982020-07-15 18:38:59 -07006993 "column" : 8,
6994 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
6995 }
6996 },
6997 {
6998 "op" : "assign",
6999 "parameters" : [
7000 {
7001 "type" : "field",
7002 "value" : ["gtpu_udp", "len"]
7003 },
7004 {
7005 "type" : "expression",
7006 "value" : {
7007 "type" : "expression",
7008 "value" : {
7009 "op" : "&",
7010 "left" : {
7011 "type" : "expression",
7012 "value" : {
7013 "op" : "+",
7014 "left" : {
7015 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007016 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007017 },
7018 "right" : {
7019 "type" : "hexstr",
7020 "value" : "0x0010"
7021 }
7022 }
7023 },
7024 "right" : {
7025 "type" : "hexstr",
7026 "value" : "0xffff"
7027 }
7028 }
7029 }
7030 }
7031 ],
7032 "source_info" : {
7033 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007034 "line" : 319,
Robert MacDavidde12b982020-07-15 18:38:59 -07007035 "column" : 8,
7036 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
7037 }
7038 },
7039 {
7040 "op" : "assign",
7041 "parameters" : [
7042 {
7043 "type" : "field",
7044 "value" : ["gtpu_udp", "checksum"]
7045 },
7046 {
7047 "type" : "hexstr",
7048 "value" : "0x0000"
7049 }
7050 ],
7051 "source_info" : {
7052 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007053 "line" : 321,
Robert MacDavidde12b982020-07-15 18:38:59 -07007054 "column" : 8,
7055 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
7056 }
7057 },
7058 {
7059 "op" : "add_header",
7060 "parameters" : [
7061 {
7062 "type" : "header",
7063 "value" : "outer_gtpu"
7064 }
7065 ],
7066 "source_info" : {
7067 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007068 "line" : 324,
Robert MacDavidde12b982020-07-15 18:38:59 -07007069 "column" : 8,
7070 "source_fragment" : "hdr.outer_gtpu.setValid()"
7071 }
7072 },
7073 {
7074 "op" : "assign",
7075 "parameters" : [
7076 {
7077 "type" : "field",
7078 "value" : ["outer_gtpu", "version"]
7079 },
7080 {
7081 "type" : "hexstr",
7082 "value" : "0x01"
7083 }
7084 ],
7085 "source_info" : {
7086 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007087 "line" : 325,
Robert MacDavidde12b982020-07-15 18:38:59 -07007088 "column" : 8,
7089 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
7090 }
7091 },
7092 {
7093 "op" : "assign",
7094 "parameters" : [
7095 {
7096 "type" : "field",
7097 "value" : ["outer_gtpu", "pt"]
7098 },
7099 {
7100 "type" : "hexstr",
7101 "value" : "0x01"
7102 }
7103 ],
7104 "source_info" : {
7105 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007106 "line" : 326,
Robert MacDavidde12b982020-07-15 18:38:59 -07007107 "column" : 8,
7108 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
7109 }
7110 },
7111 {
7112 "op" : "assign",
7113 "parameters" : [
7114 {
7115 "type" : "field",
7116 "value" : ["outer_gtpu", "spare"]
7117 },
7118 {
7119 "type" : "hexstr",
7120 "value" : "0x00"
7121 }
7122 ],
7123 "source_info" : {
7124 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007125 "line" : 327,
Robert MacDavidde12b982020-07-15 18:38:59 -07007126 "column" : 8,
7127 "source_fragment" : "hdr.outer_gtpu.spare = 0"
7128 }
7129 },
7130 {
7131 "op" : "assign",
7132 "parameters" : [
7133 {
7134 "type" : "field",
7135 "value" : ["outer_gtpu", "ex_flag"]
7136 },
7137 {
7138 "type" : "hexstr",
7139 "value" : "0x00"
7140 }
7141 ],
7142 "source_info" : {
7143 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007144 "line" : 328,
Robert MacDavidde12b982020-07-15 18:38:59 -07007145 "column" : 8,
7146 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
7147 }
7148 },
7149 {
7150 "op" : "assign",
7151 "parameters" : [
7152 {
7153 "type" : "field",
7154 "value" : ["outer_gtpu", "seq_flag"]
7155 },
7156 {
7157 "type" : "hexstr",
7158 "value" : "0x00"
7159 }
7160 ],
7161 "source_info" : {
7162 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007163 "line" : 329,
Robert MacDavidde12b982020-07-15 18:38:59 -07007164 "column" : 8,
7165 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
7166 }
7167 },
7168 {
7169 "op" : "assign",
7170 "parameters" : [
7171 {
7172 "type" : "field",
7173 "value" : ["outer_gtpu", "npdu_flag"]
7174 },
7175 {
7176 "type" : "hexstr",
7177 "value" : "0x00"
7178 }
7179 ],
7180 "source_info" : {
7181 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007182 "line" : 330,
Robert MacDavidde12b982020-07-15 18:38:59 -07007183 "column" : 8,
7184 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
7185 }
7186 },
7187 {
7188 "op" : "assign",
7189 "parameters" : [
7190 {
7191 "type" : "field",
7192 "value" : ["outer_gtpu", "msgtype"]
7193 },
7194 {
7195 "type" : "hexstr",
7196 "value" : "0xff"
7197 }
7198 ],
7199 "source_info" : {
7200 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007201 "line" : 331,
Robert MacDavidde12b982020-07-15 18:38:59 -07007202 "column" : 8,
7203 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
7204 }
7205 },
7206 {
7207 "op" : "assign",
7208 "parameters" : [
7209 {
7210 "type" : "field",
7211 "value" : ["outer_gtpu", "msglen"]
7212 },
7213 {
7214 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007215 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007216 }
7217 ],
7218 "source_info" : {
7219 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007220 "line" : 332,
Robert MacDavidde12b982020-07-15 18:38:59 -07007221 "column" : 8,
7222 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
7223 }
7224 },
7225 {
7226 "op" : "assign",
7227 "parameters" : [
7228 {
7229 "type" : "field",
7230 "value" : ["outer_gtpu", "teid"]
7231 },
7232 {
7233 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007234 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007235 }
7236 ],
7237 "source_info" : {
7238 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007239 "line" : 333,
Robert MacDavidde12b982020-07-15 18:38:59 -07007240 "column" : 8,
7241 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
7242 }
7243 }
7244 ]
7245 },
7246 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007247 "name" : "packetio41",
7248 "id" : 59,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007249 "runtime_data" : [],
7250 "primitives" : [
7251 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007252 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007253 "parameters" : [],
7254 "source_info" : {
7255 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007256 "line" : 41,
7257 "column" : 12,
7258 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007259 }
7260 }
7261 ]
7262 },
7263 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007264 "name" : "packetio44",
7265 "id" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007266 "runtime_data" : [],
7267 "primitives" : [
7268 {
7269 "op" : "add_header",
7270 "parameters" : [
7271 {
7272 "type" : "header",
7273 "value" : "packet_in"
7274 }
7275 ],
7276 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007277 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007278 "line" : 44,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007279 "column" : 12,
7280 "source_fragment" : "hdr.packet_in.setValid()"
7281 }
7282 },
7283 {
7284 "op" : "assign",
7285 "parameters" : [
7286 {
7287 "type" : "field",
7288 "value" : ["packet_in", "ingress_port"]
7289 },
7290 {
7291 "type" : "field",
7292 "value" : ["standard_metadata", "ingress_port"]
7293 }
7294 ],
7295 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007296 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007297 "line" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007298 "column" : 12,
7299 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
7300 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007301 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007302 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007303 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007304 "parameters" : [],
7305 "source_info" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007306 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007307 "line" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007308 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007309 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007310 }
7311 }
7312 ]
7313 },
7314 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007315 "name" : "next349",
7316 "id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007317 "runtime_data" : [],
7318 "primitives" : [
7319 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007320 "op" : "mark_to_drop",
7321 "parameters" : [
7322 {
7323 "type" : "header",
7324 "value" : "standard_metadata"
7325 }
7326 ],
7327 "source_info" : {
7328 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007329 "line" : 349,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007330 "column" : 12,
7331 "source_fragment" : "mark_to_drop(standard_metadata)"
7332 }
7333 }
7334 ]
7335 },
7336 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007337 "name" : "next376",
7338 "id" : 62,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007339 "runtime_data" : [],
7340 "primitives" : [
7341 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007342 "op" : "mark_to_drop",
7343 "parameters" : [
7344 {
7345 "type" : "header",
7346 "value" : "standard_metadata"
7347 }
7348 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007349 "source_info" : {
7350 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007351 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007352 "column" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007353 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007354 }
7355 }
7356 ]
7357 },
7358 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007359 "name" : "next375",
7360 "id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007361 "runtime_data" : [],
7362 "primitives" : [
7363 {
7364 "op" : "assign",
7365 "parameters" : [
7366 {
7367 "type" : "field",
7368 "value" : ["mpls", "ttl"]
7369 },
7370 {
7371 "type" : "expression",
7372 "value" : {
7373 "type" : "expression",
7374 "value" : {
7375 "op" : "&",
7376 "left" : {
7377 "type" : "expression",
7378 "value" : {
7379 "op" : "+",
7380 "left" : {
7381 "type" : "field",
7382 "value" : ["mpls", "ttl"]
7383 },
7384 "right" : {
7385 "type" : "hexstr",
7386 "value" : "0xff"
7387 }
7388 }
7389 },
7390 "right" : {
7391 "type" : "hexstr",
7392 "value" : "0xff"
7393 }
7394 }
7395 }
7396 }
7397 ],
7398 "source_info" : {
7399 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007400 "line" : 375,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007401 "column" : 12,
7402 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
7403 }
7404 }
7405 ]
7406 },
7407 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007408 "name" : "next380",
7409 "id" : 64,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007410 "runtime_data" : [],
7411 "primitives" : [
7412 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007413 "op" : "mark_to_drop",
7414 "parameters" : [
7415 {
7416 "type" : "header",
7417 "value" : "standard_metadata"
7418 }
7419 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007420 "source_info" : {
7421 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007422 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007423 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007424 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007425 }
7426 }
7427 ]
7428 },
7429 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007430 "name" : "next379",
7431 "id" : 65,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007432 "runtime_data" : [],
7433 "primitives" : [
7434 {
7435 "op" : "assign",
7436 "parameters" : [
7437 {
7438 "type" : "field",
7439 "value" : ["ipv4", "ttl"]
7440 },
7441 {
7442 "type" : "expression",
7443 "value" : {
7444 "type" : "expression",
7445 "value" : {
7446 "op" : "&",
7447 "left" : {
7448 "type" : "expression",
7449 "value" : {
7450 "op" : "+",
7451 "left" : {
7452 "type" : "field",
7453 "value" : ["ipv4", "ttl"]
7454 },
7455 "right" : {
7456 "type" : "hexstr",
7457 "value" : "0xff"
7458 }
7459 }
7460 },
7461 "right" : {
7462 "type" : "hexstr",
7463 "value" : "0xff"
7464 }
7465 }
7466 }
7467 }
7468 ],
7469 "source_info" : {
7470 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01007471 "line" : 379,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007472 "column" : 16,
7473 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
7474 }
7475 }
7476 ]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007477 },
7478 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007479 "name" : "spgw342",
7480 "id" : 66,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007481 "runtime_data" : [],
7482 "primitives" : [
7483 {
7484 "op" : "count",
7485 "parameters" : [
7486 {
7487 "type" : "counter_array",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007488 "value" : "FabricEgress.spgw.pdr_counter"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007489 },
7490 {
7491 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007492 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007493 }
7494 ],
7495 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07007496 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007497 "line" : 342,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007498 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07007499 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007500 }
7501 }
7502 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007503 }
7504 ],
7505 "pipelines" : [
7506 {
7507 "name" : "ingress",
7508 "id" : 0,
7509 "source_info" : {
7510 "filename" : "fabric.p4",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07007511 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007512 "column" : 8,
7513 "source_fragment" : "FabricIngress"
7514 },
Robert MacDavidde12b982020-07-15 18:38:59 -07007515 "init_table" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007516 "tables" : [
7517 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007518 "name" : "tbl_packetio25",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007519 "id" : 0,
Carmelo Cascone3032b872019-04-13 01:23:54 -07007520 "source_info" : {
Carmelo Cascone3032b872019-04-13 01:23:54 -07007521 "filename" : "include/control/packetio.p4",
7522 "line" : 25,
7523 "column" : 42,
7524 "source_fragment" : "= hdr.packet_out.egress_port; ..."
7525 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007526 "key" : [],
7527 "match_type" : "exact",
7528 "type" : "simple",
7529 "max_size" : 1024,
7530 "with_counters" : false,
7531 "support_timeout" : false,
7532 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007533 "action_ids" : [46],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007534 "actions" : ["packetio25"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007535 "base_default_next" : "FabricIngress.spgw.interfaces",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007536 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007537 "packetio25" : "FabricIngress.spgw.interfaces"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07007538 },
7539 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03007540 "action_id" : 46,
Robert MacDavidde12b982020-07-15 18:38:59 -07007541 "action_const" : true,
7542 "action_data" : [],
7543 "action_entry_const" : true
7544 }
7545 },
7546 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007547 "name" : "FabricIngress.spgw.interfaces",
Robert MacDavidde12b982020-07-15 18:38:59 -07007548 "id" : 1,
Robert MacDavidde12b982020-07-15 18:38:59 -07007549 "source_info" : {
7550 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007551 "line" : 129,
Robert MacDavidde12b982020-07-15 18:38:59 -07007552 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007553 "source_fragment" : "interfaces"
Robert MacDavidde12b982020-07-15 18:38:59 -07007554 },
7555 "key" : [
7556 {
7557 "match_type" : "lpm",
7558 "name" : "ipv4_dst_addr",
7559 "target" : ["ipv4", "dst_addr"],
7560 "mask" : null
7561 },
7562 {
7563 "match_type" : "exact",
7564 "name" : "gtpu_is_valid",
7565 "target" : ["gtpu", "$valid$"],
7566 "mask" : null
7567 }
7568 ],
7569 "match_type" : "lpm",
7570 "type" : "simple",
7571 "max_size" : 128,
7572 "with_counters" : false,
7573 "support_timeout" : false,
7574 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007575 "action_ids" : [37, 38],
7576 "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
7577 "base_default_next" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07007578 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007579 "__HIT__" : "node_5",
7580 "__MISS__" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07007581 },
7582 "default_entry" : {
7583 "action_id" : 38,
7584 "action_const" : true,
7585 "action_data" : [],
7586 "action_entry_const" : true
7587 }
7588 },
7589 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007590 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007591 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07007592 "source_info" : {
7593 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007594 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07007595 "column" : 10,
7596 "source_fragment" : "decap_gtpu"
7597 },
7598 "key" : [
7599 {
7600 "match_type" : "exact",
7601 "name" : "hdr.inner_tcp.$valid$",
7602 "target" : ["inner_tcp", "$valid$"],
7603 "mask" : null
7604 },
7605 {
7606 "match_type" : "exact",
7607 "name" : "hdr.inner_udp.$valid$",
7608 "target" : ["inner_udp", "$valid$"],
7609 "mask" : null
7610 },
7611 {
7612 "match_type" : "exact",
7613 "name" : "hdr.inner_icmp.$valid$",
7614 "target" : ["inner_icmp", "$valid$"],
7615 "mask" : null
7616 }
7617 ],
7618 "match_type" : "exact",
7619 "type" : "simple",
7620 "max_size" : 1024,
7621 "with_counters" : false,
7622 "support_timeout" : false,
7623 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007624 "action_ids" : [29, 30, 31, 32],
7625 "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 +02007626 "base_default_next" : "node_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07007627 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007628 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_7",
7629 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_7",
7630 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_7",
7631 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07007632 },
7633 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007634 "action_id" : 32,
Robert MacDavidde12b982020-07-15 18:38:59 -07007635 "action_const" : true,
7636 "action_data" : [],
7637 "action_entry_const" : true
7638 },
7639 "entries" : [
7640 {
7641 "source_info" : {
7642 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007643 "line" : 89,
Robert MacDavidde12b982020-07-15 18:38:59 -07007644 "column" : 12,
7645 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
7646 },
7647 "match_key" : [
7648 {
7649 "match_type" : "exact",
7650 "key" : "0x01"
7651 },
7652 {
7653 "match_type" : "exact",
7654 "key" : "0x00"
7655 },
7656 {
7657 "match_type" : "exact",
7658 "key" : "0x00"
7659 }
7660 ],
7661 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007662 "action_id" : 29,
Robert MacDavidde12b982020-07-15 18:38:59 -07007663 "action_data" : []
7664 },
7665 "priority" : 1
7666 },
7667 {
7668 "source_info" : {
7669 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007670 "line" : 90,
Robert MacDavidde12b982020-07-15 18:38:59 -07007671 "column" : 12,
7672 "source_fragment" : "(false, true, false) : decap_inner_udp()"
7673 },
7674 "match_key" : [
7675 {
7676 "match_type" : "exact",
7677 "key" : "0x00"
7678 },
7679 {
7680 "match_type" : "exact",
7681 "key" : "0x01"
7682 },
7683 {
7684 "match_type" : "exact",
7685 "key" : "0x00"
7686 }
7687 ],
7688 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007689 "action_id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -07007690 "action_data" : []
7691 },
7692 "priority" : 2
7693 },
7694 {
7695 "source_info" : {
7696 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007697 "line" : 91,
Robert MacDavidde12b982020-07-15 18:38:59 -07007698 "column" : 12,
7699 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
7700 },
7701 "match_key" : [
7702 {
7703 "match_type" : "exact",
7704 "key" : "0x00"
7705 },
7706 {
7707 "match_type" : "exact",
7708 "key" : "0x00"
7709 },
7710 {
7711 "match_type" : "exact",
7712 "key" : "0x01"
7713 }
7714 ],
7715 "action_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007716 "action_id" : 31,
Robert MacDavidde12b982020-07-15 18:38:59 -07007717 "action_data" : []
7718 },
7719 "priority" : 3
7720 }
7721 ]
7722 },
7723 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007724 "name" : "FabricIngress.spgw.uplink_pdrs",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007725 "id" : 3,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007726 "source_info" : {
7727 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007728 "line" : 176,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007729 "column" : 10,
7730 "source_fragment" : "uplink_pdrs"
7731 },
7732 "key" : [
7733 {
7734 "match_type" : "exact",
7735 "name" : "tunnel_ipv4_dst",
7736 "target" : ["ipv4", "dst_addr"],
7737 "mask" : null
7738 },
7739 {
7740 "match_type" : "exact",
7741 "name" : "teid",
7742 "target" : ["gtpu", "teid"],
7743 "mask" : null
7744 }
7745 ],
7746 "match_type" : "exact",
7747 "type" : "simple",
7748 "max_size" : 1024,
7749 "with_counters" : false,
7750 "support_timeout" : false,
7751 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007752 "action_ids" : [40, 42, 8],
7753 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007754 "base_default_next" : "node_10",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007755 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007756 "FabricIngress.spgw.load_pdr" : "node_10",
7757 "FabricIngress.spgw.load_pdr_qos" : "node_10",
7758 "NoAction" : "node_10"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007759 },
7760 "default_entry" : {
7761 "action_id" : 8,
7762 "action_const" : false,
7763 "action_data" : [],
7764 "action_entry_const" : false
7765 }
7766 },
7767 {
7768 "name" : "FabricIngress.spgw.downlink_pdrs",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007769 "id" : 4,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007770 "source_info" : {
7771 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007772 "line" : 164,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007773 "column" : 10,
7774 "source_fragment" : "downlink_pdrs"
7775 },
7776 "key" : [
7777 {
7778 "match_type" : "exact",
7779 "name" : "ue_addr",
7780 "target" : ["ipv4", "dst_addr"],
7781 "mask" : null
7782 }
7783 ],
7784 "match_type" : "exact",
7785 "type" : "simple",
7786 "max_size" : 1024,
7787 "with_counters" : false,
7788 "support_timeout" : false,
7789 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007790 "action_ids" : [39, 41, 7],
7791 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007792 "base_default_next" : "node_10",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007793 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007794 "FabricIngress.spgw.load_pdr" : "node_10",
7795 "FabricIngress.spgw.load_pdr_qos" : "node_10",
7796 "NoAction" : "node_10"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007797 },
7798 "default_entry" : {
7799 "action_id" : 7,
7800 "action_const" : false,
7801 "action_data" : [],
7802 "action_entry_const" : false
7803 }
7804 },
7805 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007806 "name" : "tbl_spgw265",
7807 "id" : 5,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007808 "source_info" : {
7809 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007810 "line" : 265,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007811 "column" : 16,
7812 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
7813 },
7814 "key" : [],
7815 "match_type" : "exact",
7816 "type" : "simple",
7817 "max_size" : 1024,
7818 "with_counters" : false,
7819 "support_timeout" : false,
7820 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007821 "action_ids" : [47],
7822 "actions" : ["spgw265"],
7823 "base_default_next" : "node_12",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007824 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007825 "spgw265" : "node_12"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007826 },
7827 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007828 "action_id" : 47,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007829 "action_const" : true,
7830 "action_data" : [],
7831 "action_entry_const" : true
7832 }
7833 },
7834 {
7835 "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007836 "id" : 6,
Robert MacDavidde12b982020-07-15 18:38:59 -07007837 "source_info" : {
7838 "filename" : "include/control/spgw.p4",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007839 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07007840 "column" : 10,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007841 "source_fragment" : "decap_gtpu"
7842 },
7843 "key" : [
7844 {
7845 "match_type" : "exact",
7846 "name" : "hdr.inner_tcp.$valid$",
7847 "target" : ["inner_tcp", "$valid$"],
7848 "mask" : null
7849 },
7850 {
7851 "match_type" : "exact",
7852 "name" : "hdr.inner_udp.$valid$",
7853 "target" : ["inner_udp", "$valid$"],
7854 "mask" : null
7855 },
7856 {
7857 "match_type" : "exact",
7858 "name" : "hdr.inner_icmp.$valid$",
7859 "target" : ["inner_icmp", "$valid$"],
7860 "mask" : null
7861 }
7862 ],
7863 "match_type" : "exact",
7864 "type" : "simple",
7865 "max_size" : 1024,
7866 "with_counters" : false,
7867 "support_timeout" : false,
7868 "direct_meters" : null,
7869 "action_ids" : [33, 34, 35, 36],
7870 "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"],
7871 "base_default_next" : "FabricIngress.spgw.fars",
7872 "next_tables" : {
7873 "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
7874 "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
7875 "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
7876 "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
7877 },
7878 "default_entry" : {
7879 "action_id" : 36,
7880 "action_const" : true,
7881 "action_data" : [],
7882 "action_entry_const" : true
7883 },
7884 "entries" : [
7885 {
7886 "source_info" : {
7887 "filename" : "include/control/spgw.p4",
7888 "line" : 89,
7889 "column" : 12,
7890 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
7891 },
7892 "match_key" : [
7893 {
7894 "match_type" : "exact",
7895 "key" : "0x01"
7896 },
7897 {
7898 "match_type" : "exact",
7899 "key" : "0x00"
7900 },
7901 {
7902 "match_type" : "exact",
7903 "key" : "0x00"
7904 }
7905 ],
7906 "action_entry" : {
7907 "action_id" : 33,
7908 "action_data" : []
7909 },
7910 "priority" : 1
7911 },
7912 {
7913 "source_info" : {
7914 "filename" : "include/control/spgw.p4",
7915 "line" : 90,
7916 "column" : 12,
7917 "source_fragment" : "(false, true, false) : decap_inner_udp()"
7918 },
7919 "match_key" : [
7920 {
7921 "match_type" : "exact",
7922 "key" : "0x00"
7923 },
7924 {
7925 "match_type" : "exact",
7926 "key" : "0x01"
7927 },
7928 {
7929 "match_type" : "exact",
7930 "key" : "0x00"
7931 }
7932 ],
7933 "action_entry" : {
7934 "action_id" : 34,
7935 "action_data" : []
7936 },
7937 "priority" : 2
7938 },
7939 {
7940 "source_info" : {
7941 "filename" : "include/control/spgw.p4",
7942 "line" : 91,
7943 "column" : 12,
7944 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
7945 },
7946 "match_key" : [
7947 {
7948 "match_type" : "exact",
7949 "key" : "0x00"
7950 },
7951 {
7952 "match_type" : "exact",
7953 "key" : "0x00"
7954 },
7955 {
7956 "match_type" : "exact",
7957 "key" : "0x01"
7958 }
7959 ],
7960 "action_entry" : {
7961 "action_id" : 35,
7962 "action_data" : []
7963 },
7964 "priority" : 3
7965 }
7966 ]
7967 },
7968 {
7969 "name" : "FabricIngress.spgw.fars",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007970 "id" : 7,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007971 "source_info" : {
7972 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007973 "line" : 233,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007974 "column" : 10,
7975 "source_fragment" : "fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07007976 },
7977 "key" : [
7978 {
7979 "match_type" : "exact",
7980 "name" : "far_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007981 "target" : ["scalars", "userMetadata._spgw_far_id25"],
Robert MacDavidde12b982020-07-15 18:38:59 -07007982 "mask" : null
7983 }
7984 ],
7985 "match_type" : "exact",
7986 "type" : "simple",
7987 "max_size" : 2048,
7988 "with_counters" : false,
7989 "support_timeout" : false,
7990 "direct_meters" : null,
ersuneetsinghe326c722021-03-25 21:17:29 -03007991 "action_ids" : [43, 44, 45],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08007992 "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007993 "base_default_next" : "tbl_spgw282",
Robert MacDavidde12b982020-07-15 18:38:59 -07007994 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02007995 "FabricIngress.spgw.load_normal_far" : "tbl_spgw282",
7996 "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw282",
7997 "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw282"
Robert MacDavidde12b982020-07-15 18:38:59 -07007998 },
7999 "default_entry" : {
ersuneetsinghe326c722021-03-25 21:17:29 -03008000 "action_id" : 43,
Robert MacDavidde12b982020-07-15 18:38:59 -07008001 "action_const" : true,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008002 "action_data" : ["0x1", "0x0"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008003 "action_entry_const" : true
8004 }
8005 },
8006 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008007 "name" : "tbl_spgw282",
8008 "id" : 8,
Robert MacDavidde12b982020-07-15 18:38:59 -07008009 "source_info" : {
8010 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008011 "line" : 282,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008012 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07008013 "source_fragment" : "="
8014 },
8015 "key" : [],
8016 "match_type" : "exact",
8017 "type" : "simple",
8018 "max_size" : 1024,
8019 "with_counters" : false,
8020 "support_timeout" : false,
8021 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008022 "action_ids" : [48],
8023 "actions" : ["spgw282"],
8024 "base_default_next" : "node_16",
Robert MacDavidde12b982020-07-15 18:38:59 -07008025 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008026 "spgw282" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07008027 },
8028 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008029 "action_id" : 48,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008030 "action_const" : true,
8031 "action_data" : [],
8032 "action_entry_const" : true
8033 }
8034 },
8035 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008036 "name" : "tbl_filtering111",
8037 "id" : 9,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008038 "source_info" : {
8039 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008040 "line" : 111,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008041 "column" : 36,
8042 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07008043 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008044 "key" : [],
8045 "match_type" : "exact",
8046 "type" : "simple",
8047 "max_size" : 1024,
8048 "with_counters" : false,
8049 "support_timeout" : false,
8050 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008051 "action_ids" : [49],
8052 "actions" : ["filtering111"],
8053 "base_default_next" : "node_18",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008054 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008055 "filtering111" : "node_18"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008056 },
8057 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008058 "action_id" : 49,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008059 "action_const" : true,
8060 "action_data" : [],
8061 "action_entry_const" : true
8062 }
8063 },
8064 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008065 "name" : "tbl_filtering127",
8066 "id" : 10,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008067 "source_info" : {
8068 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008069 "line" : 127,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008070 "column" : 37,
8071 "source_fragment" : "="
8072 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008073 "key" : [],
8074 "match_type" : "exact",
8075 "type" : "simple",
8076 "max_size" : 1024,
8077 "with_counters" : false,
8078 "support_timeout" : false,
8079 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008080 "action_ids" : [50],
8081 "actions" : ["filtering127"],
Daniele Moro5a2de712019-09-24 14:34:07 -07008082 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008083 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008084 "filtering127" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008085 },
8086 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008087 "action_id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008088 "action_const" : true,
8089 "action_data" : [],
8090 "action_entry_const" : true
8091 }
8092 },
8093 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07008094 "name" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008095 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008096 "source_info" : {
8097 "filename" : "include/control/filtering.p4",
8098 "line" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008099 "column" : 10,
8100 "source_fragment" : "ingress_port_vlan"
8101 },
8102 "key" : [
8103 {
8104 "match_type" : "exact",
8105 "name" : "ig_port",
8106 "target" : ["standard_metadata", "ingress_port"],
8107 "mask" : null
8108 },
8109 {
8110 "match_type" : "exact",
8111 "name" : "vlan_is_valid",
8112 "target" : ["vlan_tag", "$valid$"],
8113 "mask" : null
8114 },
8115 {
8116 "match_type" : "ternary",
8117 "name" : "vlan_id",
8118 "target" : ["vlan_tag", "vlan_id"],
8119 "mask" : null
8120 }
8121 ],
8122 "match_type" : "ternary",
8123 "type" : "simple",
8124 "max_size" : 1024,
8125 "with_counters" : true,
8126 "support_timeout" : false,
8127 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008128 "action_ids" : [9, 10, 11],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008129 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
8130 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
8131 "next_tables" : {
8132 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
8133 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
8134 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
8135 },
8136 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008137 "action_id" : 9,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008138 "action_const" : true,
8139 "action_data" : [],
8140 "action_entry_const" : true
8141 }
8142 },
8143 {
8144 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008145 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008146 "source_info" : {
8147 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008148 "line" : 92,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008149 "column" : 10,
8150 "source_fragment" : "fwd_classifier"
8151 },
8152 "key" : [
8153 {
8154 "match_type" : "exact",
8155 "name" : "ig_port",
8156 "target" : ["standard_metadata", "ingress_port"],
8157 "mask" : null
8158 },
8159 {
8160 "match_type" : "ternary",
8161 "name" : "eth_dst",
8162 "target" : ["ethernet", "dst_addr"],
8163 "mask" : null
8164 },
8165 {
Daniele Moro5a2de712019-09-24 14:34:07 -07008166 "match_type" : "ternary",
8167 "name" : "eth_type",
8168 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07008169 "mask" : null
8170 },
8171 {
8172 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07008173 "name" : "ip_eth_type",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008174 "target" : ["scalars", "userMetadata._ip_eth_type0"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008175 "mask" : null
8176 }
8177 ],
8178 "match_type" : "ternary",
8179 "type" : "simple",
8180 "max_size" : 1024,
8181 "with_counters" : true,
8182 "support_timeout" : false,
8183 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008184 "action_ids" : [12],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008185 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008186 "base_default_next" : "node_22",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008187 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008188 "FabricIngress.filtering.set_forwarding_type" : "node_22"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008189 },
8190 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008191 "action_id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008192 "action_const" : true,
8193 "action_data" : ["0x0"],
8194 "action_entry_const" : true
8195 }
8196 },
8197 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08008198 "name" : "FabricIngress.forwarding.bridging",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008199 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008200 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008201 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008202 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008203 "column" : 10,
8204 "source_fragment" : "bridging"
8205 },
8206 "key" : [
8207 {
8208 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008209 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008210 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008211 "mask" : null
8212 },
8213 {
8214 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008215 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008216 "target" : ["ethernet", "dst_addr"],
8217 "mask" : null
8218 }
8219 ],
8220 "match_type" : "ternary",
8221 "type" : "simple",
8222 "max_size" : 1024,
8223 "with_counters" : true,
8224 "support_timeout" : false,
8225 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008226 "action_ids" : [13, 0],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008227 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
8228 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008229 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008230 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
8231 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008232 },
8233 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008234 "action_id" : 0,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008235 "action_const" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008236 "action_data" : [],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008237 "action_entry_const" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008238 }
8239 },
8240 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08008241 "name" : "FabricIngress.forwarding.mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008242 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008243 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008244 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008245 "line" : 71,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008246 "column" : 10,
8247 "source_fragment" : "mpls"
8248 },
8249 "key" : [
8250 {
8251 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008252 "name" : "mpls_label",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008253 "target" : ["scalars", "userMetadata._mpls_label4"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008254 "mask" : null
8255 }
8256 ],
8257 "match_type" : "exact",
8258 "type" : "simple",
8259 "max_size" : 1024,
8260 "with_counters" : true,
8261 "support_timeout" : false,
8262 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008263 "action_ids" : [14, 1],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008264 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
8265 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008266 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008267 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
8268 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008269 },
8270 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008271 "action_id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008272 "action_const" : true,
8273 "action_data" : [],
8274 "action_entry_const" : true
8275 }
8276 },
8277 {
Charles Chan384aea22018-08-23 22:08:02 -07008278 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008279 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008280 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008281 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008282 "line" : 108,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008283 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -07008284 "source_fragment" : "routing_v4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008285 },
8286 "key" : [
8287 {
8288 "match_type" : "lpm",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008289 "name" : "ipv4_dst",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008290 "target" : ["scalars", "userMetadata._ipv4_dst_addr16"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008291 "mask" : null
8292 }
8293 ],
8294 "match_type" : "lpm",
8295 "type" : "simple",
8296 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07008297 "with_counters" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008298 "support_timeout" : false,
8299 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008300 "action_ids" : [15, 16, 2],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008301 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
8302 "base_default_next" : "FabricIngress.acl.acl",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008303 "next_tables" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008304 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
8305 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
8306 "nop" : "FabricIngress.acl.acl"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008307 },
8308 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008309 "action_id" : 2,
CyberHasHe9ba39c2019-10-11 05:59:12 +08008310 "action_const" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008311 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08008312 "action_entry_const" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008313 }
8314 },
8315 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008316 "name" : "FabricIngress.acl.acl",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008317 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008318 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008319 "filename" : "include/control/acl.p4",
8320 "line" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008321 "column" : 10,
8322 "source_fragment" : "acl"
8323 },
8324 "key" : [
8325 {
8326 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008327 "name" : "ig_port",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008328 "target" : ["standard_metadata", "ingress_port"],
8329 "mask" : null
8330 },
8331 {
8332 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008333 "name" : "ip_proto",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008334 "target" : ["scalars", "userMetadata._ip_proto12"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008335 "mask" : null
8336 },
8337 {
8338 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008339 "name" : "l4_sport",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008340 "target" : ["scalars", "userMetadata._l4_sport13"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008341 "mask" : null
8342 },
8343 {
8344 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008345 "name" : "l4_dport",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008346 "target" : ["scalars", "userMetadata._l4_dport14"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008347 "mask" : null
8348 },
8349 {
8350 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008351 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008352 "target" : ["ethernet", "dst_addr"],
8353 "mask" : null
8354 },
8355 {
8356 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08008357 "name" : "eth_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008358 "target" : ["ethernet", "src_addr"],
8359 "mask" : null
8360 },
8361 {
8362 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008363 "name" : "vlan_id",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008364 "target" : ["vlan_tag", "vlan_id"],
8365 "mask" : null
8366 },
8367 {
8368 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008369 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07008370 "target" : ["eth_type", "value"],
Yi Tseng8235a1a2018-07-24 20:57:28 +08008371 "mask" : null
8372 },
8373 {
8374 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008375 "name" : "ipv4_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008376 "target" : ["ipv4", "src_addr"],
8377 "mask" : null
8378 },
8379 {
8380 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008381 "name" : "ipv4_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008382 "target" : ["ipv4", "dst_addr"],
8383 "mask" : null
8384 },
8385 {
8386 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008387 "name" : "icmp_type",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008388 "target" : ["icmp", "icmp_type"],
8389 "mask" : null
8390 },
8391 {
8392 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008393 "name" : "icmp_code",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008394 "target" : ["icmp", "icmp_code"],
8395 "mask" : null
8396 }
8397 ],
8398 "match_type" : "ternary",
8399 "type" : "simple",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008400 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008401 "with_counters" : true,
8402 "support_timeout" : false,
8403 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008404 "action_ids" : [17, 18, 19, 20, 21],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07008405 "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008406 "base_default_next" : "node_30",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008407 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008408 "FabricIngress.acl.set_next_id_acl" : "node_30",
8409 "FabricIngress.acl.punt_to_cpu" : "node_30",
8410 "FabricIngress.acl.set_clone_session_id" : "node_30",
8411 "FabricIngress.acl.drop" : "node_30",
8412 "FabricIngress.acl.nop_acl" : "node_30"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008413 },
8414 "default_entry" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008415 "action_id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008416 "action_const" : true,
8417 "action_data" : [],
8418 "action_entry_const" : true
8419 }
8420 },
8421 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008422 "name" : "FabricIngress.next.xconnect",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008423 "id" : 17,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008424 "source_info" : {
8425 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008426 "line" : 119,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008427 "column" : 10,
8428 "source_fragment" : "xconnect"
8429 },
8430 "key" : [
8431 {
8432 "match_type" : "exact",
8433 "name" : "ig_port",
8434 "target" : ["standard_metadata", "ingress_port"],
8435 "mask" : null
8436 },
8437 {
8438 "match_type" : "exact",
8439 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008440 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008441 "mask" : null
8442 }
8443 ],
8444 "match_type" : "exact",
8445 "type" : "simple",
8446 "max_size" : 1024,
8447 "with_counters" : true,
8448 "support_timeout" : false,
8449 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008450 "action_ids" : [23, 24, 4],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008451 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
8452 "base_default_next" : "FabricIngress.next.hashed",
8453 "next_tables" : {
8454 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
8455 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
8456 "nop" : "FabricIngress.next.hashed"
8457 },
8458 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008459 "action_id" : 4,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008460 "action_const" : true,
8461 "action_data" : [],
8462 "action_entry_const" : true
8463 }
8464 },
8465 {
8466 "name" : "FabricIngress.next.hashed",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008467 "id" : 18,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008468 "source_info" : {
8469 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008470 "line" : 202,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008471 "column" : 10,
8472 "source_fragment" : "hashed"
8473 },
8474 "key" : [
8475 {
8476 "match_type" : "exact",
8477 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008478 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008479 "mask" : null
8480 }
8481 ],
8482 "match_type" : "exact",
8483 "type" : "indirect_ws",
8484 "action_profile" : "FabricIngress.next.hashed_selector",
8485 "max_size" : 1024,
8486 "with_counters" : true,
8487 "support_timeout" : false,
8488 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008489 "action_ids" : [25, 26, 27, 5],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008490 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
8491 "base_default_next" : "FabricIngress.next.multicast",
8492 "next_tables" : {
8493 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
8494 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
8495 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
8496 "nop" : "FabricIngress.next.multicast"
8497 }
8498 },
8499 {
8500 "name" : "FabricIngress.next.multicast",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008501 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008502 "source_info" : {
8503 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008504 "line" : 236,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008505 "column" : 10,
8506 "source_fragment" : "multicast"
8507 },
8508 "key" : [
8509 {
8510 "match_type" : "exact",
8511 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008512 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008513 "mask" : null
8514 }
8515 ],
8516 "match_type" : "exact",
8517 "type" : "simple",
8518 "max_size" : 1024,
8519 "with_counters" : true,
8520 "support_timeout" : false,
8521 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008522 "action_ids" : [28, 6],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008523 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
8524 "base_default_next" : "FabricIngress.next.next_vlan",
8525 "next_tables" : {
8526 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
8527 "nop" : "FabricIngress.next.next_vlan"
8528 },
8529 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008530 "action_id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008531 "action_const" : true,
8532 "action_data" : [],
8533 "action_entry_const" : true
8534 }
8535 },
8536 {
8537 "name" : "FabricIngress.next.next_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008538 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008539 "source_info" : {
8540 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008541 "line" : 86,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008542 "column" : 10,
8543 "source_fragment" : "next_vlan"
8544 },
8545 "key" : [
8546 {
8547 "match_type" : "exact",
8548 "name" : "next_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008549 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008550 "mask" : null
8551 }
8552 ],
8553 "match_type" : "exact",
8554 "type" : "simple",
8555 "max_size" : 1024,
8556 "with_counters" : true,
8557 "support_timeout" : false,
8558 "direct_meters" : null,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008559 "action_ids" : [22, 3],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008560 "actions" : ["FabricIngress.next.set_vlan", "nop"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008561 "base_default_next" : "node_35",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008562 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008563 "FabricIngress.next.set_vlan" : "node_35",
8564 "nop" : "node_35"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008565 },
8566 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008567 "action_id" : 3,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008568 "action_const" : true,
8569 "action_data" : [],
8570 "action_entry_const" : true
8571 }
8572 },
8573 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008574 "name" : "tbl_port_counter31",
8575 "id" : 21,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008576 "source_info" : {
8577 "filename" : "include/control/port_counter.p4",
8578 "line" : 31,
8579 "column" : 12,
8580 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
8581 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02008582 "key" : [],
8583 "match_type" : "exact",
8584 "type" : "simple",
8585 "max_size" : 1024,
8586 "with_counters" : false,
8587 "support_timeout" : false,
8588 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008589 "action_ids" : [51],
8590 "actions" : ["port_counter31"],
8591 "base_default_next" : "node_37",
Carmelo Casconea5400af2018-07-17 22:11:54 +02008592 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008593 "port_counter31" : "node_37"
Carmelo Casconea5400af2018-07-17 22:11:54 +02008594 },
8595 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008596 "action_id" : 51,
Carmelo Casconea5400af2018-07-17 22:11:54 +02008597 "action_const" : true,
8598 "action_data" : [],
8599 "action_entry_const" : true
8600 }
8601 },
8602 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008603 "name" : "tbl_port_counter34",
8604 "id" : 22,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008605 "source_info" : {
8606 "filename" : "include/control/port_counter.p4",
8607 "line" : 34,
8608 "column" : 12,
8609 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
8610 },
Yi Tseng20f9e7b2018-05-24 23:27:39 +08008611 "key" : [],
8612 "match_type" : "exact",
8613 "type" : "simple",
8614 "max_size" : 1024,
8615 "with_counters" : false,
8616 "support_timeout" : false,
8617 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008618 "action_ids" : [52],
8619 "actions" : ["port_counter34"],
Carmelo Casconea5400af2018-07-17 22:11:54 +02008620 "base_default_next" : null,
Yi Tseng27b9bc02018-04-12 14:52:40 +08008621 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008622 "port_counter34" : null
Carmelo Casconea5400af2018-07-17 22:11:54 +02008623 },
8624 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008625 "action_id" : 52,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07008626 "action_const" : true,
8627 "action_data" : [],
8628 "action_entry_const" : true
8629 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008630 }
8631 ],
8632 "action_profiles" : [
8633 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008634 "name" : "FabricIngress.next.hashed_selector",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008635 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008636 "source_info" : {
8637 "filename" : "include/control/next.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008638 "line" : 183,
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008639 "column" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008640 "source_fragment" : "hashed_selector"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07008641 },
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008642 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008643 "selector" : {
8644 "algo" : "crc16",
8645 "input" : [
8646 {
8647 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008648 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008649 },
8650 {
8651 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008652 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008653 },
8654 {
8655 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008656 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008657 },
8658 {
8659 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008660 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008661 },
8662 {
8663 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008664 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008665 }
8666 ]
8667 }
8668 }
8669 ],
8670 "conditionals" : [
8671 {
Robert MacDavidde12b982020-07-15 18:38:59 -07008672 "name" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008673 "id" : 0,
8674 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008675 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008676 "line" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008677 "column" : 12,
8678 "source_fragment" : "hdr.packet_out.isValid()"
8679 },
8680 "expression" : {
8681 "type" : "expression",
8682 "value" : {
8683 "op" : "d2b",
8684 "left" : null,
8685 "right" : {
8686 "type" : "field",
8687 "value" : ["packet_out", "$valid$"]
8688 }
8689 }
8690 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008691 "true_next" : "tbl_packetio25",
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008692 "false_next" : "FabricIngress.spgw.interfaces"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008693 },
8694 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008695 "name" : "node_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07008696 "id" : 1,
8697 "source_info" : {
8698 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008699 "line" : 255,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008700 "column" : 16,
8701 "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
Robert MacDavidde12b982020-07-15 18:38:59 -07008702 },
8703 "expression" : {
8704 "type" : "expression",
8705 "value" : {
8706 "op" : "==",
8707 "left" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008708 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008709 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008710 },
8711 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008712 "type" : "hexstr",
8713 "value" : "0x03"
Robert MacDavidde12b982020-07-15 18:38:59 -07008714 }
8715 }
8716 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008717 "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008718 "false_next" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07008719 },
8720 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008721 "name" : "node_7",
8722 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07008723 "source_info" : {
8724 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008725 "line" : 259,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008726 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07008727 "source_fragment" : "hdr.gtpu.isValid()"
8728 },
8729 "expression" : {
8730 "type" : "expression",
8731 "value" : {
8732 "op" : "d2b",
8733 "left" : null,
8734 "right" : {
8735 "type" : "field",
8736 "value" : ["gtpu", "$valid$"]
8737 }
8738 }
8739 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008740 "true_next" : "FabricIngress.spgw.uplink_pdrs",
8741 "false_next" : "FabricIngress.spgw.downlink_pdrs"
Robert MacDavidde12b982020-07-15 18:38:59 -07008742 },
8743 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008744 "name" : "node_10",
8745 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008746 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008747 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008748 "line" : 264,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008749 "column" : 16,
8750 "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
8751 },
8752 "expression" : {
8753 "type" : "expression",
8754 "value" : {
8755 "op" : "!=",
8756 "left" : {
8757 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008758 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008759 },
8760 "right" : {
8761 "type" : "hexstr",
8762 "value" : "0x03"
8763 }
8764 }
8765 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008766 "true_next" : "tbl_spgw265",
8767 "false_next" : "node_12"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008768 },
8769 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008770 "name" : "node_12",
8771 "id" : 4,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008772 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008773 "filename" : "fabric.p4",
8774 "line" : 66,
8775 "column" : 24,
8776 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -07008777 },
8778 "expression" : {
8779 "type" : "expression",
8780 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008781 "op" : "d2b",
8782 "left" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07008783 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008784 "type" : "field",
8785 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07008786 }
8787 }
8788 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08008789 "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
8790 "false_next" : "FabricIngress.spgw.fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07008791 },
8792 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008793 "name" : "node_16",
8794 "id" : 5,
Robert MacDavidde12b982020-07-15 18:38:59 -07008795 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008796 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008797 "line" : 110,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008798 "column" : 12,
8799 "source_fragment" : "hdr.vlan_tag.isValid()"
8800 },
8801 "expression" : {
8802 "type" : "expression",
8803 "value" : {
8804 "op" : "d2b",
8805 "left" : null,
8806 "right" : {
8807 "type" : "field",
8808 "value" : ["vlan_tag", "$valid$"]
8809 }
8810 }
8811 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008812 "true_next" : "tbl_filtering111",
8813 "false_next" : "node_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008814 },
8815 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008816 "name" : "node_18",
8817 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008818 "source_info" : {
8819 "filename" : "include/control/filtering.p4",
Daniele Morob3d199b2019-11-01 14:01:46 -07008820 "line" : 122,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008821 "column" : 12,
8822 "source_fragment" : "!hdr.mpls.isValid()"
8823 },
8824 "expression" : {
8825 "type" : "expression",
8826 "value" : {
8827 "op" : "not",
8828 "left" : null,
8829 "right" : {
8830 "type" : "expression",
8831 "value" : {
8832 "op" : "d2b",
8833 "left" : null,
8834 "right" : {
8835 "type" : "field",
8836 "value" : ["mpls", "$valid$"]
8837 }
8838 }
8839 }
8840 }
8841 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008842 "true_next" : "tbl_filtering127",
Daniele Moro5a2de712019-09-24 14:34:07 -07008843 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008844 },
8845 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008846 "name" : "node_22",
8847 "id" : 7,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008848 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008849 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008850 "line" : 69,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008851 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008852 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008853 },
8854 "expression" : {
8855 "type" : "expression",
8856 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008857 "op" : "not",
8858 "left" : null,
8859 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008860 "type" : "expression",
8861 "value" : {
8862 "op" : "d2b",
8863 "left" : null,
8864 "right" : {
8865 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008866 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008867 }
8868 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008869 }
8870 }
8871 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008872 "true_next" : "node_23",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008873 "false_next" : "FabricIngress.acl.acl"
8874 },
8875 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008876 "name" : "node_23",
8877 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008878 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008879 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008880 "line" : 150,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008881 "column" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008882 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
8883 },
8884 "expression" : {
8885 "type" : "expression",
8886 "value" : {
8887 "op" : "==",
8888 "left" : {
8889 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008890 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008891 },
8892 "right" : {
8893 "type" : "hexstr",
8894 "value" : "0x00"
8895 }
8896 }
8897 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08008898 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008899 "false_next" : "node_25"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008900 },
8901 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008902 "name" : "node_25",
8903 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008904 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008905 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008906 "line" : 151,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008907 "column" : 17,
8908 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
8909 },
8910 "expression" : {
8911 "type" : "expression",
8912 "value" : {
8913 "op" : "==",
8914 "left" : {
8915 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008916 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008917 },
8918 "right" : {
8919 "type" : "hexstr",
8920 "value" : "0x01"
8921 }
8922 }
8923 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08008924 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008925 "false_next" : "node_27"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008926 },
8927 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008928 "name" : "node_27",
8929 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008930 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008931 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008932 "line" : 152,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008933 "column" : 17,
8934 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
8935 },
8936 "expression" : {
8937 "type" : "expression",
8938 "value" : {
8939 "op" : "==",
8940 "left" : {
8941 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008942 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008943 },
8944 "right" : {
8945 "type" : "hexstr",
8946 "value" : "0x02"
8947 }
8948 }
8949 },
Charles Chan384aea22018-08-23 22:08:02 -07008950 "true_next" : "FabricIngress.forwarding.routing_v4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008951 "false_next" : "FabricIngress.acl.acl"
8952 },
8953 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008954 "name" : "node_30",
8955 "id" : 11,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008956 "source_info" : {
8957 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07008958 "line" : 73,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008959 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008960 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008961 },
8962 "expression" : {
8963 "type" : "expression",
8964 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008965 "op" : "not",
8966 "left" : null,
8967 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008968 "type" : "expression",
8969 "value" : {
8970 "op" : "d2b",
8971 "left" : null,
8972 "right" : {
8973 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008974 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008975 }
8976 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008977 }
8978 }
8979 },
8980 "false_next" : null,
8981 "true_next" : "FabricIngress.next.xconnect"
Yi Tseng27b9bc02018-04-12 14:52:40 +08008982 },
8983 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02008984 "name" : "node_35",
8985 "id" : 12,
Yi Tseng27b9bc02018-04-12 14:52:40 +08008986 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008987 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008988 "line" : 30,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008989 "column" : 12,
8990 "source_fragment" : "standard_metadata.egress_spec < 511"
8991 },
8992 "expression" : {
8993 "type" : "expression",
8994 "value" : {
8995 "op" : "<",
8996 "left" : {
8997 "type" : "field",
8998 "value" : ["standard_metadata", "egress_spec"]
8999 },
9000 "right" : {
9001 "type" : "hexstr",
9002 "value" : "0x01ff"
9003 }
9004 }
9005 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009006 "true_next" : "tbl_port_counter31",
9007 "false_next" : "node_37"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009008 },
9009 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009010 "name" : "node_37",
9011 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009012 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009013 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009014 "line" : 33,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009015 "column" : 12,
9016 "source_fragment" : "standard_metadata.ingress_port < 511"
9017 },
9018 "expression" : {
9019 "type" : "expression",
9020 "value" : {
9021 "op" : "<",
9022 "left" : {
9023 "type" : "field",
9024 "value" : ["standard_metadata", "ingress_port"]
9025 },
9026 "right" : {
9027 "type" : "hexstr",
9028 "value" : "0x01ff"
9029 }
9030 }
9031 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009032 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009033 "true_next" : "tbl_port_counter34"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009034 }
9035 ]
9036 },
9037 {
9038 "name" : "egress",
9039 "id" : 1,
9040 "source_info" : {
9041 "filename" : "fabric.p4",
Robert MacDavidde12b982020-07-15 18:38:59 -07009042 "line" : 91,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009043 "column" : 8,
9044 "source_fragment" : "FabricEgress"
9045 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009046 "init_table" : "node_41",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009047 "tables" : [
9048 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009049 "name" : "tbl_packetio41",
9050 "id" : 23,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009051 "source_info" : {
9052 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009053 "line" : 41,
9054 "column" : 12,
9055 "source_fragment" : "exit"
Carmelo Cascone3032b872019-04-13 01:23:54 -07009056 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02009057 "key" : [],
9058 "match_type" : "exact",
9059 "type" : "simple",
9060 "max_size" : 1024,
9061 "with_counters" : false,
9062 "support_timeout" : false,
9063 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009064 "action_ids" : [59],
9065 "actions" : ["packetio41"],
9066 "base_default_next" : "node_43",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009067 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009068 "packetio41" : "node_43"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009069 },
9070 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009071 "action_id" : 59,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009072 "action_const" : true,
9073 "action_data" : [],
9074 "action_entry_const" : true
9075 }
9076 },
9077 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009078 "name" : "tbl_packetio44",
9079 "id" : 24,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009080 "source_info" : {
9081 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009082 "line" : 44,
9083 "column" : 12,
9084 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07009085 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009086 "key" : [],
9087 "match_type" : "exact",
9088 "type" : "simple",
9089 "max_size" : 1024,
9090 "with_counters" : false,
9091 "support_timeout" : false,
9092 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009093 "action_ids" : [60],
9094 "actions" : ["packetio44"],
9095 "base_default_next" : "node_45",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009096 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009097 "packetio44" : "node_45"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009098 },
9099 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009100 "action_id" : 60,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009101 "action_const" : true,
9102 "action_data" : [],
9103 "action_entry_const" : true
9104 }
9105 },
9106 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009107 "name" : "tbl_next349",
9108 "id" : 25,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009109 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009110 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009111 "line" : 349,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009112 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009113 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone3032b872019-04-13 01:23:54 -07009114 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009115 "key" : [],
9116 "match_type" : "exact",
9117 "type" : "simple",
9118 "max_size" : 1024,
9119 "with_counters" : false,
9120 "support_timeout" : false,
9121 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009122 "action_ids" : [61],
9123 "actions" : ["next349"],
9124 "base_default_next" : "node_47",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009125 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009126 "next349" : "node_47"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009127 },
9128 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009129 "action_id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009130 "action_const" : true,
9131 "action_data" : [],
9132 "action_entry_const" : true
9133 }
9134 },
9135 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009136 "name" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009137 "id" : 26,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009138 "source_info" : {
9139 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009140 "line" : 353,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009141 "column" : 36,
9142 "source_fragment" : "pop_mpls_if_present()"
9143 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009144 "key" : [],
9145 "match_type" : "exact",
9146 "type" : "simple",
9147 "max_size" : 1024,
9148 "with_counters" : false,
9149 "support_timeout" : false,
9150 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009151 "action_ids" : [53],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009152 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
9153 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
9154 "next_tables" : {
9155 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
9156 },
9157 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009158 "action_id" : 53,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009159 "action_const" : true,
9160 "action_data" : [],
9161 "action_entry_const" : true
9162 }
9163 },
9164 {
9165 "name" : "tbl_egress_next_set_mpls",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009166 "id" : 27,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009167 "source_info" : {
9168 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009169 "line" : 355,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009170 "column" : 12,
9171 "source_fragment" : "set_mpls()"
9172 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009173 "key" : [],
9174 "match_type" : "exact",
9175 "type" : "simple",
9176 "max_size" : 1024,
9177 "with_counters" : false,
9178 "support_timeout" : false,
9179 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009180 "action_ids" : [54],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009181 "actions" : ["FabricEgress.egress_next.set_mpls"],
9182 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
9183 "next_tables" : {
9184 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
9185 },
9186 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009187 "action_id" : 54,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009188 "action_const" : true,
9189 "action_data" : [],
9190 "action_entry_const" : true
9191 }
9192 },
9193 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009194 "name" : "FabricEgress.egress_next.egress_vlan",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009195 "id" : 28,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009196 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009197 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009198 "line" : 331,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009199 "column" : 10,
9200 "source_fragment" : "egress_vlan"
9201 },
9202 "key" : [
9203 {
9204 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009205 "name" : "vlan_id",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009206 "target" : ["scalars", "userMetadata._vlan_id1"],
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009207 "mask" : null
9208 },
9209 {
9210 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009211 "name" : "eg_port",
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009212 "target" : ["standard_metadata", "egress_port"],
9213 "mask" : null
9214 }
9215 ],
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08009216 "match_type" : "exact",
9217 "type" : "simple",
9218 "max_size" : 1024,
Yi Tseng47eac892018-07-11 02:17:04 +08009219 "with_counters" : true,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08009220 "support_timeout" : false,
9221 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009222 "action_ids" : [55, 56, 57],
pierventre48e78822020-12-15 17:34:54 +01009223 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009224 "base_default_next" : "node_52",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08009225 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009226 "FabricEgress.egress_next.push_vlan" : "node_52",
9227 "FabricEgress.egress_next.pop_vlan" : "node_52",
9228 "FabricEgress.egress_next.drop" : "node_52"
Daniele Moro7c3a0022019-07-12 13:38:34 -07009229 },
9230 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009231 "action_id" : 57,
Daniele Moro7c3a0022019-07-12 13:38:34 -07009232 "action_const" : true,
9233 "action_data" : [],
9234 "action_entry_const" : true
9235 }
9236 },
9237 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009238 "name" : "tbl_next375",
9239 "id" : 29,
pierventre48e78822020-12-15 17:34:54 +01009240 "source_info" : {
9241 "filename" : "include/control/next.p4",
9242 "line" : 375,
9243 "column" : 25,
9244 "source_fragment" : "="
Daniele Moro7c3a0022019-07-12 13:38:34 -07009245 },
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009246 "key" : [],
9247 "match_type" : "exact",
9248 "type" : "simple",
9249 "max_size" : 1024,
9250 "with_counters" : false,
9251 "support_timeout" : false,
9252 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009253 "action_ids" : [63],
9254 "actions" : ["next375"],
9255 "base_default_next" : "node_54",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009256 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009257 "next375" : "node_54"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009258 },
9259 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009260 "action_id" : 63,
Daniele Moro7c3a0022019-07-12 13:38:34 -07009261 "action_const" : true,
9262 "action_data" : [],
9263 "action_entry_const" : true
9264 }
9265 },
9266 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009267 "name" : "tbl_next376",
9268 "id" : 30,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009269 "source_info" : {
9270 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009271 "line" : 376,
9272 "column" : 35,
9273 "source_fragment" : "mark_to_drop(standard_metadata)"
Daniele Moro7c3a0022019-07-12 13:38:34 -07009274 },
9275 "key" : [],
9276 "match_type" : "exact",
9277 "type" : "simple",
9278 "max_size" : 1024,
9279 "with_counters" : false,
9280 "support_timeout" : false,
9281 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009282 "action_ids" : [62],
9283 "actions" : ["next376"],
9284 "base_default_next" : "node_60",
Daniele Moro7c3a0022019-07-12 13:38:34 -07009285 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009286 "next376" : "node_60"
Daniele Moro7c3a0022019-07-12 13:38:34 -07009287 },
9288 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009289 "action_id" : 62,
Daniele Moro7c3a0022019-07-12 13:38:34 -07009290 "action_const" : true,
9291 "action_data" : [],
9292 "action_entry_const" : true
9293 }
9294 },
9295 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009296 "name" : "tbl_next379",
9297 "id" : 31,
Daniele Moro7c3a0022019-07-12 13:38:34 -07009298 "source_info" : {
9299 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009300 "line" : 379,
9301 "column" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009302 "source_fragment" : "="
9303 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009304 "key" : [],
9305 "match_type" : "exact",
9306 "type" : "simple",
9307 "max_size" : 1024,
9308 "with_counters" : false,
9309 "support_timeout" : false,
9310 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009311 "action_ids" : [65],
9312 "actions" : ["next379"],
9313 "base_default_next" : "node_58",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009314 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009315 "next379" : "node_58"
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009316 },
9317 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009318 "action_id" : 65,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009319 "action_const" : true,
9320 "action_data" : [],
9321 "action_entry_const" : true
9322 }
9323 },
9324 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009325 "name" : "tbl_next380",
9326 "id" : 32,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009327 "source_info" : {
9328 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009329 "line" : 380,
9330 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009331 "source_fragment" : "mark_to_drop(standard_metadata)"
9332 },
9333 "key" : [],
9334 "match_type" : "exact",
9335 "type" : "simple",
9336 "max_size" : 1024,
9337 "with_counters" : false,
9338 "support_timeout" : false,
9339 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009340 "action_ids" : [64],
9341 "actions" : ["next380"],
9342 "base_default_next" : "node_60",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009343 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009344 "next380" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009345 },
9346 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009347 "action_id" : 64,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009348 "action_const" : true,
9349 "action_data" : [],
9350 "action_entry_const" : true
9351 }
9352 },
9353 {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009354 "name" : "tbl_spgw_gtpu_encap",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009355 "id" : 33,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009356 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009357 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009358 "line" : 339,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009359 "column" : 16,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009360 "source_fragment" : "gtpu_encap()"
9361 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009362 "key" : [],
9363 "match_type" : "exact",
9364 "type" : "simple",
9365 "max_size" : 1024,
9366 "with_counters" : false,
9367 "support_timeout" : false,
9368 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009369 "action_ids" : [58],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009370 "actions" : ["FabricEgress.spgw.gtpu_encap"],
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009371 "base_default_next" : "node_63",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009372 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009373 "FabricEgress.spgw.gtpu_encap" : "node_63"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009374 },
9375 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009376 "action_id" : 58,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009377 "action_const" : true,
9378 "action_data" : [],
9379 "action_entry_const" : true
9380 }
9381 },
9382 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009383 "name" : "tbl_spgw342",
9384 "id" : 34,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009385 "source_info" : {
9386 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009387 "line" : 342,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009388 "column" : 16,
9389 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
9390 },
9391 "key" : [],
9392 "match_type" : "exact",
9393 "type" : "simple",
9394 "max_size" : 1024,
9395 "with_counters" : false,
9396 "support_timeout" : false,
9397 "direct_meters" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009398 "action_ids" : [66],
9399 "actions" : ["spgw342"],
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009400 "base_default_next" : null,
9401 "next_tables" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009402 "spgw342" : null
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009403 },
9404 "default_entry" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009405 "action_id" : 66,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009406 "action_const" : true,
9407 "action_data" : [],
9408 "action_entry_const" : true
9409 }
9410 }
9411 ],
9412 "action_profiles" : [],
9413 "conditionals" : [
9414 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009415 "name" : "node_41",
9416 "id" : 14,
Carmelo Casconea5400af2018-07-17 22:11:54 +02009417 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009418 "filename" : "fabric.p4",
9419 "line" : 103,
9420 "column" : 33,
9421 "source_fragment" : "fabric_metadata"
Carmelo Casconea5400af2018-07-17 22:11:54 +02009422 },
9423 "expression" : {
9424 "type" : "expression",
9425 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009426 "op" : "d2b",
9427 "left" : null,
Carmelo Casconea5400af2018-07-17 22:11:54 +02009428 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009429 "type" : "field",
9430 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02009431 }
9432 }
9433 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009434 "true_next" : "tbl_packetio41",
9435 "false_next" : "node_43"
Carmelo Casconea5400af2018-07-17 22:11:54 +02009436 },
9437 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009438 "name" : "node_43",
9439 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009440 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009441 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009442 "line" : 43,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009443 "column" : 12,
Carmelo Casconeb531b682018-01-30 17:55:56 -08009444 "source_fragment" : "standard_metadata.egress_port == 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009445 },
9446 "expression" : {
9447 "type" : "expression",
9448 "value" : {
9449 "op" : "==",
9450 "left" : {
9451 "type" : "field",
9452 "value" : ["standard_metadata", "egress_port"]
9453 },
9454 "right" : {
9455 "type" : "hexstr",
9456 "value" : "0x00ff"
9457 }
9458 }
9459 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009460 "true_next" : "tbl_packetio44",
9461 "false_next" : "node_45"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009462 },
9463 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009464 "name" : "node_45",
9465 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009466 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009467 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009468 "line" : 347,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009469 "column" : 12,
9470 "source_fragment" : "fabric_metadata.is_multicast == true ..."
9471 },
9472 "expression" : {
9473 "type" : "expression",
9474 "value" : {
9475 "op" : "and",
9476 "left" : {
9477 "type" : "expression",
9478 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009479 "op" : "d2b",
9480 "left" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009481 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009482 "type" : "field",
9483 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009484 }
9485 }
9486 },
9487 "right" : {
9488 "type" : "expression",
9489 "value" : {
9490 "op" : "==",
9491 "left" : {
9492 "type" : "field",
9493 "value" : ["standard_metadata", "ingress_port"]
9494 },
9495 "right" : {
9496 "type" : "field",
9497 "value" : ["standard_metadata", "egress_port"]
9498 }
9499 }
9500 }
9501 }
9502 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009503 "true_next" : "tbl_next349",
9504 "false_next" : "node_47"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009505 },
9506 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009507 "name" : "node_47",
9508 "id" : 17,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009509 "source_info" : {
9510 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009511 "line" : 352,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009512 "column" : 12,
9513 "source_fragment" : "fabric_metadata.mpls_label == 0"
9514 },
9515 "expression" : {
9516 "type" : "expression",
9517 "value" : {
9518 "op" : "==",
9519 "left" : {
9520 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009521 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009522 },
9523 "right" : {
9524 "type" : "hexstr",
9525 "value" : "0x000000"
9526 }
9527 }
9528 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009529 "true_next" : "node_48",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009530 "false_next" : "tbl_egress_next_set_mpls"
9531 },
9532 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009533 "name" : "node_48",
9534 "id" : 18,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009535 "source_info" : {
9536 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009537 "line" : 353,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009538 "column" : 16,
9539 "source_fragment" : "hdr.mpls.isValid()"
9540 },
9541 "expression" : {
9542 "type" : "expression",
9543 "value" : {
9544 "op" : "d2b",
9545 "left" : null,
9546 "right" : {
9547 "type" : "field",
9548 "value" : ["mpls", "$valid$"]
9549 }
9550 }
9551 },
9552 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07009553 "false_next" : "FabricEgress.egress_next.egress_vlan"
9554 },
9555 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009556 "name" : "node_52",
9557 "id" : 19,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009558 "source_info" : {
9559 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009560 "line" : 374,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009561 "column" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009562 "source_fragment" : "hdr.mpls.isValid()"
9563 },
9564 "expression" : {
9565 "type" : "expression",
9566 "value" : {
9567 "op" : "d2b",
9568 "left" : null,
9569 "right" : {
9570 "type" : "field",
9571 "value" : ["mpls", "$valid$"]
9572 }
9573 }
9574 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009575 "true_next" : "tbl_next375",
9576 "false_next" : "node_56"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009577 },
9578 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009579 "name" : "node_54",
9580 "id" : 20,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009581 "source_info" : {
9582 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009583 "line" : 376,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009584 "column" : 16,
9585 "source_fragment" : "hdr.mpls.ttl == 0"
9586 },
9587 "expression" : {
9588 "type" : "expression",
9589 "value" : {
9590 "op" : "==",
9591 "left" : {
9592 "type" : "field",
9593 "value" : ["mpls", "ttl"]
9594 },
9595 "right" : {
9596 "type" : "hexstr",
9597 "value" : "0x00"
9598 }
9599 }
9600 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009601 "true_next" : "tbl_next376",
9602 "false_next" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009603 },
9604 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009605 "name" : "node_56",
9606 "id" : 21,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009607 "source_info" : {
9608 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009609 "line" : 378,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009610 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -07009611 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009612 },
9613 "expression" : {
9614 "type" : "expression",
9615 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07009616 "op" : "and",
9617 "left" : {
9618 "type" : "expression",
9619 "value" : {
9620 "op" : "d2b",
9621 "left" : null,
9622 "right" : {
9623 "type" : "field",
9624 "value" : ["ipv4", "$valid$"]
9625 }
9626 }
9627 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009628 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -07009629 "type" : "expression",
9630 "value" : {
9631 "op" : "!=",
9632 "left" : {
9633 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009634 "value" : ["scalars", "userMetadata._fwd_type8"]
Charles Chan74ad51e2020-09-12 19:05:42 -07009635 },
9636 "right" : {
9637 "type" : "hexstr",
9638 "value" : "0x00"
9639 }
9640 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009641 }
9642 }
9643 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009644 "true_next" : "tbl_next379",
9645 "false_next" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009646 },
9647 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009648 "name" : "node_58",
9649 "id" : 22,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009650 "source_info" : {
9651 "filename" : "include/control/next.p4",
pierventre48e78822020-12-15 17:34:54 +01009652 "line" : 380,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009653 "column" : 20,
9654 "source_fragment" : "hdr.ipv4.ttl == 0"
9655 },
9656 "expression" : {
9657 "type" : "expression",
9658 "value" : {
9659 "op" : "==",
9660 "left" : {
9661 "type" : "field",
9662 "value" : ["ipv4", "ttl"]
9663 },
9664 "right" : {
9665 "type" : "hexstr",
9666 "value" : "0x00"
9667 }
9668 }
9669 },
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009670 "true_next" : "tbl_next380",
9671 "false_next" : "node_60"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009672 },
9673 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009674 "name" : "node_60",
9675 "id" : 23,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009676 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009677 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009678 "line" : 337,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009679 "column" : 12,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009680 "source_fragment" : "fabric_md.spgw.skip_spgw"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009681 },
9682 "expression" : {
9683 "type" : "expression",
9684 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009685 "op" : "not",
9686 "left" : null,
9687 "right" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009688 "type" : "expression",
9689 "value" : {
9690 "op" : "d2b",
9691 "left" : null,
9692 "right" : {
9693 "type" : "field",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009694 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009695 }
9696 }
Robert MacDavidde12b982020-07-15 18:38:59 -07009697 }
9698 }
9699 },
9700 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009701 "true_next" : "node_61"
Robert MacDavidde12b982020-07-15 18:38:59 -07009702 },
9703 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009704 "name" : "node_61",
9705 "id" : 24,
Robert MacDavidde12b982020-07-15 18:38:59 -07009706 "source_info" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009707 "filename" : "fabric.p4",
9708 "line" : 106,
9709 "column" : 24,
9710 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -07009711 },
9712 "expression" : {
9713 "type" : "expression",
9714 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009715 "op" : "d2b",
9716 "left" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009717 "right" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009718 "type" : "field",
9719 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009720 }
9721 }
9722 },
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009723 "true_next" : "tbl_spgw_gtpu_encap",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009724 "false_next" : "node_63"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009725 },
9726 {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009727 "name" : "node_63",
9728 "id" : 25,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009729 "source_info" : {
9730 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009731 "line" : 341,
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009732 "column" : 16,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009733 "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr"
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009734 },
9735 "expression" : {
9736 "type" : "expression",
9737 "value" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009738 "op" : "not",
9739 "left" : null,
9740 "right" : {
Carmelo Cascone2102bfb2020-12-04 16:54:24 -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._spgw_skip_egress_pdr_ctr31"]
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009748 }
9749 }
Carmelo Cascone2102bfb2020-12-04 16:54:24 -08009750 }
9751 }
9752 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009753 "false_next" : null,
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009754 "true_next" : "tbl_spgw342"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009755 }
9756 ]
9757 }
9758 ],
9759 "checksums" : [
9760 {
9761 "name" : "cksum",
9762 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009763 "source_info" : {
9764 "filename" : "include/checksum.p4",
9765 "line" : 28,
9766 "column" : 8,
9767 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
9768 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009769 "target" : ["ipv4", "hdr_checksum"],
9770 "type" : "generic",
9771 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009772 "verify" : false,
9773 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009774 "if_cond" : {
9775 "type" : "expression",
9776 "value" : {
9777 "op" : "d2b",
9778 "left" : null,
9779 "right" : {
9780 "type" : "field",
9781 "value" : ["ipv4", "$valid$"]
9782 }
9783 }
9784 }
9785 },
9786 {
9787 "name" : "cksum_0",
9788 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009789 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009790 "filename" : "include/control/spgw.p4",
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009791 "line" : 358,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009792 "column" : 8,
9793 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
9794 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009795 "target" : ["gtpu_ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009796 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009797 "calculation" : "calc_0",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009798 "verify" : false,
9799 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009800 "if_cond" : {
9801 "type" : "expression",
9802 "value" : {
9803 "op" : "d2b",
9804 "left" : null,
9805 "right" : {
9806 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009807 "value" : ["gtpu_ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009808 }
9809 }
9810 }
9811 },
9812 {
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009813 "name" : "cksum_1",
9814 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009815 "source_info" : {
9816 "filename" : "include/checksum.p4",
9817 "line" : 57,
9818 "column" : 8,
9819 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
9820 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009821 "target" : ["ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009822 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -08009823 "calculation" : "calc_1",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08009824 "verify" : true,
9825 "update" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009826 "if_cond" : {
9827 "type" : "expression",
9828 "value" : {
9829 "op" : "d2b",
9830 "left" : null,
9831 "right" : {
9832 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009833 "value" : ["ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009834 }
9835 }
9836 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009837 }
9838 ],
9839 "force_arith" : [],
9840 "extern_instances" : [],
9841 "field_aliases" : [
9842 [
9843 "queueing_metadata.enq_timestamp",
9844 ["standard_metadata", "enq_timestamp"]
9845 ],
9846 [
9847 "queueing_metadata.enq_qdepth",
9848 ["standard_metadata", "enq_qdepth"]
9849 ],
9850 [
9851 "queueing_metadata.deq_timedelta",
9852 ["standard_metadata", "deq_timedelta"]
9853 ],
9854 [
9855 "queueing_metadata.deq_qdepth",
9856 ["standard_metadata", "deq_qdepth"]
9857 ],
9858 [
9859 "intrinsic_metadata.ingress_global_timestamp",
9860 ["standard_metadata", "ingress_global_timestamp"]
9861 ],
9862 [
Yi Tseng27b9bc02018-04-12 14:52:40 +08009863 "intrinsic_metadata.egress_global_timestamp",
9864 ["standard_metadata", "egress_global_timestamp"]
9865 ],
9866 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009867 "intrinsic_metadata.mcast_grp",
9868 ["standard_metadata", "mcast_grp"]
9869 ],
9870 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009871 "intrinsic_metadata.egress_rid",
9872 ["standard_metadata", "egress_rid"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08009873 ],
9874 [
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009875 "intrinsic_metadata.priority",
9876 ["standard_metadata", "priority"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009877 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009878 ],
9879 "program" : "fabric.p4",
9880 "__meta__" : {
Carmelo Cascone2388cc12021-05-26 19:30:30 +02009881 "version" : [2, 23],
Carmelo Cascone6af4e172018-06-15 16:01:30 +02009882 "compiler" : "https://github.com/p4lang/p4c"
9883 }
Carmelo Cascone25243d62019-02-21 15:37:31 -08009884}