blob: 6eedcc00fa09805a4d40f4b5028fc00a2aba05c9 [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 Casconedb347372021-05-26 19:30:30 +02007 ["tmp_0", 1, false],
Carmelo Casconeffa7fed2021-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 Casconedb347372021-05-26 19:30:30 +020011 ["tmp_3", 16, false],
12 ["tmp_5", 4, false],
13 ["tmp_6", 16, false],
Carmelo Casconeffa7fed2021-06-01 18:31:57 -070014 ["tmp_7", 64, false],
15 ["tmp_8", 32, false],
16 ["tmp_9", 32, false],
Wailok Shum60dfd4a2021-06-11 22:48:41 +080017 ["acl_ipv4_src", 32, false],
18 ["acl_ipv4_dst", 32, false],
19 ["acl_ip_proto", 8, false],
20 ["acl_l4_sport", 16, false],
21 ["acl_l4_dport", 16, false],
Carmelo Casconedb347372021-05-26 19:30:30 +020022 ["userMetadata._ip_eth_type0", 16, false],
23 ["userMetadata._vlan_id1", 12, false],
24 ["userMetadata._vlan_pri2", 3, false],
25 ["userMetadata._vlan_cfi3", 1, false],
26 ["userMetadata._mpls_label4", 20, false],
27 ["userMetadata._mpls_ttl5", 8, false],
28 ["userMetadata._skip_forwarding6", 1, false],
29 ["userMetadata._skip_next7", 1, false],
30 ["userMetadata._fwd_type8", 3, false],
31 ["userMetadata._next_id9", 32, false],
32 ["userMetadata._is_multicast10", 1, false],
33 ["userMetadata._is_controller_packet_out11", 1, false],
34 ["userMetadata._ip_proto12", 8, false],
35 ["userMetadata._l4_sport13", 16, false],
36 ["userMetadata._l4_dport14", 16, false],
37 ["userMetadata._ipv4_src_addr15", 32, false],
38 ["userMetadata._ipv4_dst_addr16", 32, false],
39 ["userMetadata._inner_l4_sport17", 16, false],
40 ["userMetadata._inner_l4_dport18", 16, false],
41 ["userMetadata._spgw_ipv4_len19", 16, false],
42 ["userMetadata._spgw_teid20", 32, false],
43 ["userMetadata._spgw_tunnel_src_port21", 16, false],
44 ["userMetadata._spgw_tunnel_src_addr22", 32, false],
45 ["userMetadata._spgw_tunnel_dst_addr23", 32, false],
46 ["userMetadata._spgw_ctr_id24", 32, false],
47 ["userMetadata._spgw_far_id25", 32, false],
48 ["userMetadata._spgw_src_iface26", 8, false],
49 ["userMetadata._spgw_skip_spgw27", 1, false],
50 ["userMetadata._spgw_notify_spgwc28", 1, false],
51 ["userMetadata._spgw_needs_gtpu_encap29", 1, false],
52 ["userMetadata._spgw_needs_gtpu_decap30", 1, false],
Wailok Shumfac26d42021-06-18 17:30:08 +080053 ["userMetadata._spgw_skip_egress_pdr_ctr31", 1, false],
54 ["userMetadata._port_type32", 2, false],
55 ["_padding_0", 6, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080056 ]
57 },
58 {
Carmelo Casconedb347372021-05-26 19:30:30 +020059 "name" : "packet_out_header_t",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080060 "id" : 1,
61 "fields" : [
Carmelo Casconedb347372021-05-26 19:30:30 +020062 ["egress_port", 9, false],
63 ["do_forwarding", 1, false],
64 ["_pad", 6, false]
65 ]
66 },
67 {
Carmelo Casconeffa7fed2021-06-01 18:31:57 -070068 "name" : "gtpu_t",
Carmelo Casconedb347372021-05-26 19:30:30 +020069 "id" : 2,
70 "fields" : [
Carmelo Casconeffa7fed2021-06-01 18:31:57 -070071 ["version", 3, false],
72 ["pt", 1, false],
73 ["spare", 1, false],
74 ["ex_flag", 1, false],
75 ["seq_flag", 1, false],
76 ["npdu_flag", 1, false],
77 ["msgtype", 8, false],
78 ["msglen", 16, false],
79 ["teid", 32, false]
80 ]
81 },
82 {
83 "name" : "standard_metadata",
84 "id" : 3,
85 "fields" : [
Carmelo Cascone6af4e172018-06-15 16:01:30 +020086 ["ingress_port", 9, false],
87 ["egress_spec", 9, false],
88 ["egress_port", 9, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020089 ["instance_type", 32, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020090 ["packet_length", 32, false],
91 ["enq_timestamp", 32, false],
92 ["enq_qdepth", 19, false],
93 ["deq_timedelta", 32, false],
94 ["deq_qdepth", 19, false],
95 ["ingress_global_timestamp", 48, false],
96 ["egress_global_timestamp", 48, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020097 ["mcast_grp", 16, false],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020098 ["egress_rid", 16, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -070099 ["checksum_error", 1, false],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700100 ["parser_error", 32, false],
Carmelo Cascone9b607da2019-05-08 14:03:01 -0700101 ["priority", 3, false],
Carmelo Casconedb347372021-05-26 19:30:30 +0200102 ["_padding", 3, false]
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200103 ]
104 },
105 {
106 "name" : "ethernet_t",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700107 "id" : 4,
Carmelo Cascone6af4e172018-06-15 16:01:30 +0200108 "fields" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800109 ["dst_addr", 48, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700110 ["src_addr", 48, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800111 ]
112 },
113 {
114 "name" : "vlan_tag_t",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700115 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800116 "fields" : [
Daniele Moro5a2de712019-09-24 14:34:07 -0700117 ["eth_type", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800118 ["pri", 3, false],
119 ["cfi", 1, false],
Daniele Moro5a2de712019-09-24 14:34:07 -0700120 ["vlan_id", 12, false]
121 ]
122 },
123 {
124 "name" : "eth_type_t",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700125 "id" : 6,
Daniele Moro5a2de712019-09-24 14:34:07 -0700126 "fields" : [
127 ["value", 16, false]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800128 ]
129 },
130 {
131 "name" : "mpls_t",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700132 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800133 "fields" : [
134 ["label", 20, false],
135 ["tc", 3, false],
136 ["bos", 1, false],
137 ["ttl", 8, false]
138 ]
139 },
140 {
141 "name" : "ipv4_t",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700142 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800143 "fields" : [
144 ["version", 4, false],
145 ["ihl", 4, false],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900146 ["dscp", 6, false],
147 ["ecn", 2, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800148 ["total_len", 16, false],
149 ["identification", 16, false],
150 ["flags", 3, false],
151 ["frag_offset", 13, false],
152 ["ttl", 8, false],
153 ["protocol", 8, false],
154 ["hdr_checksum", 16, false],
155 ["src_addr", 32, false],
156 ["dst_addr", 32, false]
157 ]
158 },
159 {
160 "name" : "udp_t",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700161 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800162 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800163 ["sport", 16, false],
164 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800165 ["len", 16, false],
166 ["checksum", 16, false]
167 ]
168 },
169 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800170 "name" : "tcp_t",
Carmelo Casconedb347372021-05-26 19:30:30 +0200171 "id" : 10,
Yi Tseng27b9bc02018-04-12 14:52:40 +0800172 "fields" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800173 ["sport", 16, false],
174 ["dport", 16, false],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800175 ["seq_no", 32, false],
176 ["ack_no", 32, false],
177 ["data_offset", 4, false],
178 ["res", 3, false],
179 ["ecn", 3, false],
180 ["ctrl", 6, false],
181 ["window", 16, false],
182 ["checksum", 16, false],
183 ["urgent_ptr", 16, false]
184 ]
185 },
186 {
187 "name" : "icmp_t",
Carmelo Casconedb347372021-05-26 19:30:30 +0200188 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800189 "fields" : [
190 ["icmp_type", 8, false],
191 ["icmp_code", 8, false],
192 ["checksum", 16, false],
193 ["identifier", 16, false],
194 ["sequence_number", 16, false],
195 ["timestamp", 64, false]
196 ]
197 },
198 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800199 "name" : "packet_in_header_t",
Daniele Moro5a2de712019-09-24 14:34:07 -0700200 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800201 "fields" : [
202 ["ingress_port", 9, false],
203 ["_pad", 7, false]
204 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800205 }
206 ],
207 "headers" : [
208 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200209 "name" : "tmp",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800210 "id" : 0,
Carmelo Casconedb347372021-05-26 19:30:30 +0200211 "header_type" : "packet_out_header_t",
212 "metadata" : false,
213 "pi_omit" : true
214 },
215 {
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700216 "name" : "gtpu_0",
Carmelo Casconedb347372021-05-26 19:30:30 +0200217 "id" : 1,
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700218 "header_type" : "gtpu_t",
219 "metadata" : false,
220 "pi_omit" : true
221 },
222 {
223 "name" : "scalars",
224 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800225 "header_type" : "scalars_0",
226 "metadata" : true,
227 "pi_omit" : true
228 },
229 {
230 "name" : "standard_metadata",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700231 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800232 "header_type" : "standard_metadata",
233 "metadata" : true,
234 "pi_omit" : true
235 },
236 {
237 "name" : "ethernet",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700238 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800239 "header_type" : "ethernet_t",
240 "metadata" : false,
241 "pi_omit" : true
242 },
243 {
244 "name" : "vlan_tag",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800245 "id" : 5,
Carmelo Casconedb347372021-05-26 19:30:30 +0200246 "header_type" : "vlan_tag_t",
247 "metadata" : false,
248 "pi_omit" : true
249 },
250 {
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700251 "name" : "inner_vlan_tag",
Carmelo Casconedb347372021-05-26 19:30:30 +0200252 "id" : 6,
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700253 "header_type" : "vlan_tag_t",
254 "metadata" : false,
255 "pi_omit" : true
256 },
257 {
258 "name" : "eth_type",
259 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700260 "header_type" : "eth_type_t",
261 "metadata" : false,
262 "pi_omit" : true
263 },
264 {
265 "name" : "mpls",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700266 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800267 "header_type" : "mpls_t",
268 "metadata" : false,
269 "pi_omit" : true
270 },
271 {
272 "name" : "gtpu_ipv4",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700273 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800274 "header_type" : "ipv4_t",
275 "metadata" : false,
276 "pi_omit" : true
277 },
278 {
279 "name" : "gtpu_udp",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700280 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800281 "header_type" : "udp_t",
282 "metadata" : false,
283 "pi_omit" : true
284 },
285 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700286 "name" : "outer_gtpu",
Robert MacDavidde12b982020-07-15 18:38:59 -0700287 "id" : 11,
Carmelo Casconedb347372021-05-26 19:30:30 +0200288 "header_type" : "gtpu_t",
289 "metadata" : false,
290 "pi_omit" : true
291 },
292 {
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700293 "name" : "gtpu",
Carmelo Casconedb347372021-05-26 19:30:30 +0200294 "id" : 12,
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700295 "header_type" : "gtpu_t",
296 "metadata" : false,
297 "pi_omit" : true
298 },
299 {
300 "name" : "inner_ipv4",
301 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800302 "header_type" : "ipv4_t",
303 "metadata" : false,
304 "pi_omit" : true
305 },
306 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700307 "name" : "inner_udp",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700308 "id" : 14,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700309 "header_type" : "udp_t",
310 "metadata" : false,
311 "pi_omit" : true
312 },
313 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700314 "name" : "inner_tcp",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700315 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800316 "header_type" : "tcp_t",
317 "metadata" : false,
318 "pi_omit" : true
319 },
320 {
Robert MacDavidde12b982020-07-15 18:38:59 -0700321 "name" : "inner_icmp",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700322 "id" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -0700323 "header_type" : "icmp_t",
324 "metadata" : false,
325 "pi_omit" : true
326 },
327 {
328 "name" : "ipv4",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700329 "id" : 17,
Robert MacDavidde12b982020-07-15 18:38:59 -0700330 "header_type" : "ipv4_t",
331 "metadata" : false,
332 "pi_omit" : true
333 },
334 {
335 "name" : "tcp",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700336 "id" : 18,
Robert MacDavidde12b982020-07-15 18:38:59 -0700337 "header_type" : "tcp_t",
338 "metadata" : false,
339 "pi_omit" : true
340 },
341 {
342 "name" : "udp",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700343 "id" : 19,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800344 "header_type" : "udp_t",
345 "metadata" : false,
346 "pi_omit" : true
347 },
348 {
349 "name" : "icmp",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700350 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800351 "header_type" : "icmp_t",
352 "metadata" : false,
353 "pi_omit" : true
354 },
355 {
356 "name" : "packet_out",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700357 "id" : 21,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800358 "header_type" : "packet_out_header_t",
359 "metadata" : false,
360 "pi_omit" : true
361 },
362 {
363 "name" : "packet_in",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -0700364 "id" : 22,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800365 "header_type" : "packet_in_header_t",
366 "metadata" : false,
367 "pi_omit" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800368 }
369 ],
370 "header_stacks" : [],
371 "header_union_types" : [],
372 "header_unions" : [],
373 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700374 "field_lists" : [
375 {
376 "id" : 1,
377 "name" : "fl",
378 "source_info" : {
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700379 "filename" : "include/control/acl.p4",
Wailok Shum60dfd4a2021-06-11 22:48:41 +0800380 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700381 "column" : 40,
Daniele Moro3b7a21b2019-06-25 17:33:40 -0700382 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700383 },
384 "elements" : [
385 {
386 "type" : "field",
387 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700388 }
389 ]
390 }
391 ],
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700392 "errors" : [
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700393 ["NoError", 1],
394 ["PacketTooShort", 2],
395 ["NoMatch", 3],
396 ["StackOutOfBounds", 4],
397 ["HeaderTooShort", 5],
398 ["ParserTimeout", 6],
399 ["ParserInvalidArgument", 7]
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -0700400 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800401 "enums" : [],
402 "parsers" : [
403 {
404 "name" : "parser",
405 "id" : 0,
406 "init_state" : "start",
407 "parse_states" : [
408 {
409 "name" : "start",
410 "id" : 0,
411 "parser_ops" : [],
412 "transitions" : [
413 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800414 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800415 "value" : "0x00ff",
416 "mask" : null,
Carmelo Casconedb347372021-05-26 19:30:30 +0200417 "next_state" : "check_packet_out"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800418 },
419 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200420 "type" : "default",
421 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800422 "mask" : null,
423 "next_state" : "parse_ethernet"
424 }
425 ],
426 "transition_key" : [
427 {
428 "type" : "field",
429 "value" : ["standard_metadata", "ingress_port"]
430 }
431 ]
432 },
433 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200434 "name" : "check_packet_out",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800435 "id" : 1,
436 "parser_ops" : [
437 {
438 "parameters" : [
439 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200440 "type" : "field",
441 "value" : ["scalars", "tmp_6"]
442 },
443 {
444 "type" : "lookahead",
445 "value" : [0, 16]
446 }
447 ],
448 "op" : "set"
449 },
450 {
451 "parameters" : [
452 {
453 "parameters" : [
454 {
455 "type" : "header",
456 "value" : "tmp"
457 }
458 ],
459 "op" : "add_header"
460 }
461 ],
462 "op" : "primitive"
463 },
464 {
465 "parameters" : [
466 {
467 "type" : "field",
468 "value" : ["tmp", "egress_port"]
469 },
470 {
471 "type" : "expression",
472 "value" : {
473 "type" : "expression",
474 "value" : {
475 "op" : "&",
476 "left" : {
477 "type" : "expression",
478 "value" : {
479 "op" : "&",
480 "left" : {
481 "type" : "expression",
482 "value" : {
483 "op" : ">>",
484 "left" : {
485 "type" : "field",
486 "value" : ["scalars", "tmp_6"]
487 },
488 "right" : {
489 "type" : "hexstr",
490 "value" : "0x7"
491 }
492 }
493 },
494 "right" : {
495 "type" : "hexstr",
496 "value" : "0xffff"
497 }
498 }
499 },
500 "right" : {
501 "type" : "hexstr",
502 "value" : "0x01ff"
503 }
504 }
505 }
506 }
507 ],
508 "op" : "set"
509 },
510 {
511 "parameters" : [
512 {
513 "type" : "field",
514 "value" : ["tmp", "do_forwarding"]
515 },
516 {
517 "type" : "expression",
518 "value" : {
519 "type" : "expression",
520 "value" : {
521 "op" : "&",
522 "left" : {
523 "type" : "expression",
524 "value" : {
525 "op" : "&",
526 "left" : {
527 "type" : "expression",
528 "value" : {
529 "op" : ">>",
530 "left" : {
531 "type" : "field",
532 "value" : ["scalars", "tmp_6"]
533 },
534 "right" : {
535 "type" : "hexstr",
536 "value" : "0x6"
537 }
538 }
539 },
540 "right" : {
541 "type" : "hexstr",
542 "value" : "0xffff"
543 }
544 }
545 },
546 "right" : {
547 "type" : "hexstr",
548 "value" : "0x01"
549 }
550 }
551 }
552 }
553 ],
554 "op" : "set"
555 },
556 {
557 "parameters" : [
558 {
559 "type" : "field",
560 "value" : ["tmp", "_pad"]
561 },
562 {
563 "type" : "expression",
564 "value" : {
565 "type" : "expression",
566 "value" : {
567 "op" : "&",
568 "left" : {
569 "type" : "field",
570 "value" : ["scalars", "tmp_6"]
571 },
572 "right" : {
573 "type" : "hexstr",
574 "value" : "0x3f"
575 }
576 }
577 }
578 }
579 ],
580 "op" : "set"
581 },
582 {
583 "parameters" : [
584 {
585 "type" : "field",
586 "value" : ["scalars", "tmp_0"]
587 },
588 {
589 "type" : "expression",
590 "value" : {
591 "type" : "expression",
592 "value" : {
593 "op" : "&",
594 "left" : {
595 "type" : "expression",
596 "value" : {
597 "op" : "&",
598 "left" : {
599 "type" : "expression",
600 "value" : {
601 "op" : ">>",
602 "left" : {
603 "type" : "field",
604 "value" : ["scalars", "tmp_6"]
605 },
606 "right" : {
607 "type" : "hexstr",
608 "value" : "0x6"
609 }
610 }
611 },
612 "right" : {
613 "type" : "hexstr",
614 "value" : "0xffff"
615 }
616 }
617 },
618 "right" : {
619 "type" : "hexstr",
620 "value" : "0x01"
621 }
622 }
623 }
624 }
625 ],
626 "op" : "set"
627 }
628 ],
629 "transitions" : [
630 {
631 "type" : "hexstr",
632 "value" : "0x00",
633 "mask" : null,
634 "next_state" : "parse_packet_out_and_accept"
635 },
636 {
637 "type" : "default",
638 "value" : null,
639 "mask" : null,
640 "next_state" : "strip_packet_out"
641 }
642 ],
643 "transition_key" : [
644 {
645 "type" : "field",
646 "value" : ["scalars", "tmp_0"]
647 }
648 ]
649 },
650 {
651 "name" : "parse_packet_out_and_accept",
652 "id" : 2,
653 "parser_ops" : [
654 {
655 "parameters" : [
656 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800657 "type" : "regular",
658 "value" : "packet_out"
659 }
660 ],
661 "op" : "extract"
662 }
663 ],
664 "transitions" : [
665 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200666 "type" : "default",
667 "value" : null,
668 "mask" : null,
669 "next_state" : null
670 }
671 ],
672 "transition_key" : []
673 },
674 {
675 "name" : "strip_packet_out",
676 "id" : 3,
677 "parser_ops" : [
678 {
679 "parameters" : [
680 {
681 "type" : "hexstr",
682 "value" : "0x00000010"
683 }
684 ],
685 "op" : "advance"
686 }
687 ],
688 "transitions" : [
689 {
690 "type" : "default",
691 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800692 "mask" : null,
693 "next_state" : "parse_ethernet"
694 }
695 ],
696 "transition_key" : []
697 },
698 {
699 "name" : "parse_ethernet",
Carmelo Casconedb347372021-05-26 19:30:30 +0200700 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800701 "parser_ops" : [
702 {
703 "parameters" : [
704 {
705 "type" : "regular",
706 "value" : "ethernet"
707 }
708 ],
709 "op" : "extract"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800710 },
711 {
712 "parameters" : [
713 {
714 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200715 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800716 },
717 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700718 "type" : "hexstr",
719 "value" : "0x0ffe"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800720 }
721 ],
722 "op" : "set"
723 },
724 {
725 "parameters" : [
726 {
727 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200728 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800729 },
730 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700731 "type" : "lookahead",
732 "value" : [0, 16]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800733 }
734 ],
735 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800736 }
737 ],
738 "transitions" : [
739 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800740 "type" : "hexstr",
Daniele Moro77654f92019-07-30 10:29:54 -0700741 "value" : "0x88a8",
742 "mask" : null,
743 "next_state" : "parse_vlan_tag"
744 },
745 {
746 "type" : "hexstr",
747 "value" : "0x9100",
748 "mask" : null,
749 "next_state" : "parse_vlan_tag"
750 },
751 {
752 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800753 "value" : "0x8100",
754 "mask" : null,
755 "next_state" : "parse_vlan_tag"
756 },
757 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200758 "type" : "default",
759 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800760 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700761 "next_state" : "parse_eth_type"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800762 }
763 ],
764 "transition_key" : [
765 {
766 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200767 "value" : ["scalars", "tmp_1"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800768 }
769 ]
770 },
771 {
772 "name" : "parse_vlan_tag",
Carmelo Casconedb347372021-05-26 19:30:30 +0200773 "id" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800774 "parser_ops" : [
775 {
776 "parameters" : [
777 {
778 "type" : "regular",
779 "value" : "vlan_tag"
780 }
781 ],
782 "op" : "extract"
Daniele Moro5a2de712019-09-24 14:34:07 -0700783 },
784 {
785 "parameters" : [
786 {
787 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200788 "value" : ["scalars", "tmp_3"]
Daniele Moro5a2de712019-09-24 14:34:07 -0700789 },
790 {
791 "type" : "lookahead",
792 "value" : [0, 16]
793 }
794 ],
795 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800796 }
797 ],
798 "transitions" : [
799 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800800 "type" : "hexstr",
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800801 "value" : "0x8100",
802 "mask" : null,
803 "next_state" : "parse_inner_vlan_tag"
804 },
805 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200806 "type" : "default",
807 "value" : null,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800808 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700809 "next_state" : "parse_eth_type"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800810 }
811 ],
812 "transition_key" : [
813 {
814 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200815 "value" : ["scalars", "tmp_3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800816 }
817 ]
818 },
819 {
820 "name" : "parse_inner_vlan_tag",
Carmelo Casconedb347372021-05-26 19:30:30 +0200821 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800822 "parser_ops" : [
823 {
824 "parameters" : [
825 {
826 "type" : "regular",
827 "value" : "inner_vlan_tag"
828 }
829 ],
830 "op" : "extract"
831 }
832 ],
833 "transitions" : [
834 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200835 "type" : "default",
836 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800837 "mask" : null,
Daniele Moro5a2de712019-09-24 14:34:07 -0700838 "next_state" : "parse_eth_type"
839 }
840 ],
841 "transition_key" : []
842 },
843 {
844 "name" : "parse_eth_type",
Carmelo Casconedb347372021-05-26 19:30:30 +0200845 "id" : 7,
Daniele Moro5a2de712019-09-24 14:34:07 -0700846 "parser_ops" : [
847 {
848 "parameters" : [
849 {
850 "type" : "regular",
851 "value" : "eth_type"
852 }
853 ],
854 "op" : "extract"
855 }
856 ],
857 "transitions" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800858 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800859 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800860 "value" : "0x8847",
861 "mask" : null,
862 "next_state" : "parse_mpls"
863 },
864 {
Daniele Moro5a2de712019-09-24 14:34:07 -0700865 "type" : "hexstr",
866 "value" : "0x0800",
867 "mask" : null,
868 "next_state" : "parse_ipv4"
869 },
870 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200871 "type" : "default",
872 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800873 "mask" : null,
874 "next_state" : null
875 }
876 ],
877 "transition_key" : [
878 {
879 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -0700880 "value" : ["eth_type", "value"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800881 }
882 ]
883 },
884 {
885 "name" : "parse_mpls",
Carmelo Casconedb347372021-05-26 19:30:30 +0200886 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800887 "parser_ops" : [
888 {
889 "parameters" : [
890 {
891 "type" : "regular",
892 "value" : "mpls"
893 }
894 ],
895 "op" : "extract"
896 },
897 {
898 "parameters" : [
899 {
900 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200901 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800902 },
903 {
904 "type" : "field",
905 "value" : ["mpls", "label"]
906 }
907 ],
908 "op" : "set"
909 },
910 {
911 "parameters" : [
912 {
913 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200914 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800915 },
916 {
917 "type" : "field",
918 "value" : ["mpls", "ttl"]
919 }
920 ],
921 "op" : "set"
922 },
923 {
924 "parameters" : [
925 {
926 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200927 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800928 },
929 {
930 "type" : "lookahead",
931 "value" : [0, 4]
932 }
933 ],
934 "op" : "set"
935 }
936 ],
937 "transitions" : [
938 {
Yi Tseng27b9bc02018-04-12 14:52:40 +0800939 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800940 "value" : "0x04",
941 "mask" : null,
942 "next_state" : "parse_ipv4"
943 },
944 {
Carmelo Casconedb347372021-05-26 19:30:30 +0200945 "type" : "default",
946 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800947 "mask" : null,
948 "next_state" : "parse_ethernet"
949 }
950 ],
951 "transition_key" : [
952 {
953 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200954 "value" : ["scalars", "tmp_5"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800955 }
956 ]
957 },
958 {
Daniele Moro7c3a0022019-07-12 13:38:34 -0700959 "name" : "parse_ipv4",
Carmelo Casconedb347372021-05-26 19:30:30 +0200960 "id" : 9,
Daniele Moro7c3a0022019-07-12 13:38:34 -0700961 "parser_ops" : [
962 {
963 "parameters" : [
964 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800965 "type" : "regular",
966 "value" : "ipv4"
967 }
968 ],
969 "op" : "extract"
970 },
971 {
972 "parameters" : [
973 {
974 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200975 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -0800976 },
977 {
978 "type" : "field",
979 "value" : ["ipv4", "protocol"]
980 }
981 ],
982 "op" : "set"
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800983 },
984 {
985 "parameters" : [
986 {
987 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +0200988 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800989 },
990 {
991 "type" : "hexstr",
992 "value" : "0x0800"
993 }
994 ],
995 "op" : "set"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400996 },
997 {
998 "parameters" : [
999 {
1000 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02001001 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001002 },
1003 {
1004 "type" : "field",
1005 "value" : ["ipv4", "src_addr"]
1006 }
1007 ],
1008 "op" : "set"
1009 },
1010 {
1011 "parameters" : [
1012 {
1013 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02001014 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04001015 },
1016 {
1017 "type" : "field",
1018 "value" : ["ipv4", "dst_addr"]
1019 }
1020 ],
1021 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001022 }
1023 ],
1024 "transitions" : [
1025 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001026 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001027 "value" : "0x06",
1028 "mask" : null,
1029 "next_state" : "parse_tcp"
1030 },
1031 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001032 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001033 "value" : "0x11",
1034 "mask" : null,
1035 "next_state" : "parse_udp"
1036 },
1037 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001038 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001039 "value" : "0x01",
1040 "mask" : null,
1041 "next_state" : "parse_icmp"
1042 },
1043 {
Carmelo Casconedb347372021-05-26 19:30:30 +02001044 "type" : "default",
1045 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001046 "mask" : null,
1047 "next_state" : null
1048 }
1049 ],
1050 "transition_key" : [
1051 {
1052 "type" : "field",
1053 "value" : ["ipv4", "protocol"]
1054 }
1055 ]
1056 },
1057 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001058 "name" : "parse_tcp",
Carmelo Casconedb347372021-05-26 19:30:30 +02001059 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001060 "parser_ops" : [
1061 {
1062 "parameters" : [
1063 {
1064 "type" : "regular",
1065 "value" : "tcp"
1066 }
1067 ],
1068 "op" : "extract"
1069 },
1070 {
1071 "parameters" : [
1072 {
1073 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02001074 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001075 },
1076 {
1077 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001078 "value" : ["tcp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001079 }
1080 ],
1081 "op" : "set"
1082 },
1083 {
1084 "parameters" : [
1085 {
1086 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02001087 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001088 },
1089 {
1090 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001091 "value" : ["tcp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001092 }
1093 ],
1094 "op" : "set"
1095 }
1096 ],
1097 "transitions" : [
1098 {
Carmelo Casconedb347372021-05-26 19:30:30 +02001099 "type" : "default",
1100 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001101 "mask" : null,
1102 "next_state" : null
1103 }
1104 ],
1105 "transition_key" : []
1106 },
1107 {
1108 "name" : "parse_udp",
Carmelo Casconedb347372021-05-26 19:30:30 +02001109 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001110 "parser_ops" : [
1111 {
1112 "parameters" : [
1113 {
1114 "type" : "regular",
1115 "value" : "udp"
1116 }
1117 ],
1118 "op" : "extract"
1119 },
1120 {
1121 "parameters" : [
1122 {
1123 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02001124 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001125 },
1126 {
1127 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001128 "value" : ["udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001129 }
1130 ],
1131 "op" : "set"
1132 },
1133 {
1134 "parameters" : [
1135 {
1136 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02001137 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001138 },
1139 {
1140 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001141 "value" : ["udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001142 }
1143 ],
1144 "op" : "set"
Carmelo Casconeffa7fed2021-06-01 18:31:57 -07001145 },
1146 {
1147 "parameters" : [
1148 {
1149 "type" : "field",
1150 "value" : ["scalars", "tmp_7"]
1151 },
1152 {
1153 "type" : "lookahead",
1154 "value" : [0, 64]
1155 }
1156 ],
1157 "op" : "set"
1158 },
1159 {
1160 "parameters" : [
1161 {
1162 "parameters" : [
1163 {
1164 "type" : "header",
1165 "value" : "gtpu_0"
1166 }
1167 ],
1168 "op" : "add_header"
1169 }
1170 ],
1171 "op" : "primitive"
1172 },
1173 {
1174 "parameters" : [
1175 {
1176 "type" : "field",
1177 "value" : ["gtpu_0", "version"]
1178 },
1179 {
1180 "type" : "expression",
1181 "value" : {
1182 "type" : "expression",
1183 "value" : {
1184 "op" : "&",
1185 "left" : {
1186 "type" : "expression",
1187 "value" : {
1188 "op" : "&",
1189 "left" : {
1190 "type" : "expression",
1191 "value" : {
1192 "op" : ">>",
1193 "left" : {
1194 "type" : "field",
1195 "value" : ["scalars", "tmp_7"]
1196 },
1197 "right" : {
1198 "type" : "hexstr",
1199 "value" : "0x3d"
1200 }
1201 }
1202 },
1203 "right" : {
1204 "type" : "hexstr",
1205 "value" : "0xffffffffffffffff"
1206 }
1207 }
1208 },
1209 "right" : {
1210 "type" : "hexstr",
1211 "value" : "0x07"
1212 }
1213 }
1214 }
1215 }
1216 ],
1217 "op" : "set"
1218 },
1219 {
1220 "parameters" : [
1221 {
1222 "type" : "field",
1223 "value" : ["gtpu_0", "pt"]
1224 },
1225 {
1226 "type" : "expression",
1227 "value" : {
1228 "type" : "expression",
1229 "value" : {
1230 "op" : "&",
1231 "left" : {
1232 "type" : "expression",
1233 "value" : {
1234 "op" : "&",
1235 "left" : {
1236 "type" : "expression",
1237 "value" : {
1238 "op" : ">>",
1239 "left" : {
1240 "type" : "field",
1241 "value" : ["scalars", "tmp_7"]
1242 },
1243 "right" : {
1244 "type" : "hexstr",
1245 "value" : "0x3c"
1246 }
1247 }
1248 },
1249 "right" : {
1250 "type" : "hexstr",
1251 "value" : "0xffffffffffffffff"
1252 }
1253 }
1254 },
1255 "right" : {
1256 "type" : "hexstr",
1257 "value" : "0x01"
1258 }
1259 }
1260 }
1261 }
1262 ],
1263 "op" : "set"
1264 },
1265 {
1266 "parameters" : [
1267 {
1268 "type" : "field",
1269 "value" : ["gtpu_0", "spare"]
1270 },
1271 {
1272 "type" : "expression",
1273 "value" : {
1274 "type" : "expression",
1275 "value" : {
1276 "op" : "&",
1277 "left" : {
1278 "type" : "expression",
1279 "value" : {
1280 "op" : "&",
1281 "left" : {
1282 "type" : "expression",
1283 "value" : {
1284 "op" : ">>",
1285 "left" : {
1286 "type" : "field",
1287 "value" : ["scalars", "tmp_7"]
1288 },
1289 "right" : {
1290 "type" : "hexstr",
1291 "value" : "0x3b"
1292 }
1293 }
1294 },
1295 "right" : {
1296 "type" : "hexstr",
1297 "value" : "0xffffffffffffffff"
1298 }
1299 }
1300 },
1301 "right" : {
1302 "type" : "hexstr",
1303 "value" : "0x01"
1304 }
1305 }
1306 }
1307 }
1308 ],
1309 "op" : "set"
1310 },
1311 {
1312 "parameters" : [
1313 {
1314 "type" : "field",
1315 "value" : ["gtpu_0", "ex_flag"]
1316 },
1317 {
1318 "type" : "expression",
1319 "value" : {
1320 "type" : "expression",
1321 "value" : {
1322 "op" : "&",
1323 "left" : {
1324 "type" : "expression",
1325 "value" : {
1326 "op" : "&",
1327 "left" : {
1328 "type" : "expression",
1329 "value" : {
1330 "op" : ">>",
1331 "left" : {
1332 "type" : "field",
1333 "value" : ["scalars", "tmp_7"]
1334 },
1335 "right" : {
1336 "type" : "hexstr",
1337 "value" : "0x3a"
1338 }
1339 }
1340 },
1341 "right" : {
1342 "type" : "hexstr",
1343 "value" : "0xffffffffffffffff"
1344 }
1345 }
1346 },
1347 "right" : {
1348 "type" : "hexstr",
1349 "value" : "0x01"
1350 }
1351 }
1352 }
1353 }
1354 ],
1355 "op" : "set"
1356 },
1357 {
1358 "parameters" : [
1359 {
1360 "type" : "field",
1361 "value" : ["gtpu_0", "seq_flag"]
1362 },
1363 {
1364 "type" : "expression",
1365 "value" : {
1366 "type" : "expression",
1367 "value" : {
1368 "op" : "&",
1369 "left" : {
1370 "type" : "expression",
1371 "value" : {
1372 "op" : "&",
1373 "left" : {
1374 "type" : "expression",
1375 "value" : {
1376 "op" : ">>",
1377 "left" : {
1378 "type" : "field",
1379 "value" : ["scalars", "tmp_7"]
1380 },
1381 "right" : {
1382 "type" : "hexstr",
1383 "value" : "0x39"
1384 }
1385 }
1386 },
1387 "right" : {
1388 "type" : "hexstr",
1389 "value" : "0xffffffffffffffff"
1390 }
1391 }
1392 },
1393 "right" : {
1394 "type" : "hexstr",
1395 "value" : "0x01"
1396 }
1397 }
1398 }
1399 }
1400 ],
1401 "op" : "set"
1402 },
1403 {
1404 "parameters" : [
1405 {
1406 "type" : "field",
1407 "value" : ["gtpu_0", "npdu_flag"]
1408 },
1409 {
1410 "type" : "expression",
1411 "value" : {
1412 "type" : "expression",
1413 "value" : {
1414 "op" : "&",
1415 "left" : {
1416 "type" : "expression",
1417 "value" : {
1418 "op" : "&",
1419 "left" : {
1420 "type" : "expression",
1421 "value" : {
1422 "op" : ">>",
1423 "left" : {
1424 "type" : "field",
1425 "value" : ["scalars", "tmp_7"]
1426 },
1427 "right" : {
1428 "type" : "hexstr",
1429 "value" : "0x38"
1430 }
1431 }
1432 },
1433 "right" : {
1434 "type" : "hexstr",
1435 "value" : "0xffffffffffffffff"
1436 }
1437 }
1438 },
1439 "right" : {
1440 "type" : "hexstr",
1441 "value" : "0x01"
1442 }
1443 }
1444 }
1445 }
1446 ],
1447 "op" : "set"
1448 },
1449 {
1450 "parameters" : [
1451 {
1452 "type" : "field",
1453 "value" : ["gtpu_0", "msgtype"]
1454 },
1455 {
1456 "type" : "expression",
1457 "value" : {
1458 "type" : "expression",
1459 "value" : {
1460 "op" : "&",
1461 "left" : {
1462 "type" : "expression",
1463 "value" : {
1464 "op" : "&",
1465 "left" : {
1466 "type" : "expression",
1467 "value" : {
1468 "op" : ">>",
1469 "left" : {
1470 "type" : "field",
1471 "value" : ["scalars", "tmp_7"]
1472 },
1473 "right" : {
1474 "type" : "hexstr",
1475 "value" : "0x30"
1476 }
1477 }
1478 },
1479 "right" : {
1480 "type" : "hexstr",
1481 "value" : "0xffffffffffffffff"
1482 }
1483 }
1484 },
1485 "right" : {
1486 "type" : "hexstr",
1487 "value" : "0xff"
1488 }
1489 }
1490 }
1491 }
1492 ],
1493 "op" : "set"
1494 },
1495 {
1496 "parameters" : [
1497 {
1498 "type" : "field",
1499 "value" : ["gtpu_0", "msglen"]
1500 },
1501 {
1502 "type" : "expression",
1503 "value" : {
1504 "type" : "expression",
1505 "value" : {
1506 "op" : "&",
1507 "left" : {
1508 "type" : "expression",
1509 "value" : {
1510 "op" : "&",
1511 "left" : {
1512 "type" : "expression",
1513 "value" : {
1514 "op" : ">>",
1515 "left" : {
1516 "type" : "field",
1517 "value" : ["scalars", "tmp_7"]
1518 },
1519 "right" : {
1520 "type" : "hexstr",
1521 "value" : "0x20"
1522 }
1523 }
1524 },
1525 "right" : {
1526 "type" : "hexstr",
1527 "value" : "0xffffffffffffffff"
1528 }
1529 }
1530 },
1531 "right" : {
1532 "type" : "hexstr",
1533 "value" : "0xffff"
1534 }
1535 }
1536 }
1537 }
1538 ],
1539 "op" : "set"
1540 },
1541 {
1542 "parameters" : [
1543 {
1544 "type" : "field",
1545 "value" : ["gtpu_0", "teid"]
1546 },
1547 {
1548 "type" : "expression",
1549 "value" : {
1550 "type" : "expression",
1551 "value" : {
1552 "op" : "&",
1553 "left" : {
1554 "type" : "field",
1555 "value" : ["scalars", "tmp_7"]
1556 },
1557 "right" : {
1558 "type" : "hexstr",
1559 "value" : "0xffffffff"
1560 }
1561 }
1562 }
1563 }
1564 ],
1565 "op" : "set"
1566 },
1567 {
1568 "parameters" : [
1569 {
1570 "type" : "field",
1571 "value" : ["scalars", "tmp_2"]
1572 },
1573 {
1574 "type" : "expression",
1575 "value" : {
1576 "type" : "expression",
1577 "value" : {
1578 "op" : "&",
1579 "left" : {
1580 "type" : "expression",
1581 "value" : {
1582 "op" : "&",
1583 "left" : {
1584 "type" : "expression",
1585 "value" : {
1586 "op" : ">>",
1587 "left" : {
1588 "type" : "field",
1589 "value" : ["scalars", "tmp_7"]
1590 },
1591 "right" : {
1592 "type" : "hexstr",
1593 "value" : "0x3d"
1594 }
1595 }
1596 },
1597 "right" : {
1598 "type" : "hexstr",
1599 "value" : "0xffffffffffffffff"
1600 }
1601 }
1602 },
1603 "right" : {
1604 "type" : "hexstr",
1605 "value" : "0x07"
1606 }
1607 }
1608 }
1609 }
1610 ],
1611 "op" : "set"
1612 },
1613 {
1614 "parameters" : [
1615 {
1616 "type" : "field",
1617 "value" : ["scalars", "tmp_4"]
1618 },
1619 {
1620 "type" : "expression",
1621 "value" : {
1622 "type" : "expression",
1623 "value" : {
1624 "op" : "&",
1625 "left" : {
1626 "type" : "expression",
1627 "value" : {
1628 "op" : "&",
1629 "left" : {
1630 "type" : "expression",
1631 "value" : {
1632 "op" : ">>",
1633 "left" : {
1634 "type" : "field",
1635 "value" : ["scalars", "tmp_7"]
1636 },
1637 "right" : {
1638 "type" : "hexstr",
1639 "value" : "0x30"
1640 }
1641 }
1642 },
1643 "right" : {
1644 "type" : "hexstr",
1645 "value" : "0xffffffffffffffff"
1646 }
1647 }
1648 },
1649 "right" : {
1650 "type" : "hexstr",
1651 "value" : "0xff"
1652 }
1653 }
1654 }
1655 }
1656 ],
1657 "op" : "set"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001658 }
1659 ],
1660 "transitions" : [
1661 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001662 "type" : "hexstr",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -07001663 "value" : "0x086801ff",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001664 "mask" : null,
1665 "next_state" : "parse_gtpu"
1666 },
1667 {
Carmelo Casconedb347372021-05-26 19:30:30 +02001668 "type" : "default",
1669 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001670 "mask" : null,
1671 "next_state" : null
1672 }
1673 ],
1674 "transition_key" : [
1675 {
1676 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001677 "value" : ["udp", "dport"]
Carmelo Casconeffa7fed2021-06-01 18:31:57 -07001678 },
1679 {
1680 "type" : "field",
1681 "value" : ["scalars", "tmp_2"]
1682 },
1683 {
1684 "type" : "field",
1685 "value" : ["scalars", "tmp_4"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001686 }
1687 ]
1688 },
1689 {
1690 "name" : "parse_icmp",
Carmelo Casconedb347372021-05-26 19:30:30 +02001691 "id" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001692 "parser_ops" : [
1693 {
1694 "parameters" : [
1695 {
1696 "type" : "regular",
1697 "value" : "icmp"
1698 }
1699 ],
1700 "op" : "extract"
1701 }
1702 ],
1703 "transitions" : [
1704 {
Carmelo Casconedb347372021-05-26 19:30:30 +02001705 "type" : "default",
1706 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001707 "mask" : null,
1708 "next_state" : null
1709 }
1710 ],
1711 "transition_key" : []
1712 },
1713 {
1714 "name" : "parse_gtpu",
Carmelo Casconedb347372021-05-26 19:30:30 +02001715 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001716 "parser_ops" : [
1717 {
1718 "parameters" : [
1719 {
1720 "type" : "regular",
1721 "value" : "gtpu"
1722 }
1723 ],
1724 "op" : "extract"
1725 },
1726 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001727 "parameters" : [
1728 {
1729 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001730 "value" : "inner_ipv4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001731 }
1732 ],
1733 "op" : "extract"
1734 }
1735 ],
1736 "transitions" : [
1737 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001738 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001739 "value" : "0x06",
1740 "mask" : null,
Daniele Moro2ca1c3c2021-07-08 12:53:26 +02001741 "next_state" : "parse_inner_tcp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001742 },
1743 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001744 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001745 "value" : "0x11",
1746 "mask" : null,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001747 "next_state" : "parse_inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001748 },
1749 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001750 "type" : "hexstr",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001751 "value" : "0x01",
1752 "mask" : null,
Daniele Moro2ca1c3c2021-07-08 12:53:26 +02001753 "next_state" : "parse_inner_icmp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001754 },
1755 {
Carmelo Casconedb347372021-05-26 19:30:30 +02001756 "type" : "default",
1757 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001758 "mask" : null,
1759 "next_state" : null
1760 }
1761 ],
1762 "transition_key" : [
1763 {
1764 "type" : "field",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001765 "value" : ["inner_ipv4", "protocol"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001766 }
1767 ]
1768 },
1769 {
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001770 "name" : "parse_inner_udp",
Carmelo Casconedb347372021-05-26 19:30:30 +02001771 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001772 "parser_ops" : [
1773 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001774 "parameters" : [
1775 {
1776 "type" : "regular",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001777 "value" : "inner_udp"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001778 }
1779 ],
1780 "op" : "extract"
1781 },
1782 {
1783 "parameters" : [
1784 {
1785 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02001786 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001787 },
1788 {
1789 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001790 "value" : ["inner_udp", "sport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001791 }
1792 ],
1793 "op" : "set"
1794 },
1795 {
1796 "parameters" : [
1797 {
1798 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02001799 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001800 },
1801 {
1802 "type" : "field",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001803 "value" : ["inner_udp", "dport"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001804 }
1805 ],
1806 "op" : "set"
1807 }
1808 ],
1809 "transitions" : [
1810 {
Carmelo Casconedb347372021-05-26 19:30:30 +02001811 "type" : "default",
1812 "value" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001813 "mask" : null,
1814 "next_state" : null
1815 }
1816 ],
1817 "transition_key" : []
Daniele Moro2ca1c3c2021-07-08 12:53:26 +02001818 },
1819 {
1820 "name" : "parse_inner_tcp",
1821 "id" : 15,
1822 "parser_ops" : [
1823 {
1824 "parameters" : [
1825 {
1826 "type" : "regular",
1827 "value" : "inner_tcp"
1828 }
1829 ],
1830 "op" : "extract"
1831 },
1832 {
1833 "parameters" : [
1834 {
1835 "type" : "field",
1836 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
1837 },
1838 {
1839 "type" : "field",
1840 "value" : ["inner_tcp", "sport"]
1841 }
1842 ],
1843 "op" : "set"
1844 },
1845 {
1846 "parameters" : [
1847 {
1848 "type" : "field",
1849 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
1850 },
1851 {
1852 "type" : "field",
1853 "value" : ["inner_tcp", "dport"]
1854 }
1855 ],
1856 "op" : "set"
1857 }
1858 ],
1859 "transitions" : [
1860 {
1861 "type" : "default",
1862 "value" : null,
1863 "mask" : null,
1864 "next_state" : null
1865 }
1866 ],
1867 "transition_key" : []
1868 },
1869 {
1870 "name" : "parse_inner_icmp",
1871 "id" : 16,
1872 "parser_ops" : [
1873 {
1874 "parameters" : [
1875 {
1876 "type" : "regular",
1877 "value" : "inner_icmp"
1878 }
1879 ],
1880 "op" : "extract"
1881 }
1882 ],
1883 "transitions" : [
1884 {
1885 "type" : "default",
1886 "value" : null,
1887 "mask" : null,
1888 "next_state" : null
1889 }
1890 ],
1891 "transition_key" : []
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001892 }
1893 ]
1894 }
1895 ],
Yi Tseng27b9bc02018-04-12 14:52:40 +08001896 "parse_vsets" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001897 "deparsers" : [
1898 {
1899 "name" : "deparser",
1900 "id" : 0,
1901 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02001902 "filename" : "include/parser.p4",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -07001903 "line" : 285,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001904 "column" : 8,
1905 "source_fragment" : "FabricDeparser"
1906 },
Carmelo Casconedb347372021-05-26 19:30:30 +02001907 "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"],
1908 "primitives" : []
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001909 }
1910 ],
1911 "meter_arrays" : [],
1912 "counter_arrays" : [
1913 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001914 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001915 "id" : 0,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001916 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001917 "binding" : "FabricIngress.filtering.ingress_port_vlan",
1918 "source_info" : {
1919 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001920 "line" : 31,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001921 "column" : 50,
1922 "source_fragment" : "ingress_port_vlan_counter"
1923 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001924 },
1925 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001926 "name" : "FabricIngress.filtering.fwd_classifier_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001927 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001928 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001929 "binding" : "FabricIngress.filtering.fwd_classifier",
1930 "source_info" : {
1931 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08001932 "line" : 87,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001933 "column" : 50,
1934 "source_fragment" : "fwd_classifier_counter"
1935 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001936 },
1937 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001938 "name" : "FabricIngress.forwarding.bridging_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001939 "id" : 2,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001940 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001941 "binding" : "FabricIngress.forwarding.bridging",
1942 "source_info" : {
1943 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001944 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001945 "column" : 50,
1946 "source_fragment" : "bridging_counter"
1947 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001948 },
1949 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08001950 "name" : "FabricIngress.forwarding.mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001951 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001952 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001953 "binding" : "FabricIngress.forwarding.mpls",
1954 "source_info" : {
1955 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07001956 "line" : 63,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001957 "column" : 50,
1958 "source_fragment" : "mpls_counter"
1959 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001960 },
1961 {
Wailok Shumfac26d42021-06-18 17:30:08 +08001962 "name" : "FabricIngress.pre_next.next_mpls_counter",
Robert MacDavidde12b982020-07-15 18:38:59 -07001963 "id" : 4,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001964 "is_direct" : true,
Wailok Shumfac26d42021-06-18 17:30:08 +08001965 "binding" : "FabricIngress.pre_next.next_mpls",
1966 "source_info" : {
1967 "filename" : "include/control/pre_next.p4",
1968 "line" : 29,
1969 "column" : 50,
1970 "source_fragment" : "next_mpls_counter"
1971 }
1972 },
1973 {
1974 "name" : "FabricIngress.pre_next.next_vlan_counter",
1975 "id" : 5,
1976 "is_direct" : true,
1977 "binding" : "FabricIngress.pre_next.next_vlan",
1978 "source_info" : {
1979 "filename" : "include/control/pre_next.p4",
1980 "line" : 54,
1981 "column" : 50,
1982 "source_fragment" : "next_vlan_counter"
1983 }
1984 },
1985 {
1986 "name" : "FabricIngress.acl.acl_counter",
1987 "id" : 6,
1988 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001989 "binding" : "FabricIngress.acl.acl",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001990 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001991 "filename" : "include/control/acl.p4",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08001992 "line" : 36,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07001993 "column" : 50,
1994 "source_fragment" : "acl_counter"
1995 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08001996 },
1997 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08001998 "name" : "FabricIngress.next.xconnect_counter",
Wailok Shumfac26d42021-06-18 17:30:08 +08001999 "id" : 7,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002000 "is_direct" : true,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002001 "binding" : "FabricIngress.next.xconnect",
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002002 "source_info" : {
2003 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08002004 "line" : 56,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002005 "column" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002006 "source_fragment" : "xconnect_counter"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002007 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08002008 },
2009 {
2010 "name" : "FabricIngress.next.hashed_counter",
Wailok Shumfac26d42021-06-18 17:30:08 +08002011 "id" : 8,
Yi Tseng27b9bc02018-04-12 14:52:40 +08002012 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002013 "binding" : "FabricIngress.next.hashed",
2014 "source_info" : {
2015 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08002016 "line" : 126,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002017 "column" : 50,
2018 "source_fragment" : "hashed_counter"
2019 }
Yi Tseng27b9bc02018-04-12 14:52:40 +08002020 },
2021 {
Esin Karaman971fb7f2017-12-28 13:44:52 +00002022 "name" : "FabricIngress.next.multicast_counter",
Wailok Shumfac26d42021-06-18 17:30:08 +08002023 "id" : 9,
Esin Karaman971fb7f2017-12-28 13:44:52 +00002024 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002025 "binding" : "FabricIngress.next.multicast",
2026 "source_info" : {
2027 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08002028 "line" : 163,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002029 "column" : 50,
2030 "source_fragment" : "multicast_counter"
2031 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00002032 },
2033 {
2034 "name" : "FabricIngress.port_counters_control.egress_port_counter",
Wailok Shumfac26d42021-06-18 17:30:08 +08002035 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002036 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002037 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002038 "line" : 26,
Yi Tseng3d3956d2018-01-31 17:28:05 -08002039 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002040 "source_fragment" : "egress_port_counter"
2041 },
2042 "size" : 511,
2043 "is_direct" : false
2044 },
2045 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002046 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
Wailok Shumfac26d42021-06-18 17:30:08 +08002047 "id" : 11,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002048 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002049 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002050 "line" : 27,
Yi Tseng3d3956d2018-01-31 17:28:05 -08002051 "column" : 48,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002052 "source_fragment" : "ingress_port_counter"
2053 },
2054 "size" : 511,
2055 "is_direct" : false
Yi Tseng47eac892018-07-11 02:17:04 +08002056 },
2057 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08002058 "name" : "FabricIngress.spgw.pdr_counter",
Wailok Shumfac26d42021-06-18 17:30:08 +08002059 "id" : 12,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002060 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002061 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02002062 "line" : 108,
Robert MacDavidde12b982020-07-15 18:38:59 -07002063 "column" : 53,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002064 "source_fragment" : "pdr_counter"
2065 },
Robert MacDavidde12b982020-07-15 18:38:59 -07002066 "size" : 2048,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04002067 "is_direct" : false
2068 },
2069 {
2070 "name" : "FabricEgress.egress_next.egress_vlan_counter",
Wailok Shumfac26d42021-06-18 17:30:08 +08002071 "id" : 13,
Yi Tseng47eac892018-07-11 02:17:04 +08002072 "is_direct" : true,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002073 "binding" : "FabricEgress.egress_next.egress_vlan",
2074 "source_info" : {
2075 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08002076 "line" : 248,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07002077 "column" : 50,
2078 "source_fragment" : "egress_vlan_counter"
2079 }
Robert MacDavidde12b982020-07-15 18:38:59 -07002080 },
2081 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08002082 "name" : "FabricEgress.spgw.pdr_counter",
Wailok Shumfac26d42021-06-18 17:30:08 +08002083 "id" : 14,
Robert MacDavidde12b982020-07-15 18:38:59 -07002084 "source_info" : {
2085 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02002086 "line" : 295,
Robert MacDavidde12b982020-07-15 18:38:59 -07002087 "column" : 53,
2088 "source_fragment" : "pdr_counter"
2089 },
2090 "size" : 2048,
2091 "is_direct" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002092 }
2093 ],
2094 "register_arrays" : [],
2095 "calculations" : [
2096 {
2097 "name" : "calc",
2098 "id" : 0,
2099 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002100 "filename" : "include/checksum.p4",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002101 "line" : 28,
2102 "column" : 8,
2103 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
2104 },
2105 "algo" : "csum16",
2106 "input" : [
2107 {
2108 "type" : "field",
2109 "value" : ["ipv4", "version"]
2110 },
2111 {
2112 "type" : "field",
2113 "value" : ["ipv4", "ihl"]
2114 },
2115 {
2116 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002117 "value" : ["ipv4", "dscp"]
2118 },
2119 {
2120 "type" : "field",
2121 "value" : ["ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002122 },
2123 {
2124 "type" : "field",
2125 "value" : ["ipv4", "total_len"]
2126 },
2127 {
2128 "type" : "field",
2129 "value" : ["ipv4", "identification"]
2130 },
2131 {
2132 "type" : "field",
2133 "value" : ["ipv4", "flags"]
2134 },
2135 {
2136 "type" : "field",
2137 "value" : ["ipv4", "frag_offset"]
2138 },
2139 {
2140 "type" : "field",
2141 "value" : ["ipv4", "ttl"]
2142 },
2143 {
2144 "type" : "field",
2145 "value" : ["ipv4", "protocol"]
2146 },
2147 {
2148 "type" : "field",
2149 "value" : ["ipv4", "src_addr"]
2150 },
2151 {
2152 "type" : "field",
2153 "value" : ["ipv4", "dst_addr"]
2154 }
2155 ]
2156 },
2157 {
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002158 "name" : "calc_0",
2159 "id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002160 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07002161 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02002162 "line" : 358,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002163 "column" : 8,
2164 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
2165 },
2166 "algo" : "csum16",
2167 "input" : [
2168 {
2169 "type" : "field",
2170 "value" : ["gtpu_ipv4", "version"]
2171 },
2172 {
2173 "type" : "field",
2174 "value" : ["gtpu_ipv4", "ihl"]
2175 },
2176 {
2177 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002178 "value" : ["gtpu_ipv4", "dscp"]
2179 },
2180 {
2181 "type" : "field",
2182 "value" : ["gtpu_ipv4", "ecn"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002183 },
2184 {
2185 "type" : "field",
2186 "value" : ["gtpu_ipv4", "total_len"]
2187 },
2188 {
2189 "type" : "field",
2190 "value" : ["gtpu_ipv4", "identification"]
2191 },
2192 {
2193 "type" : "field",
2194 "value" : ["gtpu_ipv4", "flags"]
2195 },
2196 {
2197 "type" : "field",
2198 "value" : ["gtpu_ipv4", "frag_offset"]
2199 },
2200 {
2201 "type" : "field",
2202 "value" : ["gtpu_ipv4", "ttl"]
2203 },
2204 {
2205 "type" : "field",
2206 "value" : ["gtpu_ipv4", "protocol"]
2207 },
2208 {
2209 "type" : "field",
2210 "value" : ["gtpu_ipv4", "src_addr"]
2211 },
2212 {
2213 "type" : "field",
2214 "value" : ["gtpu_ipv4", "dst_addr"]
2215 }
2216 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002217 },
2218 {
2219 "name" : "calc_1",
2220 "id" : 2,
2221 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002222 "filename" : "include/checksum.p4",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002223 "line" : 57,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002224 "column" : 8,
2225 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
2226 },
2227 "algo" : "csum16",
2228 "input" : [
2229 {
2230 "type" : "field",
2231 "value" : ["ipv4", "version"]
2232 },
2233 {
2234 "type" : "field",
2235 "value" : ["ipv4", "ihl"]
2236 },
2237 {
2238 "type" : "field",
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002239 "value" : ["ipv4", "dscp"]
2240 },
2241 {
2242 "type" : "field",
2243 "value" : ["ipv4", "ecn"]
Carmelo Cascone6af4e172018-06-15 16:01:30 +02002244 },
2245 {
2246 "type" : "field",
2247 "value" : ["ipv4", "total_len"]
2248 },
2249 {
2250 "type" : "field",
2251 "value" : ["ipv4", "identification"]
2252 },
2253 {
2254 "type" : "field",
2255 "value" : ["ipv4", "flags"]
2256 },
2257 {
2258 "type" : "field",
2259 "value" : ["ipv4", "frag_offset"]
2260 },
2261 {
2262 "type" : "field",
2263 "value" : ["ipv4", "ttl"]
2264 },
2265 {
2266 "type" : "field",
2267 "value" : ["ipv4", "protocol"]
2268 },
2269 {
2270 "type" : "field",
2271 "value" : ["ipv4", "src_addr"]
2272 },
2273 {
2274 "type" : "field",
2275 "value" : ["ipv4", "dst_addr"]
2276 }
2277 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002278 }
2279 ],
2280 "learn_lists" : [],
2281 "actions" : [
2282 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002283 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002284 "id" : 0,
2285 "runtime_data" : [],
2286 "primitives" : []
2287 },
2288 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002289 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002290 "id" : 1,
2291 "runtime_data" : [],
2292 "primitives" : []
2293 },
2294 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002295 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002296 "id" : 2,
2297 "runtime_data" : [],
2298 "primitives" : []
2299 },
2300 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002301 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002302 "id" : 3,
2303 "runtime_data" : [],
2304 "primitives" : []
2305 },
2306 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002307 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002308 "id" : 4,
2309 "runtime_data" : [],
2310 "primitives" : []
2311 },
2312 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002313 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002314 "id" : 5,
2315 "runtime_data" : [],
2316 "primitives" : []
2317 },
2318 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002319 "name" : "nop",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002320 "id" : 6,
2321 "runtime_data" : [],
2322 "primitives" : []
2323 },
2324 {
Wailok Shumfac26d42021-06-18 17:30:08 +08002325 "name" : "nop",
Robert MacDavidde12b982020-07-15 18:38:59 -07002326 "id" : 7,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002327 "runtime_data" : [],
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08002328 "primitives" : []
2329 },
2330 {
2331 "name" : "NoAction",
2332 "id" : 8,
2333 "runtime_data" : [],
2334 "primitives" : []
2335 },
2336 {
Wailok Shumfac26d42021-06-18 17:30:08 +08002337 "name" : "NoAction",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08002338 "id" : 9,
2339 "runtime_data" : [],
Wailok Shumfac26d42021-06-18 17:30:08 +08002340 "primitives" : []
2341 },
2342 {
2343 "name" : "FabricIngress.filtering.deny",
2344 "id" : 10,
2345 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002346 "primitives" : [
2347 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002348 "op" : "assign",
2349 "parameters" : [
2350 {
2351 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002352 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002353 },
2354 {
2355 "type" : "expression",
2356 "value" : {
2357 "type" : "expression",
2358 "value" : {
2359 "op" : "b2d",
2360 "left" : null,
2361 "right" : {
2362 "type" : "bool",
2363 "value" : true
2364 }
2365 }
2366 }
2367 }
2368 ],
2369 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002370 "filename" : "include/control/filtering.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002371 "line" : 36,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002372 "column" : 40,
2373 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002374 }
2375 },
2376 {
2377 "op" : "assign",
2378 "parameters" : [
2379 {
2380 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002381 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002382 },
2383 {
2384 "type" : "expression",
2385 "value" : {
2386 "type" : "expression",
2387 "value" : {
2388 "op" : "b2d",
2389 "left" : null,
2390 "right" : {
2391 "type" : "bool",
2392 "value" : true
2393 }
2394 }
2395 }
2396 }
2397 ],
2398 "source_info" : {
2399 "filename" : "include/control/filtering.p4",
2400 "line" : 37,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002401 "column" : 34,
2402 "source_fragment" : "= true; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002403 }
Wailok Shumfac26d42021-06-18 17:30:08 +08002404 },
2405 {
2406 "op" : "assign",
2407 "parameters" : [
2408 {
2409 "type" : "field",
2410 "value" : ["scalars", "userMetadata._port_type32"]
2411 },
2412 {
2413 "type" : "hexstr",
2414 "value" : "0x00"
2415 }
2416 ],
2417 "source_info" : {
2418 "filename" : "include/control/../define.p4",
2419 "line" : 119,
2420 "column" : 38,
2421 "source_fragment" : "0x0; ..."
2422 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002423 }
2424 ]
2425 },
2426 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002427 "name" : "FabricIngress.filtering.permit",
Wailok Shumfac26d42021-06-18 17:30:08 +08002428 "id" : 11,
2429 "runtime_data" : [
2430 {
2431 "name" : "port_type",
2432 "bitwidth" : 2
2433 }
2434 ],
2435 "primitives" : [
2436 {
2437 "op" : "assign",
2438 "parameters" : [
2439 {
2440 "type" : "field",
2441 "value" : ["scalars", "userMetadata._port_type32"]
2442 },
2443 {
2444 "type" : "runtime_data",
2445 "value" : 0
2446 }
2447 ],
2448 "source_info" : {
2449 "filename" : "include/control/filtering.p4",
2450 "line" : 44,
2451 "column" : 34,
2452 "source_fragment" : "= port_type; ..."
2453 }
2454 }
2455 ]
Carmelo Cascone8a715f82018-08-20 23:16:27 -07002456 },
2457 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002458 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
Wailok Shumfac26d42021-06-18 17:30:08 +08002459 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002460 "runtime_data" : [
2461 {
2462 "name" : "vlan_id",
2463 "bitwidth" : 12
Wailok Shumfac26d42021-06-18 17:30:08 +08002464 },
2465 {
2466 "name" : "port_type",
2467 "bitwidth" : 2
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002468 }
2469 ],
2470 "primitives" : [
2471 {
2472 "op" : "assign",
2473 "parameters" : [
2474 {
2475 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002476 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002477 },
2478 {
2479 "type" : "runtime_data",
2480 "value" : 0
2481 }
2482 ],
2483 "source_info" : {
2484 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08002485 "line" : 49,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002486 "column" : 32,
2487 "source_fragment" : "= vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002488 }
Wailok Shumfac26d42021-06-18 17:30:08 +08002489 },
2490 {
2491 "op" : "assign",
2492 "parameters" : [
2493 {
2494 "type" : "field",
2495 "value" : ["scalars", "userMetadata._port_type32"]
2496 },
2497 {
2498 "type" : "runtime_data",
2499 "value" : 1
2500 }
2501 ],
2502 "source_info" : {
2503 "filename" : "include/control/filtering.p4",
2504 "line" : 44,
2505 "column" : 34,
2506 "source_fragment" : "= port_type; ..."
2507 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002508 }
2509 ]
2510 },
2511 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08002512 "name" : "FabricIngress.filtering.set_forwarding_type",
Wailok Shumfac26d42021-06-18 17:30:08 +08002513 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002514 "runtime_data" : [
2515 {
2516 "name" : "fwd_type",
2517 "bitwidth" : 3
2518 }
2519 ],
2520 "primitives" : [
2521 {
2522 "op" : "assign",
2523 "parameters" : [
2524 {
2525 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002526 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002527 },
2528 {
2529 "type" : "runtime_data",
2530 "value" : 0
2531 }
2532 ],
2533 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002534 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08002535 "line" : 90,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002536 "column" : 33,
2537 "source_fragment" : "= fwd_type; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002538 }
2539 }
2540 ]
2541 },
2542 {
Yi Tseng47eac892018-07-11 02:17:04 +08002543 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Wailok Shumfac26d42021-06-18 17:30:08 +08002544 "id" : 14,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002545 "runtime_data" : [
2546 {
2547 "name" : "next_id",
2548 "bitwidth" : 32
2549 }
2550 ],
2551 "primitives" : [
2552 {
2553 "op" : "assign",
2554 "parameters" : [
2555 {
2556 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002557 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002558 },
2559 {
2560 "type" : "runtime_data",
2561 "value" : 0
2562 }
2563 ],
2564 "source_info" : {
2565 "filename" : "include/control/forwarding.p4",
2566 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002567 "column" : 32,
2568 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002569 }
2570 }
2571 ]
2572 },
2573 {
2574 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Wailok Shumfac26d42021-06-18 17:30:08 +08002575 "id" : 15,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002576 "runtime_data" : [
2577 {
2578 "name" : "next_id",
2579 "bitwidth" : 32
2580 }
2581 ],
2582 "primitives" : [
2583 {
2584 "op" : "assign",
2585 "parameters" : [
2586 {
2587 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002588 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002589 },
2590 {
2591 "type" : "hexstr",
2592 "value" : "0x000000"
2593 }
2594 ],
2595 "source_info" : {
2596 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07002597 "line" : 66,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002598 "column" : 35,
2599 "source_fragment" : "= 0; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002600 }
2601 },
2602 {
2603 "op" : "assign",
2604 "parameters" : [
2605 {
2606 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002607 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002608 },
2609 {
2610 "type" : "runtime_data",
2611 "value" : 0
2612 }
2613 ],
2614 "source_info" : {
2615 "filename" : "include/control/forwarding.p4",
2616 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002617 "column" : 32,
2618 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002619 }
2620 }
2621 ]
2622 },
2623 {
2624 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
Wailok Shumfac26d42021-06-18 17:30:08 +08002625 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002626 "runtime_data" : [
2627 {
2628 "name" : "next_id",
2629 "bitwidth" : 32
2630 }
2631 ],
2632 "primitives" : [
2633 {
2634 "op" : "assign",
2635 "parameters" : [
2636 {
2637 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002638 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002639 },
2640 {
2641 "type" : "runtime_data",
2642 "value" : 0
2643 }
2644 ],
2645 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002646 "filename" : "include/control/forwarding.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002647 "line" : 30,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002648 "column" : 32,
2649 "source_fragment" : "= next_id; ..."
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002650 }
2651 }
2652 ]
2653 },
2654 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002655 "name" : "FabricIngress.forwarding.nop_routing_v4",
Wailok Shumfac26d42021-06-18 17:30:08 +08002656 "id" : 17,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002657 "runtime_data" : [],
2658 "primitives" : []
Yi Tseng47eac892018-07-11 02:17:04 +08002659 },
2660 {
Wailok Shumfac26d42021-06-18 17:30:08 +08002661 "name" : "FabricIngress.pre_next.set_mpls_label",
2662 "id" : 18,
2663 "runtime_data" : [
2664 {
2665 "name" : "label",
2666 "bitwidth" : 20
2667 }
2668 ],
2669 "primitives" : [
2670 {
2671 "op" : "assign",
2672 "parameters" : [
2673 {
2674 "type" : "field",
2675 "value" : ["scalars", "userMetadata._mpls_label4"]
2676 },
2677 {
2678 "type" : "runtime_data",
2679 "value" : 0
2680 }
2681 ],
2682 "source_info" : {
2683 "filename" : "include/control/pre_next.p4",
2684 "line" : 32,
2685 "column" : 35,
2686 "source_fragment" : "= label; ..."
2687 }
2688 }
2689 ]
2690 },
2691 {
2692 "name" : "FabricIngress.pre_next.set_vlan",
2693 "id" : 19,
2694 "runtime_data" : [
2695 {
2696 "name" : "vlan_id",
2697 "bitwidth" : 12
2698 }
2699 ],
2700 "primitives" : [
2701 {
2702 "op" : "assign",
2703 "parameters" : [
2704 {
2705 "type" : "field",
2706 "value" : ["scalars", "userMetadata._vlan_id1"]
2707 },
2708 {
2709 "type" : "runtime_data",
2710 "value" : 0
2711 }
2712 ],
2713 "source_info" : {
2714 "filename" : "include/control/pre_next.p4",
2715 "line" : 57,
2716 "column" : 32,
2717 "source_fragment" : "= vlan_id; ..."
2718 }
2719 }
2720 ]
2721 },
2722 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002723 "name" : "FabricIngress.acl.set_next_id_acl",
Wailok Shumfac26d42021-06-18 17:30:08 +08002724 "id" : 20,
Yi Tseng27b9bc02018-04-12 14:52:40 +08002725 "runtime_data" : [
2726 {
2727 "name" : "next_id",
2728 "bitwidth" : 32
2729 }
2730 ],
2731 "primitives" : [
2732 {
2733 "op" : "assign",
2734 "parameters" : [
2735 {
2736 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002737 "value" : ["scalars", "userMetadata._next_id9"]
Yi Tseng27b9bc02018-04-12 14:52:40 +08002738 },
2739 {
2740 "type" : "runtime_data",
2741 "value" : 0
2742 }
2743 ],
2744 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002745 "filename" : "include/control/acl.p4",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08002746 "line" : 39,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002747 "column" : 32,
2748 "source_fragment" : "= next_id; ..."
Yi Tseng20f9e7b2018-05-24 23:27:39 +08002749 }
2750 }
2751 ]
2752 },
2753 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002754 "name" : "FabricIngress.acl.punt_to_cpu",
Wailok Shumfac26d42021-06-18 17:30:08 +08002755 "id" : 21,
Charles Chancd03f072018-08-31 17:46:37 -07002756 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002757 "primitives" : [
2758 {
2759 "op" : "assign",
2760 "parameters" : [
2761 {
2762 "type" : "field",
2763 "value" : ["standard_metadata", "egress_spec"]
2764 },
2765 {
2766 "type" : "hexstr",
2767 "value" : "0x00ff"
2768 }
2769 ],
2770 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002771 "filename" : "include/control/acl.p4",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08002772 "line" : 45,
Carmelo Casconeb531b682018-01-30 17:55:56 -08002773 "column" : 8,
2774 "source_fragment" : "standard_metadata.egress_spec = 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002775 }
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002776 },
2777 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002778 "op" : "assign",
2779 "parameters" : [
2780 {
2781 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002782 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002783 },
2784 {
2785 "type" : "expression",
2786 "value" : {
2787 "type" : "expression",
2788 "value" : {
2789 "op" : "b2d",
2790 "left" : null,
2791 "right" : {
2792 "type" : "bool",
2793 "value" : true
2794 }
2795 }
2796 }
2797 }
2798 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002799 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002800 "filename" : "include/control/acl.p4",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08002801 "line" : 46,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002802 "column" : 34,
2803 "source_fragment" : "= true; ..."
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002804 }
2805 }
2806 ]
2807 },
2808 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002809 "name" : "FabricIngress.acl.set_clone_session_id",
Wailok Shumfac26d42021-06-18 17:30:08 +08002810 "id" : 22,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002811 "runtime_data" : [
2812 {
2813 "name" : "clone_id",
2814 "bitwidth" : 32
2815 }
2816 ],
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002817 "primitives" : [
2818 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002819 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002820 "parameters" : [
2821 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002822 "type" : "runtime_data",
2823 "value" : 0
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002824 },
2825 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002826 "type" : "hexstr",
2827 "value" : "0x1"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002828 }
2829 ],
2830 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002831 "filename" : "include/control/acl.p4",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08002832 "line" : 52,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002833 "column" : 8,
Daniele Moro3b7a21b2019-06-25 17:33:40 -07002834 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone1e8843f2018-07-19 19:01:12 +02002835 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002836 }
2837 ]
2838 },
2839 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002840 "name" : "FabricIngress.acl.drop",
Wailok Shumfac26d42021-06-18 17:30:08 +08002841 "id" : 23,
Yi Tseng47eac892018-07-11 02:17:04 +08002842 "runtime_data" : [],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002843 "primitives" : [
2844 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002845 "op" : "mark_to_drop",
2846 "parameters" : [
2847 {
2848 "type" : "header",
2849 "value" : "standard_metadata"
2850 }
2851 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002852 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002853 "filename" : "include/control/acl.p4",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08002854 "line" : 57,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002855 "column" : 8,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07002856 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002857 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002858 },
2859 {
2860 "op" : "assign",
2861 "parameters" : [
2862 {
2863 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02002864 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002865 },
2866 {
2867 "type" : "expression",
2868 "value" : {
2869 "type" : "expression",
2870 "value" : {
2871 "op" : "b2d",
2872 "left" : null,
2873 "right" : {
2874 "type" : "bool",
2875 "value" : true
2876 }
2877 }
2878 }
2879 }
2880 ],
2881 "source_info" : {
2882 "filename" : "include/control/acl.p4",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08002883 "line" : 58,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08002884 "column" : 34,
2885 "source_fragment" : "= true; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002886 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002887 }
2888 ]
2889 },
2890 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002891 "name" : "FabricIngress.acl.nop_acl",
Wailok Shumfac26d42021-06-18 17:30:08 +08002892 "id" : 24,
Charles Chancf696e52018-08-16 16:25:13 -07002893 "runtime_data" : [],
2894 "primitives" : []
2895 },
2896 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002897 "name" : "FabricIngress.next.output_xconnect",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08002898 "id" : 25,
2899 "runtime_data" : [
2900 {
2901 "name" : "port_num",
2902 "bitwidth" : 9
2903 }
2904 ],
2905 "primitives" : [
2906 {
2907 "op" : "assign",
2908 "parameters" : [
2909 {
2910 "type" : "field",
2911 "value" : ["standard_metadata", "egress_spec"]
2912 },
2913 {
2914 "type" : "runtime_data",
2915 "value" : 0
2916 }
2917 ],
2918 "source_info" : {
2919 "filename" : "include/control/next.p4",
2920 "line" : 31,
2921 "column" : 5,
2922 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2923 }
2924 }
2925 ]
2926 },
2927 {
Wailok Shumfac26d42021-06-18 17:30:08 +08002928 "name" : "FabricIngress.next.set_next_id_xconnect",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08002929 "id" : 26,
2930 "runtime_data" : [
2931 {
Wailok Shumfac26d42021-06-18 17:30:08 +08002932 "name" : "next_id",
2933 "bitwidth" : 32
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002934 }
2935 ],
2936 "primitives" : [
2937 {
2938 "op" : "assign",
2939 "parameters" : [
2940 {
2941 "type" : "field",
Wailok Shumfac26d42021-06-18 17:30:08 +08002942 "value" : ["scalars", "userMetadata._next_id9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002943 },
2944 {
2945 "type" : "runtime_data",
Wailok Shumfac26d42021-06-18 17:30:08 +08002946 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002947 }
2948 ],
2949 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002950 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08002951 "line" : 64,
2952 "column" : 32,
2953 "source_fragment" : "= next_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002954 }
Wailok Shumfac26d42021-06-18 17:30:08 +08002955 }
2956 ]
2957 },
2958 {
2959 "name" : "FabricIngress.next.output_hashed",
2960 "id" : 27,
2961 "runtime_data" : [
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002962 {
Wailok Shumfac26d42021-06-18 17:30:08 +08002963 "name" : "port_num",
2964 "bitwidth" : 9
2965 }
2966 ],
2967 "primitives" : [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002968 {
2969 "op" : "assign",
2970 "parameters" : [
2971 {
2972 "type" : "field",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002973 "value" : ["standard_metadata", "egress_spec"]
2974 },
2975 {
2976 "type" : "runtime_data",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002977 "value" : 0
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002978 }
2979 ],
2980 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02002981 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08002982 "line" : 31,
2983 "column" : 5,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08002984 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2985 }
2986 }
2987 ]
2988 },
2989 {
Wailok Shumfac26d42021-06-18 17:30:08 +08002990 "name" : "FabricIngress.next.routing_hashed",
2991 "id" : 28,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08002992 "runtime_data" : [
2993 {
2994 "name" : "port_num",
2995 "bitwidth" : 9
2996 },
2997 {
2998 "name" : "smac",
2999 "bitwidth" : 48
3000 },
3001 {
3002 "name" : "dmac",
3003 "bitwidth" : 48
3004 }
3005 ],
3006 "primitives" : [
3007 {
3008 "op" : "assign",
3009 "parameters" : [
3010 {
3011 "type" : "field",
3012 "value" : ["ethernet", "src_addr"]
3013 },
3014 {
3015 "type" : "runtime_data",
3016 "value" : 1
3017 }
3018 ],
3019 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003020 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003021 "line" : 36,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08003022 "column" : 8,
3023 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3024 }
3025 },
3026 {
3027 "op" : "assign",
3028 "parameters" : [
3029 {
3030 "type" : "field",
3031 "value" : ["ethernet", "dst_addr"]
3032 },
3033 {
3034 "type" : "runtime_data",
3035 "value" : 2
3036 }
3037 ],
3038 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003039 "filename" : "include/control/next.p4",
Yi Tseng47eac892018-07-11 02:17:04 +08003040 "line" : 41,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -08003041 "column" : 8,
3042 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3043 }
3044 },
3045 {
3046 "op" : "assign",
3047 "parameters" : [
3048 {
3049 "type" : "field",
3050 "value" : ["standard_metadata", "egress_spec"]
3051 },
3052 {
3053 "type" : "runtime_data",
3054 "value" : 0
3055 }
3056 ],
3057 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003058 "filename" : "include/control/next.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003059 "line" : 31,
3060 "column" : 5,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08003061 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3062 }
3063 }
3064 ]
3065 },
3066 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003067 "name" : "FabricIngress.next.set_mcast_group_id",
Wailok Shumfac26d42021-06-18 17:30:08 +08003068 "id" : 29,
Esin Karaman971fb7f2017-12-28 13:44:52 +00003069 "runtime_data" : [
3070 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003071 "name" : "group_id",
Esin Karaman971fb7f2017-12-28 13:44:52 +00003072 "bitwidth" : 16
3073 }
3074 ],
3075 "primitives" : [
3076 {
3077 "op" : "assign",
3078 "parameters" : [
3079 {
3080 "type" : "field",
3081 "value" : ["standard_metadata", "mcast_grp"]
3082 },
3083 {
3084 "type" : "runtime_data",
3085 "value" : 0
3086 }
3087 ],
3088 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02003089 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08003090 "line" : 166,
Esin Karaman971fb7f2017-12-28 13:44:52 +00003091 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08003092 "source_fragment" : "standard_metadata.mcast_grp = group_id"
Esin Karaman971fb7f2017-12-28 13:44:52 +00003093 }
Carmelo Casconea5400af2018-07-17 22:11:54 +02003094 },
3095 {
3096 "op" : "assign",
3097 "parameters" : [
3098 {
3099 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003100 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Casconea5400af2018-07-17 22:11:54 +02003101 },
3102 {
3103 "type" : "expression",
3104 "value" : {
3105 "type" : "expression",
3106 "value" : {
3107 "op" : "b2d",
3108 "left" : null,
3109 "right" : {
3110 "type" : "bool",
3111 "value" : true
3112 }
3113 }
3114 }
3115 }
3116 ],
3117 "source_info" : {
3118 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08003119 "line" : 167,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08003120 "column" : 37,
3121 "source_fragment" : "= true; ..."
Carmelo Casconea5400af2018-07-17 22:11:54 +02003122 }
Esin Karaman971fb7f2017-12-28 13:44:52 +00003123 }
3124 ]
3125 },
3126 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003127 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
Wailok Shumfac26d42021-06-18 17:30:08 +08003128 "id" : 30,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003129 "runtime_data" : [],
3130 "primitives" : [
3131 {
3132 "op" : "assign",
3133 "parameters" : [
3134 {
3135 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003136 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003137 },
3138 {
3139 "type" : "hexstr",
3140 "value" : "0x0800"
3141 }
3142 ],
3143 "source_info" : {
3144 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08003145 "line" : 132,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003146 "column" : 31,
3147 "source_fragment" : "0x0800; ..."
3148 }
3149 },
3150 {
3151 "op" : "assign",
3152 "parameters" : [
3153 {
3154 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003155 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003156 },
3157 {
3158 "type" : "field",
3159 "value" : ["inner_ipv4", "protocol"]
3160 }
3161 ],
3162 "source_info" : {
3163 "filename" : "include/control/spgw.p4",
3164 "line" : 39,
3165 "column" : 27,
3166 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3167 }
3168 },
3169 {
3170 "op" : "assign",
3171 "parameters" : [
3172 {
3173 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003174 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003175 },
3176 {
3177 "type" : "field",
3178 "value" : ["inner_ipv4", "src_addr"]
3179 }
3180 ],
3181 "source_info" : {
3182 "filename" : "include/control/spgw.p4",
3183 "line" : 40,
3184 "column" : 32,
3185 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3186 }
3187 },
3188 {
3189 "op" : "assign",
3190 "parameters" : [
3191 {
3192 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003193 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003194 },
3195 {
3196 "type" : "field",
3197 "value" : ["inner_ipv4", "dst_addr"]
3198 }
3199 ],
3200 "source_info" : {
3201 "filename" : "include/control/spgw.p4",
3202 "line" : 41,
3203 "column" : 32,
3204 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3205 }
3206 },
3207 {
3208 "op" : "assign",
3209 "parameters" : [
3210 {
3211 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003212 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003213 },
3214 {
3215 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003216 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003217 }
3218 ],
3219 "source_info" : {
3220 "filename" : "include/control/spgw.p4",
3221 "line" : 42,
3222 "column" : 27,
3223 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3224 }
3225 },
3226 {
3227 "op" : "assign",
3228 "parameters" : [
3229 {
3230 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003231 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003232 },
3233 {
3234 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003235 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003236 }
3237 ],
3238 "source_info" : {
3239 "filename" : "include/control/spgw.p4",
3240 "line" : 43,
3241 "column" : 27,
3242 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3243 }
3244 },
3245 {
3246 "op" : "assign_header",
3247 "parameters" : [
3248 {
3249 "type" : "header",
3250 "value" : "ipv4"
3251 },
3252 {
3253 "type" : "header",
3254 "value" : "inner_ipv4"
3255 }
3256 ],
3257 "source_info" : {
3258 "filename" : "include/control/spgw.p4",
3259 "line" : 45,
3260 "column" : 8,
3261 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3262 }
3263 },
3264 {
3265 "op" : "remove_header",
3266 "parameters" : [
3267 {
3268 "type" : "header",
3269 "value" : "inner_ipv4"
3270 }
3271 ],
3272 "source_info" : {
3273 "filename" : "include/control/spgw.p4",
3274 "line" : 46,
3275 "column" : 8,
3276 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3277 }
3278 },
3279 {
3280 "op" : "remove_header",
3281 "parameters" : [
3282 {
3283 "type" : "header",
3284 "value" : "gtpu"
3285 }
3286 ],
3287 "source_info" : {
3288 "filename" : "include/control/spgw.p4",
3289 "line" : 47,
3290 "column" : 8,
3291 "source_fragment" : "hdr.gtpu.setInvalid()"
3292 }
3293 },
3294 {
3295 "op" : "remove_header",
3296 "parameters" : [
3297 {
3298 "type" : "header",
3299 "value" : "udp"
3300 }
3301 ],
3302 "source_info" : {
3303 "filename" : "include/control/spgw.p4",
3304 "line" : 52,
3305 "column" : 8,
3306 "source_fragment" : "hdr.udp.setInvalid()"
3307 }
3308 },
3309 {
3310 "op" : "assign_header",
3311 "parameters" : [
3312 {
3313 "type" : "header",
3314 "value" : "tcp"
3315 },
3316 {
3317 "type" : "header",
3318 "value" : "inner_tcp"
3319 }
3320 ],
3321 "source_info" : {
3322 "filename" : "include/control/spgw.p4",
3323 "line" : 53,
3324 "column" : 8,
3325 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
3326 }
3327 },
3328 {
3329 "op" : "remove_header",
3330 "parameters" : [
3331 {
3332 "type" : "header",
3333 "value" : "inner_tcp"
3334 }
3335 ],
3336 "source_info" : {
3337 "filename" : "include/control/spgw.p4",
3338 "line" : 54,
3339 "column" : 8,
3340 "source_fragment" : "hdr.inner_tcp.setInvalid()"
3341 }
3342 }
3343 ]
3344 },
3345 {
3346 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
Wailok Shumfac26d42021-06-18 17:30:08 +08003347 "id" : 31,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003348 "runtime_data" : [],
3349 "primitives" : [
3350 {
3351 "op" : "assign",
3352 "parameters" : [
3353 {
3354 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003355 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003356 },
3357 {
3358 "type" : "hexstr",
3359 "value" : "0x0800"
3360 }
3361 ],
3362 "source_info" : {
3363 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08003364 "line" : 132,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003365 "column" : 31,
3366 "source_fragment" : "0x0800; ..."
3367 }
3368 },
3369 {
3370 "op" : "assign",
3371 "parameters" : [
3372 {
3373 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003374 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003375 },
3376 {
3377 "type" : "field",
3378 "value" : ["inner_ipv4", "protocol"]
3379 }
3380 ],
3381 "source_info" : {
3382 "filename" : "include/control/spgw.p4",
3383 "line" : 39,
3384 "column" : 27,
3385 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3386 }
3387 },
3388 {
3389 "op" : "assign",
3390 "parameters" : [
3391 {
3392 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003393 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003394 },
3395 {
3396 "type" : "field",
3397 "value" : ["inner_ipv4", "src_addr"]
3398 }
3399 ],
3400 "source_info" : {
3401 "filename" : "include/control/spgw.p4",
3402 "line" : 40,
3403 "column" : 32,
3404 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3405 }
3406 },
3407 {
3408 "op" : "assign",
3409 "parameters" : [
3410 {
3411 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003412 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003413 },
3414 {
3415 "type" : "field",
3416 "value" : ["inner_ipv4", "dst_addr"]
3417 }
3418 ],
3419 "source_info" : {
3420 "filename" : "include/control/spgw.p4",
3421 "line" : 41,
3422 "column" : 32,
3423 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3424 }
3425 },
3426 {
3427 "op" : "assign",
3428 "parameters" : [
3429 {
3430 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003431 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003432 },
3433 {
3434 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003435 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003436 }
3437 ],
3438 "source_info" : {
3439 "filename" : "include/control/spgw.p4",
3440 "line" : 42,
3441 "column" : 27,
3442 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3443 }
3444 },
3445 {
3446 "op" : "assign",
3447 "parameters" : [
3448 {
3449 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003450 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003451 },
3452 {
3453 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003454 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003455 }
3456 ],
3457 "source_info" : {
3458 "filename" : "include/control/spgw.p4",
3459 "line" : 43,
3460 "column" : 27,
3461 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3462 }
3463 },
3464 {
3465 "op" : "assign_header",
3466 "parameters" : [
3467 {
3468 "type" : "header",
3469 "value" : "ipv4"
3470 },
3471 {
3472 "type" : "header",
3473 "value" : "inner_ipv4"
3474 }
3475 ],
3476 "source_info" : {
3477 "filename" : "include/control/spgw.p4",
3478 "line" : 45,
3479 "column" : 8,
3480 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3481 }
3482 },
3483 {
3484 "op" : "remove_header",
3485 "parameters" : [
3486 {
3487 "type" : "header",
3488 "value" : "inner_ipv4"
3489 }
3490 ],
3491 "source_info" : {
3492 "filename" : "include/control/spgw.p4",
3493 "line" : 46,
3494 "column" : 8,
3495 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3496 }
3497 },
3498 {
3499 "op" : "remove_header",
3500 "parameters" : [
3501 {
3502 "type" : "header",
3503 "value" : "gtpu"
3504 }
3505 ],
3506 "source_info" : {
3507 "filename" : "include/control/spgw.p4",
3508 "line" : 47,
3509 "column" : 8,
3510 "source_fragment" : "hdr.gtpu.setInvalid()"
3511 }
3512 },
3513 {
3514 "op" : "assign_header",
3515 "parameters" : [
3516 {
3517 "type" : "header",
3518 "value" : "udp"
3519 },
3520 {
3521 "type" : "header",
3522 "value" : "inner_udp"
3523 }
3524 ],
3525 "source_info" : {
3526 "filename" : "include/control/spgw.p4",
3527 "line" : 59,
3528 "column" : 8,
3529 "source_fragment" : "hdr.udp = hdr.inner_udp"
3530 }
3531 },
3532 {
3533 "op" : "remove_header",
3534 "parameters" : [
3535 {
3536 "type" : "header",
3537 "value" : "inner_udp"
3538 }
3539 ],
3540 "source_info" : {
3541 "filename" : "include/control/spgw.p4",
3542 "line" : 60,
3543 "column" : 8,
3544 "source_fragment" : "hdr.inner_udp.setInvalid()"
3545 }
3546 }
3547 ]
3548 },
3549 {
3550 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
Wailok Shumfac26d42021-06-18 17:30:08 +08003551 "id" : 32,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003552 "runtime_data" : [],
3553 "primitives" : [
3554 {
3555 "op" : "assign",
3556 "parameters" : [
3557 {
3558 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003559 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003560 },
3561 {
3562 "type" : "hexstr",
3563 "value" : "0x0800"
3564 }
3565 ],
3566 "source_info" : {
3567 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08003568 "line" : 132,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003569 "column" : 31,
3570 "source_fragment" : "0x0800; ..."
3571 }
3572 },
3573 {
3574 "op" : "assign",
3575 "parameters" : [
3576 {
3577 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003578 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003579 },
3580 {
3581 "type" : "field",
3582 "value" : ["inner_ipv4", "protocol"]
3583 }
3584 ],
3585 "source_info" : {
3586 "filename" : "include/control/spgw.p4",
3587 "line" : 39,
3588 "column" : 27,
3589 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3590 }
3591 },
3592 {
3593 "op" : "assign",
3594 "parameters" : [
3595 {
3596 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003597 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003598 },
3599 {
3600 "type" : "field",
3601 "value" : ["inner_ipv4", "src_addr"]
3602 }
3603 ],
3604 "source_info" : {
3605 "filename" : "include/control/spgw.p4",
3606 "line" : 40,
3607 "column" : 32,
3608 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3609 }
3610 },
3611 {
3612 "op" : "assign",
3613 "parameters" : [
3614 {
3615 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003616 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003617 },
3618 {
3619 "type" : "field",
3620 "value" : ["inner_ipv4", "dst_addr"]
3621 }
3622 ],
3623 "source_info" : {
3624 "filename" : "include/control/spgw.p4",
3625 "line" : 41,
3626 "column" : 32,
3627 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3628 }
3629 },
3630 {
3631 "op" : "assign",
3632 "parameters" : [
3633 {
3634 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003635 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003636 },
3637 {
3638 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003639 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003640 }
3641 ],
3642 "source_info" : {
3643 "filename" : "include/control/spgw.p4",
3644 "line" : 42,
3645 "column" : 27,
3646 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3647 }
3648 },
3649 {
3650 "op" : "assign",
3651 "parameters" : [
3652 {
3653 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003654 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003655 },
3656 {
3657 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003658 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003659 }
3660 ],
3661 "source_info" : {
3662 "filename" : "include/control/spgw.p4",
3663 "line" : 43,
3664 "column" : 27,
3665 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3666 }
3667 },
3668 {
3669 "op" : "assign_header",
3670 "parameters" : [
3671 {
3672 "type" : "header",
3673 "value" : "ipv4"
3674 },
3675 {
3676 "type" : "header",
3677 "value" : "inner_ipv4"
3678 }
3679 ],
3680 "source_info" : {
3681 "filename" : "include/control/spgw.p4",
3682 "line" : 45,
3683 "column" : 8,
3684 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3685 }
3686 },
3687 {
3688 "op" : "remove_header",
3689 "parameters" : [
3690 {
3691 "type" : "header",
3692 "value" : "inner_ipv4"
3693 }
3694 ],
3695 "source_info" : {
3696 "filename" : "include/control/spgw.p4",
3697 "line" : 46,
3698 "column" : 8,
3699 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3700 }
3701 },
3702 {
3703 "op" : "remove_header",
3704 "parameters" : [
3705 {
3706 "type" : "header",
3707 "value" : "gtpu"
3708 }
3709 ],
3710 "source_info" : {
3711 "filename" : "include/control/spgw.p4",
3712 "line" : 47,
3713 "column" : 8,
3714 "source_fragment" : "hdr.gtpu.setInvalid()"
3715 }
3716 },
3717 {
3718 "op" : "remove_header",
3719 "parameters" : [
3720 {
3721 "type" : "header",
3722 "value" : "udp"
3723 }
3724 ],
3725 "source_info" : {
3726 "filename" : "include/control/spgw.p4",
3727 "line" : 65,
3728 "column" : 8,
3729 "source_fragment" : "hdr.udp.setInvalid()"
3730 }
3731 },
3732 {
3733 "op" : "assign_header",
3734 "parameters" : [
3735 {
3736 "type" : "header",
3737 "value" : "icmp"
3738 },
3739 {
3740 "type" : "header",
3741 "value" : "inner_icmp"
3742 }
3743 ],
3744 "source_info" : {
3745 "filename" : "include/control/spgw.p4",
3746 "line" : 66,
3747 "column" : 8,
3748 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
3749 }
3750 },
3751 {
3752 "op" : "remove_header",
3753 "parameters" : [
3754 {
3755 "type" : "header",
3756 "value" : "inner_icmp"
3757 }
3758 ],
3759 "source_info" : {
3760 "filename" : "include/control/spgw.p4",
3761 "line" : 67,
3762 "column" : 8,
3763 "source_fragment" : "hdr.inner_icmp.setInvalid()"
3764 }
3765 }
3766 ]
3767 },
3768 {
3769 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
Wailok Shumfac26d42021-06-18 17:30:08 +08003770 "id" : 33,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003771 "runtime_data" : [],
3772 "primitives" : [
3773 {
3774 "op" : "assign",
3775 "parameters" : [
3776 {
3777 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003778 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003779 },
3780 {
3781 "type" : "hexstr",
3782 "value" : "0x0800"
3783 }
3784 ],
3785 "source_info" : {
3786 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08003787 "line" : 132,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003788 "column" : 31,
3789 "source_fragment" : "0x0800; ..."
3790 }
3791 },
3792 {
3793 "op" : "assign",
3794 "parameters" : [
3795 {
3796 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003797 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003798 },
3799 {
3800 "type" : "field",
3801 "value" : ["inner_ipv4", "protocol"]
3802 }
3803 ],
3804 "source_info" : {
3805 "filename" : "include/control/spgw.p4",
3806 "line" : 39,
3807 "column" : 27,
3808 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3809 }
3810 },
3811 {
3812 "op" : "assign",
3813 "parameters" : [
3814 {
3815 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003816 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003817 },
3818 {
3819 "type" : "field",
3820 "value" : ["inner_ipv4", "src_addr"]
3821 }
3822 ],
3823 "source_info" : {
3824 "filename" : "include/control/spgw.p4",
3825 "line" : 40,
3826 "column" : 32,
3827 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
3828 }
3829 },
3830 {
3831 "op" : "assign",
3832 "parameters" : [
3833 {
3834 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003835 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003836 },
3837 {
3838 "type" : "field",
3839 "value" : ["inner_ipv4", "dst_addr"]
3840 }
3841 ],
3842 "source_info" : {
3843 "filename" : "include/control/spgw.p4",
3844 "line" : 41,
3845 "column" : 32,
3846 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
3847 }
3848 },
3849 {
3850 "op" : "assign",
3851 "parameters" : [
3852 {
3853 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003854 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003855 },
3856 {
3857 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003858 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003859 }
3860 ],
3861 "source_info" : {
3862 "filename" : "include/control/spgw.p4",
3863 "line" : 42,
3864 "column" : 27,
3865 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
3866 }
3867 },
3868 {
3869 "op" : "assign",
3870 "parameters" : [
3871 {
3872 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003873 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003874 },
3875 {
3876 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003877 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003878 }
3879 ],
3880 "source_info" : {
3881 "filename" : "include/control/spgw.p4",
3882 "line" : 43,
3883 "column" : 27,
3884 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
3885 }
3886 },
3887 {
3888 "op" : "assign_header",
3889 "parameters" : [
3890 {
3891 "type" : "header",
3892 "value" : "ipv4"
3893 },
3894 {
3895 "type" : "header",
3896 "value" : "inner_ipv4"
3897 }
3898 ],
3899 "source_info" : {
3900 "filename" : "include/control/spgw.p4",
3901 "line" : 45,
3902 "column" : 8,
3903 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
3904 }
3905 },
3906 {
3907 "op" : "remove_header",
3908 "parameters" : [
3909 {
3910 "type" : "header",
3911 "value" : "inner_ipv4"
3912 }
3913 ],
3914 "source_info" : {
3915 "filename" : "include/control/spgw.p4",
3916 "line" : 46,
3917 "column" : 8,
3918 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
3919 }
3920 },
3921 {
3922 "op" : "remove_header",
3923 "parameters" : [
3924 {
3925 "type" : "header",
3926 "value" : "gtpu"
3927 }
3928 ],
3929 "source_info" : {
3930 "filename" : "include/control/spgw.p4",
3931 "line" : 47,
3932 "column" : 8,
3933 "source_fragment" : "hdr.gtpu.setInvalid()"
3934 }
3935 },
3936 {
3937 "op" : "remove_header",
3938 "parameters" : [
3939 {
3940 "type" : "header",
3941 "value" : "udp"
3942 }
3943 ],
3944 "source_info" : {
3945 "filename" : "include/control/spgw.p4",
3946 "line" : 72,
3947 "column" : 8,
3948 "source_fragment" : "hdr.udp.setInvalid()"
3949 }
3950 }
3951 ]
3952 },
3953 {
3954 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
Wailok Shumfac26d42021-06-18 17:30:08 +08003955 "id" : 34,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003956 "runtime_data" : [],
3957 "primitives" : [
3958 {
3959 "op" : "assign",
3960 "parameters" : [
3961 {
3962 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003963 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003964 },
3965 {
3966 "type" : "hexstr",
3967 "value" : "0x0800"
3968 }
3969 ],
3970 "source_info" : {
3971 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08003972 "line" : 132,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003973 "column" : 31,
3974 "source_fragment" : "0x0800; ..."
3975 }
3976 },
3977 {
3978 "op" : "assign",
3979 "parameters" : [
3980 {
3981 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02003982 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08003983 },
3984 {
3985 "type" : "field",
3986 "value" : ["inner_ipv4", "protocol"]
3987 }
3988 ],
3989 "source_info" : {
3990 "filename" : "include/control/spgw.p4",
3991 "line" : 39,
3992 "column" : 27,
3993 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
3994 }
3995 },
3996 {
3997 "op" : "assign",
3998 "parameters" : [
3999 {
4000 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004001 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004002 },
4003 {
4004 "type" : "field",
4005 "value" : ["inner_ipv4", "src_addr"]
4006 }
4007 ],
4008 "source_info" : {
4009 "filename" : "include/control/spgw.p4",
4010 "line" : 40,
4011 "column" : 32,
4012 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4013 }
4014 },
4015 {
4016 "op" : "assign",
4017 "parameters" : [
4018 {
4019 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004020 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004021 },
4022 {
4023 "type" : "field",
4024 "value" : ["inner_ipv4", "dst_addr"]
4025 }
4026 ],
4027 "source_info" : {
4028 "filename" : "include/control/spgw.p4",
4029 "line" : 41,
4030 "column" : 32,
4031 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4032 }
4033 },
4034 {
4035 "op" : "assign",
4036 "parameters" : [
4037 {
4038 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004039 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004040 },
4041 {
4042 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004043 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004044 }
4045 ],
4046 "source_info" : {
4047 "filename" : "include/control/spgw.p4",
4048 "line" : 42,
4049 "column" : 27,
4050 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4051 }
4052 },
4053 {
4054 "op" : "assign",
4055 "parameters" : [
4056 {
4057 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004058 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004059 },
4060 {
4061 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004062 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004063 }
4064 ],
4065 "source_info" : {
4066 "filename" : "include/control/spgw.p4",
4067 "line" : 43,
4068 "column" : 27,
4069 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4070 }
4071 },
4072 {
4073 "op" : "assign_header",
4074 "parameters" : [
4075 {
4076 "type" : "header",
4077 "value" : "ipv4"
4078 },
4079 {
4080 "type" : "header",
4081 "value" : "inner_ipv4"
4082 }
4083 ],
4084 "source_info" : {
4085 "filename" : "include/control/spgw.p4",
4086 "line" : 45,
4087 "column" : 8,
4088 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4089 }
4090 },
4091 {
4092 "op" : "remove_header",
4093 "parameters" : [
4094 {
4095 "type" : "header",
4096 "value" : "inner_ipv4"
4097 }
4098 ],
4099 "source_info" : {
4100 "filename" : "include/control/spgw.p4",
4101 "line" : 46,
4102 "column" : 8,
4103 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4104 }
4105 },
4106 {
4107 "op" : "remove_header",
4108 "parameters" : [
4109 {
4110 "type" : "header",
4111 "value" : "gtpu"
4112 }
4113 ],
4114 "source_info" : {
4115 "filename" : "include/control/spgw.p4",
4116 "line" : 47,
4117 "column" : 8,
4118 "source_fragment" : "hdr.gtpu.setInvalid()"
4119 }
4120 },
4121 {
4122 "op" : "remove_header",
4123 "parameters" : [
4124 {
4125 "type" : "header",
4126 "value" : "udp"
4127 }
4128 ],
4129 "source_info" : {
4130 "filename" : "include/control/spgw.p4",
4131 "line" : 52,
4132 "column" : 8,
4133 "source_fragment" : "hdr.udp.setInvalid()"
4134 }
4135 },
4136 {
4137 "op" : "assign_header",
4138 "parameters" : [
4139 {
4140 "type" : "header",
4141 "value" : "tcp"
4142 },
4143 {
4144 "type" : "header",
4145 "value" : "inner_tcp"
4146 }
4147 ],
4148 "source_info" : {
4149 "filename" : "include/control/spgw.p4",
4150 "line" : 53,
4151 "column" : 8,
4152 "source_fragment" : "hdr.tcp = hdr.inner_tcp"
4153 }
4154 },
4155 {
4156 "op" : "remove_header",
4157 "parameters" : [
4158 {
4159 "type" : "header",
4160 "value" : "inner_tcp"
4161 }
4162 ],
4163 "source_info" : {
4164 "filename" : "include/control/spgw.p4",
4165 "line" : 54,
4166 "column" : 8,
4167 "source_fragment" : "hdr.inner_tcp.setInvalid()"
4168 }
4169 }
4170 ]
4171 },
4172 {
4173 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
Wailok Shumfac26d42021-06-18 17:30:08 +08004174 "id" : 35,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004175 "runtime_data" : [],
4176 "primitives" : [
4177 {
4178 "op" : "assign",
4179 "parameters" : [
4180 {
4181 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004182 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004183 },
4184 {
4185 "type" : "hexstr",
4186 "value" : "0x0800"
4187 }
4188 ],
4189 "source_info" : {
4190 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08004191 "line" : 132,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004192 "column" : 31,
4193 "source_fragment" : "0x0800; ..."
4194 }
4195 },
4196 {
4197 "op" : "assign",
4198 "parameters" : [
4199 {
4200 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004201 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004202 },
4203 {
4204 "type" : "field",
4205 "value" : ["inner_ipv4", "protocol"]
4206 }
4207 ],
4208 "source_info" : {
4209 "filename" : "include/control/spgw.p4",
4210 "line" : 39,
4211 "column" : 27,
4212 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4213 }
4214 },
4215 {
4216 "op" : "assign",
4217 "parameters" : [
4218 {
4219 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004220 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004221 },
4222 {
4223 "type" : "field",
4224 "value" : ["inner_ipv4", "src_addr"]
4225 }
4226 ],
4227 "source_info" : {
4228 "filename" : "include/control/spgw.p4",
4229 "line" : 40,
4230 "column" : 32,
4231 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4232 }
4233 },
4234 {
4235 "op" : "assign",
4236 "parameters" : [
4237 {
4238 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004239 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004240 },
4241 {
4242 "type" : "field",
4243 "value" : ["inner_ipv4", "dst_addr"]
4244 }
4245 ],
4246 "source_info" : {
4247 "filename" : "include/control/spgw.p4",
4248 "line" : 41,
4249 "column" : 32,
4250 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4251 }
4252 },
4253 {
4254 "op" : "assign",
4255 "parameters" : [
4256 {
4257 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004258 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004259 },
4260 {
4261 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004262 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004263 }
4264 ],
4265 "source_info" : {
4266 "filename" : "include/control/spgw.p4",
4267 "line" : 42,
4268 "column" : 27,
4269 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4270 }
4271 },
4272 {
4273 "op" : "assign",
4274 "parameters" : [
4275 {
4276 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004277 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004278 },
4279 {
4280 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004281 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004282 }
4283 ],
4284 "source_info" : {
4285 "filename" : "include/control/spgw.p4",
4286 "line" : 43,
4287 "column" : 27,
4288 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4289 }
4290 },
4291 {
4292 "op" : "assign_header",
4293 "parameters" : [
4294 {
4295 "type" : "header",
4296 "value" : "ipv4"
4297 },
4298 {
4299 "type" : "header",
4300 "value" : "inner_ipv4"
4301 }
4302 ],
4303 "source_info" : {
4304 "filename" : "include/control/spgw.p4",
4305 "line" : 45,
4306 "column" : 8,
4307 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4308 }
4309 },
4310 {
4311 "op" : "remove_header",
4312 "parameters" : [
4313 {
4314 "type" : "header",
4315 "value" : "inner_ipv4"
4316 }
4317 ],
4318 "source_info" : {
4319 "filename" : "include/control/spgw.p4",
4320 "line" : 46,
4321 "column" : 8,
4322 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4323 }
4324 },
4325 {
4326 "op" : "remove_header",
4327 "parameters" : [
4328 {
4329 "type" : "header",
4330 "value" : "gtpu"
4331 }
4332 ],
4333 "source_info" : {
4334 "filename" : "include/control/spgw.p4",
4335 "line" : 47,
4336 "column" : 8,
4337 "source_fragment" : "hdr.gtpu.setInvalid()"
4338 }
4339 },
4340 {
4341 "op" : "assign_header",
4342 "parameters" : [
4343 {
4344 "type" : "header",
4345 "value" : "udp"
4346 },
4347 {
4348 "type" : "header",
4349 "value" : "inner_udp"
4350 }
4351 ],
4352 "source_info" : {
4353 "filename" : "include/control/spgw.p4",
4354 "line" : 59,
4355 "column" : 8,
4356 "source_fragment" : "hdr.udp = hdr.inner_udp"
4357 }
4358 },
4359 {
4360 "op" : "remove_header",
4361 "parameters" : [
4362 {
4363 "type" : "header",
4364 "value" : "inner_udp"
4365 }
4366 ],
4367 "source_info" : {
4368 "filename" : "include/control/spgw.p4",
4369 "line" : 60,
4370 "column" : 8,
4371 "source_fragment" : "hdr.inner_udp.setInvalid()"
4372 }
4373 }
4374 ]
4375 },
4376 {
4377 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
Wailok Shumfac26d42021-06-18 17:30:08 +08004378 "id" : 36,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004379 "runtime_data" : [],
4380 "primitives" : [
4381 {
4382 "op" : "assign",
4383 "parameters" : [
4384 {
4385 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004386 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004387 },
4388 {
4389 "type" : "hexstr",
4390 "value" : "0x0800"
4391 }
4392 ],
4393 "source_info" : {
4394 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08004395 "line" : 132,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004396 "column" : 31,
4397 "source_fragment" : "0x0800; ..."
4398 }
4399 },
4400 {
4401 "op" : "assign",
4402 "parameters" : [
4403 {
4404 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004405 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004406 },
4407 {
4408 "type" : "field",
4409 "value" : ["inner_ipv4", "protocol"]
4410 }
4411 ],
4412 "source_info" : {
4413 "filename" : "include/control/spgw.p4",
4414 "line" : 39,
4415 "column" : 27,
4416 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4417 }
4418 },
4419 {
4420 "op" : "assign",
4421 "parameters" : [
4422 {
4423 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004424 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004425 },
4426 {
4427 "type" : "field",
4428 "value" : ["inner_ipv4", "src_addr"]
4429 }
4430 ],
4431 "source_info" : {
4432 "filename" : "include/control/spgw.p4",
4433 "line" : 40,
4434 "column" : 32,
4435 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4436 }
4437 },
4438 {
4439 "op" : "assign",
4440 "parameters" : [
4441 {
4442 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004443 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004444 },
4445 {
4446 "type" : "field",
4447 "value" : ["inner_ipv4", "dst_addr"]
4448 }
4449 ],
4450 "source_info" : {
4451 "filename" : "include/control/spgw.p4",
4452 "line" : 41,
4453 "column" : 32,
4454 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4455 }
4456 },
4457 {
4458 "op" : "assign",
4459 "parameters" : [
4460 {
4461 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004462 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004463 },
4464 {
4465 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004466 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004467 }
4468 ],
4469 "source_info" : {
4470 "filename" : "include/control/spgw.p4",
4471 "line" : 42,
4472 "column" : 27,
4473 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4474 }
4475 },
4476 {
4477 "op" : "assign",
4478 "parameters" : [
4479 {
4480 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004481 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004482 },
4483 {
4484 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004485 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004486 }
4487 ],
4488 "source_info" : {
4489 "filename" : "include/control/spgw.p4",
4490 "line" : 43,
4491 "column" : 27,
4492 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4493 }
4494 },
4495 {
4496 "op" : "assign_header",
4497 "parameters" : [
4498 {
4499 "type" : "header",
4500 "value" : "ipv4"
4501 },
4502 {
4503 "type" : "header",
4504 "value" : "inner_ipv4"
4505 }
4506 ],
4507 "source_info" : {
4508 "filename" : "include/control/spgw.p4",
4509 "line" : 45,
4510 "column" : 8,
4511 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4512 }
4513 },
4514 {
4515 "op" : "remove_header",
4516 "parameters" : [
4517 {
4518 "type" : "header",
4519 "value" : "inner_ipv4"
4520 }
4521 ],
4522 "source_info" : {
4523 "filename" : "include/control/spgw.p4",
4524 "line" : 46,
4525 "column" : 8,
4526 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4527 }
4528 },
4529 {
4530 "op" : "remove_header",
4531 "parameters" : [
4532 {
4533 "type" : "header",
4534 "value" : "gtpu"
4535 }
4536 ],
4537 "source_info" : {
4538 "filename" : "include/control/spgw.p4",
4539 "line" : 47,
4540 "column" : 8,
4541 "source_fragment" : "hdr.gtpu.setInvalid()"
4542 }
4543 },
4544 {
4545 "op" : "remove_header",
4546 "parameters" : [
4547 {
4548 "type" : "header",
4549 "value" : "udp"
4550 }
4551 ],
4552 "source_info" : {
4553 "filename" : "include/control/spgw.p4",
4554 "line" : 65,
4555 "column" : 8,
4556 "source_fragment" : "hdr.udp.setInvalid()"
4557 }
4558 },
4559 {
4560 "op" : "assign_header",
4561 "parameters" : [
4562 {
4563 "type" : "header",
4564 "value" : "icmp"
4565 },
4566 {
4567 "type" : "header",
4568 "value" : "inner_icmp"
4569 }
4570 ],
4571 "source_info" : {
4572 "filename" : "include/control/spgw.p4",
4573 "line" : 66,
4574 "column" : 8,
4575 "source_fragment" : "hdr.icmp = hdr.inner_icmp"
4576 }
4577 },
4578 {
4579 "op" : "remove_header",
4580 "parameters" : [
4581 {
4582 "type" : "header",
4583 "value" : "inner_icmp"
4584 }
4585 ],
4586 "source_info" : {
4587 "filename" : "include/control/spgw.p4",
4588 "line" : 67,
4589 "column" : 8,
4590 "source_fragment" : "hdr.inner_icmp.setInvalid()"
4591 }
4592 }
4593 ]
4594 },
4595 {
4596 "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
Wailok Shumfac26d42021-06-18 17:30:08 +08004597 "id" : 37,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004598 "runtime_data" : [],
4599 "primitives" : [
4600 {
4601 "op" : "assign",
4602 "parameters" : [
4603 {
4604 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004605 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004606 },
4607 {
4608 "type" : "hexstr",
4609 "value" : "0x0800"
4610 }
4611 ],
4612 "source_info" : {
4613 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08004614 "line" : 132,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004615 "column" : 31,
4616 "source_fragment" : "0x0800; ..."
4617 }
4618 },
4619 {
4620 "op" : "assign",
4621 "parameters" : [
4622 {
4623 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004624 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004625 },
4626 {
4627 "type" : "field",
4628 "value" : ["inner_ipv4", "protocol"]
4629 }
4630 ],
4631 "source_info" : {
4632 "filename" : "include/control/spgw.p4",
4633 "line" : 39,
4634 "column" : 27,
4635 "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
4636 }
4637 },
4638 {
4639 "op" : "assign",
4640 "parameters" : [
4641 {
4642 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004643 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004644 },
4645 {
4646 "type" : "field",
4647 "value" : ["inner_ipv4", "src_addr"]
4648 }
4649 ],
4650 "source_info" : {
4651 "filename" : "include/control/spgw.p4",
4652 "line" : 40,
4653 "column" : 32,
4654 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
4655 }
4656 },
4657 {
4658 "op" : "assign",
4659 "parameters" : [
4660 {
4661 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004662 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004663 },
4664 {
4665 "type" : "field",
4666 "value" : ["inner_ipv4", "dst_addr"]
4667 }
4668 ],
4669 "source_info" : {
4670 "filename" : "include/control/spgw.p4",
4671 "line" : 41,
4672 "column" : 32,
4673 "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
4674 }
4675 },
4676 {
4677 "op" : "assign",
4678 "parameters" : [
4679 {
4680 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004681 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004682 },
4683 {
4684 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004685 "value" : ["scalars", "userMetadata._inner_l4_sport17"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004686 }
4687 ],
4688 "source_info" : {
4689 "filename" : "include/control/spgw.p4",
4690 "line" : 42,
4691 "column" : 27,
4692 "source_fragment" : "= fabric_md.inner_l4_sport; ..."
4693 }
4694 },
4695 {
4696 "op" : "assign",
4697 "parameters" : [
4698 {
4699 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004700 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004701 },
4702 {
4703 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004704 "value" : ["scalars", "userMetadata._inner_l4_dport18"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004705 }
4706 ],
4707 "source_info" : {
4708 "filename" : "include/control/spgw.p4",
4709 "line" : 43,
4710 "column" : 27,
4711 "source_fragment" : "= fabric_md.inner_l4_dport; ..."
4712 }
4713 },
4714 {
4715 "op" : "assign_header",
4716 "parameters" : [
4717 {
4718 "type" : "header",
4719 "value" : "ipv4"
4720 },
4721 {
4722 "type" : "header",
4723 "value" : "inner_ipv4"
4724 }
4725 ],
4726 "source_info" : {
4727 "filename" : "include/control/spgw.p4",
4728 "line" : 45,
4729 "column" : 8,
4730 "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
4731 }
4732 },
4733 {
4734 "op" : "remove_header",
4735 "parameters" : [
4736 {
4737 "type" : "header",
4738 "value" : "inner_ipv4"
4739 }
4740 ],
4741 "source_info" : {
4742 "filename" : "include/control/spgw.p4",
4743 "line" : 46,
4744 "column" : 8,
4745 "source_fragment" : "hdr.inner_ipv4.setInvalid()"
4746 }
4747 },
4748 {
4749 "op" : "remove_header",
4750 "parameters" : [
4751 {
4752 "type" : "header",
4753 "value" : "gtpu"
4754 }
4755 ],
4756 "source_info" : {
4757 "filename" : "include/control/spgw.p4",
4758 "line" : 47,
4759 "column" : 8,
4760 "source_fragment" : "hdr.gtpu.setInvalid()"
4761 }
4762 },
4763 {
4764 "op" : "remove_header",
4765 "parameters" : [
4766 {
4767 "type" : "header",
4768 "value" : "udp"
4769 }
4770 ],
4771 "source_info" : {
4772 "filename" : "include/control/spgw.p4",
4773 "line" : 72,
4774 "column" : 8,
4775 "source_fragment" : "hdr.udp.setInvalid()"
4776 }
4777 }
4778 ]
4779 },
4780 {
4781 "name" : "FabricIngress.spgw.load_iface",
Wailok Shumfac26d42021-06-18 17:30:08 +08004782 "id" : 38,
Robert MacDavidde12b982020-07-15 18:38:59 -07004783 "runtime_data" : [
4784 {
4785 "name" : "src_iface",
4786 "bitwidth" : 8
Robert MacDavidde12b982020-07-15 18:38:59 -07004787 }
4788 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004789 "primitives" : [
4790 {
4791 "op" : "assign",
4792 "parameters" : [
4793 {
4794 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004795 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004796 },
4797 {
4798 "type" : "runtime_data",
4799 "value" : 0
4800 }
4801 ],
4802 "source_info" : {
4803 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02004804 "line" : 120,
Robert MacDavidde12b982020-07-15 18:38:59 -07004805 "column" : 33,
4806 "source_fragment" : "= src_iface; ..."
4807 }
4808 },
4809 {
4810 "op" : "assign",
4811 "parameters" : [
4812 {
4813 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004814 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -07004815 },
4816 {
4817 "type" : "expression",
4818 "value" : {
4819 "type" : "expression",
4820 "value" : {
4821 "op" : "b2d",
4822 "left" : null,
4823 "right" : {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004824 "type" : "bool",
4825 "value" : false
Robert MacDavidde12b982020-07-15 18:38:59 -07004826 }
4827 }
4828 }
4829 }
4830 ],
4831 "source_info" : {
4832 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02004833 "line" : 121,
Robert MacDavidde12b982020-07-15 18:38:59 -07004834 "column" : 33,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004835 "source_fragment" : "= false; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07004836 }
4837 }
4838 ]
4839 },
4840 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004841 "name" : "FabricIngress.spgw.iface_miss",
Wailok Shumfac26d42021-06-18 17:30:08 +08004842 "id" : 39,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004843 "runtime_data" : [],
4844 "primitives" : [
4845 {
4846 "op" : "assign",
4847 "parameters" : [
4848 {
4849 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004850 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004851 },
4852 {
4853 "type" : "hexstr",
4854 "value" : "0x00"
4855 }
4856 ],
4857 "source_info" : {
4858 "filename" : "include/control/../define.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02004859 "line" : 110,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004860 "column" : 44,
4861 "source_fragment" : "8w0; ..."
4862 }
4863 },
4864 {
4865 "op" : "assign",
4866 "parameters" : [
4867 {
4868 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02004869 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004870 },
4871 {
4872 "type" : "expression",
4873 "value" : {
4874 "type" : "expression",
4875 "value" : {
4876 "op" : "b2d",
4877 "left" : null,
4878 "right" : {
4879 "type" : "bool",
4880 "value" : true
4881 }
4882 }
4883 }
4884 }
4885 ],
4886 "source_info" : {
4887 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02004888 "line" : 125,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004889 "column" : 33,
4890 "source_fragment" : "= true; ..."
4891 }
4892 }
4893 ]
4894 },
4895 {
4896 "name" : "FabricIngress.spgw.load_pdr",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004897 "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 Casconedb347372021-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 Casconedb347372021-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 Casconedb347372021-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 Casconedb347372021-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 Casconedb347372021-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 Casconedb347372021-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 {
Wailok Shumfac26d42021-06-18 17:30:08 +08004993 "name" : "FabricIngress.spgw.load_pdr",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08004994 "id" : 41,
Robert MacDavidde12b982020-07-15 18:38:59 -07004995 "runtime_data" : [
4996 {
ersuneetsinghc78a2512021-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
Robert MacDavidde12b982020-07-15 18:38:59 -07005007 }
5008 ],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08005009 "primitives" : [
5010 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005011 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005012 "parameters" : [
5013 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005014 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005015 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005016 },
5017 {
ersuneetsinghc78a2512021-03-25 21:17:29 -03005018 "type" : "runtime_data",
5019 "value" : 0
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005020 }
5021 ],
5022 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005023 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005024 "line" : 150,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005025 "column" : 30,
5026 "source_fragment" : "= ctr_id; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005027 }
5028 },
5029 {
5030 "op" : "assign",
5031 "parameters" : [
5032 {
5033 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005034 "value" : ["scalars", "userMetadata._spgw_far_id25"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005035 },
5036 {
ersuneetsinghc78a2512021-03-25 21:17:29 -03005037 "type" : "runtime_data",
5038 "value" : 1
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005039 }
5040 ],
5041 "source_info" : {
5042 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005043 "line" : 151,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005044 "column" : 30,
5045 "source_fragment" : "= far_id; ..."
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005046 }
5047 },
5048 {
5049 "op" : "assign",
5050 "parameters" : [
5051 {
5052 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005053 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005054 },
5055 {
5056 "type" : "expression",
5057 "value" : {
5058 "type" : "expression",
5059 "value" : {
5060 "op" : "b2d",
5061 "left" : null,
5062 "right" : {
5063 "type" : "expression",
5064 "value" : {
5065 "op" : "!=",
5066 "left" : {
5067 "type" : "local",
ersuneetsinghc78a2512021-03-25 21:17:29 -03005068 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005069 },
5070 "right" : {
5071 "type" : "hexstr",
5072 "value" : "0x00"
5073 }
5074 }
5075 }
5076 }
5077 }
5078 }
5079 ],
5080 "source_info" : {
5081 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005082 "line" : 152,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005083 "column" : 40,
5084 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005085 }
5086 }
5087 ]
5088 },
5089 {
ersuneetsinghc78a2512021-03-25 21:17:29 -03005090 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005091 "id" : 42,
Robert MacDavidde12b982020-07-15 18:38:59 -07005092 "runtime_data" : [
5093 {
ersuneetsinghc78a2512021-03-25 21:17:29 -03005094 "name" : "ctr_id",
5095 "bitwidth" : 32
5096 },
5097 {
5098 "name" : "far_id",
5099 "bitwidth" : 32
5100 },
5101 {
5102 "name" : "needs_gtpu_decap",
Robert MacDavidde12b982020-07-15 18:38:59 -07005103 "bitwidth" : 1
5104 },
5105 {
ersuneetsinghc78a2512021-03-25 21:17:29 -03005106 "name" : "qid",
5107 "bitwidth" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005108 }
5109 ],
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005110 "primitives" : [
5111 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005112 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005113 "parameters" : [
5114 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005115 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005116 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005117 },
5118 {
5119 "type" : "runtime_data",
5120 "value" : 0
5121 }
5122 ],
5123 "source_info" : {
5124 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005125 "line" : 150,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005126 "column" : 30,
5127 "source_fragment" : "= ctr_id; ..."
5128 }
5129 },
5130 {
5131 "op" : "assign",
5132 "parameters" : [
5133 {
5134 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005135 "value" : ["scalars", "userMetadata._spgw_far_id25"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005136 },
5137 {
5138 "type" : "runtime_data",
5139 "value" : 1
5140 }
5141 ],
5142 "source_info" : {
5143 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005144 "line" : 151,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005145 "column" : 30,
5146 "source_fragment" : "= far_id; ..."
5147 }
5148 },
5149 {
5150 "op" : "assign",
5151 "parameters" : [
5152 {
5153 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005154 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005155 },
5156 {
Robert MacDavidde12b982020-07-15 18:38:59 -07005157 "type" : "expression",
5158 "value" : {
5159 "type" : "expression",
5160 "value" : {
5161 "op" : "b2d",
5162 "left" : null,
5163 "right" : {
5164 "type" : "expression",
5165 "value" : {
5166 "op" : "!=",
5167 "left" : {
5168 "type" : "local",
ersuneetsinghc78a2512021-03-25 21:17:29 -03005169 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005170 },
5171 "right" : {
5172 "type" : "hexstr",
5173 "value" : "0x00"
5174 }
5175 }
5176 }
5177 }
5178 }
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005179 }
5180 ],
5181 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005182 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005183 "line" : 152,
Robert MacDavidde12b982020-07-15 18:38:59 -07005184 "column" : 40,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005185 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005186 }
5187 }
5188 ]
5189 },
5190 {
Wailok Shumfac26d42021-06-18 17:30:08 +08005191 "name" : "FabricIngress.spgw.load_pdr_qos",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005192 "id" : 43,
5193 "runtime_data" : [
5194 {
Wailok Shumfac26d42021-06-18 17:30:08 +08005195 "name" : "ctr_id",
5196 "bitwidth" : 32
5197 },
5198 {
5199 "name" : "far_id",
5200 "bitwidth" : 32
5201 },
5202 {
5203 "name" : "needs_gtpu_decap",
5204 "bitwidth" : 1
5205 },
5206 {
5207 "name" : "qid",
5208 "bitwidth" : 5
5209 }
5210 ],
5211 "primitives" : [
5212 {
5213 "op" : "assign",
5214 "parameters" : [
5215 {
5216 "type" : "field",
5217 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
5218 },
5219 {
5220 "type" : "runtime_data",
5221 "value" : 0
5222 }
5223 ],
5224 "source_info" : {
5225 "filename" : "include/control/spgw.p4",
5226 "line" : 150,
5227 "column" : 30,
5228 "source_fragment" : "= ctr_id; ..."
5229 }
5230 },
5231 {
5232 "op" : "assign",
5233 "parameters" : [
5234 {
5235 "type" : "field",
5236 "value" : ["scalars", "userMetadata._spgw_far_id25"]
5237 },
5238 {
5239 "type" : "runtime_data",
5240 "value" : 1
5241 }
5242 ],
5243 "source_info" : {
5244 "filename" : "include/control/spgw.p4",
5245 "line" : 151,
5246 "column" : 30,
5247 "source_fragment" : "= far_id; ..."
5248 }
5249 },
5250 {
5251 "op" : "assign",
5252 "parameters" : [
5253 {
5254 "type" : "field",
5255 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
5256 },
5257 {
5258 "type" : "expression",
5259 "value" : {
5260 "type" : "expression",
5261 "value" : {
5262 "op" : "b2d",
5263 "left" : null,
5264 "right" : {
5265 "type" : "expression",
5266 "value" : {
5267 "op" : "!=",
5268 "left" : {
5269 "type" : "local",
5270 "value" : 2
5271 },
5272 "right" : {
5273 "type" : "hexstr",
5274 "value" : "0x00"
5275 }
5276 }
5277 }
5278 }
5279 }
5280 }
5281 ],
5282 "source_info" : {
5283 "filename" : "include/control/spgw.p4",
5284 "line" : 152,
5285 "column" : 40,
5286 "source_fragment" : "= (bool)needs_gtpu_decap; ..."
5287 }
5288 }
5289 ]
5290 },
5291 {
5292 "name" : "FabricIngress.spgw.load_normal_far",
5293 "id" : 44,
5294 "runtime_data" : [
5295 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005296 "name" : "drop",
5297 "bitwidth" : 1
5298 },
5299 {
5300 "name" : "notify_cp",
5301 "bitwidth" : 1
ersuneetsinghc78a2512021-03-25 21:17:29 -03005302 }
5303 ],
5304 "primitives" : [
5305 {
5306 "op" : "assign",
5307 "parameters" : [
5308 {
5309 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005310 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5311 },
5312 {
5313 "type" : "expression",
5314 "value" : {
5315 "type" : "expression",
5316 "value" : {
5317 "op" : "b2d",
5318 "left" : null,
5319 "right" : {
5320 "type" : "expression",
5321 "value" : {
5322 "op" : "!=",
5323 "left" : {
5324 "type" : "local",
5325 "value" : 0
5326 },
5327 "right" : {
5328 "type" : "hexstr",
5329 "value" : "0x00"
5330 }
5331 }
5332 }
5333 }
5334 }
5335 }
5336 ],
5337 "source_info" : {
5338 "filename" : "include/control/spgw.p4",
5339 "line" : 195,
5340 "column" : 34,
5341 "source_fragment" : "= (bool)drop; ..."
5342 }
5343 },
5344 {
5345 "op" : "assign",
5346 "parameters" : [
5347 {
5348 "type" : "field",
5349 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005350 },
5351 {
5352 "type" : "expression",
5353 "value" : {
5354 "type" : "expression",
5355 "value" : {
5356 "op" : "b2d",
5357 "left" : null,
5358 "right" : {
5359 "type" : "expression",
5360 "value" : {
5361 "op" : "!=",
5362 "left" : {
5363 "type" : "local",
5364 "value" : 0
5365 },
5366 "right" : {
5367 "type" : "hexstr",
5368 "value" : "0x00"
5369 }
5370 }
5371 }
5372 }
5373 }
5374 }
5375 ],
5376 "source_info" : {
5377 "filename" : "include/control/spgw.p4",
5378 "line" : 196,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005379 "column" : 28,
5380 "source_fragment" : "= (bool)drop; ..."
5381 }
5382 },
5383 {
5384 "op" : "assign",
5385 "parameters" : [
5386 {
5387 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005388 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005389 },
5390 {
5391 "type" : "expression",
5392 "value" : {
5393 "type" : "expression",
5394 "value" : {
5395 "op" : "b2d",
5396 "left" : null,
5397 "right" : {
5398 "type" : "expression",
5399 "value" : {
5400 "op" : "!=",
5401 "left" : {
5402 "type" : "local",
5403 "value" : 1
5404 },
5405 "right" : {
5406 "type" : "hexstr",
5407 "value" : "0x00"
5408 }
5409 }
5410 }
5411 }
5412 }
5413 }
5414 ],
5415 "source_info" : {
5416 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005417 "line" : 197,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005418 "column" : 36,
5419 "source_fragment" : "= (bool)notify_cp; ..."
5420 }
5421 }
5422 ]
5423 },
5424 {
5425 "name" : "FabricIngress.spgw.load_tunnel_far",
Wailok Shumfac26d42021-06-18 17:30:08 +08005426 "id" : 45,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005427 "runtime_data" : [
5428 {
5429 "name" : "drop",
5430 "bitwidth" : 1
5431 },
5432 {
5433 "name" : "notify_cp",
5434 "bitwidth" : 1
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005435 },
5436 {
5437 "name" : "tunnel_src_port",
5438 "bitwidth" : 16
5439 },
5440 {
5441 "name" : "tunnel_src_addr",
5442 "bitwidth" : 32
5443 },
5444 {
5445 "name" : "tunnel_dst_addr",
5446 "bitwidth" : 32
5447 },
5448 {
5449 "name" : "teid",
5450 "bitwidth" : 32
5451 }
5452 ],
Robert MacDavidde12b982020-07-15 18:38:59 -07005453 "primitives" : [
5454 {
5455 "op" : "assign",
5456 "parameters" : [
5457 {
5458 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005459 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5460 },
5461 {
5462 "type" : "expression",
5463 "value" : {
5464 "type" : "expression",
5465 "value" : {
5466 "op" : "b2d",
5467 "left" : null,
5468 "right" : {
5469 "type" : "expression",
5470 "value" : {
5471 "op" : "!=",
5472 "left" : {
5473 "type" : "local",
5474 "value" : 0
5475 },
5476 "right" : {
5477 "type" : "hexstr",
5478 "value" : "0x00"
5479 }
5480 }
5481 }
5482 }
5483 }
5484 }
5485 ],
5486 "source_info" : {
5487 "filename" : "include/control/spgw.p4",
5488 "line" : 206,
5489 "column" : 34,
5490 "source_fragment" : "= (bool)drop; ..."
5491 }
5492 },
5493 {
5494 "op" : "assign",
5495 "parameters" : [
5496 {
5497 "type" : "field",
5498 "value" : ["scalars", "userMetadata._skip_next7"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005499 },
5500 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005501 "type" : "expression",
5502 "value" : {
5503 "type" : "expression",
5504 "value" : {
5505 "op" : "b2d",
5506 "left" : null,
5507 "right" : {
5508 "type" : "expression",
5509 "value" : {
5510 "op" : "!=",
5511 "left" : {
5512 "type" : "local",
5513 "value" : 0
5514 },
5515 "right" : {
5516 "type" : "hexstr",
5517 "value" : "0x00"
5518 }
5519 }
5520 }
5521 }
5522 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005523 }
5524 ],
5525 "source_info" : {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005526 "filename" : "include/control/spgw.p4",
ersuneetsinghc78a2512021-03-25 21:17:29 -03005527 "line" : 207,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005528 "column" : 28,
5529 "source_fragment" : "= (bool)drop; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005530 }
5531 },
5532 {
5533 "op" : "assign",
5534 "parameters" : [
5535 {
5536 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005537 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005538 },
5539 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005540 "type" : "expression",
5541 "value" : {
5542 "type" : "expression",
5543 "value" : {
5544 "op" : "b2d",
5545 "left" : null,
5546 "right" : {
5547 "type" : "expression",
5548 "value" : {
5549 "op" : "!=",
5550 "left" : {
5551 "type" : "local",
5552 "value" : 1
5553 },
5554 "right" : {
5555 "type" : "hexstr",
5556 "value" : "0x00"
5557 }
5558 }
5559 }
5560 }
5561 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005562 }
5563 ],
5564 "source_info" : {
5565 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005566 "line" : 208,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005567 "column" : 36,
5568 "source_fragment" : "= (bool)notify_cp; ..."
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005569 }
5570 },
5571 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005572 "op" : "assign",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005573 "parameters" : [
5574 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005575 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005576 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005577 },
5578 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005579 "type" : "expression",
5580 "value" : {
5581 "type" : "expression",
5582 "value" : {
5583 "op" : "b2d",
5584 "left" : null,
5585 "right" : {
5586 "type" : "bool",
5587 "value" : true
5588 }
5589 }
5590 }
Robert MacDavidde12b982020-07-15 18:38:59 -07005591 }
5592 ],
5593 "source_info" : {
5594 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005595 "line" : 210,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005596 "column" : 40,
5597 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005598 }
5599 },
5600 {
5601 "op" : "assign",
5602 "parameters" : [
5603 {
5604 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005605 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005606 },
5607 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005608 "type" : "runtime_data",
5609 "value" : 5
Robert MacDavidde12b982020-07-15 18:38:59 -07005610 }
5611 ],
5612 "source_info" : {
5613 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005614 "line" : 211,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005615 "column" : 28,
5616 "source_fragment" : "= teid; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005617 }
5618 },
5619 {
5620 "op" : "assign",
5621 "parameters" : [
5622 {
5623 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005624 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005625 },
5626 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005627 "type" : "runtime_data",
5628 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005629 }
5630 ],
5631 "source_info" : {
5632 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005633 "line" : 212,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005634 "column" : 39,
5635 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005636 }
5637 },
5638 {
5639 "op" : "assign",
5640 "parameters" : [
5641 {
5642 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005643 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005644 },
5645 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005646 "type" : "runtime_data",
5647 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005648 }
5649 ],
5650 "source_info" : {
5651 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005652 "line" : 213,
5653 "column" : 39,
5654 "source_fragment" : "= tunnel_src_addr; ..."
5655 }
5656 },
5657 {
5658 "op" : "assign",
5659 "parameters" : [
5660 {
5661 "type" : "field",
5662 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5663 },
5664 {
5665 "type" : "runtime_data",
5666 "value" : 4
5667 }
5668 ],
5669 "source_info" : {
5670 "filename" : "include/control/spgw.p4",
ersuneetsinghc78a2512021-03-25 21:17:29 -03005671 "line" : 214,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005672 "column" : 39,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005673 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005674 }
5675 },
5676 {
5677 "op" : "assign",
5678 "parameters" : [
5679 {
5680 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005681 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005682 },
5683 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005684 "type" : "runtime_data",
5685 "value" : 3
Robert MacDavidde12b982020-07-15 18:38:59 -07005686 }
5687 ],
5688 "source_info" : {
5689 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005690 "line" : 216,
Robert MacDavidde12b982020-07-15 18:38:59 -07005691 "column" : 32,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005692 "source_fragment" : "= tunnel_src_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005693 }
5694 },
5695 {
5696 "op" : "assign",
5697 "parameters" : [
5698 {
5699 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005700 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005701 },
5702 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005703 "type" : "runtime_data",
5704 "value" : 4
Robert MacDavidde12b982020-07-15 18:38:59 -07005705 }
5706 ],
5707 "source_info" : {
5708 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005709 "line" : 217,
Robert MacDavidde12b982020-07-15 18:38:59 -07005710 "column" : 32,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005711 "source_fragment" : "= tunnel_dst_addr; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005712 }
5713 },
5714 {
5715 "op" : "assign",
5716 "parameters" : [
5717 {
5718 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005719 "value" : ["scalars", "userMetadata._l4_sport13"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005720 },
5721 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005722 "type" : "runtime_data",
5723 "value" : 2
Robert MacDavidde12b982020-07-15 18:38:59 -07005724 }
5725 ],
5726 "source_info" : {
5727 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005728 "line" : 218,
Robert MacDavidde12b982020-07-15 18:38:59 -07005729 "column" : 27,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005730 "source_fragment" : "= tunnel_src_port; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07005731 }
5732 },
5733 {
5734 "op" : "assign",
5735 "parameters" : [
5736 {
5737 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005738 "value" : ["scalars", "userMetadata._l4_dport14"]
Robert MacDavidde12b982020-07-15 18:38:59 -07005739 },
5740 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08005741 "type" : "hexstr",
5742 "value" : "0x0868"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07005743 }
5744 ],
5745 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07005746 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005747 "line" : 219,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005748 "column" : 27,
5749 "source_fragment" : "= 2152; ..."
5750 }
5751 }
5752 ]
5753 },
5754 {
5755 "name" : "FabricIngress.spgw.load_dbuf_far",
Wailok Shumfac26d42021-06-18 17:30:08 +08005756 "id" : 46,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005757 "runtime_data" : [
5758 {
5759 "name" : "drop",
5760 "bitwidth" : 1
5761 },
5762 {
5763 "name" : "notify_cp",
5764 "bitwidth" : 1
5765 },
5766 {
5767 "name" : "tunnel_src_port",
5768 "bitwidth" : 16
5769 },
5770 {
5771 "name" : "tunnel_src_addr",
5772 "bitwidth" : 32
5773 },
5774 {
5775 "name" : "tunnel_dst_addr",
5776 "bitwidth" : 32
5777 },
5778 {
5779 "name" : "teid",
5780 "bitwidth" : 32
5781 }
5782 ],
5783 "primitives" : [
5784 {
5785 "op" : "assign",
5786 "parameters" : [
5787 {
5788 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005789 "value" : ["scalars", "userMetadata._skip_forwarding6"]
5790 },
5791 {
5792 "type" : "expression",
5793 "value" : {
5794 "type" : "expression",
5795 "value" : {
5796 "op" : "b2d",
5797 "left" : null,
5798 "right" : {
5799 "type" : "expression",
5800 "value" : {
5801 "op" : "!=",
5802 "left" : {
5803 "type" : "local",
5804 "value" : 0
5805 },
5806 "right" : {
5807 "type" : "hexstr",
5808 "value" : "0x00"
5809 }
5810 }
5811 }
5812 }
5813 }
5814 }
5815 ],
5816 "source_info" : {
5817 "filename" : "include/control/spgw.p4",
5818 "line" : 206,
5819 "column" : 34,
5820 "source_fragment" : "= (bool)drop; ..."
5821 }
5822 },
5823 {
5824 "op" : "assign",
5825 "parameters" : [
5826 {
5827 "type" : "field",
5828 "value" : ["scalars", "userMetadata._skip_next7"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005829 },
5830 {
5831 "type" : "expression",
5832 "value" : {
5833 "type" : "expression",
5834 "value" : {
5835 "op" : "b2d",
5836 "left" : null,
5837 "right" : {
5838 "type" : "expression",
5839 "value" : {
5840 "op" : "!=",
5841 "left" : {
5842 "type" : "local",
5843 "value" : 0
5844 },
5845 "right" : {
5846 "type" : "hexstr",
5847 "value" : "0x00"
5848 }
5849 }
5850 }
5851 }
5852 }
5853 }
5854 ],
5855 "source_info" : {
5856 "filename" : "include/control/spgw.p4",
5857 "line" : 207,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005858 "column" : 28,
5859 "source_fragment" : "= (bool)drop; ..."
5860 }
5861 },
5862 {
5863 "op" : "assign",
5864 "parameters" : [
5865 {
5866 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005867 "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005868 },
5869 {
5870 "type" : "expression",
5871 "value" : {
5872 "type" : "expression",
5873 "value" : {
5874 "op" : "b2d",
5875 "left" : null,
5876 "right" : {
5877 "type" : "expression",
5878 "value" : {
5879 "op" : "!=",
5880 "left" : {
5881 "type" : "local",
5882 "value" : 1
5883 },
5884 "right" : {
5885 "type" : "hexstr",
5886 "value" : "0x00"
5887 }
5888 }
5889 }
5890 }
5891 }
5892 }
5893 ],
5894 "source_info" : {
5895 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005896 "line" : 208,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005897 "column" : 36,
5898 "source_fragment" : "= (bool)notify_cp; ..."
5899 }
5900 },
5901 {
5902 "op" : "assign",
5903 "parameters" : [
5904 {
5905 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005906 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005907 },
5908 {
5909 "type" : "expression",
5910 "value" : {
5911 "type" : "expression",
5912 "value" : {
5913 "op" : "b2d",
5914 "left" : null,
5915 "right" : {
5916 "type" : "bool",
5917 "value" : true
5918 }
5919 }
5920 }
5921 }
5922 ],
5923 "source_info" : {
5924 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005925 "line" : 210,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005926 "column" : 40,
5927 "source_fragment" : "= true; ..."
5928 }
5929 },
5930 {
5931 "op" : "assign",
5932 "parameters" : [
5933 {
5934 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005935 "value" : ["scalars", "userMetadata._spgw_teid20"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005936 },
5937 {
5938 "type" : "runtime_data",
5939 "value" : 5
5940 }
5941 ],
5942 "source_info" : {
5943 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005944 "line" : 211,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005945 "column" : 28,
5946 "source_fragment" : "= teid; ..."
5947 }
5948 },
5949 {
5950 "op" : "assign",
5951 "parameters" : [
5952 {
5953 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005954 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005955 },
5956 {
5957 "type" : "runtime_data",
5958 "value" : 2
5959 }
5960 ],
5961 "source_info" : {
5962 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005963 "line" : 212,
ersuneetsinghc78a2512021-03-25 21:17:29 -03005964 "column" : 39,
5965 "source_fragment" : "= tunnel_src_port; ..."
5966 }
5967 },
5968 {
5969 "op" : "assign",
5970 "parameters" : [
5971 {
5972 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02005973 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03005974 },
5975 {
5976 "type" : "runtime_data",
5977 "value" : 3
5978 }
5979 ],
5980 "source_info" : {
5981 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02005982 "line" : 213,
5983 "column" : 39,
5984 "source_fragment" : "= tunnel_src_addr; ..."
5985 }
5986 },
5987 {
5988 "op" : "assign",
5989 "parameters" : [
5990 {
5991 "type" : "field",
5992 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
5993 },
5994 {
5995 "type" : "runtime_data",
5996 "value" : 4
5997 }
5998 ],
5999 "source_info" : {
6000 "filename" : "include/control/spgw.p4",
ersuneetsinghc78a2512021-03-25 21:17:29 -03006001 "line" : 214,
6002 "column" : 39,
ersuneetsinghc78a2512021-03-25 21:17:29 -03006003 "source_fragment" : "= tunnel_dst_addr; ..."
6004 }
6005 },
6006 {
6007 "op" : "assign",
6008 "parameters" : [
6009 {
6010 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006011 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03006012 },
6013 {
6014 "type" : "runtime_data",
6015 "value" : 3
6016 }
6017 ],
6018 "source_info" : {
6019 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02006020 "line" : 216,
ersuneetsinghc78a2512021-03-25 21:17:29 -03006021 "column" : 32,
6022 "source_fragment" : "= tunnel_src_addr; ..."
6023 }
6024 },
6025 {
6026 "op" : "assign",
6027 "parameters" : [
6028 {
6029 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006030 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03006031 },
6032 {
6033 "type" : "runtime_data",
6034 "value" : 4
6035 }
6036 ],
6037 "source_info" : {
6038 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02006039 "line" : 217,
ersuneetsinghc78a2512021-03-25 21:17:29 -03006040 "column" : 32,
6041 "source_fragment" : "= tunnel_dst_addr; ..."
6042 }
6043 },
6044 {
6045 "op" : "assign",
6046 "parameters" : [
6047 {
6048 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006049 "value" : ["scalars", "userMetadata._l4_sport13"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03006050 },
6051 {
6052 "type" : "runtime_data",
6053 "value" : 2
6054 }
6055 ],
6056 "source_info" : {
6057 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02006058 "line" : 218,
ersuneetsinghc78a2512021-03-25 21:17:29 -03006059 "column" : 27,
6060 "source_fragment" : "= tunnel_src_port; ..."
6061 }
6062 },
6063 {
6064 "op" : "assign",
6065 "parameters" : [
6066 {
6067 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006068 "value" : ["scalars", "userMetadata._l4_dport14"]
ersuneetsinghc78a2512021-03-25 21:17:29 -03006069 },
6070 {
6071 "type" : "hexstr",
6072 "value" : "0x0868"
6073 }
6074 ],
6075 "source_info" : {
6076 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02006077 "line" : 219,
Robert MacDavidde12b982020-07-15 18:38:59 -07006078 "column" : 27,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08006079 "source_fragment" : "= 2152; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006080 }
6081 },
6082 {
6083 "op" : "assign",
6084 "parameters" : [
6085 {
6086 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006087 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006088 },
6089 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08006090 "type" : "expression",
6091 "value" : {
6092 "type" : "expression",
6093 "value" : {
6094 "op" : "b2d",
6095 "left" : null,
6096 "right" : {
6097 "type" : "bool",
6098 "value" : true
6099 }
6100 }
6101 }
Robert MacDavidde12b982020-07-15 18:38:59 -07006102 }
6103 ],
6104 "source_info" : {
6105 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02006106 "line" : 230,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08006107 "column" : 43,
6108 "source_fragment" : "= true; ..."
Robert MacDavidde12b982020-07-15 18:38:59 -07006109 }
6110 }
6111 ]
6112 },
6113 {
Carmelo Casconedb347372021-05-26 19:30:30 +02006114 "name" : "packetio25",
Wailok Shumfac26d42021-06-18 17:30:08 +08006115 "id" : 47,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006116 "runtime_data" : [],
6117 "primitives" : [
6118 {
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006119 "op" : "assign",
6120 "parameters" : [
6121 {
6122 "type" : "field",
6123 "value" : ["standard_metadata", "egress_spec"]
6124 },
6125 {
6126 "type" : "field",
6127 "value" : ["packet_out", "egress_port"]
6128 }
6129 ],
6130 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006131 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006132 "line" : 25,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006133 "column" : 12,
6134 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
6135 }
6136 },
6137 {
6138 "op" : "remove_header",
6139 "parameters" : [
6140 {
6141 "type" : "header",
6142 "value" : "packet_out"
6143 }
6144 ],
6145 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006146 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006147 "line" : 26,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006148 "column" : 12,
6149 "source_fragment" : "hdr.packet_out.setInvalid()"
6150 }
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006151 },
6152 {
6153 "op" : "assign",
6154 "parameters" : [
6155 {
6156 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006157 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006158 },
6159 {
6160 "type" : "expression",
6161 "value" : {
6162 "type" : "expression",
6163 "value" : {
6164 "op" : "b2d",
6165 "left" : null,
6166 "right" : {
6167 "type" : "bool",
6168 "value" : true
6169 }
6170 }
6171 }
6172 }
6173 ],
6174 "source_info" : {
6175 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006176 "line" : 27,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006177 "column" : 53,
6178 "source_fragment" : "= true; ..."
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -07006179 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07006180 },
6181 {
6182 "op" : "exit",
6183 "parameters" : [],
6184 "source_info" : {
6185 "filename" : "include/control/packetio.p4",
6186 "line" : 29,
6187 "column" : 12,
6188 "source_fragment" : "exit"
6189 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006190 }
6191 ]
6192 },
6193 {
Carmelo Casconedb347372021-05-26 19:30:30 +02006194 "name" : "spgw265",
Wailok Shumfac26d42021-06-18 17:30:08 +08006195 "id" : 48,
Robert MacDavidde12b982020-07-15 18:38:59 -07006196 "runtime_data" : [],
6197 "primitives" : [
6198 {
Robert MacDavidde12b982020-07-15 18:38:59 -07006199 "op" : "count",
6200 "parameters" : [
6201 {
6202 "type" : "counter_array",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08006203 "value" : "FabricIngress.spgw.pdr_counter"
Robert MacDavidde12b982020-07-15 18:38:59 -07006204 },
6205 {
6206 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006207 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006208 }
6209 ],
6210 "source_info" : {
6211 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02006212 "line" : 265,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08006213 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07006214 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
6215 }
6216 }
6217 ]
6218 },
6219 {
Carmelo Casconedb347372021-05-26 19:30:30 +02006220 "name" : "spgw282",
Wailok Shumfac26d42021-06-18 17:30:08 +08006221 "id" : 49,
Robert MacDavidde12b982020-07-15 18:38:59 -07006222 "runtime_data" : [],
6223 "primitives" : [
6224 {
6225 "op" : "assign",
6226 "parameters" : [
6227 {
6228 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006229 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07006230 },
6231 {
6232 "type" : "field",
6233 "value" : ["ipv4", "total_len"]
6234 }
6235 ],
6236 "source_info" : {
6237 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02006238 "line" : 282,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08006239 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07006240 "source_fragment" : "= hdr.ipv4.total_len; ..."
6241 }
6242 }
6243 ]
6244 },
6245 {
Wailok Shumfac26d42021-06-18 17:30:08 +08006246 "name" : "filtering113",
6247 "id" : 50,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07006248 "runtime_data" : [],
6249 "primitives" : [
6250 {
6251 "op" : "assign",
6252 "parameters" : [
6253 {
6254 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006255 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006256 },
6257 {
6258 "type" : "field",
6259 "value" : ["vlan_tag", "vlan_id"]
6260 }
6261 ],
6262 "source_info" : {
6263 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006264 "line" : 113,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006265 "column" : 36,
6266 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006267 }
6268 },
6269 {
6270 "op" : "assign",
6271 "parameters" : [
6272 {
6273 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006274 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006275 },
6276 {
6277 "type" : "field",
6278 "value" : ["vlan_tag", "pri"]
6279 }
6280 ],
6281 "source_info" : {
6282 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006283 "line" : 114,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006284 "column" : 37,
6285 "source_fragment" : "= hdr.vlan_tag.pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006286 }
6287 },
6288 {
6289 "op" : "assign",
6290 "parameters" : [
6291 {
6292 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006293 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006294 },
6295 {
6296 "type" : "field",
6297 "value" : ["vlan_tag", "cfi"]
6298 }
6299 ],
6300 "source_info" : {
6301 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006302 "line" : 115,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006303 "column" : 37,
6304 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006305 }
6306 }
6307 ]
6308 },
6309 {
Wailok Shumfac26d42021-06-18 17:30:08 +08006310 "name" : "filtering129",
6311 "id" : 51,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006312 "runtime_data" : [],
6313 "primitives" : [
6314 {
6315 "op" : "assign",
6316 "parameters" : [
6317 {
6318 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006319 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006320 },
6321 {
6322 "type" : "hexstr",
6323 "value" : "0x41"
6324 }
6325 ],
6326 "source_info" : {
6327 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006328 "line" : 129,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006329 "column" : 37,
6330 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006331 }
6332 }
6333 ]
6334 },
6335 {
Wailok Shumfac26d42021-06-18 17:30:08 +08006336 "name" : "acl102",
6337 "id" : 52,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006338 "runtime_data" : [],
6339 "primitives" : [
6340 {
6341 "op" : "assign",
6342 "parameters" : [
6343 {
6344 "type" : "field",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006345 "value" : ["scalars", "acl_l4_sport"]
6346 },
6347 {
6348 "type" : "field",
6349 "value" : ["inner_tcp", "sport"]
6350 }
6351 ],
6352 "source_info" : {
6353 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006354 "line" : 102,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006355 "column" : 16,
6356 "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
6357 }
6358 },
6359 {
6360 "op" : "assign",
6361 "parameters" : [
6362 {
6363 "type" : "field",
6364 "value" : ["scalars", "acl_l4_dport"]
6365 },
6366 {
6367 "type" : "field",
6368 "value" : ["inner_tcp", "dport"]
6369 }
6370 ],
6371 "source_info" : {
6372 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006373 "line" : 103,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006374 "column" : 16,
6375 "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
6376 }
6377 }
6378 ]
6379 },
6380 {
Wailok Shumfac26d42021-06-18 17:30:08 +08006381 "name" : "acl105",
6382 "id" : 53,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006383 "runtime_data" : [],
6384 "primitives" : [
6385 {
6386 "op" : "assign",
6387 "parameters" : [
6388 {
6389 "type" : "field",
6390 "value" : ["scalars", "acl_l4_sport"]
6391 },
6392 {
6393 "type" : "field",
6394 "value" : ["inner_udp", "sport"]
6395 }
6396 ],
6397 "source_info" : {
6398 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006399 "line" : 105,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006400 "column" : 16,
6401 "source_fragment" : "l4_sport = hdr.inner_udp.sport"
6402 }
6403 },
6404 {
6405 "op" : "assign",
6406 "parameters" : [
6407 {
6408 "type" : "field",
6409 "value" : ["scalars", "acl_l4_dport"]
6410 },
6411 {
6412 "type" : "field",
6413 "value" : ["inner_udp", "dport"]
6414 }
6415 ],
6416 "source_info" : {
6417 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006418 "line" : 106,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006419 "column" : 16,
6420 "source_fragment" : "l4_dport = hdr.inner_udp.dport"
6421 }
6422 }
6423 ]
6424 },
6425 {
Wailok Shumfac26d42021-06-18 17:30:08 +08006426 "name" : "acl98",
6427 "id" : 54,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006428 "runtime_data" : [],
6429 "primitives" : [
6430 {
6431 "op" : "assign",
6432 "parameters" : [
6433 {
6434 "type" : "field",
6435 "value" : ["scalars", "acl_ipv4_src"]
6436 },
6437 {
6438 "type" : "field",
6439 "value" : ["inner_ipv4", "src_addr"]
6440 }
6441 ],
6442 "source_info" : {
6443 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006444 "line" : 98,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006445 "column" : 12,
6446 "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
6447 }
6448 },
6449 {
6450 "op" : "assign",
6451 "parameters" : [
6452 {
6453 "type" : "field",
6454 "value" : ["scalars", "acl_ipv4_dst"]
6455 },
6456 {
6457 "type" : "field",
6458 "value" : ["inner_ipv4", "dst_addr"]
6459 }
6460 ],
6461 "source_info" : {
6462 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006463 "line" : 99,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006464 "column" : 12,
6465 "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
6466 }
6467 },
6468 {
6469 "op" : "assign",
6470 "parameters" : [
6471 {
6472 "type" : "field",
6473 "value" : ["scalars", "acl_ip_proto"]
6474 },
6475 {
6476 "type" : "field",
6477 "value" : ["inner_ipv4", "protocol"]
6478 }
6479 ],
6480 "source_info" : {
6481 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006482 "line" : 100,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006483 "column" : 12,
6484 "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
6485 }
6486 }
6487 ]
6488 },
6489 {
Wailok Shumfac26d42021-06-18 17:30:08 +08006490 "name" : "acl113",
6491 "id" : 55,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006492 "runtime_data" : [],
6493 "primitives" : [
6494 {
6495 "op" : "assign",
6496 "parameters" : [
6497 {
6498 "type" : "field",
6499 "value" : ["scalars", "acl_l4_sport"]
6500 },
6501 {
6502 "type" : "field",
6503 "value" : ["tcp", "sport"]
6504 }
6505 ],
6506 "source_info" : {
6507 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006508 "line" : 113,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006509 "column" : 16,
6510 "source_fragment" : "l4_sport = hdr.tcp.sport"
6511 }
6512 },
6513 {
6514 "op" : "assign",
6515 "parameters" : [
6516 {
6517 "type" : "field",
6518 "value" : ["scalars", "acl_l4_dport"]
6519 },
6520 {
6521 "type" : "field",
6522 "value" : ["tcp", "dport"]
6523 }
6524 ],
6525 "source_info" : {
6526 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006527 "line" : 114,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006528 "column" : 16,
6529 "source_fragment" : "l4_dport = hdr.tcp.dport"
6530 }
6531 }
6532 ]
6533 },
6534 {
Wailok Shumfac26d42021-06-18 17:30:08 +08006535 "name" : "acl116",
6536 "id" : 56,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006537 "runtime_data" : [],
6538 "primitives" : [
6539 {
6540 "op" : "assign",
6541 "parameters" : [
6542 {
6543 "type" : "field",
6544 "value" : ["scalars", "acl_l4_sport"]
6545 },
6546 {
6547 "type" : "field",
6548 "value" : ["udp", "sport"]
6549 }
6550 ],
6551 "source_info" : {
6552 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006553 "line" : 116,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006554 "column" : 16,
6555 "source_fragment" : "l4_sport = hdr.udp.sport"
6556 }
6557 },
6558 {
6559 "op" : "assign",
6560 "parameters" : [
6561 {
6562 "type" : "field",
6563 "value" : ["scalars", "acl_l4_dport"]
6564 },
6565 {
6566 "type" : "field",
6567 "value" : ["udp", "dport"]
6568 }
6569 ],
6570 "source_info" : {
6571 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006572 "line" : 117,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006573 "column" : 16,
6574 "source_fragment" : "l4_dport = hdr.udp.dport"
6575 }
6576 }
6577 ]
6578 },
6579 {
Wailok Shumfac26d42021-06-18 17:30:08 +08006580 "name" : "acl109",
6581 "id" : 57,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006582 "runtime_data" : [],
6583 "primitives" : [
6584 {
6585 "op" : "assign",
6586 "parameters" : [
6587 {
6588 "type" : "field",
6589 "value" : ["scalars", "acl_ipv4_src"]
6590 },
6591 {
6592 "type" : "field",
6593 "value" : ["ipv4", "src_addr"]
6594 }
6595 ],
6596 "source_info" : {
6597 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006598 "line" : 109,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006599 "column" : 12,
6600 "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
6601 }
6602 },
6603 {
6604 "op" : "assign",
6605 "parameters" : [
6606 {
6607 "type" : "field",
6608 "value" : ["scalars", "acl_ipv4_dst"]
6609 },
6610 {
6611 "type" : "field",
6612 "value" : ["ipv4", "dst_addr"]
6613 }
6614 ],
6615 "source_info" : {
6616 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006617 "line" : 110,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006618 "column" : 12,
6619 "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
6620 }
6621 },
6622 {
6623 "op" : "assign",
6624 "parameters" : [
6625 {
6626 "type" : "field",
6627 "value" : ["scalars", "acl_ip_proto"]
6628 },
6629 {
6630 "type" : "field",
6631 "value" : ["ipv4", "protocol"]
6632 }
6633 ],
6634 "source_info" : {
6635 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006636 "line" : 111,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006637 "column" : 12,
6638 "source_fragment" : "ip_proto = hdr.ipv4.protocol"
6639 }
6640 }
6641 ]
6642 },
6643 {
6644 "name" : "acl27",
Wailok Shumfac26d42021-06-18 17:30:08 +08006645 "id" : 58,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006646 "runtime_data" : [],
6647 "primitives" : [
6648 {
6649 "op" : "assign",
6650 "parameters" : [
6651 {
6652 "type" : "field",
6653 "value" : ["scalars", "acl_ipv4_src"]
6654 },
6655 {
6656 "type" : "hexstr",
6657 "value" : "0x00000000"
6658 }
6659 ],
6660 "source_info" : {
6661 "filename" : "include/control/acl.p4",
6662 "line" : 27,
6663 "column" : 4,
6664 "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
6665 }
6666 },
6667 {
6668 "op" : "assign",
6669 "parameters" : [
6670 {
6671 "type" : "field",
6672 "value" : ["scalars", "acl_ipv4_dst"]
6673 },
6674 {
6675 "type" : "hexstr",
6676 "value" : "0x00000000"
6677 }
6678 ],
6679 "source_info" : {
6680 "filename" : "include/control/acl.p4",
6681 "line" : 28,
6682 "column" : 4,
6683 "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
6684 }
6685 },
6686 {
6687 "op" : "assign",
6688 "parameters" : [
6689 {
6690 "type" : "field",
6691 "value" : ["scalars", "acl_ip_proto"]
6692 },
6693 {
6694 "type" : "hexstr",
6695 "value" : "0x00"
6696 }
6697 ],
6698 "source_info" : {
6699 "filename" : "include/control/acl.p4",
6700 "line" : 29,
6701 "column" : 4,
6702 "source_fragment" : "bit<8> ip_proto = 0;"
6703 }
6704 },
6705 {
6706 "op" : "assign",
6707 "parameters" : [
6708 {
6709 "type" : "field",
6710 "value" : ["scalars", "acl_l4_sport"]
6711 },
6712 {
6713 "type" : "hexstr",
6714 "value" : "0x0000"
6715 }
6716 ],
6717 "source_info" : {
6718 "filename" : "include/control/acl.p4",
6719 "line" : 30,
6720 "column" : 4,
6721 "source_fragment" : "l4_port_t l4_sport = 0;"
6722 }
6723 },
6724 {
6725 "op" : "assign",
6726 "parameters" : [
6727 {
6728 "type" : "field",
6729 "value" : ["scalars", "acl_l4_dport"]
6730 },
6731 {
6732 "type" : "hexstr",
6733 "value" : "0x0000"
6734 }
6735 ],
6736 "source_info" : {
6737 "filename" : "include/control/acl.p4",
6738 "line" : 31,
6739 "column" : 4,
6740 "source_fragment" : "l4_port_t l4_dport = 0;"
6741 }
6742 }
6743 ]
6744 },
6745 {
6746 "name" : "port_counter31",
Wailok Shumfac26d42021-06-18 17:30:08 +08006747 "id" : 59,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08006748 "runtime_data" : [],
6749 "primitives" : [
6750 {
6751 "op" : "assign",
6752 "parameters" : [
6753 {
6754 "type" : "field",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -07006755 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006756 },
6757 {
6758 "type" : "expression",
6759 "value" : {
6760 "type" : "expression",
6761 "value" : {
6762 "op" : "&",
6763 "left" : {
6764 "type" : "field",
6765 "value" : ["standard_metadata", "egress_spec"]
6766 },
6767 "right" : {
6768 "type" : "hexstr",
6769 "value" : "0xffffffff"
6770 }
6771 }
6772 }
6773 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006774 ],
6775 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006776 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006777 "line" : 31,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006778 "column" : 38,
6779 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
6780 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006781 },
6782 {
6783 "op" : "count",
6784 "parameters" : [
6785 {
6786 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08006787 "value" : "FabricIngress.port_counters_control.egress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006788 },
6789 {
6790 "type" : "field",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -07006791 "value" : ["scalars", "tmp_8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006792 }
6793 ],
6794 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006795 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006796 "line" : 31,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006797 "column" : 12,
6798 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
6799 }
6800 }
6801 ]
6802 },
6803 {
Carmelo Casconedb347372021-05-26 19:30:30 +02006804 "name" : "port_counter34",
Wailok Shumfac26d42021-06-18 17:30:08 +08006805 "id" : 60,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006806 "runtime_data" : [],
6807 "primitives" : [
6808 {
6809 "op" : "assign",
6810 "parameters" : [
6811 {
6812 "type" : "field",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -07006813 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006814 },
6815 {
6816 "type" : "expression",
6817 "value" : {
6818 "type" : "expression",
6819 "value" : {
6820 "op" : "&",
6821 "left" : {
6822 "type" : "field",
6823 "value" : ["standard_metadata", "ingress_port"]
6824 },
6825 "right" : {
6826 "type" : "hexstr",
6827 "value" : "0xffffffff"
6828 }
6829 }
6830 }
6831 }
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006832 ],
6833 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006834 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006835 "line" : 34,
Carmelo Cascone6af4e172018-06-15 16:01:30 +02006836 "column" : 39,
6837 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
6838 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006839 },
6840 {
6841 "op" : "count",
6842 "parameters" : [
6843 {
6844 "type" : "counter_array",
Yi Tseng27b9bc02018-04-12 14:52:40 +08006845 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006846 },
6847 {
6848 "type" : "field",
Carmelo Casconeffa7fed2021-06-01 18:31:57 -07006849 "value" : ["scalars", "tmp_9"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006850 }
6851 ],
6852 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006853 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006854 "line" : 34,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08006855 "column" : 12,
6856 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
6857 }
6858 }
6859 ]
6860 },
6861 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006862 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Wailok Shumfac26d42021-06-18 17:30:08 +08006863 "id" : 61,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006864 "runtime_data" : [],
6865 "primitives" : [
6866 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006867 "op" : "remove_header",
6868 "parameters" : [
6869 {
6870 "type" : "header",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006871 "value" : "mpls"
Yi Tseng20f9e7b2018-05-24 23:27:39 +08006872 }
6873 ],
6874 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006875 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006876 "line" : 204,
Yi Tseng47eac892018-07-11 02:17:04 +08006877 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006878 "source_fragment" : "hdr.mpls.setInvalid()"
Yi Tseng47eac892018-07-11 02:17:04 +08006879 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006880 },
Yi Tseng47eac892018-07-11 02:17:04 +08006881 {
6882 "op" : "assign",
6883 "parameters" : [
6884 {
6885 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07006886 "value" : ["eth_type", "value"]
Yi Tseng47eac892018-07-11 02:17:04 +08006887 },
6888 {
6889 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006890 "value" : ["scalars", "userMetadata._ip_eth_type0"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006891 }
6892 ],
6893 "source_info" : {
6894 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006895 "line" : 206,
Daniele Moro5a2de712019-09-24 14:34:07 -07006896 "column" : 8,
6897 "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006898 }
6899 }
6900 ]
6901 },
6902 {
6903 "name" : "FabricEgress.egress_next.set_mpls",
Wailok Shumfac26d42021-06-18 17:30:08 +08006904 "id" : 62,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006905 "runtime_data" : [],
6906 "primitives" : [
6907 {
6908 "op" : "add_header",
6909 "parameters" : [
6910 {
6911 "type" : "header",
6912 "value" : "mpls"
Yi Tseng47eac892018-07-11 02:17:04 +08006913 }
6914 ],
6915 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02006916 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006917 "line" : 211,
Yi Tseng47eac892018-07-11 02:17:04 +08006918 "column" : 8,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006919 "source_fragment" : "hdr.mpls.setValid()"
6920 }
6921 },
6922 {
6923 "op" : "assign",
6924 "parameters" : [
6925 {
6926 "type" : "field",
6927 "value" : ["mpls", "label"]
6928 },
6929 {
6930 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006931 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006932 }
6933 ],
6934 "source_info" : {
6935 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006936 "line" : 212,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006937 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006938 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006939 }
6940 },
6941 {
6942 "op" : "assign",
6943 "parameters" : [
6944 {
6945 "type" : "field",
6946 "value" : ["mpls", "tc"]
6947 },
6948 {
6949 "type" : "hexstr",
6950 "value" : "0x00"
6951 }
6952 ],
6953 "source_info" : {
6954 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006955 "line" : 213,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006956 "column" : 8,
6957 "source_fragment" : "hdr.mpls.tc = 3w0"
6958 }
6959 },
6960 {
6961 "op" : "assign",
6962 "parameters" : [
6963 {
6964 "type" : "field",
6965 "value" : ["mpls", "bos"]
6966 },
6967 {
6968 "type" : "hexstr",
6969 "value" : "0x01"
6970 }
6971 ],
6972 "source_info" : {
6973 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006974 "line" : 214,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006975 "column" : 8,
6976 "source_fragment" : "hdr.mpls.bos = 1w1"
6977 }
6978 },
6979 {
6980 "op" : "assign",
6981 "parameters" : [
6982 {
6983 "type" : "field",
6984 "value" : ["mpls", "ttl"]
6985 },
6986 {
6987 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02006988 "value" : ["scalars", "userMetadata._mpls_ttl5"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006989 }
6990 ],
6991 "source_info" : {
6992 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08006993 "line" : 215,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006994 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08006995 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08006996 }
6997 },
6998 {
6999 "op" : "assign",
7000 "parameters" : [
7001 {
7002 "type" : "field",
Daniele Moro5a2de712019-09-24 14:34:07 -07007003 "value" : ["eth_type", "value"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007004 },
7005 {
7006 "type" : "hexstr",
7007 "value" : "0x8847"
7008 }
7009 ],
7010 "source_info" : {
7011 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007012 "line" : 130,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007013 "column" : 31,
7014 "source_fragment" : "0x8847; ..."
7015 }
7016 }
7017 ]
7018 },
7019 {
7020 "name" : "FabricEgress.egress_next.push_vlan",
Wailok Shumfac26d42021-06-18 17:30:08 +08007021 "id" : 63,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007022 "runtime_data" : [],
7023 "primitives" : [
7024 {
7025 "op" : "add_header",
7026 "parameters" : [
7027 {
7028 "type" : "header",
7029 "value" : "vlan_tag"
7030 }
7031 ],
7032 "source_info" : {
7033 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007034 "line" : 223,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007035 "column" : 8,
7036 "source_fragment" : "hdr.vlan_tag.setValid()"
7037 }
7038 },
7039 {
7040 "op" : "assign",
7041 "parameters" : [
7042 {
7043 "type" : "field",
7044 "value" : ["vlan_tag", "cfi"]
7045 },
7046 {
7047 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007048 "value" : ["scalars", "userMetadata._vlan_cfi3"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007049 }
7050 ],
7051 "source_info" : {
7052 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007053 "line" : 224,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007054 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007055 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007056 }
7057 },
7058 {
7059 "op" : "assign",
7060 "parameters" : [
7061 {
7062 "type" : "field",
7063 "value" : ["vlan_tag", "pri"]
7064 },
7065 {
7066 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007067 "value" : ["scalars", "userMetadata._vlan_pri2"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007068 }
7069 ],
7070 "source_info" : {
7071 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007072 "line" : 225,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007073 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007074 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007075 }
7076 },
7077 {
7078 "op" : "assign",
7079 "parameters" : [
7080 {
7081 "type" : "field",
7082 "value" : ["vlan_tag", "eth_type"]
7083 },
7084 {
Daniele Moro5a2de712019-09-24 14:34:07 -07007085 "type" : "hexstr",
7086 "value" : "0x8100"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007087 }
7088 ],
7089 "source_info" : {
Daniele Moro5a2de712019-09-24 14:34:07 -07007090 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007091 "line" : 129,
Daniele Moro5a2de712019-09-24 14:34:07 -07007092 "column" : 31,
7093 "source_fragment" : "0x8100; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007094 }
7095 },
7096 {
7097 "op" : "assign",
7098 "parameters" : [
7099 {
7100 "type" : "field",
7101 "value" : ["vlan_tag", "vlan_id"]
7102 },
7103 {
7104 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007105 "value" : ["scalars", "userMetadata._vlan_id1"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007106 }
7107 ],
7108 "source_info" : {
7109 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007110 "line" : 227,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007111 "column" : 8,
Carmelo Casconea4dc3c12019-02-12 17:30:00 -08007112 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007113 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007114 }
7115 ]
7116 },
7117 {
7118 "name" : "FabricEgress.egress_next.pop_vlan",
Wailok Shumfac26d42021-06-18 17:30:08 +08007119 "id" : 64,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007120 "runtime_data" : [],
7121 "primitives" : [
7122 {
Yi Tseng47eac892018-07-11 02:17:04 +08007123 "op" : "remove_header",
7124 "parameters" : [
7125 {
7126 "type" : "header",
7127 "value" : "vlan_tag"
7128 }
7129 ],
7130 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007131 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007132 "line" : 256,
Yi Tseng20f9e7b2018-05-24 23:27:39 +08007133 "column" : 8,
7134 "source_fragment" : "hdr.vlan_tag.setInvalid()"
7135 }
7136 }
7137 ]
7138 },
7139 {
pierventrecfd08de2020-12-15 17:34:54 +01007140 "name" : "FabricEgress.egress_next.drop",
Wailok Shumfac26d42021-06-18 17:30:08 +08007141 "id" : 65,
pierventrecfd08de2020-12-15 17:34:54 +01007142 "runtime_data" : [],
7143 "primitives" : [
7144 {
7145 "op" : "mark_to_drop",
7146 "parameters" : [
7147 {
7148 "type" : "header",
7149 "value" : "standard_metadata"
7150 }
7151 ],
7152 "source_info" : {
7153 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007154 "line" : 261,
pierventrecfd08de2020-12-15 17:34:54 +01007155 "column" : 8,
7156 "source_fragment" : "mark_to_drop(standard_metadata)"
7157 }
7158 }
7159 ]
7160 },
7161 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08007162 "name" : "FabricEgress.spgw.gtpu_encap",
Wailok Shumfac26d42021-06-18 17:30:08 +08007163 "id" : 66,
Robert MacDavidde12b982020-07-15 18:38:59 -07007164 "runtime_data" : [],
7165 "primitives" : [
7166 {
7167 "op" : "add_header",
7168 "parameters" : [
7169 {
7170 "type" : "header",
7171 "value" : "gtpu_ipv4"
7172 }
7173 ],
7174 "source_info" : {
7175 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007176 "line" : 300,
Robert MacDavidde12b982020-07-15 18:38:59 -07007177 "column" : 8,
7178 "source_fragment" : "hdr.gtpu_ipv4.setValid()"
7179 }
7180 },
7181 {
7182 "op" : "assign",
7183 "parameters" : [
7184 {
7185 "type" : "field",
7186 "value" : ["gtpu_ipv4", "version"]
7187 },
7188 {
7189 "type" : "hexstr",
7190 "value" : "0x04"
7191 }
7192 ],
7193 "source_info" : {
7194 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007195 "line" : 301,
Robert MacDavidde12b982020-07-15 18:38:59 -07007196 "column" : 8,
7197 "source_fragment" : "hdr.gtpu_ipv4.version = 4"
7198 }
7199 },
7200 {
7201 "op" : "assign",
7202 "parameters" : [
7203 {
7204 "type" : "field",
7205 "value" : ["gtpu_ipv4", "ihl"]
7206 },
7207 {
7208 "type" : "hexstr",
7209 "value" : "0x05"
7210 }
7211 ],
7212 "source_info" : {
7213 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007214 "line" : 147,
Robert MacDavidde12b982020-07-15 18:38:59 -07007215 "column" : 28,
7216 "source_fragment" : "5; ..."
7217 }
7218 },
7219 {
7220 "op" : "assign",
7221 "parameters" : [
7222 {
7223 "type" : "field",
7224 "value" : ["gtpu_ipv4", "dscp"]
7225 },
7226 {
7227 "type" : "hexstr",
7228 "value" : "0x00"
7229 }
7230 ],
7231 "source_info" : {
7232 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007233 "line" : 303,
Robert MacDavidde12b982020-07-15 18:38:59 -07007234 "column" : 8,
7235 "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
7236 }
7237 },
7238 {
7239 "op" : "assign",
7240 "parameters" : [
7241 {
7242 "type" : "field",
7243 "value" : ["gtpu_ipv4", "ecn"]
7244 },
7245 {
7246 "type" : "hexstr",
7247 "value" : "0x00"
7248 }
7249 ],
7250 "source_info" : {
7251 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007252 "line" : 304,
Robert MacDavidde12b982020-07-15 18:38:59 -07007253 "column" : 8,
7254 "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
7255 }
7256 },
7257 {
7258 "op" : "assign",
7259 "parameters" : [
7260 {
7261 "type" : "field",
7262 "value" : ["gtpu_ipv4", "total_len"]
7263 },
7264 {
7265 "type" : "expression",
7266 "value" : {
7267 "type" : "expression",
7268 "value" : {
7269 "op" : "&",
7270 "left" : {
7271 "type" : "expression",
7272 "value" : {
7273 "op" : "+",
7274 "left" : {
7275 "type" : "field",
7276 "value" : ["ipv4", "total_len"]
7277 },
7278 "right" : {
7279 "type" : "hexstr",
7280 "value" : "0x0024"
7281 }
7282 }
7283 },
7284 "right" : {
7285 "type" : "hexstr",
7286 "value" : "0xffff"
7287 }
7288 }
7289 }
7290 }
7291 ],
7292 "source_info" : {
7293 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007294 "line" : 305,
Robert MacDavidde12b982020-07-15 18:38:59 -07007295 "column" : 8,
7296 "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
7297 }
7298 },
7299 {
7300 "op" : "assign",
7301 "parameters" : [
7302 {
7303 "type" : "field",
7304 "value" : ["gtpu_ipv4", "identification"]
7305 },
7306 {
7307 "type" : "hexstr",
7308 "value" : "0x1513"
7309 }
7310 ],
7311 "source_info" : {
7312 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007313 "line" : 307,
Robert MacDavidde12b982020-07-15 18:38:59 -07007314 "column" : 8,
7315 "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
7316 }
7317 },
7318 {
7319 "op" : "assign",
7320 "parameters" : [
7321 {
7322 "type" : "field",
7323 "value" : ["gtpu_ipv4", "flags"]
7324 },
7325 {
7326 "type" : "hexstr",
7327 "value" : "0x00"
7328 }
7329 ],
7330 "source_info" : {
7331 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007332 "line" : 308,
Robert MacDavidde12b982020-07-15 18:38:59 -07007333 "column" : 8,
7334 "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
7335 }
7336 },
7337 {
7338 "op" : "assign",
7339 "parameters" : [
7340 {
7341 "type" : "field",
7342 "value" : ["gtpu_ipv4", "frag_offset"]
7343 },
7344 {
7345 "type" : "hexstr",
7346 "value" : "0x0000"
7347 }
7348 ],
7349 "source_info" : {
7350 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007351 "line" : 309,
Robert MacDavidde12b982020-07-15 18:38:59 -07007352 "column" : 8,
7353 "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
7354 }
7355 },
7356 {
7357 "op" : "assign",
7358 "parameters" : [
7359 {
7360 "type" : "field",
7361 "value" : ["gtpu_ipv4", "ttl"]
7362 },
7363 {
7364 "type" : "hexstr",
7365 "value" : "0x40"
7366 }
7367 ],
7368 "source_info" : {
7369 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007370 "line" : 160,
Robert MacDavidde12b982020-07-15 18:38:59 -07007371 "column" : 32,
7372 "source_fragment" : "64; ..."
7373 }
7374 },
7375 {
7376 "op" : "assign",
7377 "parameters" : [
7378 {
7379 "type" : "field",
7380 "value" : ["gtpu_ipv4", "protocol"]
7381 },
7382 {
7383 "type" : "hexstr",
7384 "value" : "0x11"
7385 }
7386 ],
7387 "source_info" : {
7388 "filename" : "include/control/../define.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007389 "line" : 144,
Robert MacDavidde12b982020-07-15 18:38:59 -07007390 "column" : 25,
7391 "source_fragment" : "17; ..."
7392 }
7393 },
7394 {
7395 "op" : "assign",
7396 "parameters" : [
7397 {
7398 "type" : "field",
7399 "value" : ["gtpu_ipv4", "src_addr"]
7400 },
7401 {
7402 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007403 "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007404 }
7405 ],
7406 "source_info" : {
7407 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007408 "line" : 312,
Robert MacDavidde12b982020-07-15 18:38:59 -07007409 "column" : 8,
7410 "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
7411 }
7412 },
7413 {
7414 "op" : "assign",
7415 "parameters" : [
7416 {
7417 "type" : "field",
7418 "value" : ["gtpu_ipv4", "dst_addr"]
7419 },
7420 {
7421 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007422 "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007423 }
7424 ],
7425 "source_info" : {
7426 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007427 "line" : 313,
Robert MacDavidde12b982020-07-15 18:38:59 -07007428 "column" : 8,
7429 "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
7430 }
7431 },
7432 {
7433 "op" : "assign",
7434 "parameters" : [
7435 {
7436 "type" : "field",
7437 "value" : ["gtpu_ipv4", "hdr_checksum"]
7438 },
7439 {
7440 "type" : "hexstr",
7441 "value" : "0x0000"
7442 }
7443 ],
7444 "source_info" : {
7445 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007446 "line" : 314,
Robert MacDavidde12b982020-07-15 18:38:59 -07007447 "column" : 8,
7448 "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
7449 }
7450 },
7451 {
7452 "op" : "add_header",
7453 "parameters" : [
7454 {
7455 "type" : "header",
7456 "value" : "gtpu_udp"
7457 }
7458 ],
7459 "source_info" : {
7460 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007461 "line" : 316,
Robert MacDavidde12b982020-07-15 18:38:59 -07007462 "column" : 8,
7463 "source_fragment" : "hdr.gtpu_udp.setValid()"
7464 }
7465 },
7466 {
7467 "op" : "assign",
7468 "parameters" : [
7469 {
7470 "type" : "field",
7471 "value" : ["gtpu_udp", "sport"]
7472 },
7473 {
7474 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007475 "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007476 }
7477 ],
7478 "source_info" : {
7479 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007480 "line" : 317,
Robert MacDavidde12b982020-07-15 18:38:59 -07007481 "column" : 8,
7482 "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
7483 }
7484 },
7485 {
7486 "op" : "assign",
7487 "parameters" : [
7488 {
7489 "type" : "field",
7490 "value" : ["gtpu_udp", "dport"]
7491 },
7492 {
7493 "type" : "hexstr",
7494 "value" : "0x0868"
7495 }
7496 ],
7497 "source_info" : {
7498 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007499 "line" : 318,
Robert MacDavidde12b982020-07-15 18:38:59 -07007500 "column" : 8,
7501 "source_fragment" : "hdr.gtpu_udp.dport = 2152"
7502 }
7503 },
7504 {
7505 "op" : "assign",
7506 "parameters" : [
7507 {
7508 "type" : "field",
7509 "value" : ["gtpu_udp", "len"]
7510 },
7511 {
7512 "type" : "expression",
7513 "value" : {
7514 "type" : "expression",
7515 "value" : {
7516 "op" : "&",
7517 "left" : {
7518 "type" : "expression",
7519 "value" : {
7520 "op" : "+",
7521 "left" : {
7522 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007523 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007524 },
7525 "right" : {
7526 "type" : "hexstr",
7527 "value" : "0x0010"
7528 }
7529 }
7530 },
7531 "right" : {
7532 "type" : "hexstr",
7533 "value" : "0xffff"
7534 }
7535 }
7536 }
7537 }
7538 ],
7539 "source_info" : {
7540 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007541 "line" : 319,
Robert MacDavidde12b982020-07-15 18:38:59 -07007542 "column" : 8,
7543 "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
7544 }
7545 },
7546 {
7547 "op" : "assign",
7548 "parameters" : [
7549 {
7550 "type" : "field",
7551 "value" : ["gtpu_udp", "checksum"]
7552 },
7553 {
7554 "type" : "hexstr",
7555 "value" : "0x0000"
7556 }
7557 ],
7558 "source_info" : {
7559 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007560 "line" : 321,
Robert MacDavidde12b982020-07-15 18:38:59 -07007561 "column" : 8,
7562 "source_fragment" : "hdr.gtpu_udp.checksum = 0"
7563 }
7564 },
7565 {
7566 "op" : "add_header",
7567 "parameters" : [
7568 {
7569 "type" : "header",
7570 "value" : "outer_gtpu"
7571 }
7572 ],
7573 "source_info" : {
7574 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007575 "line" : 324,
Robert MacDavidde12b982020-07-15 18:38:59 -07007576 "column" : 8,
7577 "source_fragment" : "hdr.outer_gtpu.setValid()"
7578 }
7579 },
7580 {
7581 "op" : "assign",
7582 "parameters" : [
7583 {
7584 "type" : "field",
7585 "value" : ["outer_gtpu", "version"]
7586 },
7587 {
7588 "type" : "hexstr",
7589 "value" : "0x01"
7590 }
7591 ],
7592 "source_info" : {
7593 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007594 "line" : 325,
Robert MacDavidde12b982020-07-15 18:38:59 -07007595 "column" : 8,
7596 "source_fragment" : "hdr.outer_gtpu.version = 0x01"
7597 }
7598 },
7599 {
7600 "op" : "assign",
7601 "parameters" : [
7602 {
7603 "type" : "field",
7604 "value" : ["outer_gtpu", "pt"]
7605 },
7606 {
7607 "type" : "hexstr",
7608 "value" : "0x01"
7609 }
7610 ],
7611 "source_info" : {
7612 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007613 "line" : 326,
Robert MacDavidde12b982020-07-15 18:38:59 -07007614 "column" : 8,
7615 "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
7616 }
7617 },
7618 {
7619 "op" : "assign",
7620 "parameters" : [
7621 {
7622 "type" : "field",
7623 "value" : ["outer_gtpu", "spare"]
7624 },
7625 {
7626 "type" : "hexstr",
7627 "value" : "0x00"
7628 }
7629 ],
7630 "source_info" : {
7631 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007632 "line" : 327,
Robert MacDavidde12b982020-07-15 18:38:59 -07007633 "column" : 8,
7634 "source_fragment" : "hdr.outer_gtpu.spare = 0"
7635 }
7636 },
7637 {
7638 "op" : "assign",
7639 "parameters" : [
7640 {
7641 "type" : "field",
7642 "value" : ["outer_gtpu", "ex_flag"]
7643 },
7644 {
7645 "type" : "hexstr",
7646 "value" : "0x00"
7647 }
7648 ],
7649 "source_info" : {
7650 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007651 "line" : 328,
Robert MacDavidde12b982020-07-15 18:38:59 -07007652 "column" : 8,
7653 "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
7654 }
7655 },
7656 {
7657 "op" : "assign",
7658 "parameters" : [
7659 {
7660 "type" : "field",
7661 "value" : ["outer_gtpu", "seq_flag"]
7662 },
7663 {
7664 "type" : "hexstr",
7665 "value" : "0x00"
7666 }
7667 ],
7668 "source_info" : {
7669 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007670 "line" : 329,
Robert MacDavidde12b982020-07-15 18:38:59 -07007671 "column" : 8,
7672 "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
7673 }
7674 },
7675 {
7676 "op" : "assign",
7677 "parameters" : [
7678 {
7679 "type" : "field",
7680 "value" : ["outer_gtpu", "npdu_flag"]
7681 },
7682 {
7683 "type" : "hexstr",
7684 "value" : "0x00"
7685 }
7686 ],
7687 "source_info" : {
7688 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007689 "line" : 330,
Robert MacDavidde12b982020-07-15 18:38:59 -07007690 "column" : 8,
7691 "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
7692 }
7693 },
7694 {
7695 "op" : "assign",
7696 "parameters" : [
7697 {
7698 "type" : "field",
7699 "value" : ["outer_gtpu", "msgtype"]
7700 },
7701 {
7702 "type" : "hexstr",
7703 "value" : "0xff"
7704 }
7705 ],
7706 "source_info" : {
7707 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007708 "line" : 331,
Robert MacDavidde12b982020-07-15 18:38:59 -07007709 "column" : 8,
7710 "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
7711 }
7712 },
7713 {
7714 "op" : "assign",
7715 "parameters" : [
7716 {
7717 "type" : "field",
7718 "value" : ["outer_gtpu", "msglen"]
7719 },
7720 {
7721 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007722 "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007723 }
7724 ],
7725 "source_info" : {
7726 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007727 "line" : 332,
Robert MacDavidde12b982020-07-15 18:38:59 -07007728 "column" : 8,
7729 "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
7730 }
7731 },
7732 {
7733 "op" : "assign",
7734 "parameters" : [
7735 {
7736 "type" : "field",
7737 "value" : ["outer_gtpu", "teid"]
7738 },
7739 {
7740 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007741 "value" : ["scalars", "userMetadata._spgw_teid20"]
Robert MacDavidde12b982020-07-15 18:38:59 -07007742 }
7743 ],
7744 "source_info" : {
7745 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02007746 "line" : 333,
Robert MacDavidde12b982020-07-15 18:38:59 -07007747 "column" : 8,
7748 "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
7749 }
7750 }
7751 ]
7752 },
7753 {
Carmelo Casconedb347372021-05-26 19:30:30 +02007754 "name" : "packetio41",
Wailok Shumfac26d42021-06-18 17:30:08 +08007755 "id" : 67,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007756 "runtime_data" : [],
7757 "primitives" : [
7758 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007759 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007760 "parameters" : [],
7761 "source_info" : {
7762 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007763 "line" : 41,
7764 "column" : 12,
7765 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007766 }
7767 }
7768 ]
7769 },
7770 {
Carmelo Casconedb347372021-05-26 19:30:30 +02007771 "name" : "packetio44",
Wailok Shumfac26d42021-06-18 17:30:08 +08007772 "id" : 68,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007773 "runtime_data" : [],
7774 "primitives" : [
7775 {
7776 "op" : "add_header",
7777 "parameters" : [
7778 {
7779 "type" : "header",
7780 "value" : "packet_in"
7781 }
7782 ],
7783 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007784 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007785 "line" : 44,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007786 "column" : 12,
7787 "source_fragment" : "hdr.packet_in.setValid()"
7788 }
7789 },
7790 {
7791 "op" : "assign",
7792 "parameters" : [
7793 {
7794 "type" : "field",
7795 "value" : ["packet_in", "ingress_port"]
7796 },
7797 {
7798 "type" : "field",
7799 "value" : ["standard_metadata", "ingress_port"]
7800 }
7801 ],
7802 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02007803 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007804 "line" : 45,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08007805 "column" : 12,
7806 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
7807 }
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007808 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007809 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007810 "op" : "exit",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007811 "parameters" : [],
7812 "source_info" : {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007813 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07007814 "line" : 47,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007815 "column" : 12,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007816 "source_fragment" : "exit"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007817 }
7818 }
7819 ]
7820 },
7821 {
Wailok Shumfac26d42021-06-18 17:30:08 +08007822 "name" : "next283",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08007823 "id" : 69,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007824 "runtime_data" : [],
7825 "primitives" : [
7826 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007827 "op" : "mark_to_drop",
7828 "parameters" : [
7829 {
7830 "type" : "header",
7831 "value" : "standard_metadata"
7832 }
7833 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007834 "source_info" : {
7835 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007836 "line" : 283,
7837 "column" : 12,
7838 "source_fragment" : "mark_to_drop(standard_metadata)"
7839 }
7840 }
7841 ]
7842 },
7843 {
7844 "name" : "next310",
7845 "id" : 70,
7846 "runtime_data" : [],
7847 "primitives" : [
7848 {
7849 "op" : "mark_to_drop",
7850 "parameters" : [
7851 {
7852 "type" : "header",
7853 "value" : "standard_metadata"
7854 }
7855 ],
7856 "source_info" : {
7857 "filename" : "include/control/next.p4",
7858 "line" : 310,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007859 "column" : 35,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007860 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007861 }
7862 }
7863 ]
7864 },
7865 {
Wailok Shumfac26d42021-06-18 17:30:08 +08007866 "name" : "next309",
7867 "id" : 71,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007868 "runtime_data" : [],
7869 "primitives" : [
7870 {
7871 "op" : "assign",
7872 "parameters" : [
7873 {
7874 "type" : "field",
7875 "value" : ["mpls", "ttl"]
7876 },
7877 {
7878 "type" : "expression",
7879 "value" : {
7880 "type" : "expression",
7881 "value" : {
7882 "op" : "&",
7883 "left" : {
7884 "type" : "expression",
7885 "value" : {
7886 "op" : "+",
7887 "left" : {
7888 "type" : "field",
7889 "value" : ["mpls", "ttl"]
7890 },
7891 "right" : {
7892 "type" : "hexstr",
7893 "value" : "0xff"
7894 }
7895 }
7896 },
7897 "right" : {
7898 "type" : "hexstr",
7899 "value" : "0xff"
7900 }
7901 }
7902 }
7903 }
7904 ],
7905 "source_info" : {
7906 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007907 "line" : 309,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007908 "column" : 12,
7909 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
7910 }
7911 }
7912 ]
7913 },
7914 {
Wailok Shumfac26d42021-06-18 17:30:08 +08007915 "name" : "next314",
7916 "id" : 72,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007917 "runtime_data" : [],
7918 "primitives" : [
7919 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007920 "op" : "mark_to_drop",
7921 "parameters" : [
7922 {
7923 "type" : "header",
7924 "value" : "standard_metadata"
7925 }
7926 ],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007927 "source_info" : {
7928 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007929 "line" : 314,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007930 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -07007931 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007932 }
7933 }
7934 ]
7935 },
7936 {
Wailok Shumfac26d42021-06-18 17:30:08 +08007937 "name" : "next313",
7938 "id" : 73,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007939 "runtime_data" : [],
7940 "primitives" : [
7941 {
7942 "op" : "assign",
7943 "parameters" : [
7944 {
7945 "type" : "field",
7946 "value" : ["ipv4", "ttl"]
7947 },
7948 {
7949 "type" : "expression",
7950 "value" : {
7951 "type" : "expression",
7952 "value" : {
7953 "op" : "&",
7954 "left" : {
7955 "type" : "expression",
7956 "value" : {
7957 "op" : "+",
7958 "left" : {
7959 "type" : "field",
7960 "value" : ["ipv4", "ttl"]
7961 },
7962 "right" : {
7963 "type" : "hexstr",
7964 "value" : "0xff"
7965 }
7966 }
7967 },
7968 "right" : {
7969 "type" : "hexstr",
7970 "value" : "0xff"
7971 }
7972 }
7973 }
7974 }
7975 ],
7976 "source_info" : {
7977 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08007978 "line" : 313,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08007979 "column" : 16,
7980 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
7981 }
7982 }
7983 ]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007984 },
7985 {
Carmelo Casconedb347372021-05-26 19:30:30 +02007986 "name" : "spgw342",
Wailok Shumfac26d42021-06-18 17:30:08 +08007987 "id" : 74,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007988 "runtime_data" : [],
7989 "primitives" : [
7990 {
7991 "op" : "count",
7992 "parameters" : [
7993 {
7994 "type" : "counter_array",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08007995 "value" : "FabricEgress.spgw.pdr_counter"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04007996 },
7997 {
7998 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02007999 "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008000 }
8001 ],
8002 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008003 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02008004 "line" : 342,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008005 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07008006 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04008007 }
8008 }
8009 ]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008010 }
8011 ],
8012 "pipelines" : [
8013 {
8014 "name" : "ingress",
8015 "id" : 0,
8016 "source_info" : {
8017 "filename" : "fabric.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08008018 "line" : 47,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008019 "column" : 8,
8020 "source_fragment" : "FabricIngress"
8021 },
Robert MacDavidde12b982020-07-15 18:38:59 -07008022 "init_table" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008023 "tables" : [
8024 {
Carmelo Casconedb347372021-05-26 19:30:30 +02008025 "name" : "tbl_packetio25",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008026 "id" : 0,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008027 "source_info" : {
Carmelo Cascone3032b872019-04-13 01:23:54 -07008028 "filename" : "include/control/packetio.p4",
8029 "line" : 25,
8030 "column" : 42,
8031 "source_fragment" : "= hdr.packet_out.egress_port; ..."
8032 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008033 "key" : [],
8034 "match_type" : "exact",
8035 "type" : "simple",
8036 "max_size" : 1024,
8037 "with_counters" : false,
8038 "support_timeout" : false,
8039 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008040 "action_ids" : [47],
Carmelo Casconedb347372021-05-26 19:30:30 +02008041 "actions" : ["packetio25"],
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008042 "base_default_next" : "FabricIngress.spgw.interfaces",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008043 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02008044 "packetio25" : "FabricIngress.spgw.interfaces"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008045 },
8046 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008047 "action_id" : 47,
Robert MacDavidde12b982020-07-15 18:38:59 -07008048 "action_const" : true,
8049 "action_data" : [],
8050 "action_entry_const" : true
8051 }
8052 },
8053 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008054 "name" : "FabricIngress.spgw.interfaces",
Robert MacDavidde12b982020-07-15 18:38:59 -07008055 "id" : 1,
Robert MacDavidde12b982020-07-15 18:38:59 -07008056 "source_info" : {
8057 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02008058 "line" : 129,
Robert MacDavidde12b982020-07-15 18:38:59 -07008059 "column" : 10,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008060 "source_fragment" : "interfaces"
Robert MacDavidde12b982020-07-15 18:38:59 -07008061 },
8062 "key" : [
8063 {
8064 "match_type" : "lpm",
8065 "name" : "ipv4_dst_addr",
8066 "target" : ["ipv4", "dst_addr"],
8067 "mask" : null
8068 },
8069 {
8070 "match_type" : "exact",
8071 "name" : "gtpu_is_valid",
8072 "target" : ["gtpu", "$valid$"],
8073 "mask" : null
8074 }
8075 ],
8076 "match_type" : "lpm",
8077 "type" : "simple",
8078 "max_size" : 128,
8079 "with_counters" : false,
8080 "support_timeout" : false,
8081 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008082 "action_ids" : [38, 39],
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008083 "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
8084 "base_default_next" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07008085 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02008086 "__HIT__" : "node_5",
8087 "__MISS__" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07008088 },
8089 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008090 "action_id" : 39,
Robert MacDavidde12b982020-07-15 18:38:59 -07008091 "action_const" : true,
8092 "action_data" : [],
8093 "action_entry_const" : true
8094 }
8095 },
8096 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008097 "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Casconedb347372021-05-26 19:30:30 +02008098 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07008099 "source_info" : {
8100 "filename" : "include/control/spgw.p4",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008101 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07008102 "column" : 10,
8103 "source_fragment" : "decap_gtpu"
8104 },
8105 "key" : [
8106 {
8107 "match_type" : "exact",
8108 "name" : "hdr.inner_tcp.$valid$",
8109 "target" : ["inner_tcp", "$valid$"],
8110 "mask" : null
8111 },
8112 {
8113 "match_type" : "exact",
8114 "name" : "hdr.inner_udp.$valid$",
8115 "target" : ["inner_udp", "$valid$"],
8116 "mask" : null
8117 },
8118 {
8119 "match_type" : "exact",
8120 "name" : "hdr.inner_icmp.$valid$",
8121 "target" : ["inner_icmp", "$valid$"],
8122 "mask" : null
8123 }
8124 ],
8125 "match_type" : "exact",
8126 "type" : "simple",
8127 "max_size" : 1024,
8128 "with_counters" : false,
8129 "support_timeout" : false,
8130 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008131 "action_ids" : [30, 31, 32, 33],
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008132 "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 Casconedb347372021-05-26 19:30:30 +02008133 "base_default_next" : "node_7",
Robert MacDavidde12b982020-07-15 18:38:59 -07008134 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02008135 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_7",
8136 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_7",
8137 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_7",
8138 "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07008139 },
8140 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008141 "action_id" : 33,
Robert MacDavidde12b982020-07-15 18:38:59 -07008142 "action_const" : true,
8143 "action_data" : [],
8144 "action_entry_const" : true
8145 },
8146 "entries" : [
8147 {
8148 "source_info" : {
8149 "filename" : "include/control/spgw.p4",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008150 "line" : 89,
Robert MacDavidde12b982020-07-15 18:38:59 -07008151 "column" : 12,
8152 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
8153 },
8154 "match_key" : [
8155 {
8156 "match_type" : "exact",
8157 "key" : "0x01"
8158 },
8159 {
8160 "match_type" : "exact",
8161 "key" : "0x00"
8162 },
8163 {
8164 "match_type" : "exact",
8165 "key" : "0x00"
8166 }
8167 ],
8168 "action_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008169 "action_id" : 30,
Robert MacDavidde12b982020-07-15 18:38:59 -07008170 "action_data" : []
8171 },
8172 "priority" : 1
8173 },
8174 {
8175 "source_info" : {
8176 "filename" : "include/control/spgw.p4",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008177 "line" : 90,
Robert MacDavidde12b982020-07-15 18:38:59 -07008178 "column" : 12,
8179 "source_fragment" : "(false, true, false) : decap_inner_udp()"
8180 },
8181 "match_key" : [
8182 {
8183 "match_type" : "exact",
8184 "key" : "0x00"
8185 },
8186 {
8187 "match_type" : "exact",
8188 "key" : "0x01"
8189 },
8190 {
8191 "match_type" : "exact",
8192 "key" : "0x00"
8193 }
8194 ],
8195 "action_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008196 "action_id" : 31,
Robert MacDavidde12b982020-07-15 18:38:59 -07008197 "action_data" : []
8198 },
8199 "priority" : 2
8200 },
8201 {
8202 "source_info" : {
8203 "filename" : "include/control/spgw.p4",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008204 "line" : 91,
Robert MacDavidde12b982020-07-15 18:38:59 -07008205 "column" : 12,
8206 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
8207 },
8208 "match_key" : [
8209 {
8210 "match_type" : "exact",
8211 "key" : "0x00"
8212 },
8213 {
8214 "match_type" : "exact",
8215 "key" : "0x00"
8216 },
8217 {
8218 "match_type" : "exact",
8219 "key" : "0x01"
8220 }
8221 ],
8222 "action_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008223 "action_id" : 32,
Robert MacDavidde12b982020-07-15 18:38:59 -07008224 "action_data" : []
8225 },
8226 "priority" : 3
8227 }
8228 ]
8229 },
8230 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008231 "name" : "FabricIngress.spgw.uplink_pdrs",
Carmelo Casconedb347372021-05-26 19:30:30 +02008232 "id" : 3,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008233 "source_info" : {
8234 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02008235 "line" : 176,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008236 "column" : 10,
8237 "source_fragment" : "uplink_pdrs"
8238 },
8239 "key" : [
8240 {
8241 "match_type" : "exact",
8242 "name" : "tunnel_ipv4_dst",
8243 "target" : ["ipv4", "dst_addr"],
8244 "mask" : null
8245 },
8246 {
8247 "match_type" : "exact",
8248 "name" : "teid",
8249 "target" : ["gtpu", "teid"],
8250 "mask" : null
8251 }
8252 ],
8253 "match_type" : "exact",
8254 "type" : "simple",
8255 "max_size" : 1024,
8256 "with_counters" : false,
8257 "support_timeout" : false,
8258 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008259 "action_ids" : [41, 43, 9],
ersuneetsinghc78a2512021-03-25 21:17:29 -03008260 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Casconedb347372021-05-26 19:30:30 +02008261 "base_default_next" : "node_10",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008262 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02008263 "FabricIngress.spgw.load_pdr" : "node_10",
8264 "FabricIngress.spgw.load_pdr_qos" : "node_10",
8265 "NoAction" : "node_10"
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008266 },
8267 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008268 "action_id" : 9,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008269 "action_const" : false,
8270 "action_data" : [],
8271 "action_entry_const" : false
8272 }
8273 },
8274 {
8275 "name" : "FabricIngress.spgw.downlink_pdrs",
Carmelo Casconedb347372021-05-26 19:30:30 +02008276 "id" : 4,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008277 "source_info" : {
8278 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02008279 "line" : 164,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008280 "column" : 10,
8281 "source_fragment" : "downlink_pdrs"
8282 },
8283 "key" : [
8284 {
8285 "match_type" : "exact",
8286 "name" : "ue_addr",
8287 "target" : ["ipv4", "dst_addr"],
8288 "mask" : null
8289 }
8290 ],
8291 "match_type" : "exact",
8292 "type" : "simple",
8293 "max_size" : 1024,
8294 "with_counters" : false,
8295 "support_timeout" : false,
8296 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008297 "action_ids" : [40, 42, 8],
ersuneetsinghc78a2512021-03-25 21:17:29 -03008298 "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
Carmelo Casconedb347372021-05-26 19:30:30 +02008299 "base_default_next" : "node_10",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008300 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02008301 "FabricIngress.spgw.load_pdr" : "node_10",
8302 "FabricIngress.spgw.load_pdr_qos" : "node_10",
8303 "NoAction" : "node_10"
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008304 },
8305 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008306 "action_id" : 8,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008307 "action_const" : false,
8308 "action_data" : [],
8309 "action_entry_const" : false
8310 }
8311 },
8312 {
Carmelo Casconedb347372021-05-26 19:30:30 +02008313 "name" : "tbl_spgw265",
8314 "id" : 5,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008315 "source_info" : {
8316 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02008317 "line" : 265,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008318 "column" : 16,
8319 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
8320 },
8321 "key" : [],
8322 "match_type" : "exact",
8323 "type" : "simple",
8324 "max_size" : 1024,
8325 "with_counters" : false,
8326 "support_timeout" : false,
8327 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008328 "action_ids" : [48],
Carmelo Casconedb347372021-05-26 19:30:30 +02008329 "actions" : ["spgw265"],
8330 "base_default_next" : "node_12",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008331 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02008332 "spgw265" : "node_12"
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008333 },
8334 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008335 "action_id" : 48,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008336 "action_const" : true,
8337 "action_data" : [],
8338 "action_entry_const" : true
8339 }
8340 },
8341 {
8342 "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
Carmelo Casconedb347372021-05-26 19:30:30 +02008343 "id" : 6,
Robert MacDavidde12b982020-07-15 18:38:59 -07008344 "source_info" : {
8345 "filename" : "include/control/spgw.p4",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008346 "line" : 75,
Robert MacDavidde12b982020-07-15 18:38:59 -07008347 "column" : 10,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008348 "source_fragment" : "decap_gtpu"
8349 },
8350 "key" : [
8351 {
8352 "match_type" : "exact",
8353 "name" : "hdr.inner_tcp.$valid$",
8354 "target" : ["inner_tcp", "$valid$"],
8355 "mask" : null
8356 },
8357 {
8358 "match_type" : "exact",
8359 "name" : "hdr.inner_udp.$valid$",
8360 "target" : ["inner_udp", "$valid$"],
8361 "mask" : null
8362 },
8363 {
8364 "match_type" : "exact",
8365 "name" : "hdr.inner_icmp.$valid$",
8366 "target" : ["inner_icmp", "$valid$"],
8367 "mask" : null
8368 }
8369 ],
8370 "match_type" : "exact",
8371 "type" : "simple",
8372 "max_size" : 1024,
8373 "with_counters" : false,
8374 "support_timeout" : false,
8375 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008376 "action_ids" : [34, 35, 36, 37],
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008377 "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"],
8378 "base_default_next" : "FabricIngress.spgw.fars",
8379 "next_tables" : {
8380 "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
8381 "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
8382 "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
8383 "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
8384 },
8385 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008386 "action_id" : 37,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008387 "action_const" : true,
8388 "action_data" : [],
8389 "action_entry_const" : true
8390 },
8391 "entries" : [
8392 {
8393 "source_info" : {
8394 "filename" : "include/control/spgw.p4",
8395 "line" : 89,
8396 "column" : 12,
8397 "source_fragment" : "(true, false, false) : decap_inner_tcp()"
8398 },
8399 "match_key" : [
8400 {
8401 "match_type" : "exact",
8402 "key" : "0x01"
8403 },
8404 {
8405 "match_type" : "exact",
8406 "key" : "0x00"
8407 },
8408 {
8409 "match_type" : "exact",
8410 "key" : "0x00"
8411 }
8412 ],
8413 "action_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008414 "action_id" : 34,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008415 "action_data" : []
8416 },
8417 "priority" : 1
8418 },
8419 {
8420 "source_info" : {
8421 "filename" : "include/control/spgw.p4",
8422 "line" : 90,
8423 "column" : 12,
8424 "source_fragment" : "(false, true, false) : decap_inner_udp()"
8425 },
8426 "match_key" : [
8427 {
8428 "match_type" : "exact",
8429 "key" : "0x00"
8430 },
8431 {
8432 "match_type" : "exact",
8433 "key" : "0x01"
8434 },
8435 {
8436 "match_type" : "exact",
8437 "key" : "0x00"
8438 }
8439 ],
8440 "action_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008441 "action_id" : 35,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008442 "action_data" : []
8443 },
8444 "priority" : 2
8445 },
8446 {
8447 "source_info" : {
8448 "filename" : "include/control/spgw.p4",
8449 "line" : 91,
8450 "column" : 12,
8451 "source_fragment" : "(false, false, true) : decap_inner_icmp()"
8452 },
8453 "match_key" : [
8454 {
8455 "match_type" : "exact",
8456 "key" : "0x00"
8457 },
8458 {
8459 "match_type" : "exact",
8460 "key" : "0x00"
8461 },
8462 {
8463 "match_type" : "exact",
8464 "key" : "0x01"
8465 }
8466 ],
8467 "action_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008468 "action_id" : 36,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008469 "action_data" : []
8470 },
8471 "priority" : 3
8472 }
8473 ]
8474 },
8475 {
8476 "name" : "FabricIngress.spgw.fars",
Carmelo Casconedb347372021-05-26 19:30:30 +02008477 "id" : 7,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008478 "source_info" : {
8479 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02008480 "line" : 233,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008481 "column" : 10,
8482 "source_fragment" : "fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07008483 },
8484 "key" : [
8485 {
8486 "match_type" : "exact",
8487 "name" : "far_id",
Carmelo Casconedb347372021-05-26 19:30:30 +02008488 "target" : ["scalars", "userMetadata._spgw_far_id25"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008489 "mask" : null
8490 }
8491 ],
8492 "match_type" : "exact",
8493 "type" : "simple",
8494 "max_size" : 2048,
8495 "with_counters" : false,
8496 "support_timeout" : false,
8497 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008498 "action_ids" : [44, 45, 46],
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008499 "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
Carmelo Casconedb347372021-05-26 19:30:30 +02008500 "base_default_next" : "tbl_spgw282",
Robert MacDavidde12b982020-07-15 18:38:59 -07008501 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02008502 "FabricIngress.spgw.load_normal_far" : "tbl_spgw282",
8503 "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw282",
8504 "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw282"
Robert MacDavidde12b982020-07-15 18:38:59 -07008505 },
8506 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008507 "action_id" : 44,
Robert MacDavidde12b982020-07-15 18:38:59 -07008508 "action_const" : true,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008509 "action_data" : ["0x1", "0x0"],
Robert MacDavidde12b982020-07-15 18:38:59 -07008510 "action_entry_const" : true
8511 }
8512 },
8513 {
Carmelo Casconedb347372021-05-26 19:30:30 +02008514 "name" : "tbl_spgw282",
8515 "id" : 8,
Robert MacDavidde12b982020-07-15 18:38:59 -07008516 "source_info" : {
8517 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02008518 "line" : 282,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08008519 "column" : 36,
Robert MacDavidde12b982020-07-15 18:38:59 -07008520 "source_fragment" : "="
8521 },
8522 "key" : [],
8523 "match_type" : "exact",
8524 "type" : "simple",
8525 "max_size" : 1024,
8526 "with_counters" : false,
8527 "support_timeout" : false,
8528 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008529 "action_ids" : [49],
Carmelo Casconedb347372021-05-26 19:30:30 +02008530 "actions" : ["spgw282"],
8531 "base_default_next" : "node_16",
Robert MacDavidde12b982020-07-15 18:38:59 -07008532 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02008533 "spgw282" : "node_16"
Robert MacDavidde12b982020-07-15 18:38:59 -07008534 },
8535 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008536 "action_id" : 49,
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008537 "action_const" : true,
8538 "action_data" : [],
8539 "action_entry_const" : true
8540 }
8541 },
8542 {
Wailok Shumfac26d42021-06-18 17:30:08 +08008543 "name" : "tbl_filtering113",
Carmelo Casconedb347372021-05-26 19:30:30 +02008544 "id" : 9,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008545 "source_info" : {
8546 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08008547 "line" : 113,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008548 "column" : 36,
8549 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -07008550 },
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008551 "key" : [],
8552 "match_type" : "exact",
8553 "type" : "simple",
8554 "max_size" : 1024,
8555 "with_counters" : false,
8556 "support_timeout" : false,
8557 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008558 "action_ids" : [50],
8559 "actions" : ["filtering113"],
Carmelo Casconedb347372021-05-26 19:30:30 +02008560 "base_default_next" : "node_18",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008561 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008562 "filtering113" : "node_18"
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008563 },
8564 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008565 "action_id" : 50,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008566 "action_const" : true,
8567 "action_data" : [],
8568 "action_entry_const" : true
8569 }
8570 },
8571 {
Wailok Shumfac26d42021-06-18 17:30:08 +08008572 "name" : "tbl_filtering129",
Carmelo Casconedb347372021-05-26 19:30:30 +02008573 "id" : 10,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008574 "source_info" : {
8575 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08008576 "line" : 129,
Carmelo Cascone3032b872019-04-13 01:23:54 -07008577 "column" : 37,
8578 "source_fragment" : "="
8579 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008580 "key" : [],
8581 "match_type" : "exact",
8582 "type" : "simple",
8583 "max_size" : 1024,
8584 "with_counters" : false,
8585 "support_timeout" : false,
8586 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008587 "action_ids" : [51],
8588 "actions" : ["filtering129"],
Daniele Moro5a2de712019-09-24 14:34:07 -07008589 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008590 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008591 "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008592 },
8593 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008594 "action_id" : 51,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008595 "action_const" : true,
8596 "action_data" : [],
8597 "action_entry_const" : true
8598 }
8599 },
8600 {
Daniele Moro7c3a0022019-07-12 13:38:34 -07008601 "name" : "FabricIngress.filtering.ingress_port_vlan",
Carmelo Casconedb347372021-05-26 19:30:30 +02008602 "id" : 11,
Daniele Moro7c3a0022019-07-12 13:38:34 -07008603 "source_info" : {
8604 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08008605 "line" : 55,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008606 "column" : 10,
8607 "source_fragment" : "ingress_port_vlan"
8608 },
8609 "key" : [
8610 {
8611 "match_type" : "exact",
8612 "name" : "ig_port",
8613 "target" : ["standard_metadata", "ingress_port"],
8614 "mask" : null
8615 },
8616 {
8617 "match_type" : "exact",
8618 "name" : "vlan_is_valid",
8619 "target" : ["vlan_tag", "$valid$"],
8620 "mask" : null
8621 },
8622 {
8623 "match_type" : "ternary",
8624 "name" : "vlan_id",
8625 "target" : ["vlan_tag", "vlan_id"],
8626 "mask" : null
8627 }
8628 ],
8629 "match_type" : "ternary",
8630 "type" : "simple",
8631 "max_size" : 1024,
8632 "with_counters" : true,
8633 "support_timeout" : false,
8634 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008635 "action_ids" : [10, 11, 12],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008636 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
8637 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
8638 "next_tables" : {
8639 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
8640 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
8641 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
8642 },
8643 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008644 "action_id" : 10,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008645 "action_const" : true,
8646 "action_data" : [],
8647 "action_entry_const" : true
8648 }
8649 },
8650 {
8651 "name" : "FabricIngress.filtering.fwd_classifier",
Carmelo Casconedb347372021-05-26 19:30:30 +02008652 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008653 "source_info" : {
8654 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08008655 "line" : 94,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008656 "column" : 10,
8657 "source_fragment" : "fwd_classifier"
8658 },
8659 "key" : [
8660 {
8661 "match_type" : "exact",
8662 "name" : "ig_port",
8663 "target" : ["standard_metadata", "ingress_port"],
8664 "mask" : null
8665 },
8666 {
8667 "match_type" : "ternary",
8668 "name" : "eth_dst",
8669 "target" : ["ethernet", "dst_addr"],
8670 "mask" : null
8671 },
8672 {
Daniele Moro5a2de712019-09-24 14:34:07 -07008673 "match_type" : "ternary",
8674 "name" : "eth_type",
8675 "target" : ["eth_type", "value"],
Daniele Moro7c3a0022019-07-12 13:38:34 -07008676 "mask" : null
8677 },
8678 {
8679 "match_type" : "exact",
Daniele Moro5a2de712019-09-24 14:34:07 -07008680 "name" : "ip_eth_type",
Carmelo Casconedb347372021-05-26 19:30:30 +02008681 "target" : ["scalars", "userMetadata._ip_eth_type0"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008682 "mask" : null
8683 }
8684 ],
8685 "match_type" : "ternary",
8686 "type" : "simple",
8687 "max_size" : 1024,
8688 "with_counters" : true,
8689 "support_timeout" : false,
8690 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008691 "action_ids" : [13],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008692 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
Carmelo Casconedb347372021-05-26 19:30:30 +02008693 "base_default_next" : "node_22",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008694 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02008695 "FabricIngress.filtering.set_forwarding_type" : "node_22"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008696 },
8697 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008698 "action_id" : 13,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008699 "action_const" : true,
8700 "action_data" : ["0x0"],
8701 "action_entry_const" : true
8702 }
8703 },
8704 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08008705 "name" : "FabricIngress.forwarding.bridging",
Carmelo Casconedb347372021-05-26 19:30:30 +02008706 "id" : 13,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008707 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008708 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008709 "line" : 46,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008710 "column" : 10,
8711 "source_fragment" : "bridging"
8712 },
8713 "key" : [
8714 {
8715 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008716 "name" : "vlan_id",
Carmelo Casconedb347372021-05-26 19:30:30 +02008717 "target" : ["scalars", "userMetadata._vlan_id1"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008718 "mask" : null
8719 },
8720 {
8721 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008722 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008723 "target" : ["ethernet", "dst_addr"],
8724 "mask" : null
8725 }
8726 ],
8727 "match_type" : "ternary",
8728 "type" : "simple",
8729 "max_size" : 1024,
8730 "with_counters" : true,
8731 "support_timeout" : false,
8732 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008733 "action_ids" : [14, 0],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008734 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
Wailok Shumfac26d42021-06-18 17:30:08 +08008735 "base_default_next" : "node_29",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008736 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008737 "FabricIngress.forwarding.set_next_id_bridging" : "node_29",
8738 "nop" : "node_29"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008739 },
8740 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008741 "action_id" : 0,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008742 "action_const" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008743 "action_data" : [],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008744 "action_entry_const" : true
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008745 }
8746 },
8747 {
Yi Tseng27b9bc02018-04-12 14:52:40 +08008748 "name" : "FabricIngress.forwarding.mpls",
Carmelo Casconedb347372021-05-26 19:30:30 +02008749 "id" : 14,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008750 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008751 "filename" : "include/control/forwarding.p4",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07008752 "line" : 71,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008753 "column" : 10,
8754 "source_fragment" : "mpls"
8755 },
8756 "key" : [
8757 {
8758 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008759 "name" : "mpls_label",
Carmelo Casconedb347372021-05-26 19:30:30 +02008760 "target" : ["scalars", "userMetadata._mpls_label4"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008761 "mask" : null
8762 }
8763 ],
8764 "match_type" : "exact",
8765 "type" : "simple",
8766 "max_size" : 1024,
8767 "with_counters" : true,
8768 "support_timeout" : false,
8769 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008770 "action_ids" : [15, 1],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008771 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
Wailok Shumfac26d42021-06-18 17:30:08 +08008772 "base_default_next" : "node_29",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008773 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008774 "FabricIngress.forwarding.pop_mpls_and_next" : "node_29",
8775 "nop" : "node_29"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008776 },
8777 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008778 "action_id" : 1,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008779 "action_const" : true,
8780 "action_data" : [],
8781 "action_entry_const" : true
8782 }
8783 },
8784 {
Charles Chan384aea22018-08-23 22:08:02 -07008785 "name" : "FabricIngress.forwarding.routing_v4",
Carmelo Casconedb347372021-05-26 19:30:30 +02008786 "id" : 15,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008787 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02008788 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07008789 "line" : 108,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008790 "column" : 10,
Charles Chan384aea22018-08-23 22:08:02 -07008791 "source_fragment" : "routing_v4"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008792 },
8793 "key" : [
8794 {
8795 "match_type" : "lpm",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008796 "name" : "ipv4_dst",
Carmelo Casconedb347372021-05-26 19:30:30 +02008797 "target" : ["scalars", "userMetadata._ipv4_dst_addr16"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008798 "mask" : null
8799 }
8800 ],
8801 "match_type" : "lpm",
8802 "type" : "simple",
8803 "max_size" : 1024,
Daniele Moro5a2de712019-09-24 14:34:07 -07008804 "with_counters" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008805 "support_timeout" : false,
8806 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008807 "action_ids" : [16, 17, 2],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008808 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
Wailok Shumfac26d42021-06-18 17:30:08 +08008809 "base_default_next" : "node_29",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008810 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008811 "FabricIngress.forwarding.set_next_id_routing_v4" : "node_29",
8812 "FabricIngress.forwarding.nop_routing_v4" : "node_29",
8813 "nop" : "node_29"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008814 },
8815 "default_entry" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07008816 "action_id" : 2,
CyberHasHe9ba39c2019-10-11 05:59:12 +08008817 "action_const" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008818 "action_data" : [],
CyberHasHe9ba39c2019-10-11 05:59:12 +08008819 "action_entry_const" : false
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008820 }
8821 },
8822 {
Wailok Shumfac26d42021-06-18 17:30:08 +08008823 "name" : "FabricIngress.pre_next.next_mpls",
Carmelo Casconedb347372021-05-26 19:30:30 +02008824 "id" : 16,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08008825 "source_info" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008826 "filename" : "include/control/pre_next.p4",
8827 "line" : 36,
8828 "column" : 10,
8829 "source_fragment" : "next_mpls"
8830 },
8831 "key" : [
8832 {
8833 "match_type" : "exact",
8834 "name" : "next_id",
8835 "target" : ["scalars", "userMetadata._next_id9"],
8836 "mask" : null
8837 }
8838 ],
8839 "match_type" : "exact",
8840 "type" : "simple",
8841 "max_size" : 1024,
8842 "with_counters" : true,
8843 "support_timeout" : false,
8844 "direct_meters" : null,
8845 "action_ids" : [18, 3],
8846 "actions" : ["FabricIngress.pre_next.set_mpls_label", "nop"],
8847 "base_default_next" : "FabricIngress.pre_next.next_vlan",
8848 "next_tables" : {
8849 "FabricIngress.pre_next.set_mpls_label" : "FabricIngress.pre_next.next_vlan",
8850 "nop" : "FabricIngress.pre_next.next_vlan"
8851 },
8852 "default_entry" : {
8853 "action_id" : 3,
8854 "action_const" : true,
8855 "action_data" : [],
8856 "action_entry_const" : true
8857 }
8858 },
8859 {
8860 "name" : "FabricIngress.pre_next.next_vlan",
8861 "id" : 17,
8862 "source_info" : {
8863 "filename" : "include/control/pre_next.p4",
8864 "line" : 73,
8865 "column" : 10,
8866 "source_fragment" : "next_vlan"
8867 },
8868 "key" : [
8869 {
8870 "match_type" : "exact",
8871 "name" : "next_id",
8872 "target" : ["scalars", "userMetadata._next_id9"],
8873 "mask" : null
8874 }
8875 ],
8876 "match_type" : "exact",
8877 "type" : "simple",
8878 "max_size" : 1024,
8879 "with_counters" : true,
8880 "support_timeout" : false,
8881 "direct_meters" : null,
8882 "action_ids" : [19, 4],
8883 "actions" : ["FabricIngress.pre_next.set_vlan", "nop"],
8884 "base_default_next" : "tbl_acl27",
8885 "next_tables" : {
8886 "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
8887 "nop" : "tbl_acl27"
8888 },
8889 "default_entry" : {
8890 "action_id" : 4,
8891 "action_const" : true,
8892 "action_data" : [],
8893 "action_entry_const" : true
8894 }
8895 },
8896 {
8897 "name" : "tbl_acl27",
8898 "id" : 18,
8899 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08008900 "filename" : "include/control/acl.p4",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008901 "line" : 27,
8902 "column" : 4,
8903 "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
8904 },
8905 "key" : [],
8906 "match_type" : "exact",
8907 "type" : "simple",
8908 "max_size" : 1024,
8909 "with_counters" : false,
8910 "support_timeout" : false,
8911 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008912 "action_ids" : [58],
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008913 "actions" : ["acl27"],
Wailok Shumfac26d42021-06-18 17:30:08 +08008914 "base_default_next" : "node_33",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008915 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008916 "acl27" : "node_33"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008917 },
8918 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008919 "action_id" : 58,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008920 "action_const" : true,
8921 "action_data" : [],
8922 "action_entry_const" : true
8923 }
8924 },
8925 {
Wailok Shumfac26d42021-06-18 17:30:08 +08008926 "name" : "tbl_acl98",
8927 "id" : 19,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008928 "source_info" : {
8929 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08008930 "line" : 98,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008931 "column" : 21,
8932 "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
8933 },
8934 "key" : [],
8935 "match_type" : "exact",
8936 "type" : "simple",
8937 "max_size" : 1024,
8938 "with_counters" : false,
8939 "support_timeout" : false,
8940 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008941 "action_ids" : [54],
8942 "actions" : ["acl98"],
8943 "base_default_next" : "node_35",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008944 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008945 "acl98" : "node_35"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008946 },
8947 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008948 "action_id" : 54,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008949 "action_const" : true,
8950 "action_data" : [],
8951 "action_entry_const" : true
8952 }
8953 },
8954 {
Wailok Shumfac26d42021-06-18 17:30:08 +08008955 "name" : "tbl_acl102",
8956 "id" : 20,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008957 "source_info" : {
8958 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08008959 "line" : 102,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008960 "column" : 25,
8961 "source_fragment" : "= hdr.inner_tcp.sport; ..."
8962 },
8963 "key" : [],
8964 "match_type" : "exact",
8965 "type" : "simple",
8966 "max_size" : 1024,
8967 "with_counters" : false,
8968 "support_timeout" : false,
8969 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008970 "action_ids" : [52],
8971 "actions" : ["acl102"],
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008972 "base_default_next" : "FabricIngress.acl.acl",
8973 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008974 "acl102" : "FabricIngress.acl.acl"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008975 },
8976 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08008977 "action_id" : 52,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008978 "action_const" : true,
8979 "action_data" : [],
8980 "action_entry_const" : true
8981 }
8982 },
8983 {
Wailok Shumfac26d42021-06-18 17:30:08 +08008984 "name" : "tbl_acl105",
8985 "id" : 21,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008986 "source_info" : {
8987 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08008988 "line" : 105,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08008989 "column" : 25,
8990 "source_fragment" : "= hdr.inner_udp.sport; ..."
8991 },
8992 "key" : [],
8993 "match_type" : "exact",
8994 "type" : "simple",
8995 "max_size" : 1024,
8996 "with_counters" : false,
8997 "support_timeout" : false,
8998 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08008999 "action_ids" : [53],
9000 "actions" : ["acl105"],
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009001 "base_default_next" : "FabricIngress.acl.acl",
9002 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009003 "acl105" : "FabricIngress.acl.acl"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009004 },
9005 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009006 "action_id" : 53,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009007 "action_const" : true,
9008 "action_data" : [],
9009 "action_entry_const" : true
9010 }
9011 },
9012 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009013 "name" : "tbl_acl109",
9014 "id" : 22,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009015 "source_info" : {
9016 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009017 "line" : 109,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009018 "column" : 21,
9019 "source_fragment" : "= hdr.ipv4.src_addr; ..."
9020 },
9021 "key" : [],
9022 "match_type" : "exact",
9023 "type" : "simple",
9024 "max_size" : 1024,
9025 "with_counters" : false,
9026 "support_timeout" : false,
9027 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08009028 "action_ids" : [57],
9029 "actions" : ["acl109"],
9030 "base_default_next" : "node_41",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009031 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009032 "acl109" : "node_41"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009033 },
9034 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009035 "action_id" : 57,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009036 "action_const" : true,
9037 "action_data" : [],
9038 "action_entry_const" : true
9039 }
9040 },
9041 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009042 "name" : "tbl_acl113",
9043 "id" : 23,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009044 "source_info" : {
9045 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009046 "line" : 113,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009047 "column" : 25,
9048 "source_fragment" : "= hdr.tcp.sport; ..."
9049 },
9050 "key" : [],
9051 "match_type" : "exact",
9052 "type" : "simple",
9053 "max_size" : 1024,
9054 "with_counters" : false,
9055 "support_timeout" : false,
9056 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08009057 "action_ids" : [55],
9058 "actions" : ["acl113"],
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009059 "base_default_next" : "FabricIngress.acl.acl",
9060 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009061 "acl113" : "FabricIngress.acl.acl"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009062 },
9063 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009064 "action_id" : 55,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009065 "action_const" : true,
9066 "action_data" : [],
9067 "action_entry_const" : true
9068 }
9069 },
9070 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009071 "name" : "tbl_acl116",
9072 "id" : 24,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009073 "source_info" : {
9074 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009075 "line" : 116,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009076 "column" : 25,
9077 "source_fragment" : "= hdr.udp.sport; ..."
9078 },
9079 "key" : [],
9080 "match_type" : "exact",
9081 "type" : "simple",
9082 "max_size" : 1024,
9083 "with_counters" : false,
9084 "support_timeout" : false,
9085 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08009086 "action_ids" : [56],
9087 "actions" : ["acl116"],
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009088 "base_default_next" : "FabricIngress.acl.acl",
9089 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009090 "acl116" : "FabricIngress.acl.acl"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009091 },
9092 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009093 "action_id" : 56,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009094 "action_const" : true,
9095 "action_data" : [],
9096 "action_entry_const" : true
9097 }
9098 },
9099 {
9100 "name" : "FabricIngress.acl.acl",
Wailok Shumfac26d42021-06-18 17:30:08 +08009101 "id" : 25,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009102 "source_info" : {
9103 "filename" : "include/control/acl.p4",
9104 "line" : 66,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009105 "column" : 10,
9106 "source_fragment" : "acl"
9107 },
9108 "key" : [
9109 {
9110 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009111 "name" : "ig_port",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009112 "target" : ["standard_metadata", "ingress_port"],
9113 "mask" : null
9114 },
9115 {
9116 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08009117 "name" : "eth_dst",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009118 "target" : ["ethernet", "dst_addr"],
9119 "mask" : null
9120 },
9121 {
9122 "match_type" : "ternary",
Daniele Moro0cecfe12019-12-13 17:24:33 -08009123 "name" : "eth_src",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009124 "target" : ["ethernet", "src_addr"],
9125 "mask" : null
9126 },
9127 {
9128 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009129 "name" : "vlan_id",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009130 "target" : ["vlan_tag", "vlan_id"],
9131 "mask" : null
9132 },
9133 {
9134 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009135 "name" : "eth_type",
Daniele Moro5a2de712019-09-24 14:34:07 -07009136 "target" : ["eth_type", "value"],
Yi Tseng8235a1a2018-07-24 20:57:28 +08009137 "mask" : null
9138 },
9139 {
9140 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009141 "name" : "ipv4_src",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009142 "target" : ["scalars", "acl_ipv4_src"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009143 "mask" : null
9144 },
9145 {
9146 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009147 "name" : "ipv4_dst",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009148 "target" : ["scalars", "acl_ipv4_dst"],
9149 "mask" : null
9150 },
9151 {
9152 "match_type" : "ternary",
9153 "name" : "ip_proto",
9154 "target" : ["scalars", "acl_ip_proto"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009155 "mask" : null
9156 },
9157 {
9158 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009159 "name" : "icmp_type",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009160 "target" : ["icmp", "icmp_type"],
9161 "mask" : null
9162 },
9163 {
9164 "match_type" : "ternary",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009165 "name" : "icmp_code",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009166 "target" : ["icmp", "icmp_code"],
9167 "mask" : null
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009168 },
9169 {
9170 "match_type" : "ternary",
9171 "name" : "l4_sport",
9172 "target" : ["scalars", "acl_l4_sport"],
9173 "mask" : null
9174 },
9175 {
9176 "match_type" : "ternary",
9177 "name" : "l4_dport",
9178 "target" : ["scalars", "acl_l4_dport"],
9179 "mask" : null
Wailok Shumfac26d42021-06-18 17:30:08 +08009180 },
9181 {
9182 "match_type" : "ternary",
9183 "name" : "port_type",
9184 "target" : ["scalars", "userMetadata._port_type32"],
9185 "mask" : null
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009186 }
9187 ],
9188 "match_type" : "ternary",
9189 "type" : "simple",
Carmelo Cascone70e816b2019-03-19 16:15:47 -07009190 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009191 "with_counters" : true,
9192 "support_timeout" : false,
9193 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08009194 "action_ids" : [20, 21, 22, 23, 24],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07009195 "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
Wailok Shumfac26d42021-06-18 17:30:08 +08009196 "base_default_next" : "node_46",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009197 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009198 "FabricIngress.acl.set_next_id_acl" : "node_46",
9199 "FabricIngress.acl.punt_to_cpu" : "node_46",
9200 "FabricIngress.acl.set_clone_session_id" : "node_46",
9201 "FabricIngress.acl.drop" : "node_46",
9202 "FabricIngress.acl.nop_acl" : "node_46"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009203 },
9204 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009205 "action_id" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009206 "action_const" : true,
9207 "action_data" : [],
9208 "action_entry_const" : true
9209 }
9210 },
9211 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009212 "name" : "FabricIngress.next.xconnect",
Wailok Shumfac26d42021-06-18 17:30:08 +08009213 "id" : 26,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009214 "source_info" : {
9215 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009216 "line" : 68,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009217 "column" : 10,
9218 "source_fragment" : "xconnect"
9219 },
9220 "key" : [
9221 {
9222 "match_type" : "exact",
9223 "name" : "ig_port",
9224 "target" : ["standard_metadata", "ingress_port"],
9225 "mask" : null
9226 },
9227 {
9228 "match_type" : "exact",
9229 "name" : "next_id",
Carmelo Casconedb347372021-05-26 19:30:30 +02009230 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009231 "mask" : null
9232 }
9233 ],
9234 "match_type" : "exact",
9235 "type" : "simple",
9236 "max_size" : 1024,
9237 "with_counters" : true,
9238 "support_timeout" : false,
9239 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08009240 "action_ids" : [25, 26, 5],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009241 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
9242 "base_default_next" : "FabricIngress.next.hashed",
9243 "next_tables" : {
9244 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
9245 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
9246 "nop" : "FabricIngress.next.hashed"
9247 },
9248 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009249 "action_id" : 5,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009250 "action_const" : true,
9251 "action_data" : [],
9252 "action_entry_const" : true
9253 }
9254 },
9255 {
9256 "name" : "FabricIngress.next.hashed",
Wailok Shumfac26d42021-06-18 17:30:08 +08009257 "id" : 27,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009258 "source_info" : {
9259 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009260 "line" : 138,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009261 "column" : 10,
9262 "source_fragment" : "hashed"
9263 },
9264 "key" : [
9265 {
9266 "match_type" : "exact",
9267 "name" : "next_id",
Carmelo Casconedb347372021-05-26 19:30:30 +02009268 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009269 "mask" : null
9270 }
9271 ],
9272 "match_type" : "exact",
9273 "type" : "indirect_ws",
9274 "action_profile" : "FabricIngress.next.hashed_selector",
9275 "max_size" : 1024,
9276 "with_counters" : true,
9277 "support_timeout" : false,
9278 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08009279 "action_ids" : [27, 28, 6],
9280 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "nop"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009281 "base_default_next" : "FabricIngress.next.multicast",
9282 "next_tables" : {
9283 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
9284 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009285 "nop" : "FabricIngress.next.multicast"
9286 }
9287 },
9288 {
9289 "name" : "FabricIngress.next.multicast",
Wailok Shumfac26d42021-06-18 17:30:08 +08009290 "id" : 28,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009291 "source_info" : {
9292 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009293 "line" : 171,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009294 "column" : 10,
9295 "source_fragment" : "multicast"
9296 },
9297 "key" : [
9298 {
9299 "match_type" : "exact",
9300 "name" : "next_id",
Carmelo Casconedb347372021-05-26 19:30:30 +02009301 "target" : ["scalars", "userMetadata._next_id9"],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009302 "mask" : null
9303 }
9304 ],
9305 "match_type" : "exact",
9306 "type" : "simple",
9307 "max_size" : 1024,
9308 "with_counters" : true,
9309 "support_timeout" : false,
9310 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08009311 "action_ids" : [29, 7],
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009312 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
Wailok Shumfac26d42021-06-18 17:30:08 +08009313 "base_default_next" : "node_50",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009314 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009315 "FabricIngress.next.set_mcast_group_id" : "node_50",
9316 "nop" : "node_50"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009317 },
9318 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009319 "action_id" : 7,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009320 "action_const" : true,
9321 "action_data" : [],
9322 "action_entry_const" : true
9323 }
9324 },
9325 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009326 "name" : "tbl_port_counter31",
Wailok Shumfac26d42021-06-18 17:30:08 +08009327 "id" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009328 "source_info" : {
9329 "filename" : "include/control/port_counter.p4",
9330 "line" : 31,
9331 "column" : 12,
9332 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
9333 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02009334 "key" : [],
9335 "match_type" : "exact",
9336 "type" : "simple",
9337 "max_size" : 1024,
9338 "with_counters" : false,
9339 "support_timeout" : false,
9340 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08009341 "action_ids" : [59],
Carmelo Casconedb347372021-05-26 19:30:30 +02009342 "actions" : ["port_counter31"],
Wailok Shumfac26d42021-06-18 17:30:08 +08009343 "base_default_next" : "node_52",
Carmelo Casconea5400af2018-07-17 22:11:54 +02009344 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009345 "port_counter31" : "node_52"
Carmelo Casconea5400af2018-07-17 22:11:54 +02009346 },
9347 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009348 "action_id" : 59,
Carmelo Casconea5400af2018-07-17 22:11:54 +02009349 "action_const" : true,
9350 "action_data" : [],
9351 "action_entry_const" : true
9352 }
9353 },
9354 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009355 "name" : "tbl_port_counter34",
Wailok Shumfac26d42021-06-18 17:30:08 +08009356 "id" : 30,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009357 "source_info" : {
9358 "filename" : "include/control/port_counter.p4",
9359 "line" : 34,
9360 "column" : 12,
9361 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
9362 },
Yi Tseng20f9e7b2018-05-24 23:27:39 +08009363 "key" : [],
9364 "match_type" : "exact",
9365 "type" : "simple",
9366 "max_size" : 1024,
9367 "with_counters" : false,
9368 "support_timeout" : false,
9369 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +08009370 "action_ids" : [60],
Carmelo Casconedb347372021-05-26 19:30:30 +02009371 "actions" : ["port_counter34"],
Carmelo Casconea5400af2018-07-17 22:11:54 +02009372 "base_default_next" : null,
Yi Tseng27b9bc02018-04-12 14:52:40 +08009373 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02009374 "port_counter34" : null
Carmelo Casconea5400af2018-07-17 22:11:54 +02009375 },
9376 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +08009377 "action_id" : 60,
Carmelo Cascone8a715f82018-08-20 23:16:27 -07009378 "action_const" : true,
9379 "action_data" : [],
9380 "action_entry_const" : true
9381 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009382 }
9383 ],
9384 "action_profiles" : [
9385 {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009386 "name" : "FabricIngress.next.hashed_selector",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009387 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009388 "source_info" : {
9389 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009390 "line" : 125,
Carmelo Cascone70e816b2019-03-19 16:15:47 -07009391 "column" : 57,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009392 "source_fragment" : "hashed_selector"
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -07009393 },
Carmelo Cascone70e816b2019-03-19 16:15:47 -07009394 "max_size" : 1024,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009395 "selector" : {
9396 "algo" : "crc16",
9397 "input" : [
9398 {
9399 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009400 "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009401 },
9402 {
9403 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009404 "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009405 },
9406 {
9407 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009408 "value" : ["scalars", "userMetadata._ip_proto12"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009409 },
9410 {
9411 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009412 "value" : ["scalars", "userMetadata._l4_sport13"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009413 },
9414 {
9415 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009416 "value" : ["scalars", "userMetadata._l4_dport14"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009417 }
9418 ]
9419 }
9420 }
9421 ],
9422 "conditionals" : [
9423 {
Robert MacDavidde12b982020-07-15 18:38:59 -07009424 "name" : "node_2",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009425 "id" : 0,
9426 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009427 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009428 "line" : 24,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009429 "column" : 12,
9430 "source_fragment" : "hdr.packet_out.isValid()"
9431 },
9432 "expression" : {
9433 "type" : "expression",
9434 "value" : {
9435 "op" : "d2b",
9436 "left" : null,
9437 "right" : {
9438 "type" : "field",
9439 "value" : ["packet_out", "$valid$"]
9440 }
9441 }
9442 },
Carmelo Casconedb347372021-05-26 19:30:30 +02009443 "true_next" : "tbl_packetio25",
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009444 "false_next" : "FabricIngress.spgw.interfaces"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009445 },
9446 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009447 "name" : "node_5",
Robert MacDavidde12b982020-07-15 18:38:59 -07009448 "id" : 1,
9449 "source_info" : {
9450 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02009451 "line" : 255,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009452 "column" : 16,
9453 "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
Robert MacDavidde12b982020-07-15 18:38:59 -07009454 },
9455 "expression" : {
9456 "type" : "expression",
9457 "value" : {
9458 "op" : "==",
9459 "left" : {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009460 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009461 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009462 },
9463 "right" : {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009464 "type" : "hexstr",
9465 "value" : "0x03"
Robert MacDavidde12b982020-07-15 18:38:59 -07009466 }
9467 }
9468 },
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009469 "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
Carmelo Casconedb347372021-05-26 19:30:30 +02009470 "false_next" : "node_7"
Robert MacDavidde12b982020-07-15 18:38:59 -07009471 },
9472 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009473 "name" : "node_7",
9474 "id" : 2,
Robert MacDavidde12b982020-07-15 18:38:59 -07009475 "source_info" : {
9476 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02009477 "line" : 259,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009478 "column" : 16,
Robert MacDavidde12b982020-07-15 18:38:59 -07009479 "source_fragment" : "hdr.gtpu.isValid()"
9480 },
9481 "expression" : {
9482 "type" : "expression",
9483 "value" : {
9484 "op" : "d2b",
9485 "left" : null,
9486 "right" : {
9487 "type" : "field",
9488 "value" : ["gtpu", "$valid$"]
9489 }
9490 }
9491 },
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009492 "true_next" : "FabricIngress.spgw.uplink_pdrs",
9493 "false_next" : "FabricIngress.spgw.downlink_pdrs"
Robert MacDavidde12b982020-07-15 18:38:59 -07009494 },
9495 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009496 "name" : "node_10",
9497 "id" : 3,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009498 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -07009499 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +02009500 "line" : 264,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009501 "column" : 16,
9502 "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
9503 },
9504 "expression" : {
9505 "type" : "expression",
9506 "value" : {
9507 "op" : "!=",
9508 "left" : {
9509 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009510 "value" : ["scalars", "userMetadata._spgw_src_iface26"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009511 },
9512 "right" : {
9513 "type" : "hexstr",
9514 "value" : "0x03"
9515 }
9516 }
9517 },
Carmelo Casconedb347372021-05-26 19:30:30 +02009518 "true_next" : "tbl_spgw265",
9519 "false_next" : "node_12"
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009520 },
9521 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009522 "name" : "node_12",
9523 "id" : 4,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009524 "source_info" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02009525 "filename" : "fabric.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009526 "line" : 68,
Carmelo Casconedb347372021-05-26 19:30:30 +02009527 "column" : 24,
9528 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -07009529 },
9530 "expression" : {
9531 "type" : "expression",
9532 "value" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02009533 "op" : "d2b",
9534 "left" : null,
Robert MacDavidde12b982020-07-15 18:38:59 -07009535 "right" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02009536 "type" : "field",
9537 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
Robert MacDavidde12b982020-07-15 18:38:59 -07009538 }
9539 }
9540 },
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -08009541 "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
9542 "false_next" : "FabricIngress.spgw.fars"
Robert MacDavidde12b982020-07-15 18:38:59 -07009543 },
9544 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009545 "name" : "node_16",
9546 "id" : 5,
Robert MacDavidde12b982020-07-15 18:38:59 -07009547 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009548 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009549 "line" : 112,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009550 "column" : 12,
9551 "source_fragment" : "hdr.vlan_tag.isValid()"
9552 },
9553 "expression" : {
9554 "type" : "expression",
9555 "value" : {
9556 "op" : "d2b",
9557 "left" : null,
9558 "right" : {
9559 "type" : "field",
9560 "value" : ["vlan_tag", "$valid$"]
9561 }
9562 }
9563 },
Wailok Shumfac26d42021-06-18 17:30:08 +08009564 "true_next" : "tbl_filtering113",
Carmelo Casconedb347372021-05-26 19:30:30 +02009565 "false_next" : "node_18"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009566 },
9567 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009568 "name" : "node_18",
9569 "id" : 6,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009570 "source_info" : {
9571 "filename" : "include/control/filtering.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009572 "line" : 124,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009573 "column" : 12,
9574 "source_fragment" : "!hdr.mpls.isValid()"
9575 },
9576 "expression" : {
9577 "type" : "expression",
9578 "value" : {
9579 "op" : "not",
9580 "left" : null,
9581 "right" : {
9582 "type" : "expression",
9583 "value" : {
9584 "op" : "d2b",
9585 "left" : null,
9586 "right" : {
9587 "type" : "field",
9588 "value" : ["mpls", "$valid$"]
9589 }
9590 }
9591 }
9592 }
9593 },
Wailok Shumfac26d42021-06-18 17:30:08 +08009594 "true_next" : "tbl_filtering129",
Daniele Moro5a2de712019-09-24 14:34:07 -07009595 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009596 },
9597 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009598 "name" : "node_22",
9599 "id" : 7,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -04009600 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009601 "filename" : "fabric.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009602 "line" : 71,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009603 "column" : 12,
Carmelo Casconedb347372021-05-26 19:30:30 +02009604 "source_fragment" : "fabric_metadata.skip_forwarding"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009605 },
9606 "expression" : {
9607 "type" : "expression",
9608 "value" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02009609 "op" : "not",
9610 "left" : null,
9611 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009612 "type" : "expression",
9613 "value" : {
9614 "op" : "d2b",
9615 "left" : null,
9616 "right" : {
9617 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009618 "value" : ["scalars", "userMetadata._skip_forwarding6"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009619 }
9620 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009621 }
9622 }
9623 },
Carmelo Casconedb347372021-05-26 19:30:30 +02009624 "true_next" : "node_23",
Wailok Shumfac26d42021-06-18 17:30:08 +08009625 "false_next" : "node_29"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009626 },
9627 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009628 "name" : "node_23",
9629 "id" : 8,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009630 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009631 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07009632 "line" : 150,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009633 "column" : 12,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009634 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
9635 },
9636 "expression" : {
9637 "type" : "expression",
9638 "value" : {
9639 "op" : "==",
9640 "left" : {
9641 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009642 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009643 },
9644 "right" : {
9645 "type" : "hexstr",
9646 "value" : "0x00"
9647 }
9648 }
9649 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08009650 "true_next" : "FabricIngress.forwarding.bridging",
Carmelo Casconedb347372021-05-26 19:30:30 +02009651 "false_next" : "node_25"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009652 },
9653 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009654 "name" : "node_25",
9655 "id" : 9,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009656 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009657 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07009658 "line" : 151,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009659 "column" : 17,
9660 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
9661 },
9662 "expression" : {
9663 "type" : "expression",
9664 "value" : {
9665 "op" : "==",
9666 "left" : {
9667 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009668 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009669 },
9670 "right" : {
9671 "type" : "hexstr",
9672 "value" : "0x01"
9673 }
9674 }
9675 },
Yi Tseng27b9bc02018-04-12 14:52:40 +08009676 "true_next" : "FabricIngress.forwarding.mpls",
Carmelo Casconedb347372021-05-26 19:30:30 +02009677 "false_next" : "node_27"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009678 },
9679 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009680 "name" : "node_27",
9681 "id" : 10,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009682 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009683 "filename" : "include/control/forwarding.p4",
Daniele Moro5a2de712019-09-24 14:34:07 -07009684 "line" : 152,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009685 "column" : 17,
9686 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
9687 },
9688 "expression" : {
9689 "type" : "expression",
9690 "value" : {
9691 "op" : "==",
9692 "left" : {
9693 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009694 "value" : ["scalars", "userMetadata._fwd_type8"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009695 },
9696 "right" : {
9697 "type" : "hexstr",
9698 "value" : "0x02"
9699 }
9700 }
9701 },
Charles Chan384aea22018-08-23 22:08:02 -07009702 "true_next" : "FabricIngress.forwarding.routing_v4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009703 "false_next" : "node_29"
9704 },
9705 {
9706 "name" : "node_29",
9707 "id" : 11,
9708 "source_info" : {
9709 "filename" : "fabric.p4",
9710 "line" : 74,
9711 "column" : 12,
9712 "source_fragment" : "fabric_metadata.skip_next"
9713 },
9714 "expression" : {
9715 "type" : "expression",
9716 "value" : {
9717 "op" : "not",
9718 "left" : null,
9719 "right" : {
9720 "type" : "expression",
9721 "value" : {
9722 "op" : "d2b",
9723 "left" : null,
9724 "right" : {
9725 "type" : "field",
9726 "value" : ["scalars", "userMetadata._skip_next7"]
9727 }
9728 }
9729 }
9730 }
9731 },
9732 "true_next" : "FabricIngress.pre_next.next_mpls",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009733 "false_next" : "tbl_acl27"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009734 },
9735 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009736 "name" : "node_33",
9737 "id" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009738 "source_info" : {
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009739 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009740 "line" : 97,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009741 "column" : 12,
9742 "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
9743 },
9744 "expression" : {
9745 "type" : "expression",
9746 "value" : {
9747 "op" : "and",
9748 "left" : {
9749 "type" : "expression",
9750 "value" : {
9751 "op" : "d2b",
9752 "left" : null,
9753 "right" : {
9754 "type" : "field",
9755 "value" : ["gtpu", "$valid$"]
9756 }
9757 }
9758 },
9759 "right" : {
9760 "type" : "expression",
9761 "value" : {
9762 "op" : "d2b",
9763 "left" : null,
9764 "right" : {
9765 "type" : "field",
9766 "value" : ["inner_ipv4", "$valid$"]
9767 }
9768 }
9769 }
9770 }
9771 },
Wailok Shumfac26d42021-06-18 17:30:08 +08009772 "true_next" : "tbl_acl98",
9773 "false_next" : "node_39"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009774 },
9775 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009776 "name" : "node_35",
9777 "id" : 13,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009778 "source_info" : {
9779 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009780 "line" : 101,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009781 "column" : 16,
9782 "source_fragment" : "hdr.inner_tcp.isValid()"
9783 },
9784 "expression" : {
9785 "type" : "expression",
9786 "value" : {
9787 "op" : "d2b",
9788 "left" : null,
9789 "right" : {
9790 "type" : "field",
9791 "value" : ["inner_tcp", "$valid$"]
9792 }
9793 }
9794 },
Wailok Shumfac26d42021-06-18 17:30:08 +08009795 "true_next" : "tbl_acl102",
9796 "false_next" : "node_37"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009797 },
9798 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009799 "name" : "node_37",
9800 "id" : 14,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009801 "source_info" : {
9802 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009803 "line" : 104,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009804 "column" : 23,
9805 "source_fragment" : "hdr.inner_udp.isValid()"
9806 },
9807 "expression" : {
9808 "type" : "expression",
9809 "value" : {
9810 "op" : "d2b",
9811 "left" : null,
9812 "right" : {
9813 "type" : "field",
9814 "value" : ["inner_udp", "$valid$"]
9815 }
9816 }
9817 },
Wailok Shumfac26d42021-06-18 17:30:08 +08009818 "true_next" : "tbl_acl105",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009819 "false_next" : "FabricIngress.acl.acl"
9820 },
9821 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009822 "name" : "node_39",
9823 "id" : 15,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009824 "source_info" : {
9825 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009826 "line" : 108,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009827 "column" : 19,
9828 "source_fragment" : "hdr.ipv4.isValid()"
9829 },
9830 "expression" : {
9831 "type" : "expression",
9832 "value" : {
9833 "op" : "d2b",
9834 "left" : null,
9835 "right" : {
9836 "type" : "field",
9837 "value" : ["ipv4", "$valid$"]
9838 }
9839 }
9840 },
Wailok Shumfac26d42021-06-18 17:30:08 +08009841 "true_next" : "tbl_acl109",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009842 "false_next" : "FabricIngress.acl.acl"
9843 },
9844 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009845 "name" : "node_41",
9846 "id" : 16,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009847 "source_info" : {
9848 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009849 "line" : 112,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009850 "column" : 16,
9851 "source_fragment" : "hdr.tcp.isValid()"
9852 },
9853 "expression" : {
9854 "type" : "expression",
9855 "value" : {
9856 "op" : "d2b",
9857 "left" : null,
9858 "right" : {
9859 "type" : "field",
9860 "value" : ["tcp", "$valid$"]
9861 }
9862 }
9863 },
Wailok Shumfac26d42021-06-18 17:30:08 +08009864 "true_next" : "tbl_acl113",
9865 "false_next" : "node_43"
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009866 },
9867 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009868 "name" : "node_43",
9869 "id" : 17,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009870 "source_info" : {
9871 "filename" : "include/control/acl.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009872 "line" : 115,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009873 "column" : 23,
9874 "source_fragment" : "hdr.udp.isValid()"
9875 },
9876 "expression" : {
9877 "type" : "expression",
9878 "value" : {
9879 "op" : "d2b",
9880 "left" : null,
9881 "right" : {
9882 "type" : "field",
9883 "value" : ["udp", "$valid$"]
9884 }
9885 }
9886 },
Wailok Shumfac26d42021-06-18 17:30:08 +08009887 "true_next" : "tbl_acl116",
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009888 "false_next" : "FabricIngress.acl.acl"
9889 },
9890 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009891 "name" : "node_46",
9892 "id" : 18,
Wailok Shum60dfd4a2021-06-11 22:48:41 +08009893 "source_info" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009894 "filename" : "fabric.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009895 "line" : 78,
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009896 "column" : 12,
Carmelo Casconedb347372021-05-26 19:30:30 +02009897 "source_fragment" : "fabric_metadata.skip_next"
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009898 },
9899 "expression" : {
9900 "type" : "expression",
9901 "value" : {
Carmelo Casconedb347372021-05-26 19:30:30 +02009902 "op" : "not",
9903 "left" : null,
9904 "right" : {
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009905 "type" : "expression",
9906 "value" : {
9907 "op" : "d2b",
9908 "left" : null,
9909 "right" : {
9910 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +02009911 "value" : ["scalars", "userMetadata._skip_next7"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009912 }
9913 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009914 }
9915 }
9916 },
9917 "false_next" : null,
9918 "true_next" : "FabricIngress.next.xconnect"
Yi Tseng27b9bc02018-04-12 14:52:40 +08009919 },
9920 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009921 "name" : "node_50",
9922 "id" : 19,
Yi Tseng27b9bc02018-04-12 14:52:40 +08009923 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009924 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009925 "line" : 30,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009926 "column" : 12,
9927 "source_fragment" : "standard_metadata.egress_spec < 511"
9928 },
9929 "expression" : {
9930 "type" : "expression",
9931 "value" : {
9932 "op" : "<",
9933 "left" : {
9934 "type" : "field",
9935 "value" : ["standard_metadata", "egress_spec"]
9936 },
9937 "right" : {
9938 "type" : "hexstr",
9939 "value" : "0x01ff"
9940 }
9941 }
9942 },
Carmelo Casconedb347372021-05-26 19:30:30 +02009943 "true_next" : "tbl_port_counter31",
Wailok Shumfac26d42021-06-18 17:30:08 +08009944 "false_next" : "node_52"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009945 },
9946 {
Wailok Shumfac26d42021-06-18 17:30:08 +08009947 "name" : "node_52",
9948 "id" : 20,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009949 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +02009950 "filename" : "include/control/port_counter.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -08009951 "line" : 33,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009952 "column" : 12,
9953 "source_fragment" : "standard_metadata.ingress_port < 511"
9954 },
9955 "expression" : {
9956 "type" : "expression",
9957 "value" : {
9958 "op" : "<",
9959 "left" : {
9960 "type" : "field",
9961 "value" : ["standard_metadata", "ingress_port"]
9962 },
9963 "right" : {
9964 "type" : "hexstr",
9965 "value" : "0x01ff"
9966 }
9967 }
9968 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009969 "false_next" : null,
Carmelo Casconedb347372021-05-26 19:30:30 +02009970 "true_next" : "tbl_port_counter34"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009971 }
9972 ]
9973 },
9974 {
9975 "name" : "egress",
9976 "id" : 1,
9977 "source_info" : {
9978 "filename" : "fabric.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +08009979 "line" : 96,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009980 "column" : 8,
9981 "source_fragment" : "FabricEgress"
9982 },
Wailok Shumfac26d42021-06-18 17:30:08 +08009983 "init_table" : "node_56",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -08009984 "tables" : [
9985 {
Carmelo Casconedb347372021-05-26 19:30:30 +02009986 "name" : "tbl_packetio41",
Wailok Shumfac26d42021-06-18 17:30:08 +08009987 "id" : 31,
Carmelo Cascone3032b872019-04-13 01:23:54 -07009988 "source_info" : {
9989 "filename" : "include/control/packetio.p4",
Carmelo Cascone9b607da2019-05-08 14:03:01 -07009990 "line" : 41,
9991 "column" : 12,
9992 "source_fragment" : "exit"
Carmelo Cascone3032b872019-04-13 01:23:54 -07009993 },
Carmelo Casconea5400af2018-07-17 22:11:54 +02009994 "key" : [],
9995 "match_type" : "exact",
9996 "type" : "simple",
9997 "max_size" : 1024,
9998 "with_counters" : false,
9999 "support_timeout" : false,
10000 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010001 "action_ids" : [67],
Carmelo Casconedb347372021-05-26 19:30:30 +020010002 "actions" : ["packetio41"],
Wailok Shumfac26d42021-06-18 17:30:08 +080010003 "base_default_next" : "node_58",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010004 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010005 "packetio41" : "node_58"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010006 },
10007 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010008 "action_id" : 67,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010009 "action_const" : true,
10010 "action_data" : [],
10011 "action_entry_const" : true
10012 }
10013 },
10014 {
Carmelo Casconedb347372021-05-26 19:30:30 +020010015 "name" : "tbl_packetio44",
Wailok Shumfac26d42021-06-18 17:30:08 +080010016 "id" : 32,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010017 "source_info" : {
10018 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -070010019 "line" : 44,
10020 "column" : 12,
10021 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone3032b872019-04-13 01:23:54 -070010022 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010023 "key" : [],
10024 "match_type" : "exact",
10025 "type" : "simple",
10026 "max_size" : 1024,
10027 "with_counters" : false,
10028 "support_timeout" : false,
10029 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010030 "action_ids" : [68],
Carmelo Casconedb347372021-05-26 19:30:30 +020010031 "actions" : ["packetio44"],
Wailok Shumfac26d42021-06-18 17:30:08 +080010032 "base_default_next" : "node_60",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010033 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010034 "packetio44" : "node_60"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010035 },
10036 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010037 "action_id" : 68,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010038 "action_const" : true,
10039 "action_data" : [],
10040 "action_entry_const" : true
10041 }
10042 },
10043 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010044 "name" : "tbl_next283",
10045 "id" : 33,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010046 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -070010047 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010048 "line" : 283,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010049 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -070010050 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone3032b872019-04-13 01:23:54 -070010051 },
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010052 "key" : [],
10053 "match_type" : "exact",
10054 "type" : "simple",
10055 "max_size" : 1024,
10056 "with_counters" : false,
10057 "support_timeout" : false,
10058 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010059 "action_ids" : [69],
10060 "actions" : ["next283"],
10061 "base_default_next" : "node_62",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010062 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010063 "next283" : "node_62"
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010064 },
10065 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010066 "action_id" : 69,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010067 "action_const" : true,
10068 "action_data" : [],
10069 "action_entry_const" : true
10070 }
10071 },
10072 {
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010073 "name" : "tbl_egress_next_pop_mpls_if_present",
Wailok Shumfac26d42021-06-18 17:30:08 +080010074 "id" : 34,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010075 "source_info" : {
10076 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010077 "line" : 287,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010078 "column" : 36,
10079 "source_fragment" : "pop_mpls_if_present()"
10080 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010081 "key" : [],
10082 "match_type" : "exact",
10083 "type" : "simple",
10084 "max_size" : 1024,
10085 "with_counters" : false,
10086 "support_timeout" : false,
10087 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010088 "action_ids" : [61],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010089 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
10090 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
10091 "next_tables" : {
10092 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
10093 },
10094 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010095 "action_id" : 61,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010096 "action_const" : true,
10097 "action_data" : [],
10098 "action_entry_const" : true
10099 }
10100 },
10101 {
10102 "name" : "tbl_egress_next_set_mpls",
Wailok Shumfac26d42021-06-18 17:30:08 +080010103 "id" : 35,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010104 "source_info" : {
10105 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010106 "line" : 289,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010107 "column" : 12,
10108 "source_fragment" : "set_mpls()"
10109 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010110 "key" : [],
10111 "match_type" : "exact",
10112 "type" : "simple",
10113 "max_size" : 1024,
10114 "with_counters" : false,
10115 "support_timeout" : false,
10116 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010117 "action_ids" : [62],
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010118 "actions" : ["FabricEgress.egress_next.set_mpls"],
10119 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
10120 "next_tables" : {
10121 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
10122 },
10123 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010124 "action_id" : 62,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010125 "action_const" : true,
10126 "action_data" : [],
10127 "action_entry_const" : true
10128 }
10129 },
10130 {
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010131 "name" : "FabricEgress.egress_next.egress_vlan",
Wailok Shumfac26d42021-06-18 17:30:08 +080010132 "id" : 36,
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010133 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020010134 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010135 "line" : 265,
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010136 "column" : 10,
10137 "source_fragment" : "egress_vlan"
10138 },
10139 "key" : [
10140 {
10141 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010142 "name" : "vlan_id",
Carmelo Casconedb347372021-05-26 19:30:30 +020010143 "target" : ["scalars", "userMetadata._vlan_id1"],
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010144 "mask" : null
10145 },
10146 {
10147 "match_type" : "exact",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010148 "name" : "eg_port",
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010149 "target" : ["standard_metadata", "egress_port"],
10150 "mask" : null
10151 }
10152 ],
Carmelo Cascone5bdffe72018-02-04 14:53:54 -080010153 "match_type" : "exact",
10154 "type" : "simple",
10155 "max_size" : 1024,
Yi Tseng47eac892018-07-11 02:17:04 +080010156 "with_counters" : true,
Carmelo Cascone5bdffe72018-02-04 14:53:54 -080010157 "support_timeout" : false,
10158 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010159 "action_ids" : [63, 64, 65],
pierventrecfd08de2020-12-15 17:34:54 +010010160 "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
Wailok Shumfac26d42021-06-18 17:30:08 +080010161 "base_default_next" : "node_67",
Carmelo Cascone5bdffe72018-02-04 14:53:54 -080010162 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010163 "FabricEgress.egress_next.push_vlan" : "node_67",
10164 "FabricEgress.egress_next.pop_vlan" : "node_67",
10165 "FabricEgress.egress_next.drop" : "node_67"
Daniele Moro7c3a0022019-07-12 13:38:34 -070010166 },
10167 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010168 "action_id" : 65,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010169 "action_const" : true,
10170 "action_data" : [],
10171 "action_entry_const" : true
10172 }
10173 },
10174 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010175 "name" : "tbl_next309",
10176 "id" : 37,
pierventrecfd08de2020-12-15 17:34:54 +010010177 "source_info" : {
10178 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010179 "line" : 309,
pierventrecfd08de2020-12-15 17:34:54 +010010180 "column" : 25,
10181 "source_fragment" : "="
Daniele Moro7c3a0022019-07-12 13:38:34 -070010182 },
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010183 "key" : [],
10184 "match_type" : "exact",
10185 "type" : "simple",
10186 "max_size" : 1024,
10187 "with_counters" : false,
10188 "support_timeout" : false,
10189 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010190 "action_ids" : [71],
10191 "actions" : ["next309"],
10192 "base_default_next" : "node_69",
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010193 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010194 "next309" : "node_69"
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010195 },
10196 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010197 "action_id" : 71,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010198 "action_const" : true,
10199 "action_data" : [],
10200 "action_entry_const" : true
10201 }
10202 },
10203 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010204 "name" : "tbl_next310",
10205 "id" : 38,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010206 "source_info" : {
10207 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010208 "line" : 310,
pierventrecfd08de2020-12-15 17:34:54 +010010209 "column" : 35,
10210 "source_fragment" : "mark_to_drop(standard_metadata)"
Daniele Moro7c3a0022019-07-12 13:38:34 -070010211 },
10212 "key" : [],
10213 "match_type" : "exact",
10214 "type" : "simple",
10215 "max_size" : 1024,
10216 "with_counters" : false,
10217 "support_timeout" : false,
10218 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010219 "action_ids" : [70],
10220 "actions" : ["next310"],
10221 "base_default_next" : "node_75",
Daniele Moro7c3a0022019-07-12 13:38:34 -070010222 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010223 "next310" : "node_75"
Daniele Moro7c3a0022019-07-12 13:38:34 -070010224 },
10225 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010226 "action_id" : 70,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010227 "action_const" : true,
10228 "action_data" : [],
10229 "action_entry_const" : true
10230 }
10231 },
10232 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010233 "name" : "tbl_next313",
10234 "id" : 39,
Daniele Moro7c3a0022019-07-12 13:38:34 -070010235 "source_info" : {
10236 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010237 "line" : 313,
pierventrecfd08de2020-12-15 17:34:54 +010010238 "column" : 29,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010239 "source_fragment" : "="
10240 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010241 "key" : [],
10242 "match_type" : "exact",
10243 "type" : "simple",
10244 "max_size" : 1024,
10245 "with_counters" : false,
10246 "support_timeout" : false,
10247 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010248 "action_ids" : [73],
10249 "actions" : ["next313"],
10250 "base_default_next" : "node_73",
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010251 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010252 "next313" : "node_73"
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010253 },
10254 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010255 "action_id" : 73,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010256 "action_const" : true,
10257 "action_data" : [],
10258 "action_entry_const" : true
10259 }
10260 },
10261 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010262 "name" : "tbl_next314",
10263 "id" : 40,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010264 "source_info" : {
10265 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010266 "line" : 314,
pierventrecfd08de2020-12-15 17:34:54 +010010267 "column" : 39,
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010268 "source_fragment" : "mark_to_drop(standard_metadata)"
10269 },
10270 "key" : [],
10271 "match_type" : "exact",
10272 "type" : "simple",
10273 "max_size" : 1024,
10274 "with_counters" : false,
10275 "support_timeout" : false,
10276 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010277 "action_ids" : [72],
10278 "actions" : ["next314"],
10279 "base_default_next" : "node_75",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010280 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010281 "next314" : "node_75"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010282 },
10283 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010284 "action_id" : 72,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010285 "action_const" : true,
10286 "action_data" : [],
10287 "action_entry_const" : true
10288 }
10289 },
10290 {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010291 "name" : "tbl_spgw_gtpu_encap",
Wailok Shumfac26d42021-06-18 17:30:08 +080010292 "id" : 41,
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010293 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010294 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +020010295 "line" : 339,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010296 "column" : 16,
Carmelo Cascone3032b872019-04-13 01:23:54 -070010297 "source_fragment" : "gtpu_encap()"
10298 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010299 "key" : [],
10300 "match_type" : "exact",
10301 "type" : "simple",
10302 "max_size" : 1024,
10303 "with_counters" : false,
10304 "support_timeout" : false,
10305 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010306 "action_ids" : [66],
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010307 "actions" : ["FabricEgress.spgw.gtpu_encap"],
Wailok Shumfac26d42021-06-18 17:30:08 +080010308 "base_default_next" : "node_78",
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010309 "next_tables" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010310 "FabricEgress.spgw.gtpu_encap" : "node_78"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010311 },
10312 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010313 "action_id" : 66,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010314 "action_const" : true,
10315 "action_data" : [],
10316 "action_entry_const" : true
10317 }
10318 },
10319 {
Carmelo Casconedb347372021-05-26 19:30:30 +020010320 "name" : "tbl_spgw342",
Wailok Shumfac26d42021-06-18 17:30:08 +080010321 "id" : 42,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010322 "source_info" : {
10323 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +020010324 "line" : 342,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010325 "column" : 16,
10326 "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
10327 },
10328 "key" : [],
10329 "match_type" : "exact",
10330 "type" : "simple",
10331 "max_size" : 1024,
10332 "with_counters" : false,
10333 "support_timeout" : false,
10334 "direct_meters" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010335 "action_ids" : [74],
Carmelo Casconedb347372021-05-26 19:30:30 +020010336 "actions" : ["spgw342"],
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010337 "base_default_next" : null,
10338 "next_tables" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010339 "spgw342" : null
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010340 },
10341 "default_entry" : {
Wailok Shumfac26d42021-06-18 17:30:08 +080010342 "action_id" : 74,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010343 "action_const" : true,
10344 "action_data" : [],
10345 "action_entry_const" : true
10346 }
10347 }
10348 ],
10349 "action_profiles" : [],
10350 "conditionals" : [
10351 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010352 "name" : "node_56",
10353 "id" : 21,
Carmelo Casconea5400af2018-07-17 22:11:54 +020010354 "source_info" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010355 "filename" : "fabric.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010356 "line" : 108,
Carmelo Casconedb347372021-05-26 19:30:30 +020010357 "column" : 33,
10358 "source_fragment" : "fabric_metadata"
Carmelo Casconea5400af2018-07-17 22:11:54 +020010359 },
10360 "expression" : {
10361 "type" : "expression",
10362 "value" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010363 "op" : "d2b",
10364 "left" : null,
Carmelo Casconea5400af2018-07-17 22:11:54 +020010365 "right" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010366 "type" : "field",
10367 "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
Carmelo Casconea5400af2018-07-17 22:11:54 +020010368 }
10369 }
10370 },
Carmelo Casconedb347372021-05-26 19:30:30 +020010371 "true_next" : "tbl_packetio41",
Wailok Shumfac26d42021-06-18 17:30:08 +080010372 "false_next" : "node_58"
Carmelo Casconea5400af2018-07-17 22:11:54 +020010373 },
10374 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010375 "name" : "node_58",
10376 "id" : 22,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010377 "source_info" : {
Carmelo Casconef645e842018-07-16 18:31:52 +020010378 "filename" : "include/control/packetio.p4",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010379 "line" : 43,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010380 "column" : 12,
Carmelo Casconeb531b682018-01-30 17:55:56 -080010381 "source_fragment" : "standard_metadata.egress_port == 255"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010382 },
10383 "expression" : {
10384 "type" : "expression",
10385 "value" : {
10386 "op" : "==",
10387 "left" : {
10388 "type" : "field",
10389 "value" : ["standard_metadata", "egress_port"]
10390 },
10391 "right" : {
10392 "type" : "hexstr",
10393 "value" : "0x00ff"
10394 }
10395 }
10396 },
Carmelo Casconedb347372021-05-26 19:30:30 +020010397 "true_next" : "tbl_packetio44",
Wailok Shumfac26d42021-06-18 17:30:08 +080010398 "false_next" : "node_60"
Yi Tseng20f9e7b2018-05-24 23:27:39 +080010399 },
10400 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010401 "name" : "node_60",
10402 "id" : 23,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010403 "source_info" : {
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010404 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010405 "line" : 281,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010406 "column" : 12,
10407 "source_fragment" : "fabric_metadata.is_multicast == true ..."
10408 },
10409 "expression" : {
10410 "type" : "expression",
10411 "value" : {
10412 "op" : "and",
10413 "left" : {
10414 "type" : "expression",
10415 "value" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010416 "op" : "d2b",
10417 "left" : null,
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010418 "right" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010419 "type" : "field",
10420 "value" : ["scalars", "userMetadata._is_multicast10"]
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010421 }
10422 }
10423 },
10424 "right" : {
10425 "type" : "expression",
10426 "value" : {
10427 "op" : "==",
10428 "left" : {
10429 "type" : "field",
10430 "value" : ["standard_metadata", "ingress_port"]
10431 },
10432 "right" : {
10433 "type" : "field",
10434 "value" : ["standard_metadata", "egress_port"]
10435 }
10436 }
10437 }
10438 }
10439 },
Wailok Shumfac26d42021-06-18 17:30:08 +080010440 "true_next" : "tbl_next283",
10441 "false_next" : "node_62"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010442 },
10443 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010444 "name" : "node_62",
10445 "id" : 24,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010446 "source_info" : {
10447 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010448 "line" : 286,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010449 "column" : 12,
10450 "source_fragment" : "fabric_metadata.mpls_label == 0"
10451 },
10452 "expression" : {
10453 "type" : "expression",
10454 "value" : {
10455 "op" : "==",
10456 "left" : {
10457 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +020010458 "value" : ["scalars", "userMetadata._mpls_label4"]
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010459 },
10460 "right" : {
10461 "type" : "hexstr",
10462 "value" : "0x000000"
10463 }
10464 }
10465 },
Wailok Shumfac26d42021-06-18 17:30:08 +080010466 "true_next" : "node_63",
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010467 "false_next" : "tbl_egress_next_set_mpls"
10468 },
10469 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010470 "name" : "node_63",
10471 "id" : 25,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010472 "source_info" : {
10473 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010474 "line" : 287,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010475 "column" : 16,
10476 "source_fragment" : "hdr.mpls.isValid()"
10477 },
10478 "expression" : {
10479 "type" : "expression",
10480 "value" : {
10481 "op" : "d2b",
10482 "left" : null,
10483 "right" : {
10484 "type" : "field",
10485 "value" : ["mpls", "$valid$"]
10486 }
10487 }
10488 },
10489 "true_next" : "tbl_egress_next_pop_mpls_if_present",
Carmelo Cascone8d2d1b22018-08-27 18:33:53 -070010490 "false_next" : "FabricEgress.egress_next.egress_vlan"
10491 },
10492 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010493 "name" : "node_67",
10494 "id" : 26,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010495 "source_info" : {
10496 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010497 "line" : 308,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010498 "column" : 12,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010499 "source_fragment" : "hdr.mpls.isValid()"
10500 },
10501 "expression" : {
10502 "type" : "expression",
10503 "value" : {
10504 "op" : "d2b",
10505 "left" : null,
10506 "right" : {
10507 "type" : "field",
10508 "value" : ["mpls", "$valid$"]
10509 }
10510 }
10511 },
Wailok Shumfac26d42021-06-18 17:30:08 +080010512 "true_next" : "tbl_next309",
10513 "false_next" : "node_71"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010514 },
10515 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010516 "name" : "node_69",
10517 "id" : 27,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010518 "source_info" : {
10519 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010520 "line" : 310,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010521 "column" : 16,
10522 "source_fragment" : "hdr.mpls.ttl == 0"
10523 },
10524 "expression" : {
10525 "type" : "expression",
10526 "value" : {
10527 "op" : "==",
10528 "left" : {
10529 "type" : "field",
10530 "value" : ["mpls", "ttl"]
10531 },
10532 "right" : {
10533 "type" : "hexstr",
10534 "value" : "0x00"
10535 }
10536 }
10537 },
Wailok Shumfac26d42021-06-18 17:30:08 +080010538 "true_next" : "tbl_next310",
10539 "false_next" : "node_75"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010540 },
10541 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010542 "name" : "node_71",
10543 "id" : 28,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010544 "source_info" : {
10545 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010546 "line" : 312,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010547 "column" : 15,
Charles Chan74ad51e2020-09-12 19:05:42 -070010548 "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010549 },
10550 "expression" : {
10551 "type" : "expression",
10552 "value" : {
Charles Chan74ad51e2020-09-12 19:05:42 -070010553 "op" : "and",
10554 "left" : {
10555 "type" : "expression",
10556 "value" : {
10557 "op" : "d2b",
10558 "left" : null,
10559 "right" : {
10560 "type" : "field",
10561 "value" : ["ipv4", "$valid$"]
10562 }
10563 }
10564 },
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010565 "right" : {
Charles Chan74ad51e2020-09-12 19:05:42 -070010566 "type" : "expression",
10567 "value" : {
10568 "op" : "!=",
10569 "left" : {
10570 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +020010571 "value" : ["scalars", "userMetadata._fwd_type8"]
Charles Chan74ad51e2020-09-12 19:05:42 -070010572 },
10573 "right" : {
10574 "type" : "hexstr",
10575 "value" : "0x00"
10576 }
10577 }
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010578 }
10579 }
10580 },
Wailok Shumfac26d42021-06-18 17:30:08 +080010581 "true_next" : "tbl_next313",
10582 "false_next" : "node_75"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010583 },
10584 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010585 "name" : "node_73",
10586 "id" : 29,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010587 "source_info" : {
10588 "filename" : "include/control/next.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010589 "line" : 314,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010590 "column" : 20,
10591 "source_fragment" : "hdr.ipv4.ttl == 0"
10592 },
10593 "expression" : {
10594 "type" : "expression",
10595 "value" : {
10596 "op" : "==",
10597 "left" : {
10598 "type" : "field",
10599 "value" : ["ipv4", "ttl"]
10600 },
10601 "right" : {
10602 "type" : "hexstr",
10603 "value" : "0x00"
10604 }
10605 }
10606 },
Wailok Shumfac26d42021-06-18 17:30:08 +080010607 "true_next" : "tbl_next314",
10608 "false_next" : "node_75"
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010609 },
10610 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010611 "name" : "node_75",
10612 "id" : 30,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010613 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010614 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +020010615 "line" : 337,
Carmelo Casconeb5324e72018-11-25 02:26:32 -080010616 "column" : 12,
Carmelo Casconedb347372021-05-26 19:30:30 +020010617 "source_fragment" : "fabric_md.spgw.skip_spgw"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010618 },
10619 "expression" : {
10620 "type" : "expression",
10621 "value" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010622 "op" : "not",
10623 "left" : null,
10624 "right" : {
Robert MacDavidbec6b6a2020-05-21 21:32:38 -040010625 "type" : "expression",
10626 "value" : {
10627 "op" : "d2b",
10628 "left" : null,
10629 "right" : {
10630 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +020010631 "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
Robert MacDavidde12b982020-07-15 18:38:59 -070010632 }
10633 }
Robert MacDavidde12b982020-07-15 18:38:59 -070010634 }
10635 }
10636 },
10637 "false_next" : null,
Wailok Shumfac26d42021-06-18 17:30:08 +080010638 "true_next" : "node_76"
Robert MacDavidde12b982020-07-15 18:38:59 -070010639 },
10640 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010641 "name" : "node_76",
10642 "id" : 31,
Robert MacDavidde12b982020-07-15 18:38:59 -070010643 "source_info" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010644 "filename" : "fabric.p4",
Wailok Shumfac26d42021-06-18 17:30:08 +080010645 "line" : 111,
Carmelo Casconedb347372021-05-26 19:30:30 +020010646 "column" : 24,
10647 "source_fragment" : "fabric_metadata"
Robert MacDavidde12b982020-07-15 18:38:59 -070010648 },
10649 "expression" : {
10650 "type" : "expression",
10651 "value" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010652 "op" : "d2b",
10653 "left" : null,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010654 "right" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010655 "type" : "field",
10656 "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010657 }
10658 }
10659 },
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010660 "true_next" : "tbl_spgw_gtpu_encap",
Wailok Shumfac26d42021-06-18 17:30:08 +080010661 "false_next" : "node_78"
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010662 },
10663 {
Wailok Shumfac26d42021-06-18 17:30:08 +080010664 "name" : "node_78",
10665 "id" : 32,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010666 "source_info" : {
10667 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +020010668 "line" : 341,
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010669 "column" : 16,
Carmelo Casconedb347372021-05-26 19:30:30 +020010670 "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr"
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010671 },
10672 "expression" : {
10673 "type" : "expression",
10674 "value" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010675 "op" : "not",
10676 "left" : null,
10677 "right" : {
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010678 "type" : "expression",
10679 "value" : {
10680 "op" : "d2b",
10681 "left" : null,
10682 "right" : {
10683 "type" : "field",
Carmelo Casconedb347372021-05-26 19:30:30 +020010684 "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010685 }
10686 }
Carmelo Casconeb1f5cfd2020-12-04 16:54:24 -080010687 }
10688 }
10689 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010690 "false_next" : null,
Carmelo Casconedb347372021-05-26 19:30:30 +020010691 "true_next" : "tbl_spgw342"
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010692 }
10693 ]
10694 }
10695 ],
10696 "checksums" : [
10697 {
10698 "name" : "cksum",
10699 "id" : 0,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010700 "source_info" : {
10701 "filename" : "include/checksum.p4",
10702 "line" : 28,
10703 "column" : 8,
10704 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
10705 },
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010706 "target" : ["ipv4", "hdr_checksum"],
10707 "type" : "generic",
10708 "calculation" : "calc",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080010709 "verify" : false,
10710 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010711 "if_cond" : {
10712 "type" : "expression",
10713 "value" : {
10714 "op" : "d2b",
10715 "left" : null,
10716 "right" : {
10717 "type" : "field",
10718 "value" : ["ipv4", "$valid$"]
10719 }
10720 }
10721 }
10722 },
10723 {
10724 "name" : "cksum_0",
10725 "id" : 1,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010726 "source_info" : {
Robert MacDavidde12b982020-07-15 18:38:59 -070010727 "filename" : "include/control/spgw.p4",
Carmelo Casconedb347372021-05-26 19:30:30 +020010728 "line" : 358,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010729 "column" : 8,
10730 "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
10731 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010732 "target" : ["gtpu_ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010733 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080010734 "calculation" : "calc_0",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080010735 "verify" : false,
10736 "update" : true,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010737 "if_cond" : {
10738 "type" : "expression",
10739 "value" : {
10740 "op" : "d2b",
10741 "left" : null,
10742 "right" : {
10743 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010744 "value" : ["gtpu_ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010745 }
10746 }
10747 }
10748 },
10749 {
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080010750 "name" : "cksum_1",
10751 "id" : 2,
Carmelo Cascone03ae0ac2018-10-11 08:31:59 -070010752 "source_info" : {
10753 "filename" : "include/checksum.p4",
10754 "line" : 57,
10755 "column" : 8,
10756 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
10757 },
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010758 "target" : ["ipv4", "hdr_checksum"],
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010759 "type" : "generic",
Carmelo Casconeb757dbc2018-01-25 17:53:17 -080010760 "calculation" : "calc_1",
Carmelo Casconea4dc3c12019-02-12 17:30:00 -080010761 "verify" : true,
10762 "update" : false,
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010763 "if_cond" : {
10764 "type" : "expression",
10765 "value" : {
10766 "op" : "d2b",
10767 "left" : null,
10768 "right" : {
10769 "type" : "field",
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010770 "value" : ["ipv4", "$valid$"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010771 }
10772 }
10773 }
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010774 }
10775 ],
10776 "force_arith" : [],
10777 "extern_instances" : [],
10778 "field_aliases" : [
10779 [
10780 "queueing_metadata.enq_timestamp",
10781 ["standard_metadata", "enq_timestamp"]
10782 ],
10783 [
10784 "queueing_metadata.enq_qdepth",
10785 ["standard_metadata", "enq_qdepth"]
10786 ],
10787 [
10788 "queueing_metadata.deq_timedelta",
10789 ["standard_metadata", "deq_timedelta"]
10790 ],
10791 [
10792 "queueing_metadata.deq_qdepth",
10793 ["standard_metadata", "deq_qdepth"]
10794 ],
10795 [
10796 "intrinsic_metadata.ingress_global_timestamp",
10797 ["standard_metadata", "ingress_global_timestamp"]
10798 ],
10799 [
Yi Tseng27b9bc02018-04-12 14:52:40 +080010800 "intrinsic_metadata.egress_global_timestamp",
10801 ["standard_metadata", "egress_global_timestamp"]
10802 ],
10803 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010804 "intrinsic_metadata.mcast_grp",
10805 ["standard_metadata", "mcast_grp"]
10806 ],
10807 [
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010808 "intrinsic_metadata.egress_rid",
10809 ["standard_metadata", "egress_rid"]
Yi Tseng27b9bc02018-04-12 14:52:40 +080010810 ],
10811 [
Carmelo Cascone9b607da2019-05-08 14:03:01 -070010812 "intrinsic_metadata.priority",
10813 ["standard_metadata", "priority"]
Carmelo Casconeb81f4be2018-01-16 23:24:01 -080010814 ]
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010815 ],
10816 "program" : "fabric.p4",
10817 "__meta__" : {
Carmelo Casconedb347372021-05-26 19:30:30 +020010818 "version" : [2, 23],
Carmelo Cascone6af4e172018-06-15 16:01:30 +020010819 "compiler" : "https://github.com/p4lang/p4c"
10820 }
Carmelo Cascone25243d62019-02-21 15:37:31 -080010821}